/* font converted using font-converter.net. thank you! */

@font-face {
  font-family: "Avenir-Black";
  src: url("../fonts/Avenir-Black-03.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/Avenir-Black-03.eot?#iefix") format("embedded-opentype"),
    /* IE6-IE8 */
    url("../fonts/Avenir-Black-03.otf") format("opentype"),
    /* Open Type Font */
    url("../fonts/Avenir-Black-03.svg") format("svg"),
    /* Legacy iOS */
    url("../fonts/Avenir-Black-03.ttf") format("truetype"),
    /* Safari, Android, iOS */
    url("../fonts/Avenir-Black-03.woff") format("woff"),
    /* Modern Browsers */
    url("../fonts/Avenir-Black-03.woff2") format("woff2");
  /* Modern Browsers */
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Avenir-Book";
  src: url("../fonts/Avenir-Book-01.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/Avenir-Book-01.eot?#iefix") format("embedded-opentype"),
    /* IE6-IE8 */
    url("../fonts/Avenir-Book-01.otf") format("opentype"),
    /* Open Type Font */
    url("../fonts/Avenir-Book-01.svg") format("svg"),
    /* Legacy iOS */
    url("../fonts/Avenir-Book-01.ttf") format("truetype"),
    /* Safari, Android, iOS */
    url("../fonts/Avenir-Book-01.woff") format("woff"),
    /* Modern Browsers */
    url("../fonts/Avenir-Book-01.woff2") format("woff2");
  /* Modern Browsers */
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Avenir-Heavy";
  src: url("../fonts/Avenir-Heavy-05.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/Avenir-Heavy-05.eot?#iefix") format("embedded-opentype"),
    /* IE6-IE8 */
    url("../fonts/Avenir-Heavy-05.otf") format("opentype"),
    /* Open Type Font */
    url("../fonts/Avenir-Heavy-05.svg") format("svg"),
    /* Legacy iOS */
    url("../fonts/Avenir-Heavy-05.ttf") format("truetype"),
    /* Safari, Android, iOS */
    url("../fonts/Avenir-Heavy-05.woff") format("woff"),
    /* Modern Browsers */
    url("../fonts/Avenir-Heavy-05.woff2") format("woff2");
  /* Modern Browsers */
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Avenir-Medium";
  src: url("../fonts/Avenir-Medium-09.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/Avenir-Medium-09.eot?#iefix") format("embedded-opentype"),
    /* IE6-IE8 */
    url("../fonts/Avenir-Medium-09.otf") format("opentype"),
    /* Open Type Font */
    url("../fonts/Avenir-Medium-09.svg") format("svg"),
    /* Legacy iOS */
    url("../fonts/Avenir-Medium-09.ttf") format("truetype"),
    /* Safari, Android, iOS */
    url("../fonts/Avenir-Medium-09.woff") format("woff"),
    /* Modern Browsers */
    url("../fonts/Avenir-Medium-09.woff2") format("woff2");
  /* Modern Browsers */
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Avenir-Roman";
  src: url("../fonts/Avenir-Roman-12.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/Avenir-Roman-12.eot?#iefix") format("embedded-opentype"),
    /* IE6-IE8 */
    url("../fonts/Avenir-Roman-12.otf") format("opentype"),
    /* Open Type Font */
    url("../fonts/Avenir-Roman-12.svg") format("svg"),
    /* Legacy iOS */
    url("../fonts/Avenir-Roman-12.ttf") format("truetype"),
    /* Safari, Android, iOS */
    url("../fonts/Avenir-Roman-12.woff") format("woff"),
    /* Modern Browsers */
    url("../fonts/Avenir-Roman-12.woff2") format("woff2");
  /* Modern Browsers */
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

body {
  background-color: white;
  text-align: left;
  color: #494949;
}

body,
html,
.popup .inner,
.noscrollbar,
ul.nav-categorie,
ul.nav-categorie ul {
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}

body::-webkit-scrollbar,
html::-webkit-scrollbar,
.noscrollbar::-webkit-scrollbar,
ul.nav-categorie::-webkit-scrollbar,
ul.nav-categorie ul::-webkit-scrollbar,
.popup .inner::-webkit-scrollbar {
  width: 0px;
  /* For Chrome, Safari, and Opera */
}

body {
  padding: 0;
  margin: 0;
  overflow: hidden;
  font-family: 'Avenir-Medium';
}

body {
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}

body .form-control {
  -webkit-user-select: text;
  -khtml-user-select: text;
  -moz-user-select: text;
  -o-user-select: text;
  user-select: text;
}

.form-control:focus {
  border-color: var(--main);
  box-shadow: none;
  color: black;
}

.op-0 {
  opacity: 0 !important;
}

.popup {
  /* modes: fade, fromR, fromL, fromT, (default fromB) */
  position: fixed;
  height: 100%;
  min-height: 390px;
  width: 100%;
  top: 100vh;
  transition: .5s;
  overflow: hidden;
  z-index: 1;
}

.popup .container-fluid {
  background: white;
}

.popup .inner {
  overflow-y: scroll;
  /* has to be scroll, not auto */
  -webkit-overflow-scrolling: touch;
  max-height: 103%;
}

.popup.open {
  top: 0;
}

.popup.fadeScale {
  transform: scale(1.5);
  top: 0;
  opacity: 0;
  pointer-events: none;
}

.popup.open.fadeScale {
  opacity: 1;
  pointer-events: all;
  transform: scale(1);
}

.popup.fade {
  top: 0;
  opacity: 0;
  pointer-events: none;
}

.popup.open.fade {
  opacity: 1;
  pointer-events: all;
}

.popup.fromT {
  top: -100vh;
}

.popup.fromT.open {
  top: 0;
}

.popup.fromL {
  top: 0;
  left: -100vw;
}

.popup.fromL.open {
  left: 0;
}

.popup.fromR {
  top: 0;
  left: 100vw;
}

.popup.fromR.open {
  left: 0;
}

.svg-logo svg {
  width: 100%;
  height: 100%;
}

.round-logo {
  width: 168px;
  height: 168px;
  border-radius: 50%;
  background-size: 100%;
  background-position: center;
  background-color: white;
  background-repeat: no-repeat;
  cursor: pointer;
}

.to-bottom {
  position: absolute;
  bottom: 0;
  width: 100%;
  z-index: 0;
}

.copyright {
  font-size: 12px;
  font-family: 'Avenir-Roman';
  text-align: center;
  padding: 25px;
  padding-bottom: 30px;
  width: 100%;
}

a {
  color: inherit !important;
}

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  display: inline-block;
  width: 335px;
  max-width: 100%;
  background: var(--main);
  color: white;
  font-family: 'Avenir-Roman';
  font-size: 19px;
  border: 2px solid var(--main);
  padding: 14px;
  transition: .3s;
  outline: none !important;
}

button:hover,
button.disabled {
  background: transparent;
  border-color: white;
}

button.disabled {
  pointer-events: none;
}

button:active {
  border-color: #d4d4d4;
  color: #f7f7f7;
  transition: 0;
}

button.over-white:hover,
button.over-white:active,
button.over-white.disabled {
  border-color: var(--main);
  color: var(--main);
}

button.over-main {
  border-color: white;
}

button.over-main:hover,
button.over-main:active,
button.over-main.disabled {
  background-color: white;
  color: var(--main);
}

body:not(.can-submit) .nofire {
  pointer-events: none !important;
  filter: saturate(0%);
  -webkit-filter: saturate(0%);
}

body:not(.can-submit) .checkout .submitter {
  border-color: var(--main);
  color: var(--main);
  background: transparent;
}

#paypal-button {
  width: 100%;
  margin: auto;
}

.size-desktop #paypal-button {
  max-width: 100%;
  width: 400px;
}

@media(min-width: 768px) {
  .mobile-only {
    display: none !important;
  }
}

hr {
  margin: 22px 0 29px;
}

.in-grid,
.popup .banda.in-grid {
  max-width: 1020px;
  margin: auto;
  padding: 0 20px;
}

@media(min-width: 1060px) {

  .in-grid,
  .popup .banda.in-grid {
    padding: 0;
  }
}

@media(max-width: 767px) {

  .in-grid,
  .popup .banda.in-grid {
    max-width: 376px;
  }
}

@media(max-width: 767px) {
  .desktop-only {
    display: none !important;
  }
}

.svg-icon {
  display: inline-block;
}

.svg-icon.resize svg {
  width: 100%;
  height: 100%;
}

.lang-selector {
  display: inline-block;
}

.lang-selector select {
  -webkit-appearance: none;
  -moz-appearance: none;
  outline: none;
  border: none;
  color: inherit;
  background: transparent;
  width: 50px;
  margin-left: 10px;
  cursor: pointer;
}

.lang-selector .svg-icon {
  position: relative;
  left: -10px;
  bottom: 1px;
  pointer-events: none;
}

.lang-it .lang-selector .svg-icon {
  left: -20px;
}

.header-bottom .lang-selector .svg-icon path {
  fill: black;
}

.spacer {
  width: 1px;
}

.page-opener {
  cursor: pointer;
}

.header {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 100;
  text-align: left;
}

#header-mobile {
  height: 65px;
  background-color: var(--main);
  color: white;
  padding: 0 20px;
  border-bottom: 5px solid white;
}

#header-mobile .svg-icon {
  padding: 18px 10px;
  cursor: pointer;
}

#header-desktop .header-top {
  height: 60px;
  background-color: var(--main);
  color: white;
}

#header-desktop .header-bottom {
  height: 60px;
  background-color: white;
  background-color: #ffffffe6;
  color: #333;
  font-size: 16px;
}

.header-top .svg-logo {
  height: 40px;
  display: inline-block;
  width: 130px;
  margin-top: 11px;
}

.header-top .svg-icon {
  padding: 10px 7.5px;
  margin-top: 7px;
  cursor: pointer;
}

.header-top .ciao {
  position: relative;
  top: 10px;
  white-space: nowrap;
  overflow: hidden;
  max-width: 125px;
  display: inline-block;
  text-overflow: ellipsis;
}

.header-bottom .page-opener {
  display: inline-block;
  margin-left: 27px;
  padding: 5px;
  margin-top: 15px;
  transition: .3s;
}

.header-bottom .page-opener:hover {
  color: #707070;
}

.header-bottom .lang-selector {
  margin-top: 19px;
}

#hamburger-menu {
  position: fixed;
  z-index: 99;
  top: 65px;
  left: -197px;
  width: 197px;
  background: #000000bd;
  color: white;
  font-size: 19px;
  transition: .3s;
  height: calc(100% - 65px);
  min-height: 390px;
  padding: 20px;
}

.hamburger-open #hamburger-menu {
  left: 0;
}

#hamburger-menu .heading {
  margin-bottom: 25px;
  margin-top: 5px;
  width: 90%;
}

#hamburger-menu .page-opener {
  margin-bottom: 5px;
}

#hamburger-menu .lang-selector {
  margin-bottom: 15px;
}

#hamburger-menu .lang-selector option {
  background: black;
  color: white;
}

#hamburger-menu .copyright {
  padding: 0;
  padding-bottom: 30px;
  padding-top: 10px;
  text-align: left;

}

#hamburger-menu .credits,
#hamburger-menu .copyright {
  width: 160px;
}

.hamburger-closer {
  padding: 5px;
  margin-top: -5px;
}

#preload {
  z-index: 200;
  background-color: var(--main);
  color: white;
}

#preload .svg-logo {
  height: 90px;
  display: block;
  margin: auto;
  margin-top: calc(45vh - 45px);
  width: 250px;
}

#preload .copyright {
  position: absolute;
  bottom: 0;
}

@media(min-width: 768px) {
  .brand-piattaforma #preload .svg-logo {
    left: -75px;
    position: relative;
  }

  .brand-piattaforma.is-yomenu #preload .svg-logo {
    left: -22px;
  }

  .brand-piattaforma.is-yoshopping #preload .svg-logo {
    left: -5px;
  }

  .brand-piattaforma.is-yostyling #preload .svg-logo {
    left: -2px;
  }
}

#landing {
  z-index: 199;
  background-color: var(--main);
  color: white;
  background-size: cover;
  background-position: bottom;
  text-align: center;
}

#landing .round-logo {
  margin: auto;
  margin-top: 15vh;
}

#landing h2 {
  font-family: 'Avenir-Heavy';
  font-size: 20px;
  max-width: 320px;
  margin: auto;
  margin-top: 45px;
  text-shadow: 1px 1px 3px black;
  margin-bottom: 10px;
  pointer-events: none;
}

#landing h2>div:not(:first-child) {
  margin-top: 15px;
}

#landing h3 {
  font-family: 'Avenir-Heavy';
  font-size: 22px;
  pointer-events: none;
}

#landing h3.contains-clickable {
  pointer-events: all;
}

#landing .copyright {
  padding-top: 15px;
}

#landing button {
  margin-top: 15px;
  z-index: 1;
  position: relative;
}

@media(min-width: 768px) {
  #landing h2 {
    margin-top: 30px;
  }
}

@media(max-height: 660px) {
  #landing .round-logo {
    margin-top: 20px;
  }
}

@media(max-height: 510px) {
  #landing .round-logo {
    margin-top: 15px;
  }
}

@media(min-height: 780px) {
  #landing .round-logo {
    margin-top: 28vh;
  }
}

.popup .cover {
  height: 321px;
  background-size: cover;
  background-repeat: no-repeat;
  margin-top: 65px;
  background-color: gray;
}

.popup .onda {
  height: 50px;
  background: url(../img/onda.png);
  margin-top: -49px;
  background-size: cover;
  background-repeat: no-repeat;
}

.popup .heading h1 {
  font-size: 20px;
  font-family: 'Avenir-Black';
  color: white;
  text-align: center;
}

.popup .mobile-only.heading {
  margin-top: -100px;
  z-index: 1;
  position: relative;
}

.popup .mobile-only.heading .svg-icon {
  position: relative;
  bottom: 2px;
}

.popup .desktop-only .banda .svg-icon {
  position: relative;
  bottom: 3px;
}

.popup .banda {
  background: var(--main);
  color: white;
  width: 336px;
  max-width: 90%;
  margin: auto;
}

.popup .banda .mezzo {
  width: 49%;
  display: inline-block;
  vertical-align: top;
  padding: 20px 10px;
}

.popup .banda .mezzo:last-child:first-child {
  text-align: center !important;
  width: 100%;
}

.popup .after-heading {
  text-align: center;
  padding: 20px;
  padding-bottom: 5px;
  font-size: 19px;
}

.popup .after-heading .svg-icon path {
  stroke: var(--main);
}

@media(min-width: 768px) {
  .popup .cover {
    height: 440px;
    margin-top: 60px;
    background-position: center;
  }

  .popup.page-then .cover {
    margin-top: 60px;
  }

  .secondario .cover,
  #menu .cover,
  .popup.piatti .cover.desktop-only {
    background-position: 100% 16%;
    /*custom for each cover*/
  }

  .popup .desktop-only .banda {
    width: 96%;
    padding: 25px 30px 16px;
    margin-top: -41px;
    margin-bottom: 51px;
  }

  .popup.cslider-preferred .desktop-only .banda {
    margin-top: -80px;
  }

  .popup .desktop-only .banda>.float-right {
    margin-top: 2px;
  }

  .popup .banda #svg-phone path {
    stroke: white;
  }

  .popup .banda .svg-icon {
    margin: 0 5px 0 15px;
  }

  .popup .banda h1 {
    display: inline-block;
  }

  .container-fluid.in-grid {
    width: 96%;
  }

  .in-grid>.row {
    margin: 0 -30px;
  }

  .categorie {
    margin-bottom: 80px !important;
  }
}

@media(min-width: 1060px) {
  .in-grid>.row {
    margin: 0 -15px;
  }
}

.categorie .col-12 {
  padding: 15px;
}

.categoria {
  width: 336px;
  max-width: 100%;
  margin: auto;
  transition: .1s;
}

.categoria .preview {
  width: 100%;
  height: 212px;
  background-size: cover;
  transition: .3s;
  background-repeat: no-repeat;
  background-position: center;
}

.categoria h3 {
  font-size: 19px;
  display: inline-block;
  max-width: 90%;
}

.size-desktop .categoria h3 {
  font-size: 17px;
}

.categoria .descrizione {
  background: var(--main);
  color: white;
  margin-top: 5px;
  padding: 10px 15px 4px;
}

.categoria .preview,
.categoria .descrizione {
  cursor: pointer;
}

.categoria .descrizione .svg-icon {
  transform: translate(0, 0);
  transition: .3s;
  padding: 0;
}

.size-desktop .categoria .descrizione .svg-icon {
  padding: 0px;
}

.categoria:hover .descrizione .svg-icon {
  transform: translate(5px, 0);
}

.avviso-allergie {
  position: relative;
}

.avviso-allergie h4 {
  display: inline-block;
  font-size: 22px;
  font-family: 'Avenir-Heavy';
}

.avviso-allergie p {
  font-size: 15px;
  font-family: 'Avenir-Roman';
}

.avviso-allergie .svg-icon {
  position: relative;
  bottom: 3px;
}

@media(min-width: 768px) {
  .avviso-allergie h4 {
    font-size: 24px;
  }

  .avviso-allergie p {
    font-size: 17px;
  }

  .avviso-allergie .svg-icon {
    margin-left: 20px;
    margin-bottom: 3px;
  }
}

@media(max-width: 767px) {
  .avviso-allergie .svg-icon {
    position: absolute;
    top: 0px;
    right: 20px;
  }
}

.social-shares {
  text-align: center;
  fill: var(--main);
}

.social-shares a {
  text-decoration: none !important;
}

.social-shares .svg-icon {
  padding: 8px;
  margin: 2px;
  width: 53px;
  color: var(--main);
}

.social-shares .svg-icon path {
  fill: currentColor;
}

.social-shares h3 {
  margin-top: 15px;
  font-size: 22px;
  font-family: 'Avenir-Heavy';
}

.pre-footer .col-12:first-child {
  margin-bottom: 15px;
}

.pre-footer .col-12 {
  margin-bottom: 5px;
}

.mobile-footer {
  text-align: center;
}

.mobile-footer .copyright {
  color: #adadad;
}

.back-to-top {
  cursor: pointer;
}

.desktop-footer {
  text-align: left;
  background: #F2F2F2;
  color: #676767;
  font-size: 14px;
  line-height: 23px;
  font-family: 'Avenir-Roman';
  padding: 100px 0;
  padding-bottom: 60px;
  margin-top: 50px;
}

.desktop-footer .back-to-top .svg-icon {
  position: relative;
  bottom: 2px;
  height: 19px;
  width: 45px;
}

.desktop-footer h4 {
  font-size: 20px;
  margin-bottom: 0;
  font-family: 'Avenir-Heavy';
}

.desktop-footer .spacer.before-pages {
  height: 30px;
}

.desktop-footer .icon-text {
  margin-top: 10px;
}

.desktop-footer .icon-text .svg-icon {
  margin-right: 5px;
}

.desktop-footer .icon-text .svg-icon path {
  stroke: #676767;
}

.desktop-footer .copyright {
  padding: 0;
  text-align: left;
  font-size: 14px;
  position: relative;
  bottom: 22px;
}

.desktop-footer .footer-top {
  margin-bottom: 30px;
}

.desktop-footer .pay-methods {
  color: #ccc;
}

.desktop-footer .pay-methods .svg-icon {
  margin-left: 10px;
  margin-right: 5px;
  position: relative;
  bottom: 2px;
}

.desktop-footer .pay-methods>span {
  font-size: 15px;
  font-family: 'Avenir-Roman';
}

.desktop-footer .pay-methods .svg-icon:first-child {
  margin-left: 0;
}

body:not(.category-open) .on-category-open {
  display: none;
}

.popup.piatti {
  z-index: 2;
  background: white;
}

.retired-heading .banda>h2,
.size-mobile .secondario .banda>h2,
#popup-cerca .banda>h2,
#user .banda>h2,
.popup.piatti .mobile-only .banda>h2 {
  padding: 20px 10px;
  text-align: center;
  font-size: 19px;
}

.popup .desktop-only .banda>h2 {
  display: inline-block;
  font-size: 20px;
  font-family: 'Avenir-Roman';
}

.popup .desktop-only .banda>h2>span {
  font-family: 'Avenir-Black';
}

.popup .desktop-only .banda>h2 .svg-icon {
  margin-left: 5px;
  position: relative;
  bottom: 3px;
}

.popup.piatti .mobile-only.heading {
  margin-top: -60px;
}

.elenco-piatti {
  white-space: nowrap;
  margin-bottom: 45px;
}

.size-mobile .elenco-piatti {
  margin-bottom: 40px;
}

.elenco-piatti .meta {
  width: 49.7%;
  overflow: hidden;
  display: inline-block;
  vertical-align: top;
}

.elenco-piatti .meta:first-child {
  padding-right: 25px;
}

.elenco-piatti .meta:last-child {
  padding-left: 25px;
}

.elenco-piatti .uncategorized-placeholder,
.elenco-piatti .uncategorized-clearfix {
  visibility: hidden;
}

.elenco-piatti .section>h3.uncategorized-clearfix {
  margin-top: 45px;
}

@media(max-width: 767px) {
  .elenco-piatti {
    white-space: normal;
  }

  .elenco-piatti .meta {
    width: 100%;
    padding: 0px !important;
  }

  .elenco-piatti .uncategorized-placeholder {
    display: none;
  }
}

.elenco-piatti .section>h3 {
  font-size: 21px;
  font-family: 'Avenir-Heavy';
  margin-top: 35px;
  margin-bottom: 25px;
  text-transform: uppercase;
}

.desktop-only .category-closer:hover {
  text-decoration: underline;
  cursor: pointer;
}

.retired-heading .category-closer,
#user .category-closer,
#popup-cerca .category-closer,
.mobile-only .category-closer {
  padding: 20px;
  padding-top: 18px;
  position: absolute;
  cursor: pointer;
}

.piatto,
.customization {
  position: relative;
  padding: 10px 0;
  border-top: .5px solid #d8d8d8;
  white-space: normal;
}

.piatto:not(.has-preview) .preview {
  display: none;
}

.piatto.has-preview>div {
  display: inline-block;
  vertical-align: top;
}

.piatto.has-preview .preview,
.has-subcat-preview .preview {
  width: 80px;
  height: 80px;
  margin-right: 8px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.has-subcat-preview .preview,
.has-subcat-preview h3 {
  display: inline-block;
  vertical-align: bottom;
}

.has-subcat-preview .preview {
  margin-bottom: 10px;
}

.elenco-piatti .section.has-subcat-preview>h3 {
  margin-top: 55px;
  margin-bottom: 35px;
}

.piatto .contents {
  max-width: calc(100% - 25px);
}

.piatto.added-to-cart .contents {
  max-width: calc(100% - 90px);
}

.piatto.has-preview .contents {
  max-width: calc(100% - 125px);
}

.piatto.has-preview.added-to-cart .contents {
  max-width: calc(100% - 180px);
}

.piatto:last-child {
  border-bottom: .5px solid #C1C0C0;
}

@media(max-width: 767px) {
  .elenco-piatti .meta:first-child .piatto:last-child {
    border-bottom: none;
  }

  .elenco-piatti .meta:not(:first-child) .uncategorized-clearfix {
    display: none;
  }
}

.add-to-cart>div {
  position: absolute;
  top: 0;
  right: 0;
  opacity: 1;
  transition: .3s;
}

.piatto:not(.added-to-cart) .contents .on-added-to-cart,
.piatto.added-to-cart .contents .on-not-added-to-cart,
.customization:not(.added-to-cart) .on-added-to-cart,
.customization.added-to-cart .on-not-added-to-cart {
  opacity: 0;
  pointer-events: none;
}

.piatto .personalizza,
.add-to-cart {
  cursor: pointer;
  position: absolute;
  padding: 10px;
  padding-right: 0;
  right: 0;
  top: 36px;
}

.piatto .personalizza {
  color: var(--main);
  font-size: 15px;
  opacity: 1;
  transition: .3s;
}

.add-to-cart {
  bottom: auto;
  top: 18px;
  right: 0;
  width: 30px;
  height: 30px;
  overflow: visible;
  cursor: default;
}

.piatto h4 {
  margin-top: 8px;
  font-size: 17px;
  padding-right: 19px;
  word-break: break-word;
}

.piatto h5 {
  font-size: 15px;
}

.piatto h6 {
  color: #a5a5a5;
  font-size: 14px;
}

#popup-cerca .banda,
#user .banda,
.secondario .banda,
.popup.piatti .mobile-only .banda {
  position: relative;
}

.popup.piatti .desktop-only .banda {
  margin-bottom: 0;
}

#carrello {
  background: white;
  z-index: 6;
}

#user {
  background: white;
  z-index: 7;
}

#carrello .meta {
  display: inline-block;
  width: calc(49.7% - 20px);
  vertical-align: top;
}

#carrello .meta:last-child {
  width: calc(49.7% + 18px);
}

#carrello .meta .meta {
  width: 49%;
}

.size-desktop #carrello .meta .meta:first-child {
  padding-right: 15px;
}

#carrello .heading,
.page-then .heading,
#prenotazione-tavoli .heading {
  position: relative;
}

.size-desktop #prenotazione-tavoli .heading>h1,
#carrello .heading>h1,
.page-then .heading>h1 {
  text-align: center;
  position: absolute;
  width: 100%;
  top: -180px;
  font-size: 50px;
}

#carrello .mobile-only.heading,
.page-then .mobile-only.heading {
  margin-top: 30px;
}

#carrello .mobile-only.heading>h1,
.page-then .mobile-only.heading>h1 {
  font-size: 30px;
  top: -125px;
}

.size-mobile #carrello .cover {
  height: 157px;
}

@media(max-width: 767px) {
  .page-then .cover {
    height: 157px;
  }
}

.radio .box.checked .on-not-checked,
.radio .box:not(.checked) .on-checked {
  display: none;
}

.radio .box {
  cursor: pointer;
}

.radio .box .dropdown {
  display: block !important;
  transition: .3s;
  overflow: hidden;
  padding-left: 30px;
}

.radio .box:not(.checked) .dropdown.on-checked {
  max-height: 0;
}

.radio .box.checked .dropdown.on-checked {
  max-height: 2500px;
}

.radio .box>.svg-icon,
.radio .box>span {
  padding: 5px;
  padding-left: 0;
  display: inline-block;
  vertical-align: top;
}

.radio .box>.svg-icon {
  position: relative;
  bottom: 2px;
}

.paga-then .on-paga-now,
.paga-then .on-paga-bonifico,
.paga-now .on-paga-then,
.paga-now .on-paga-bonifico,
.paga-bonifico .on-paga-now {
  display: none;
}

#carrello .desktop-only.resized-wrapper>.meta:first-child {
  padding-right: 50px;
}

#carrello .resized-desktop-1-2,
#carrello .resized-desktop-1-3,
#carrello .resized-desktop-2-2>.meta,
#carrello .checkout {
  margin-top: 40px;
}

#carrello .checkout {
  text-align: center;
}

#carrello .resized-desktop-1-2 h5 {
  font-size: 17px;
  font-family: 'Avenir-Roman';
}

#carrello .resized-desktop-1-2 textarea {
  font-size: 17px;
  width: 100%;
  min-height: 85px;
  outline: none !important;
  border-radius: 0;
  border: 1px solid #ccc;
  margin-top: 20px;
}

#ordine-minimo {
  margin-bottom: 10px;
}

.radio .box .dropdown.on-checked.minimum-time {
  color: var(--main);
}

.on-paga-then {
  height: 90px;
}

.on-paga-now {
  cursor: pointer;
}

.on-paga-now>div,
.on-paga-then,
.on-paga-bonifico {
  margin-top: 30px !important;
}

.on-paga-bonifico {
  margin-bottom: 30px;
}

.ordine-minimo-raggiunto #ordine-minimo {
  display: none;
}

.add-more {
  display: block;
  margin: auto;
  margin-top: 50px;
  margin-bottom: 10px;
}

#carrello .cover {
  background-position: bottom;
}

#consegna-voluta .box .dropdown {
  color: #C1C0C0;
  font-size: 14px;
}

#carrello h2,
.page-then h2 {
  font-size: 20px;
  font-family: 'Avenir-Roman';
}

#carrello .resized-desktop-2-2 h2 {
  font-size: 24px;
  font-family: 'Avenir-Heavy';
}

#quando-consegnare label {
  width: 60px;
  margin-top: 8px;
}

#quando-consegnare .form-control {
  max-width: calc(100% - 10px);
  width: auto;
  display: inline-block;
  min-width: 150px;
  margin-bottom: 8px;
}

.size-desktop #quando-consegnare .form-control[type="date"] {
  width: 100%;
}

#quando-consegnare .box.checked:last-child .dropdown {
  padding-right: 4px;
  padding-bottom: 4px;
  padding-top: 4px;
}

#carrello .prodotto {
  position: relative;
  margin-bottom: 20px;
  max-height: none !important;
  /* fix sovrapposizione - todo redo animation*/
  transition: .3s;
}

#carrello .prodotto .remover {
  cursor: pointer;
  position: absolute;
  left: -27px;
  top: -2px;
}

#carrello .prodotto .checks,
#carrello .prodotto .nota {
  position: relative;
  margin-left: 27px;
  margin-top: 3px;
}

#carrello .prodotto .checks .check {
  max-height: none !important;
  /* fix sovrapposizione - todo redo animation*/
  transition: .3s;
}

#carrello .prodotto.variabile .checks .check.has-group .remover {
  display: none;
}

#carrello .prezzo {
  min-width: 55px;
  text-align: right;
  float: right;
  position: relative;
}

#carrello .prezzo .qta-changer {
  cursor: pointer;
  padding: 10px;
  position: absolute;
  left: -33px;
  bottom: -8px;
}

#carrello .prezzo .qta-changer:hover {
  color: var(--main);
}

#carrello .prezzo .qta-changer:last-child {
  position: absolute;
  right: -35px;
  bottom: -7.5px;
  left: auto;
}

.size-mobile #carrello .resized-mobile-1 .mobile-padding {
  padding: 0 26px;
}

.size-mobile #carrello .in-grid {
  max-width: 100%;
  padding: 0 30px;
}

.size-mobile #carrello button {
  width: 89%;
}

.size-mobile #carrello .resized-mobile-3 {
  margin-top: 40px;
}

.size-mobile #carrello .resized-desktop-2-2>.meta {
  margin-top: 20px;
  width: 100%;
}

#carrello .check,
#carrello .nota {
  position: relative;
}

.svg-icon.cart {
  position: relative;
}

.svg-icon.cart>span {
  position: absolute;
  top: 7px;
  left: 20px;
  min-width: 15px;
  font-size: 10px;
  height: 15px;
  padding-top: 1px;
  border-radius: 50%;
  text-align: center;
  background: white;
  color: var(--main);
  opacity: 1;
  transition: .3s;
}

.size-mobile .svg-icon.cart>span {
  top: 17px;
  left: 23px;
}

#popup-cerca {
  z-index: 4;
  background: white;
}

.customization {
  cursor: pointer;
}

.customization .add-to-cart {
  top: 8px;
}

.customization .prezzo {
  float: right;
  margin-right: 30px;
}

.size-desktop #popup-cerca .banda,
.size-desktop #user .banda {
  width: calc(100% - 40px);
}

.removing {
  max-height: 0 !important;
  overflow: hidden !important;
}

body:not(.social) .onsocial,
body.social .nosocial,
body:not(.new_social) .onnewsocial {
  display: none !important;
}

body:not(.login) .on-login,
body:not(.signup) .on-signup,
body:not(.logged) .on-logged,
body.logged .on-not-logged,
body.login .on-not-login {
  display: none;
}

#user {
  background-color: white;
  background-size: cover;
  background-position: bottom;
  text-align: center;
}

body:not(.login) #user {
  background: white !important;
}

#user .on-login {
  margin-top: 220px;
  color: white;
  text-align: center;
  position: relative;
  font-family: 'Avenir-Roman';
}

.size-mobile #user .on-login {
  margin-top: 110px;
}

#user .on-login h3,
#user .on-login h4 {
  font-size: 30px;
  font-family: 'Avenir-Heavy';
  margin-bottom: 25px;
}

#user .on-login h4 {
  font-size: 24px;
}

#user .on-login>h6 {
  margin-bottom: 15px;
  margin-top: 20px;
  font-size: 13px;
}

#user .on-login>h4 {
  margin-top: 30px;
  margin-bottom: 30px;
  cursor: pointer;
}

#user .inner {
  opacity: 1;
  transition: .3s;
}

.user-fade #user .inner {
  opacity: 0;
}

.socialbut {
  fill: #fff;
  width: 238px;
  text-align: left;
  margin: auto;
  margin-bottom: 20px;
  cursor: pointer;
  width: 330px;
  transform: scale(0.63);
  font-size: 27px;
  -webkit-transform: scale(0.63);
}

.socialbut .svg-icon {
  width: 35px;
  height: 35px;
  margin-right: 13px;
  position: relative;
  bottom: 3px;
}

.in-small-grid {
  max-width: 335px;
  margin: auto;
}

@media(max-width: 375px) {
  .in-small-grid {
    max-width: 90%;
  }
}

.form-control {
  border-radius: 0;
  background: white;
  color: black;
  border: 1px solid #ccc;
  font-size: 17px;
}

#user .form-control {
  margin-bottom: 10px;
  padding: 13px 10px;
  height: auto;
  min-height: 54px;
}

#user .on-login .form-control {
  color: white;
  border-color: transparent;
  background: gray;
  background: #eaeaea45;
  font-size: 19px;
  font-family: 'Avenir-Roman';
}

#user .on-login .form-control::-webkit-input-placeholder {
  color: white;
}

#user .on-login .form-control:-ms-input-placeholder {
  color: white;
}

#user .on-login .form-control::placeholder {
  color: white;
}

#user .on-signup {
  position: relative;
}

#user .on-signup .form-control {
  margin-bottom: 0;
}

#user .on-signup .heading {
  position: absolute;
  top: -200px;
  width: 100%;
}

#user .on-signup .heading h1 {
  font-size: 50px;
}

.size-mobile #user .banda,
.size-mobile #popup-cerca .banda {
  margin-top: -250px;
}

.size-desktop #user .banda {
  margin-top: -30px;
}

#user .on-signup>.container-fluid,
#popup-cerca .inner>.container-fluid {
  background: white;
  padding-top: 30px;
}

#user .on-signup .group {
  margin-bottom: 20px;
}

.size-desktop #user form .col-12:first-child {
  padding-right: 25px;
}

.size-desktop #user form .col-12:nth-child(2) {
  padding-left: 25px;
}

.size-desktop #user .on-signup form {
  margin-bottom: 60px;
}

#privacy_ok,
#user-editable-data #privacy_ok {
  margin-top: 20px;
}

.size-desktop #privacy_ok {
  margin-top: 60px;
}

#user .on-signup .text-center>h4 {
  margin-top: 40px;
}

.size-mobile #user .container-fluid,
.size-mobile #popup-cerca .container-fluid {
  width: 336px;
  margin-top: -8px;
}

.group {
  position: relative;
}

.group .placeholder {
  position: absolute;
  pointer-events: none;
  color: #919191;
  top: 2px;
  background: #ffffff;
  width: 98%;
  left: 1px;
  text-align: left;
  padding: 12px 11px;
}

.group.no-placeholder .placeholder {
  display: none;
}

.tips {
  overflow: auto;
  max-height: 130px;
  transition: .3s;
}

.tips:not(.open) {
  padding: 0;
  max-height: 0;
  overflow: hidden;
}

.tips.open {
  margin-bottom: 15px;
}

.tips .tip {
  cursor: pointer;
}

.tips .tip:hover {
  text-decoration: underline;
}

.tips .tip:last-child {
  margin-bottom: 20px;
}

.fb-messenger-checkbox {
  width: 280px;
  height: 80px;
}

.fb-messenger-checkbox>span,
.fb-messenger-checkbox>span>iframe {
  width: 100% !important;
  height: 100% !important;
}

.messenger-checkbox-wrapper>h6 {
  color: #C1C0C0;
  font-size: 14px;
  padding-left: 35px;
}

.fb_iframe_widget_fluid {
  display: block !important;
}

/*@media(min-width: 370px){
.size-mobile .mobile-sborda{
margin: 0 -30px;
}
.size-mobile .mobile-sborda button{
width: 100%;
}
}*/

.not-matching {
  display: none;
}

.hit {
  color: var(--main);
}

.pannello-cerca {
  text-align: center;
  max-width: 336px;
  margin: auto;
}

#ricerca {
  padding: 13px 10px;
  height: auto;
  margin-top: 30px;
}

#ricerca::-webkit-input-placeholder {
  color: #ccc;
}

#ricerca:-ms-input-placeholder {
  color: #ccc;
}

#ricerca::placeholder {
  color: #ccc;
}

.form-control::-webkit-input-placeholder {
  color: #919191;
}

.form-control:-ms-input-placeholder {
  color: #919191;
}

.form-control::placeholder {
  color: #919191;
}

.size-desktop .pannello-cerca {
  margin-bottom: 40px;
}

.size-mobile #popup-cerca .no-result {
  margin-top: 40px
}

.pannello-cerca h5 {
  font-size: 17px;
  font-family: 'Avenir-Medium';
  margin-bottom: 15px;
}

.no-result:not(.show),
.on-show:not(.show) {
  display: none;
}

.size-desktop #popup-cerca .banda {
  margin-top: -30px;
}

#popup-cerca .no-result {
  text-align: center;
}

.error-msg {
  max-height: 0;
  overflow: hidden;
  transition: .3s;
  font-size: 18px;
  padding-bottom: 0;
}

.error-msg.show {
  max-height: 300px;
  padding-bottom: 15px;
}

.user-menu-tabs {
  width: 335px;
  margin: auto;
  max-width: 100%;
}

.user-menu-tabs>div {
  display: inline-block;
  width: 21%;
  cursor: pointer;
  padding: 23.9px 0;
}

.retired-heading .heading,
#user .on-logged .heading {
  position: relative;
}

.retired-heading .heading h1,
#user .on-logged .heading h1 {
  position: absolute;
  top: -80px;
  width: 100%;
  font-size: 40px;
}

#user-editable-data {
  padding-top: 40px;
}

#user .select2-container,
#user small {
  text-align: left;
}

#user small {
  display: block;
  margin: 2px;
}

.size-desktop .retired-heading .heading h1,
.size-desktop #user .on-logged .heading h1 {
  font-size: 50px;
  top: -200px;
}

.size-mobile .retired-heading .container-fluid,
.size-mobile #user .on-logged .container-fluid {
  background: white;
  margin-top: 0px;
  min-height: 300px;
  overflow-x: hidden;
}

.size-mobile .retired-heading .banda,
.size-mobile #user .on-logged .banda {
  margin-top: -200px;
}

.form-control.has-error {
  border-color: #db2929 !important;
}

body:not(.profilo) .on-profilo,
body:not(.scheda) .on-scheda,
body:not(.ordini) .on-ordini,
body:not(.tessere) .on-tessere,
body:not(.social) .on-social,
body.social .on-not-social,
body:not(.editing) .on-editing,
body.editing .on-not-editing,
body:not(.has-name) .on-has-name,
body:not(.password-editing) .on-password-editing,
body.password-editing .on-not-password-editing,
.sliding:not(.no-res) .on-no-res {
  display: none;
}

.on-no-res {
  margin-top: 20px;
}

.sliding.exiting,
.sliding.entering {
  display: block !important;
}

@keyframes entering-l {
  0% {
    transform: translate(-100vh, 0);
  }

  100% {
    transform: translate(0 0);
  }
}

@keyframes entering-r {
  0% {
    transform: translate(100vh, 0);
  }

  100% {
    transform: translate(0 0);
  }
}

@keyframes exiting-r {
  0% {
    transform: translate(0, 0);
  }

  100% {
    transform: translate(100vh, 0);
  }
}

@keyframes exiting-l {
  0% {
    transform: translate(0, 0);
  }

  100% {
    transform: translate(-100vh, 0);
  }
}

.sliding.entering {
  animation: entering .3s;
  animation-fill-mode: forwards;
}

.sliding.exiting {
  animation: exiting .3s;
  animation-fill-mode: forwards;
  position: absolute;
  top: 0;
  width: 100%;
  left: 0;
}

.sliding.entering.r {
  animation-name: entering-r;
}

.sliding.entering.l {
  animation-name: entering-l;
}

.sliding.exiting.r {
  animation-name: exiting-r;
}

.sliding.exiting.l {
  animation-name: exiting-l;
}

.size-desktop .sliding.exiting {
  display: none !important;
}

body.category-open #menu,
body.cerca-open .popup.piatti,
body.personalizza-open .popup.piatti,
body.cart-open .popup.piatti,
body.cart-open #popup-cerca,
body.cart-open #menu,
body.user-open .popup.piatti,
body.user-open #popup-cerca,
body.user-open #menu,
body.base-page-not-menu #menu {
  display: none !important;
}

body:not(.editing) #user-editable-data .group .placeholder {
  background: #f4f4f4;
  color: #919191;
}

body.editing #user-editable-data .group .placeholder {
  color: #919191;
}

body:not(.editing) #user-editable-data .radio .box span {
  color: #919191;
}

body:not(.editing) .on-logged .tips,
body:not(.editing) .on-logged .cap_ok {
  display: none;
}

.form-control {
  transition: .3s;
}

.form-control:disabled,
.form-control[readonly] {
  background-color: #f4f4f4 !important;
}

.on-logged button,
.on-signup button {
  margin: 10px 20px;
}

.size-mobile .on-logged button,
.size-mobile .on-signup button {
  margin: 10px 0;
}

.on-logged button.on-not-password-editing {
  margin-top: 0 !important;
}

#user .on-logged>.container-fluid {
  position: relative;
}

body:not(.logged) .svg-icon.user path {
  fill: transparent !important;
}

.ordine {
  box-shadow: 0px 1px 6px 1px #9c9c9c;
  padding: 10px;
  margin: 70px 30px 0;
  max-width: 280px;
  width: 100%;
  display: inline-block;
  text-align: center;
  vertical-align: top;
}

.size-mobile .ordine {
  display: block;
  margin: 70px auto;
}

.ordine>.text-muted {
  font-size: .8rem;
  margin: 5px 0 10px;
}

.ordine>a {
  padding: 30px;
  margin: -15px;
  margin-top: -9px;
  display: block;
  text-decoration: underline;
}

.ordine .meta {
  text-align: left;
  font-size: .9rem;
  padding: 0 10px;
}

.ordine .mercante {
  margin-top: -50px;
}

.ordine .mercante img {
  max-height: 70px;
  max-width: 150px;
  background-color: white;
  display: block;
  margin: auto;
}

.ordine hr {
  margin: 5px 0 20px;
}

.minimo-raggiunto #ordine-minimo {
  opacity: 0;
}

body.user-must-fill-data .on-not-user-must-fill-data,
body:not(.user-must-fill-data) .on-user-must-fill-data,
body.social-loading .on-not-social-loading,
body:not(.social-loading) .on-social-loading,
body.submit-loading .on-not-submit-loading,
body:not(.submit-loading) .on-submit-loading {
  display: none;
}

.on-user-must-fill-data,
.on-not-user-must-fill-data {
  margin-top: 40px;
}

.dropdown.render-indirizzo-utente {
  max-width: 90%;
}

.on-social-loading h3 {
  font-size: 19px !important;
  padding: 33.8px 0;
}

@keyframes lampeggia {
  0% {
    color: var(--main)
  }

  50% {
    color: var(--main)
  }

  100% {
    color: #212529
  }
}

.lampeggia {
  animation: lampeggia 1s;
}

.size-desktop .pulsanti-finecat button {
  margin: 10px 25px;
  margin-bottom: 60px
}

.size-mobile .pulsanti-finecat button {
  margin: 10px 0;
}

.pulsanti-finecat {
  text-align: center;
}

#altro-indirizzo label {
  color: #4a4a4a;
  margin-bottom: -5px;
  margin-top: 10px;
}

#altro-indirizzo .tip {
  color: #4a4a4a;
}

.rapid-link {
  display: inline-block;
  vertical-align: top;
  cursor: pointer;
  margin: 5px 15px;
}

.rapid-link:hover {
  text-decoration: underline;
}

.rapid-link .svg-icon {
  height: 34px;
  width: 22px;
  padding: 2px !important;
  position: relative;
  bottom: 1px;
  padding-top: 5px !important;
}

#header-mobile .rapid-link {
  margin: 5px 0px;
  margin-top: 14px;
  vertical-align: middle;
}

.scontrino {
  width: 327px;
  max-width: 100%;
  margin: 50px auto;
  padding: 20px;
  box-shadow: 0px 0px 3px 0px black;
}

.scontrino pre {
  overflow: visible;
}

.grazie>* {
  margin-top: 30px;
  margin-bottom: 30px;
}

.grazie>button {
  margin: 10px auto;
}

.scontrino,
.grazie {
  margin-top: 80px;
}

.spacer.under-header {
  height: 60px;
}

@media(max-width: 767px) {
  .spacer.under-header {
    height: 40px;
  }

  .scontrino,
  .grazie {
    margin-top: 0px;
  }
}

#barcode {
  margin: auto;
  margin-top: -10px;
  margin-bottom: 10px;
  display: block;
}

.logo-mercante {
  text-align: center;
  padding: 15px 0;
  margin-top: -15px !important;
}

.logo-mercante img {
  max-width: 160px;
  max-height: 90px;
}

.render-qta-w {
  white-space: nowrap;
  color: var(--main);
  font-family: 'Avenir-Black';
}

@media(max-width: 365px) {
  .xs-p0 {
    padding: 0 !important;
  }
}

#user .cover,
#carrello .cover,
.page-then .cover {
  background-position: bottom;
}

.scontrino.tessera {
  text-align: center;
}

@media(min-width: 992px) {
  .scontrino.tessera {
    margin-top: 130px;
  }
}

.text-main {
  color: var(--main);
}

#chi-siamo .mobile-only .banda,
#recensioni .mobile-only .banda {
  margin-bottom: 51px;
}

.mappa iframe {
  width: 100% !important;
  margin: -6px 0px 50px;
}

.sotto-mappa {
  margin-bottom: 50px !important;
}

.sotto-mappa h5 {
  font-size: 24px;
  margin-bottom: 20px;
}

.sotto-mappa h6 {
  font-family: 'Avenir-Roman';
  font-size: 19px;
  color: var(--main);
  margin-bottom: 40px;
}

.size-desktop .sotto-mappa h6 {
  white-space: nowrap;
}

#dove-siamo .desktop-only .banda {
  margin-bottom: 6px;
}

#forgot:not(.disabled) {
  cursor: pointer;
}

#forgot:not(.disabled):hover {
  text-decoration: underline;
}

#quando-consegnare .error-msg>h4 {
  font-size: 17px;
  color: #C1C0C0;
}

#quando-consegnare .error-msg>h5 {
  font-size: 16px;
  font-family: 'Avenir-Roman';
  color: gray;
}

.cart-content .prodotto .nome {
  max-width: calc(100% - 110px);
  display: inline-block;
  vertical-align: top;
}

.qta-changer .svg-icon {
  width: 20px;
  color: var(--main);
}

.popup.piatti .cover,
#popup-cerca .cover {
  background-size: cover;
  background-position: center;
}

.piatto .personalizza-dropdown {
  transition: .3s;
  max-height: 0;
  padding: 0;
  overflow-x: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  display: block !important;
}

.piatto.open-personalizza .personalizza-dropdown {
  max-height: 2000px;
  padding: 15px;
  border: .5px solid #d8d8d8;
  border-top: 0;
}

.piatto.open-personalizza-infinite .personalizza-dropdown {
  max-height: none;
  overflow: hidden;
}

.render-checks .customization {
  padding-left: 5px;
}

.render-checks .customization:first-child {
  border-top: 0;
}

.personalizza-dropdown>h4 {
  color: var(--main);
  font-size: 19px;
  position: relative;
  bottom: 10px;
}

textarea {
  transition: 0s !important;
}

.piatto .nota-piatto {
  margin: 15px auto;
}

#landing .inner>a {
  display: block;
  width: 200px;
  margin: auto;
}

.piatto.variabile .personalizza:not(.reversed),
.prodotto:not(.has-nota) .on-has-nota {
  display: none;
}

.customization-radio .customization {
  padding-left: 15px;
}

.customization-radio {
  margin-bottom: 15px;
}

.customization-radio h4 {
  font-size: 21px;
}

.customization-radio.has-error>h4 {
  color: var(--danger);
}

.piatto .on-added-to-cart>div {
  display: inline-block;
  vertical-align: top;
}

.piatto .on-added-to-cart .resize {
  width: 21px;
  height: 21px;
  color: var(--main);
  position: relative;
  bottom: 2px;
  cursor: pointer;
}

.on-not-added-to-cart .plus {
  position: relative;
  bottom: 2px;
  cursor: pointer;
}

.piatto .on-added-to-cart .resize.minus {
  width: 22px;
  height: 23px;
}

.piatto .on-added-to-cart {
  white-space: nowrap;
}

.piatto.without-description.open-personalizza .personalizza-dropdown {
  margin-top: 25px;
}

.no-render-tessere h4 {
  margin: 50px auto 60px;
}

form .group label {
  text-align: left;
  display: block;
  font-size: 19px;
}

#newsletter_ok {
  margin-top: 10px;
}

.render-tavoli .avviso {
  display: block;
  margin-top: 30px;
  text-align: center;
}

#prenotazione-tavoli {
  z-index: 2;
}

#form-prenotazione-tavolo {
  z-index: 3;
}

.campi-ricerca label {
  text-align: center;
  display: block;
  margin-top: -20px;
  font-size: 18px;
}

.size-mobile .campi-ricerca label {
  margin-top: 0;
}

.header-bottom>.in-grid>.float-right {
  overflow: visible;
  max-width: calc(100% - 156px);
  white-space: nowrap;
}

.retired-heading .onda {
  position: relative;
  bottom: 128px;
}

.size-mobile .retired-heading .banda {
  position: relative;
}

.retired-heading .heading {
  bottom: 200px;
}

.popup:not(.not-d-none).closed {
  display: none;
}

.desktop-footer .container-fluid {
  background: #F2F2F2;
}

.size-desktop .retired-heading .onda {
  display: none;
}

.size-desktop .retired-heading .heading h1 {
  font-size: 50px;
  top: -30px;
}

.size-desktop .retired-heading .cover {
  height: 440px;
}

.size-desktop .retired-heading .banda.in-grid {
  margin-top: -34px !important;
  width: 100%;
  position: relative;
}

.size-desktop .retired-heading .inner>.container-fluid {
  padding-top: 50px;
  margin-top: -40px;
}

.preview img {
  width: 100%;
}

#form-prenotazione-tavolo .preview {
  width: 100px;
  margin: auto;
}

#form-prenotazione-tavolo .attributes {
  width: 300px;
  max-width: 100%;
  padding: 30px 15px;
  border-radius: 15px;
  margin: auto;
  margin-bottom: 30px;
  margin-top: 10px;
  color: white;
  border: 1px solid #555555;
  position: relative;
}

#form-prenotazione-tavolo .render-info {
  position: relative;
}

#form-prenotazione-tavolo .render-info h4 {
  display: inline-block;
  vertical-align: top;
}

#form-prenotazione-tavolo:not(.is-tavolo) .on-is-tavolo,
#form-prenotazione-tavolo:not(.is-ombrellone) .on-is-ombrellone,
#form-prenotazione-tavolo:not(.is-a-ore) .on-is-a-ore {
  display: none;
}

#form-prenotazione-tavolo form {
  padding-bottom: 10px;
}

#form-prenotazione-tavolo form button {
  margin-top: 10px;
}

#form-prenotazione-tavolo .attributes>.overlay {
  border-radius: inherit;
}

#form-prenotazione-tavolo form button .svg-icon {
  height: 20px;
  width: 22px;
  float: left;
}

#form-prenotazione-tavolo form button .svg-icon #svg-meno {
  position: relative;
  bottom: 2px;
}

.input-group-text {
  background-color: var(--main);
  color: white;
  border-color: var(--main);
}

#form-prenotazione-tavolo .text-main.on-not-logged {
  text-align: center;
  font-size: 18px;
}

#form-prenotazione-tavolo textarea {
  margin-bottom: 20px;
}

.ordine .dot {
  height: 7px;
  width: 7px;
  margin-bottom: 1px;
  background: currentColor;
  border-radius: 50%;
  display: inline-block;
}

#form-prenotazione-tavolo form .error-msg {
  padding-top: 5px;
  text-align: center;
  color: var(--main);
}

#privacy_ok a {
  color: #007bff !important;
}

.ordine.tessera>h5 {
  position: relative;
  top: 18px;
}

.ordine.tessera>a {
  padding: 50px;
}

.without-preceiding-h1 {
  padding: 8px;
  padding-top: 20px;
  margin-top: 35px !important;
}

.size-desktop .fondo-menu {
  position: relative;
  top: -15px;
}

.scegli_tavolo {
  margin-right: 10px;
  margin-top: 12px;
  border: 2px solid #cecece;
  padding: 7px;
  border-radius: 8px;
}

.scegli_tavolo .opzioni {
  max-height: 160px;
  overflow: auto;
  padding: 10px;
  margin-top: -17px;
  transition: .3s;
  border-bottom: 1px solid #c9c9c9;
}

.scegli_tavolo .opzioni:not(.show) {
  max-height: 0;
  overflow: hidden;
  padding: 0;
}

.scegli_tavolo .posizione {
  display: block;
  max-width: 300px;
  margin: 16px auto;
  text-align: center;
  border-radius: 10px;
  cursor: pointer;
  color: inherit;
}

.scegli_tavolo .posizione.selected,
.scegli_tavolo .posizione:hover {
  color: var(--main);
}

.scegli_tavolo .posizione.selected,
.scegli_tavolo .posizione:active {
  border-color: var(--main);
}

.scegli_tavolo .posizione>* {
  display: block;
}

.scegli_tavolo .posizione>label {
  font-size: 20px;
  font-family: Avenir-Heavy;
  cursor: pointer;
}

.scegli_tavolo .tavolo-option {
  transition: .5s;
  cursor: pointer;
}

.scegli_tavolo .tavolo-option.selected {
  font-size: 18px;
  background: var(--main);
  color: white;
  padding: 3px 11px;
  border-radius: 20px;
}

.scegli_tavolo .tavolo-option .hit {
  font-weight: 600;
}

.scegli_tavolo .tavolo-option.selected .hit {
  color: white;
}

.signup-fill-column-right {
  width: 1px;
  height: 360px;
}

.tessera-pagamento {
  display: inline-block;
  vertical-align: top;
  width: 200px;
  border: 2px solid var(--main);
  padding: 5px;
  margin: 8px;
  border-radius: 10px;
  box-shadow: 1px 1px 4px 0px grey;
}

.tessera-pagamento button {
  font-size: 16px;
  padding: 7px 10px;
  margin: 7px auto 8px;
  width: auto;
}

.tessera-pagamento .meta {
  margin: 2px 0 6px;
  font-size: 19px;
  font-weight: 500;
  text-shadow: 0 0 1px var(--main);
  width: 90% !important;
}

.crea-elenco-piatti #header-mobile .svg-icon:not(.cart):not(.search) {
  visibility: hidden;
  pointer-events: none;
}

.crea-elenco-piatti #header-mobile .hamburger {
  width: 0;
  padding: 0;
}

.crea-elenco-piatti #carrello .meta,
.crea-elenco-piatti #landing,
.crea-elenco-piatti .costo-consegna,
body:not(.crea-elenco-piatti) .on-crea-elenco-piatti,
body.crea-elenco-piatti .on-not-crea-elenco-piatti {
  display: none !important;
}

.modalita-parrucchiere .cucina-full {
  display: none !important;
}

#quando-consegnare .svg-icon.sborda-left {
  display: inline-block;
  width: 23px;
  height: 23px;
  margin-left: -25px;
  position: relative;
  bottom: 3px;
  right: 2px;
  color: var(--main);
}

.render-next-free {
  font-family: "Avenir-Roman";
}

.select-staff .staff-member {
  vertical-align: top;
  margin-top: 10px;
  display: inline-block;
  width: 218px;
  text-align: center;
  cursor: pointer;
  padding: 6px;
  border-radius: 25px;
  transition: .3s;
  box-shadow: 0 0 3px #000;
}

.select-staff .staff-member.selected {
  box-shadow: inset 0 0 5px 0 var(--main);
  background: var(--main);
  color: white;
}

.select-staff .staff-member:hover {
  box-shadow: 0 0 5px 0px var(--main);
}

.select-staff {
  margin-top: 12px;
}

.staff-member .propic {
  width: 150px;
  height: 150px;
  max-width: 100%;
  margin: 15px auto 25px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  box-shadow: 0 0 4px #555;
}

.staff-member pre {
  opacity: 1;
  max-height: 3000px;
  transition: 1s;
  overflow: hidden;
  white-space: initial;
  text-align: left;
  font-size: 13px;
  margin-top: 10px;
  font-family: Avenir-Roman;
  padding: 7px 2px;
  border-top: 1px solid gray;
}

.staff-member pre:not(.show) {
  max-height: 0;
  opacity: 0;
}

.staff-member.selected .read-more {
  color: white !important;
}

.staff-member.selected pre {
  border-color: white;
  color: white;
  transition: .3s;
}

.select-staff .staff-member:nth-child(even) {
  margin-left: 20px;
}

@media (max-width: 968px) and (min-width: 768px) {
  .select-staff .staff-member {
    margin-left: 0 !important;
  }

  .select-staff .staff-member:not(:first-child) {
    margin-top: 15px;
  }
}

@media(max-width: 520px) {
  .select-staff .staff-member {
    width: 200px;
    display: block;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .select-staff .staff-member:not(:first-child) {
    margin-top: 15px;
  }
}

.team-showcase .team-member {
  display: inline-block;
  width: 300px;
  vertical-align: top;
  box-shadow: 2px 2px 6px #383838;
  margin: 15px;
  transition: 1s;
  max-height: 440px;
  overflow: hidden;
  cursor: pointer;
  padding-bottom: 0px;
}

.team-showcase .team-member.expanded {
  max-height: 3000px;
  cursor: default;
  padding-bottom: 10px;
}

.team-showcase .team-member.expanded .on-not-expanded {
  opacity: 0;
  pointer-events: none;
}

.team-showcase .team-member .propic .overlay {
  padding-top: 380px;
  transition: .3s;
  transition-timing-function: ease-in-out;
}

.team-showcase .team-member:hover .propic .overlay {
  padding-top: 315px;
}

.team-showcase .team-member .propic .overlay button {
  font-family: "Avenir-Heavy";
}

.team-showcase .team-member:hover .propic .overlay button {
  background-color: white;
  color: var(--main);
}

.team-showcase .team-member pre {
  white-space: initial;
  padding: 0 20px;
  text-align: left;
  font-family: "Avenir-Roman";
}

.team-showcase:not(.page-opener) {
  margin-bottom: 40px;
  text-align: center;
}

.team-showcase .propic.lazy-sync {
  width: 100%;
  display: block;
  height: 440px;
  margin: auto;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-bottom: 5px solid var(--main);
  margin-bottom: 15px;
  transition: 1s;
}

.team-showcase .team-member.expanded .propic.lazy-sync {
  height: 220px;
  background-position: top;
}

.round-contacts a {
  display: inline-block;
  vertical-align: top;
  background: var(--main);
  color: #fff !important;
  padding: 10px;
  border-radius: 50%;
  transition: .3s;
  width: 45px;
  margin: 10px;
}

.round-contacts a:hover {
  color: var(--main) !important;
  background: white;
}

.auto-center {
  margin: auto;
  display: block;
}

.modalita-parrucchiere .signup-fill-column-right {
  width: 1px;
  height: calc(100% - 167px);
}

.near-max-qta {
  color: var(--danger) !important;
}

.is-esaurito .plus {
  display: none !important;
}

.copyright a {
  text-decoration: underline;
}

.ragione-sociale {
  display: block;
  margin-bottom: 10px;
}

.v-hidden {
  visibility: hidden;
}

.credits {
  font-size: 13px;
  font-family: "Avenir-Roman";
}

.credits .ragione-sociale {
  bottom: 6px;
}

.credits .svg-icon.resize {
  width: 16px;
  height: 16px;
}

.blocco-orario {
  border: 2px solid;
  color: #2fb70d;
  text-align: right;
  display: inline-block;
  width: 30%;
  max-width: 100px;
  padding: 5px 7px;
  border-radius: 15px;
  box-shadow: 1px 1px 4px #8e8e8e;
  margin: 5px 2px;
  transition: .3s;
}

.blocco-orario .svg-icon {
  position: relative;
  bottom: 2px;
  transform: scale(0);
  -webkit-transform: scale(0);
  transition: .3s;
}

.blocco-orario.selected {
  color: var(--main);
}

.blocco-orario.selected .svg-icon {
  transform: scale(1);
  -webkit-transform: scale(1);
}

.size-mobile .render-blocchi-orario {
  margin-left: -30px;
}

.backend-parrucchiere #carrello .backend-parrucchiere-visible:not(.d-none) {
  display: block !important;
}

.size-desktop .cart-content {
  max-width: 480px;
}

@media(min-width: 1060px) {
  .cart-tot {
    padding-right: 27px;
  }
}

.piatto h5>span {
  margin-right: 10px;
}

.piatto h5 .svg-icon.resize {
  width: 18px;
  height: 18px;
  position: relative;
  bottom: 2px;
}

.piatto.added-to-cart h4,
.piatto.added-to-cart h6 {
  word-break: break-all;
}

.app-back {
  margin-left: -15px;
}

.svg-icon.booking {
  height: 46px;
  width: 48px;
}

#header-mobile .svg-icon.booking {
  height: auto;
}

.must-match:not(.matches) {
  display: none;
}

ul {
  list-style: none;
}

ul.nav-categorie,
ul.nav-categorie ul {
  list-style: none;
  padding: 0;
  overflow-x: hidden;
  overflow-y: scroll;
  /* has to be scroll, not auto */
  -webkit-overflow-scrolling: touch;
  transition: .3s;
  max-height: 800px;
}

/* #menu ul.nav-categorie li:not(.show-sub) ul {
  max-height: 0;
} */

ul.nav-categorie ul {
  padding-left: 10px;
}

ul.nav-categorie {
  position: sticky;
  top: 120px;
}

ul.nav-categorie .chosen {
  color: var(--main);
}

.nav-categorie>li>* {
  cursor: pointer;
  font-size: 16px;
}

.nav-categorie>li:not(:last-child)>h5 {
  border-bottom: 1px solid gray;
  padding-bottom: 3px;
}

.nav-categorie .sottocategoria h6 {
  cursor: pointer;
  font-size: 13px;
}


.is-yoshopping .categoria {
  margin: 0;
}

.menu-wrapper {
  margin-bottom: 90px;
  min-height: 600px;
}

.booking-template .menu-wrapper {
  margin-bottom: 30px;
}

.sidebar {
  border-right: 1px solid gray;
}

.is-yoshopping #menu .desktop-only .banda {
  margin-bottom: 0;
}

.is-yoshopping .split-screen>div {
  padding-top: 25px;
  /* margin: 0; */
  margin-top: 17px;
  z-index: 0;
}

.size-desktop .menu-wrapper>.in-grid {
  margin: 0;
}

.sidebar {
  max-width: 220px;
}

.size-desktop.is-yoshopping #menu .heading {
  z-index: 1;
  position: relative;
}

.size-desktop.is-yoshopping .split-screen {
  margin-top: -32px;
  z-index: 0;
  margin-bottom: 90px;
  width: 100%;
}

.size-desktop.is-yoshopping .in-grid {
  max-width: 90%;
}

.ecommerce-piatto {
  text-align: center;
  white-space: normal;
}

.ecommerce-piatto .preview {
  width: 100%;
  height: 212px;
  background-size: cover;
  background-position: center center;
  position: relative;
  background-repeat: no-repeat;
}

.ecommerce-piatto .preview .on-hover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ecommerce-piatto .preview .on-hover .round {
  height: 70px;
  width: 70px;
  margin: 70px auto 0;
  border-radius: 50%;
  padding: 15px;
  background: white;
  color: var(--main);
  transform: scale(0);
  transition: .3s;
}

.ecommerce-piatto .preview:hover .on-hover .round,
.ecommerce-piatto.booking-theme-piatto:hover .preview.on-hover .round,
.ecommerce-piatto.has-hover .preview .on-hover .round {
  transform: scale(1);
}

.ecommerce-piatto .preview .on-hover .round svg {
  max-width: 100%;
  max-height: 100%;
}

.categorie-wrapper {
  margin-bottom: 16px;
  border-bottom: 1px solid gray;
}

.categorie-wrapper.is-empty {
  margin: 0;
  border: 0;
}

.category-tag,
.ecommerce-piatto .nome,
.ecommerce-piatto .preview {
  cursor: pointer;
}

.category-tag:hover {
  text-decoration: underline;
}

.ecommerce-piatto .nome:hover {
  color: var(--main);
}

.ecommerce-piatto .base-info {
  margin-top: 15px;
}

.ecommerce-piatto .base-info h4 {
  font-size: 1.2rem;
  word-break: break-word;
  white-space: normal;
  display: block;
  font-family: 'Avenir-Heavy';
}


.ecommerce-piatto .brief-attributes {
  font-family: 'Avenir-Heavy';
  font-size: 20px;
}

@keyframes chosen-one {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  100% {
    transform: scale(1.7);
    opacity: 0;
  }
}

@keyframes not-chosen-one {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  100% {
    transform: scale(.7);
    opacity: 0;
  }
}

@keyframes listing-effect {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.anim-chosen-one {
  animation: chosen-one .5s;
}

.anim-not-chosen-one {
  animation: not-chosen-one .5s;
}

.op-0 {
  opacity: 0;
}

.anim-listing-effect {
  animation: listing-effect .5s;
  animation-fill-mode: forwards;
}

.ecommerce-piatto,
.is-yoshopping .categoria,
.piatti-wrapper .category-breadcrumb {
  padding: 10px;
}

.size-mobile.is-yoshopping #menu>.inner>.container-fluid {
  margin-top: 40px;
}

.size-mobile.is-yoshopping .split-screen>div {
  padding-top: 0;
}

.page-opener>svg {
  margin-left: 10px;
}

.header-bottom .page-opener>svg {
  position: relative;
  bottom: 0.3px;
  margin-left: 5px;
}

.page-opener.with-child {
  position: relative;
}

.header-bottom ul.child {
  margin-top: 0;
  background: var(--main);
  color: white;
  border-radius: 10px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  position: absolute;
  width: 240px;
  left: -80px;
  top: 45px;
}

ul.child {
  padding: 0;
  transition: .3s;
  max-height: 100vh;
  overflow: hidden;
  margin-top: 8px;
  margin-bottom: 10px;
}

.with-child ul.child ul {
  padding: 0;
}

.with-child ul.child.unlimited {
  /*max-height: none;*/
  max-height: calc(100vh - 120px);
  overflow: auto;
}

.with-child.page-opener ul.child:not(.show) {
  max-height: 0;
  margin: 0;
}

.header-bottom ul.child>li:first-child {
  padding-top: 20px;
}

.header-bottom ul.child>li:last-child {
  padding-bottom: 20px;
}

ul.child li {
  padding-left: 20px;
}

.category-breadcrumb {
  color: var(--main);
}

.size-desktop .menu-wrapper,
.size-desktop .sim-product-grid {
  padding-left: 25px;
  padding-top: 25px;
}

.is-yoshopping #header-mobile .search {
  display: inline-block;
}

body:not(.is-yoshopping) .on-is-yoshopping,
body.is-yoshopping .on-not-is-yoshopping,
body.without-time-selection .on-not-without-time-selection {
  display: none !important;
}

body.is-yotravel .used-by-yotravel.on-not-is-yoshopping {
  display: block !important;
}

.search-group .category-selector {
  height: 39px;
  background: var(--main);
  color: white;
  border: none;
  font-size: 14px;
  width: 160px;
  border: 2px solid white;
}

.input-group.search-group .svg-icon {
  width: 30px;
  padding: 0;
  margin: 0;
  position: relative;
  bottom: 1px;
}

.input-group.search-group {
  display: inline-flex;
  width: calc(100% - 415px);
  margin-left: 15px;
}

.search-group .input-group-text {
  border: 2px solid white;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  border-left: 0;
  height: 39px;
}

.search-group .input-group-prepend .category-selector {
  border-top-left-radius: .25rem;
  border-bottom-left-radius: .25rem;
}

.category-selector-wrapper .category-selector {
  width: auto;
  max-width: 100%;
  padding: 5px;
  height: auto;
  font-size: 17px;
  border-radius: .25rem;
  border: 0;
}

.category-selector option {
  padding: 5px;
}

.clickable {
  cursor: pointer;
}

.clickable:hover {
  text-decoration: underline;
}

.search-group .input-group {
  margin: 20px 0 30px;
}

.is-yoshopping #popup-cerca .inner>.container-fluid {
  min-height: 410px;
}

.is-yoshopping.size-desktop #popup-cerca .inner>.cover {
  height: 210px;
}

.search-group .input-group .input-group-text {
  border-color: var(--main);
}

.pointer {
  cursor: pointer;
}

.size-mobile .piatti-wrapper .category-breadcrumb {
  text-align: center;
}

.brief-attributes .svg-icon.resize {
  width: 23px;
  position: relative;
  bottom: 4px;
  right: auto;
}

.header-bottom li.data-of-categoria h6:hover,
.header-bottom li.data-of-categoria h5:hover {
  text-decoration: underline;
}

#hamburger-menu .infinite-content {
  overflow-x: hidden;
  overflow-y: scroll;
  /* has to be scroll, not auto */
  -webkit-overflow-scrolling: touch;
}

.size-mobile.is-yoshopping #popup-cerca select {
  -webkit-appearance: none;
}

#popup-product .inner {
  background: white;
  overflow-x: hidden;
  width: 100%;
}

#popup-product .inner>.container-fluid:first-child {
  min-height: 300px;
}

#popup-product .fill-in.foto .full-size,
#popup-product .fill-in.foto {
  height: 100%;
  width: 100%;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 270px;
  background-color: transparent;
}

#popup-product .fill-in.foto {
  background-image: url(../img/default.png);
}

#popup-product .fill-in.foto.no-default-img {
  background-image: none;
}

#popup-product {
  z-index: 5;
}

.invisible-renderer {
  width: 10px;
  height: 10px;
  opacity: .3;
}

.full-size .on-loading {
  opacity: .3;
  transition: .3s;
  pointer-events: none;
}

.full-size:not(.loading) .on-loading {
  opacity: 0;
  padding-top: 70px;
}

.full-size .on-loading {
  opacity: .3;
  transition: .3s;
  width: 70px;
  height: 70px;
  text-align: center;
  margin-top: 100px;
  left: calc(50% - 35px);
  position: absolute;
  padding-top: 0;
}

.full-size .on-loading svg {
  width: 100%;
}

.size-desktop #popup-product .fill-in.foto,
.size-desktop #popup-product .fill-in.foto .full-size {
  background-position: top center;
}

.selector-variazioni:focus {
  color: var(--main) !important;
}

.alert-max-qta {
  font-size: 20px;
  font-family: 'Avenir-Heavy';
  margin-bottom: 14px;
  color: #db2929;
}

#popup-product .buttons>button {
  margin: 16px;
  margin-left: 0;
  margin-bottom: 3px;
}

#popup-product .buttons>button:last-child {
  margin-right: 0;
}

#popup-product .buttons {
  margin-bottom: 20px;
  margin-top: 15px;
}

#popup-product .fill-in.categoria {
  padding: 0;
  color: var(--main);
  font-family: 'Avenir-Roman';
}

#popup-product label {
  margin-bottom: 0;
  margin-top: 12px;
}

#popup-product .fill-in.descrizione {
  font-family: 'Avenir-Roman';
}

#popup-product .fill-in.prezzo,
#render_tot_booking {
  font-family: 'Avenir-Heavy';
}

#popup-product .descrizione-wrapper {
  margin-top: 20px;
  padding-bottom: 5px;
  border-bottom: 1px solid #f0f0f0;
}

.banner {
  position: relative;
  min-height: 100px;
  width: 100%;
}

.banner>.dragscroll {
  height: 100%;
  overflow-y: hidden;
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap;
  cursor: grab;
  z-index: 0;
}

.banner .frame {
  width: 240px;
  display: inline-block;
  vertical-align: top;
}

.booking-template .banner .frame {
  width: 335px;
}

.banner .navigation-control {
  position: absolute;
  width: 40px;
  height: 40px;
  top: calc(50% - 75px);
  left: 20px;
  cursor: pointer;
  opacity: .5;
  color: white;
  transition: .3s;
  border-radius: 50%;
  background: var(--main);
}

.banner .navigation-control:hover {
  opacity: 1;
}

.banner .navigation-control.right {
  transform: rotate(180deg);
  left: auto;
  right: 20px;
  z-index: 1;
}

.banner .navigation-control.op-0 {
  pointer-events: none;
}

.size-desktop.is-yoshopping .pre-footer .social-shares {
  margin-top: 80px;
  margin-bottom: 30px;
}

#carrello .products.banner .ecommerce-piatto .base-info .prezzo {
  float: none;
  text-align: center;
}

.desktop-footer .page-opener.with-child {
  display: inline-block;
}

.regalo.svg-icon {
  width: 20px;
  height: 20px;
  position: relative;
  bottom: 2px;
  left: 8px;
  color: currentColor;
  transition: .3s;
}

.box.checked .regalo.svg-icon {
  color: var(--main);
}

.meta hr {
  margin-bottom: 10px;
  margin-top: 35px;
}

.back-to-products {
  margin-top: 20px;
}

.selector-variazioni {
  width: 335px;
}

.is-yoshopping.size-desktop .cart-content {
  max-width: calc(100% - 27px);
}

.is-yoshopping.size-desktop .cart-wrapper {
  max-width: 590px;
  margin: auto;
}

.is-yostyling .header-top .svg-logo {
  height: 50px;
  margin-top: 6px;
}

.header-top a {
  text-decoration: none !important;
}

.size-desktop .left-separator {
  border-left: 1px solid gainsboro;
}

#prenotazione-tavoli .campi-ricerca .input-group .svg-icon {
  width: 20px !important;
  height: 20px !important;
  position: relative;
  bottom: 3px;
}

#popup-product:not(.foto-single) .on-foto-single,
#popup-product:not(.foto-gallery) .on-foto-gallery {
  display: none;
}

#popup-product .gallery.banner .navigation-control {
  top: calc(50% - 25px);
}

.size-mobile .fill-in.nome {
  margin-top: 30px;
  overflow: hidden;
}

.size-desktop #popup-product .pre-footer {
  margin-top: 30px;
}

.footer-top .page-opener.with-child h5 {
  font-size: 16px;
}

.footer-top .page-opener.with-child h6 {
  font-size: 14px;
}

.footer-top .page-opener.with-child h6:hover,
.footer-top .page-opener.with-child h5:hover {
  color: var(--main);
}

#landing h2 svg {
  width: 27.5px;
  height: 22px;
  display: inline-block;
  position: relative;
  bottom: 4px;
}

.piatto h5 .svg-icon.resize #svg-shipping path,
.piatto h5 .svg-icon.resize #svg-shop path {
  fill: var(--main);
}

.round-logo.not-round {
  border-radius: 0;
  background-color: transparent;
  display: block;
  margin: auto;
}

#hamburger-menu .round-logo {
  height: 98px;
}

#header-desktop .round-logo {
  width: 100px;
  background-size: contain;
  height: 51px;
  margin-top: -7px;
}

.row.presets {
  margin-bottom: 25px;
}

.size-mobile .row.presets {
  margin-top: 30px;
}

.preset {
  cursor: pointer;
}

.preset>div {
  display: inline-block;
  vertical-align: top;
}

.preset .preview {
  width: 80px;
  height: 80px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  transform: scale(1);
  transition: transform .3s;
  border-radius: 5px;
}

.preset:hover .preview {
  transform: scale(1.1);
}

.preset .info {
  width: calc(100% - 95px);
  margin-left: 5px;
}

.preset .titolo {
  font-family: 'Avenir-Heavy';
  color: var(--main);
  font-size: 20px;
}

.preset:not(.active) .titolo {
  color: black;
}

.preset .descrizione {
  font-family: 'Avenir-Roman';
  color: #414141;
}

#header-desktop #yomenu_logo {
  transform: scale(1.2);
}

.selector-variazioni {
  max-width: 100%;
}

.input-group.number {
  width: 150px;
  margin: auto;
}

body.cart-disabled .on-not-cart-disabled {
  display: none !important;
}

#popup-product:not(.is-booking-is-1) .on-is-booking-is-1,
#popup-product:not(.is-booking-is-default) .on-is-booking-is-default {
  display: none;
}

.is-booking .qta-changer {
  display: none;
}

body.consegna-is-takeaway #costo_consegna {
  visibility: hidden;
}

#pay-with-skrill {
  height: 140px;
  width: 100%;
  border: none;
  transition: height .5s;
}

#pay-with-skrill.paying {
  height: 731px;
}

.opens-lightbox {
  cursor: zoom-in;
}

.lightbox-w {
  position: fixed;
  left: 0;
  top: 0;
  background: #1f1f1f91;
  width: 100%;
  z-index: 102;
  padding: 20px;
}

.lightbox-w .lightbox-bg {
  width: 0%;
  height: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  transition: width .5s;
}

.lightbox-w .lightbox-bg.show {
  width: 100%;
}

.lightbox-w .freccia {
  position: absolute;
  top: 50%;
  left: 30px;
  cursor: pointer;
  padding: 6px 11px;
  background: white;
  border: 1px solid #d8d8d8;
  transform: rotate(90deg);
  border-radius: 50%;
  color: var(--main);
}

.lightbox-w .freccia.r {
  left: calc(100% - 60px);
  transform: rotate(270deg);
}

.lightbox-w .lightbox-closer {
  text-align: right;
  position: absolute;
  top: 25px;
  width: calc(100% - 40px);
  height: 30px;
}

.lightbox-w .lightbox-closer .x {
  cursor: pointer;
  padding: 4px 8px;
  background: white;
  border-radius: 16%;
  padding-bottom: 7px;
  border: 1px solid #d8d8d8;
}

.lightbox-w .lightbox-closer .x svg {
  width: 22px;
  height: 22px;
}

.lightbox-w .lightbox-closer .x svg path {
  fill: var(--main);
}

#people_selector .render-subtot {
  float: right;
}

body.does-booking:not(.yomenu-con-camere) .on-not-does-booking,
body:not(.does-booking) .on-does-booking {
  display: none !important;
}

#pagamento,
#consegna-voluta {
  min-width: 250px;
}

@keyframes evidenzia {
  0% {
    filter: brightness(0.9);
  }

  100% {
    filter: brightness(1.1);
  }
}

.piatto.evidenzia h4 {
  color: var(--main);
  text-shadow: 1px 1px 2px #a3a3a3;
  font-size: 19px;
  filter: brightness(0.9);
  animation: evidenzia .7s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

.piatto.added-to-cart {
  min-height: 105px;
}

.qta-box .adder {
  color: var(--main);
  display: inline-block;
  width: 30px;
  position: relative;
  bottom: 2px;
  padding: 2px;
  cursor: pointer;
}

.qta-box .form-control {
  display: inline-block;
  width: 110px;
}

#popup-product .buttons .addtocart svg {
  position: relative;
  bottom: 3px;
  right: 3px;
}

#popup-product:not(.prezzo-mode-is-default) .on-prezzo-mode-is-default,
#popup-product.prezzo-mode-is-default .on-not-prezzo-mode-is-default {
  display: none;
}

.hide-prices-not-logged:not(.logged) .piatto-display-prezzo,
.hide-prices-not-logged:not(.logged) .add-to-cart,
.hide-prices-not-logged:not(.logged) .brief-attributes .prezzo,
.hide-prices-not-logged:not(.logged) .prezzo-wrapper,
.hide-prices-not-logged:not(.logged) .addtocart,
body:not(.hide-prices-not-logged) .on-hiding-prices,
.hide-prices-not-logged.logged .on-hiding-prices,
.hide-prices-not-logged:not(.logged) span.tariffa-price,
.hide-prices-not-logged:not(.logged) span.total-price,
span.on-prices-hidden {
  display: none !important;
}

.tabella-prezzi {
  max-width: 335px;
}

.form-control.custom-field:not(textarea) {
  max-width: 335px;
}

.custom_fields .v2upload-root {
  max-width: 335px;
  margin-top: 5px;
  text-align: left;
}

#carrello .v2upload-root {
  text-align: left;
  margin-bottom: 10px;
  margin-top: -5px;
}

#carrello .custom-fields label {
  margin-top: 10px;
}

.scontrino a {
  color: #0886c5 !important;
}

.overflow-hidden {
  overflow: hidden;
}

.prodotto.virtuale.offerta .qta-changer,
.prodotto.virtuale.offerta .remover {
  display: none;
}

.prodotto.virtuale.offerta {
  color: var(--main);
}

.prodotto.virtuale.offerta .prezzo {
  color: #333;
}

#user>.overlay {
  background: 0 0;
  z-index: 0;
  /* li attivo nel custom css
  background-image: radial-gradient(transparent,#000);
  */
  position: absolute;
  background-size: cover;
  opacity: .5;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

body:not(.logged).login #user>.overlay {
  background: #00000073;
}

body:not(.login) #user>.overlay {
  display: none;
}

.ecommerce-piatto .descrizione {
  overflow: hidden;
  max-height: 20px;
}

.customization .add-to-cart {
  cursor: pointer;
}

.customization>span {
  max-width: calc(100% - 90px);
  display: inline-block;
}

body.prenotazione-tavoli-fullscreen .avviso-allergie,
body.prenotazione-tavoli-fullscreen .nota-ordine-wrapper,
.prodotto.is-prenotazione .qta-changer,
body.prenotazione-tavoli-fullscreen #costo_consegna {
  display: none;
}

#form-prenotazione-tavolo .inner>.container-fluid {
  padding-bottom: 40px;
}

.render-next-free {
  display: none !important;
}

#header-mobile .brand-name {
  display: inline-block;
  position: relative;
  top: 3px;
  max-width: 50px;
  overflow: visible;
  white-space: nowrap;
}

.render-totale-tempo {
  margin-bottom: 10px;
  margin-top: 5px;
}

body:not(.anything-carted) .on-anything-carted {
  display: none;
}

.render-totale-tempo svg {
  position: relative;
  bottom: 3px;
}

.ecommerce-piatto.is-booking .brief-attributes .prezzo {
  display: none;
}

.people-selector label {
  font-family: 'Avenir-Heavy';
}

.fc .fc-button-primary {
  background-color: var(--main) !important;
  border-color: var(--main) !important;
}

.event-dispo-bad {
  pointer-events: none;
}

.render-aggiunte-ombrellone #svg-meno-round {
  vertical-align: baseline;
}

#yomenu_logo.rendered-svg {
  height: 100%;
  width: auto;
}

.riepilogo-orario .nome-giorno,
.riepilogo-chiusure .data-chiusura {
  color: gray;
}

.merchant-logo {
  height: 100px;
  width: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  margin-bottom: 15px;
  margin-top: -7px;
}

.sotto-mappa .svg-icon {
  vertical-align: text-top;
}

.brand-cliente #header-desktop .header-top .svg-logo {
  height: 24px;
}

.is-yowine svg#yomenu_logo path {
  fill: white !important;
}

.hand,
.hand-double,
.hand-flick,
.hand-hold,
.hand-rock,
.hand-tap,
.hand-x,
.hand-y {
  fill: #fff;
  stroke: #000;
  stroke-width: 3px;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.arrow-down,
.arrow-head,
.arrow-left,
.arrow-right,
.arrow-up,
.arrow-up-1,
.arrow-up-2,
.arrow-up-3,
.hold-1,
.hold-2,
.line-horizontal,
.line-rotate,
.line-vertical,
.notes,
.tap-1,
.tap-2 {
  fill: transparent;
  stroke: #000;
  stroke-width: 3px;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.arrow-up-2,
.hold-1,
.tap-1 {
  opacity: .5;
}

.arrow-up-1,
.hold-2,
.tap-2 {
  opacity: .25;
}

.arrow-up-3,
.swipe-horizontal,
.swipe-rotate,
.swipe-vertical {
  opacity: .75;
}

.hold-1,
.hold-2,
.notes {
  opacity: 0;
}

@keyframes swipe-x {
  0% {
    transform: translateX(0px);
  }

  25% {
    transform: translateX(50px) rotateZ(10deg);
  }

  50% {
    transform: translateX(0px);
  }

  75% {
    transform: translateX(-50px) rotateZ(-10deg);
  }
}

.hand-x {
  animation: swipe-x 1.25s ease-in-out backwards;
  animation-iteration-count: infinite;
}

.scorri-spiaggia-tutorial {
  position: absolute;
  z-index: 1;
  text-align: center;
  width: 100%;
  margin-top: 40px;
  opacity: 1;
  transition: opacity .3s;
  pointer-events: none;
}

.scorri-spiaggia-tutorial svg {
  width: 100px;
  opacity: .7;
}

.scorri-spiaggia-tutorial * {
  transform-origin: 50% 50%;
  perspective: 100px;
}

.scorri-spiaggia-tutorial .backbox {
  display: inline-block;
  background-color: #e1e1e1;
  background-color: #e1e1e185;
  padding: 15px;
  border-radius: 25px;
  box-shadow: 0px 1px 2px #727272;
}

.scorri-spiaggia-tutorial-done .scorri-spiaggia-tutorial {
  opacity: 0;
}

button.with-svg svg {
  position: relative;
  bottom: 3px;
}

.shop-acceptance input {
  width: 20px;
  height: 19px;
  display: inline-block;
  vertical-align: top;
  transition: .3s;
  transform: scale(1);
}

.shop-acceptance label {
  font-size: 17px;
  display: inline-block;
  vertical-align: top;
}

.shop-acceptance input.focused-div {
  transform: scale(1.2);
}

.usa-codice-sconto {
  margin-bottom: 30px;
  background: #efefef;
  border-radius: 15px;
  padding: 15px;
  padding-bottom: 25px;
  text-align: center;
}

.usa-codice-sconto button {
  margin: 20px auto;
}

.render-codice-sconto-attivato h4 .svg-icon {
  width: 22px;
  display: inline-block;
  vertical-align: super;
}

.show-subcategory-no .preview-sottocategoria {
  display: none !important;
}

.piatto .personalizza-readonly {
  top: 6px;
}

.piatto:not(.customizable) .personalizza-readonly {
  display: none;
}

.piatto.readonly .render-checks .add-to-cart,
.piatto.readonly .free-customization {
  display: none;
}

.still-to-customize {
  color: var(--danger);
  cursor: pointer;
}

/*
start: Adaattamento jmo per il frontend
*/
.jmo-modal {
  background: white;
}

.jmo .btn {
  width: auto;
}

/*
end: Adaattamento jmo per il frontend
*/

.ecommerce-preview-contain .ecommerce-piatto .preview {
  background-size: contain;
}

body:not(.servizio-sospeso-page) #yomenu_logo path {
  fill: white !important;
}

#popup-product:not(.tipo-prenotazione-is-opzioni-orarie-giornaliere).tipo-prenotazione-is-default .on-tipo-prenotazione-is-opzioni-orarie-giornaliere.on-tipo-prenotazione-is-opzioni-orarie-giornaliere-or-default {
  display: block;
}


body.signup .gdpr-forget {
  display: none !important;
}

.a-iscrizione-is-1 .qta-box {
  display: none;
}

.cart-content .prodotto.is-a-iscrizione .qta-changer {
  display: none;
}

.child.show h5 {
  font-size: 17px;
}

.booking-filter {
  text-align: left;
  background: var(--main);
  color: white;
  padding: 25px;
}

.booking-filter .input-group.number {
  margin-left: 0;
}

.select2 {
  width: 100% !important;
}

.select2-selection__choice {
  position: relative;
  top: 4px;
}

.booking-theme-piatto .read-more-link {
  color: #757575;
  font-size: 15px;
}

.booking-theme-piatto .read-more-link a {
  padding-bottom: 5px;
  display: block;
}

.booking-theme-piatto .btp-inner {
  text-align: left;
  position: relative;
  padding: 0;
  margin: auto;
  width: 90%;

}

.booking-theme-piatto a {
  text-decoration: none !important;
}

.booking-theme-piatto a:hover {
  color: var(--main);
}

.booking-theme-piatto .base-info {
  transition: all .35s ease;
  margin-top: 0;
  padding: 30px 20px 18px;
  border: 1px solid #e0e0e0;
  border-top: 0;
}

.booking-theme-piatto:hover .base-info {
  border-color: transparent;
  -webkit-box-shadow: 0 0 12px rgb(33 33 33 / 20%);
  box-shadow: 0 0 12px rgb(33 33 33 / 20%);
}

.ecommerce-piatto.booking-theme-piatto .preview {
  background-size: 100%;
  transition: all .35s ease;
  background-color: white;
}

.ecommerce-piatto.booking-theme-piatto:hover .preview {
  background-size: 110%;
}

.booking-theme-piatto .base-info h4 {
  font-family: Avenir-Medium !important;
  font-size: 16px !important;
  color: #42414e;
  margin-bottom: 20px;
}

.booking-theme-piatto .brief-attributes {
  margin-bottom: 10px !important;
  margin-top: 10px;
}

.booking-theme-piatto .brief-attributes .svg-icon.resize {
  width: 18px;
}

.booking-theme-piatto:hover .nome {
  color: var(--main);
}

.booking-theme-piatto hr {
  border: 0;
  margin: 0;
  border-bottom: 2px solid #bdbdbd;
}

.booking-theme-piatto:hover hr,
.booking-theme-piatto hr.already-colored {
  border-color: var(--main);
}

.c-pointer {
  cursor: pointer;
}

.expand-on-hover-holder>.expand-on-hover {
  transition: .3s;
}

.expand-on-hover-holder:not(:hover)>.expand-on-hover {
  width: 40px !important;
}

.mt-20px {
  margin-top: 20px;
}

.descrizione-booking {
  font-size: 15px;
  letter-spacing: .025em;
  line-height: 1.8em;
  color: #757575;
  height: 120px;
  overflow: hidden;
  line-height: 1.6;
  margin-bottom: 30px;
  margin-top: 8px;
}

#menu .cslider {
  margin-top: 60px;
  overflow: hidden;

}

.cslider {
  position: relative;
  margin-bottom: 40px;
  color: white;
  width: 100%;
  overflow: hidden;
}

.cslider-bg-tape {
  position: absolute;
  top: 0;
  height: 100%;
  left: 0;
  white-space: nowrap;
  transition: transform ease .6s;
  will-change: transform;
}

.cslider-bg-tape.teleporting {
  transition: 0s;
}

.cslide-bg {
  display: inline-block;
  vertical-align: top;
  background-size: cover;
  background-position: center;
  height: 100%;
}

.cslide-arrow-next svg {
  transform: rotate(270deg);
}

.cslide-arrow-prev svg {
  transform: rotate(90deg);
}

.cslide-frame {
  opacity: 1;
  transition: ease .6s;
}

.cslide-frame:not(.show) {
  opacity: 0;
  pointer-events: none;
  transition: ease .1s;
}

.slider-vertc-arrows {
  pointer-events: none;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.slider-vertc-arrows .row {
  width: 100%;
}

.slider-vertc-arrows svg {
  width: 32px;
  height: 32px;
}

.cslide-arrow {
  display: inline-block;
  cursor: pointer;
  pointer-events: all;
}

.cslider-fg-frames,
.cslide-frame,
.absolute-full {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.cslide-frame {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  text-shadow: 1px 3px 4px #000;
}

.cslider-bg-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: .3;
  box-shadow: inset 0px -4px 21px 6px #000;
  ;
}

.cslide-slide-link {
  margin-top: 15px;
}

.slide-inner-centered {
  max-width: 80%;
  width: 400px;
}

.booking-filter {
  margin-bottom: 40px;
}

@media(max-width: 990px) {
  .booking-filter {
    text-align: center;
  }

  .booking-filter .input-group {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

.cslide-slide-description {
  font-family: 'Avenir-Roman' !important;
  font-weight: 300 !important;
  font-size: 20px;
  color: #e9e9e9;
}

.a-notti-selected-summary:not(.show) {
  opacity: .5;
}

.a-notti-selected-summary:not(.show) span:not(.on-prices-hidden) {
  display: none;
}

.inline-in-grid {
  width: 90%;
  margin: auto;
}

.cslider-prefab,
.cslide-frame-prefab,
.cslide-bg-prefab {
  display: none !important;
}

/*
Classe per gli elementi che appaiono o scompaiono in base a 
se siamo in un prodotto booking e il booking-theme è attivo (scheda prod custom)
*/
body.booking-template #popup-product.is-booking-is-1 .on-not-booking-product-theme,
body:not(.booking-template) .on-booking-product-theme,
#popup-product:not(.is-booking-is-1) .on-booking-product-theme {
  display: none !important;
}

.booking-product-theme-cover {
  margin-top: 60px;
}

.cover-slider-mobile-header {
  height: 90px;
  background: #ffffff70;
}

.cover-slider-logo {
  height: 100%;
  display: block;
  margin: auto;
  padding: 10px 0;
}

.cover-slider-mask-bg .cover-slider-logo {
  height: auto;
  width: 300px;
  margin: auto;
  margin-right: 50px;
  position: relative;
  top: 30px;
}

.cover-slider-mask-bg {
  background-image: url('../img/booking-cover-slider-layer-bg.png');
  background-position: 100% 60px;
  background-size: auto 100%;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lower-controls .slider-vertc-arrows .row {
  margin-bottom: -370px;
  width: 90%;
}

.size-desktop .bpt-cover-slider .cslide-arrow-next {
  color: var(--main);
}

.bpt-cover-slider {
  margin-bottom: 0px;
}

.merge-into-cover-slider {
  margin-top: -80px;
  z-index: 1;
  position: relative;
  top: 30px;
  padding: 20px;
  background: var(--main);
  color: #fff;
  text-align: left;
}

.merge-into-cover-slider>div {
  display: inline-block;
  vertical-align: top;
}

.bpt-product-closer {
  cursor: pointer;
}

.bpt-product-description {
  width: 100% !important;
  color: #343332;
  font-family: 'Avenir-Roman';
}

@media(min-width: 768px) {
  .bpt-product-description {
    background: #f9f9f9;
    padding: 15px 15px;
    border-radius: 7px;
  }
}

.bpt-product-description strong {
  color: black;
  font-family: 'Avenir-Medium';
}

@media(min-width: 769px) {
  .bpt-product-closer svg {
    width: 17px;
    height: 17px;
  }

  .merge-into-cover-slider>div {
    font-size: 21px;
  }

  .bpt-product-description {
    max-width: 100% !important;
  }
}

.cool-booking-description,
.cool-booking-description>.row {
  background-position: left center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

.cool-booking-description {
  background-color: #ddd;
  margin-bottom: 60px;
}

.cool-booking-description>.row {
  min-height: 350px;
  background-image: url('../img/booking-cover-banner-bg-mask.png');
  padding: 50px 25px;
  background-position: 90px;
}

@media(max-width: 768px) {
  .cool-booking-description {
    background-image: none !important;
    background-color: white;
    margin-bottom: 0;
  }

  .cool-booking-description>.row {
    padding-bottom: 0;
    min-height: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .merge-into-cover-slider {
    margin-top: -60px;
  }
}

.cool-booking-description-overlay {
  background-color: #000;
  opacity: .2;
}

.merge-into-cover-slider .product-closer {
  padding: 20px;
  margin: -20px;
  cursor: pointer;
}

.bpt-product-title {
  max-width: calc(100% - 35px);
  overflow: hidden;
  text-overflow: ellipsis;
  position: relative;
  top: 1px;
  margin-left: 10px;
  white-space: nowrap;
}

.vert-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.pannello-cerca .form-group h5 {
  margin-bottom: 0;
}

.recycle-code-category-rendered {
  background: #f9f9f9;
  border-radius: 10px;
  border-bottom: 3px solid var(--main);
  padding: 10px;
  margin-top: 10px;
  box-shadow: 0px 1px 2px #aeaeae;
}

.recycle-code-rendered {
  position: relative;
}

.recycle-code-category-icon {
  width: 50px;
  height: 50px;
  background: var(--main);
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.recycle-code-category-icon img {
  width: auto;
  height: 60%;
  display: block;
  margin: auto;
}

.recycle-code-icon {
  position: absolute;
  top: 0;
  right: 0;
}

.recycle-code-icon svg {
  transform: scale(0.7);
  transform-origin: top right;
  margin-right: -30px;
}

.recycle-code-icon svg:last-child {
  margin-right: 0px;
}

.recycle-code-category-col-right,
.recycle-code-category-col-left {
  display: inline-block;
  vertical-align: top;
}

.recycle-codes-rendered {
  padding: 0;
}

.recycle-code-category-col-right {
  width: calc(100% - 60px);
  padding-left: 8px;
  padding-top: 5px;
}

.recycle-code-description {
  padding: 16px 10px;
  display: block;
  width: calc(100% - 130px);
}

.size-mobile .recycle-code-icon {
  position: static;
}

.size-mobile .recycle-code-description {
  width: 100%;
}

.size-mobile .recycle-code-icon svg {
  transform-origin: top left;
}

.render-recycle-codes {
  max-width: 740px;
  overflow: hidden;
  max-height: 1000px;
  transition: ease .6s;
}

.render-recycle-codes:not(.expanded) {
  max-height: 25px;
}

.render-recycle-codes.expanded.unlimited {
  max-height: none;
}

.recycle-expander span {
  text-decoration: underline;
}

.recycle-expander b {
  font-size: 30px;
  font-family: 'Avenir Heavy';
  line-height: 22px;
  display: inline-block;
  vertical-align: text-top;
}

.render-recycle-codes.expanded .on-not-expanded,
.render-recycle-codes:not(.expanded) .on-expanded {
  display: none !important;
}

.fix-inside-grid {
  margin: 0 -15px;
}

.booking-service-icon>img {
  background: var(--main);
  border-radius: 50%;
  width: 21px;
  height: 21px;
  display: inline-block !important;
  margin: 0px 7px 0 0 !important;
  vertical-align: text-top;
  padding: 1px;
}

.booking-service {
  display: inline-block;
  margin: 8px 10px 0 0px;
}

.meta-key-view label {
  font-family: Avenir-Heavy;
  font-size: 17px;
  display: block;
}

.meta-value-view {
  font-family: Avenir-Roman;
  display: inline-block;
  border-radius: 15px;
  margin-right: 10px;
  padding: 4px 9px 3px;
  background: var(--main);
  color: white;
}

#user .on-login .otherwise {
  margin: 13px auto;
  font-size: 14px;
}

.yobooking-puro .riepilogo-orario-delivery,
.yobooking-puro .orario-on-land-delivery {
  display: none !important;
}

.yobooking-puro .box-orari {
  visibility: hidden;
}

@media (max-width: 394px) {
  .small-screen-padding {
    padding: 0 5px;
  }
}

.icona-allergene {
  display: inline-block;
  width: 32px;
  cursor: pointer;
}

.icona-allergene img {
  width: 100%;
}

#allergeni .allergeni-opener {
  display: none;
}

.table-allergeni {
  margin-bottom: 40px !important;
  padding-left: 15px;
  padding-right: 15px;
}

@media(max-width: 768px) {
  .table-allergeni {
    margin-top: 40px;
  }
}

.table-allergeni .allergene-icon img {
  width: 50px;
  margin: 0;
  margin-right: 20px;
}

.table-allergeni .allergene-row {
  margin-bottom: 15px;
}

/* escludi barra del messagio nel frontend*/
.booking-filter .ajax-msg {
  display: none !important;
}

@media(min-width: 990px) {
  .light-border-right {
    border-right: 1px solid #cbcbcb;
  }
}

.rowed-title {
  font-size: 22px;
  font-family: Avenir-Heavy;
  display: block;
  width: 100%;
  text-align: center;
  position: relative;
}

.rowed-title:before {
  content: " ";
  display: block;
  pointer-events: none;
  width: 100%;
  height: 1px;
  border-top: 2px solid #ccc;
  z-index: 1;
  position: absolute;
  top: 50%;
}

.rowed-title>span {
  padding: 0 20px;
  background: #fff;
  display: inline-block;
  z-index: 2;
  position: relative;
}

.booking-theme-piatto-hoverable {
  overflow: hidden;
  --height: 400px;
  --baseinfo-height: 70px;
  --preview-height: calc(var(--height) - var(--baseinfo-height));
  --double-preview-height: calc(var(--preview-height) * 2);
  --inner-height: calc(var(--double-preview-height) + var(--baseinfo-height));
  height: var(--height);
  padding: 0;
  text-align: left;
  margin-bottom: 20px;
}

.booking-theme-piatto-hoverable .btp-inner {
  margin: 0 10px;
  height: var(--inner-height);
  transform: translateY(0px);
  transition: transform .4s;
  transition-timing-function: ease;
  border: 1px solid #ebebeb;
}

.booking-theme-piatto-hoverable:hover .btp-inner {
  transform: translateY(calc(var(--preview-height) * -1));
}

.booking-theme-piatto-hoverable .btp-inner .preview {
  height: var(--preview-height);
}

.booking-theme-piatto-hoverable .btp-inner .base-info {
  height: var(--baseinfo-height);
  border: 1px solid #ebebeb;
  border-bottom: 2px solid #ebebeb;
  margin: 0;
  display: flex;
  flex-wrap: nowrap;
}

.booking-theme-piatto-hoverable .btp-inner .base-info .nome {
  text-align: left;
  flex-grow: 1;
  margin: 0;
  display: flex;
  height: 100%;
  overflow: hidden;
  padding: 10px;
}

.booking-theme-piatto-hoverable .descrizione-booking {
  margin: 0;
  margin-bottom: 10px;
  max-height: 120px;
  height: auto;
  padding: 18px 18px 0;
}

.booking-theme-piatto-hoverable .btp-inner .base-info .prezzo-a-partire-da-booking {
  width: 100px;
  text-align: center;
  padding: 10px;
  color: #bcbcbc;
  background-color: rgba(90, 186, 198, 0.05);
  border-left: 2px solid #ebebeb;

}

.booking-theme-piatto-hoverable .btp-inner .base-info .prezzo-a-partire-da-booking .the-price {
  font-size: 20px;
  font-family: 'Avenir-Black';
  display: block;
  white-space: nowrap;
  color: var(--main);
  line-height: 1.1;
  margin-top: 4px;
}

.booking-theme-piatto-hoverable .booking-service-icons img {
  width: 21px;
  height: 21px;

  background: var(--main);
  border-radius: 50%;
}

.booking-theme-piatto-hoverable .booking-service-icon {
  display: flex;
  margin-bottom: 10px;
}

.booking-theme-piatto-hoverable .booking-service-icon .booking-service-icon-text {
  flex-grow: 1;
}

.booking-theme-piatto-hoverable .bring-on-hover {
  position: relative;
  height: var(--preview-height);
}


.booking-theme-piatto-hoverable .to-bottom {
  padding-bottom: 3px;
}

.booking-theme-piatto-hoverable .to-bottom button {
  width: 100%;
  max-width: 100%;
}

@media(max-width: 768px) {
  .booking-theme-piatto-hoverable {
    height: auto;
  }

  .booking-theme-piatto-hoverable:hover .btp-inner {
    transform: none;
  }

  .booking-theme-piatto-hoverable .to-bottom {
    padding-bottom: 0;
  }
}

.render-booking-services {
  margin-bottom: 7px;
}

.icon-eye {
  width: 30px;
  height: 100%;
  position: absolute;
  top: 13px;
  right: 10px;
  color: inherit;
  cursor: pointer;
}


.hide-prices-not-logged:not(.logged) span.on-prices-hidden {
  display: inline-block !important;
}



#preload .is-taac-logo {
  width: 330px;
  max-width: 100%;
}

.google-places-input {
  background-repeat: no-repeat;
  background-size: 19px;
}

form .group>.wrapper,
form .group>.icon-eye-wrapper {
  position: relative;
}

body.is-yosport #costo_consegna {
  display: none !important;
}

.prodotto.has-error .nome {
  color: var(--danger);
}

.is-taacdelivery .riepilogo-orario-locale {
  display: none !important;
}

@media(min-width: 1024px) {

  #menu .cover,
  .popup.piatti .cover.desktop-only,
  .secondario .cover {
    background-position: 100% 23%;
    height: 460px;
  }
}

@media(min-width: 1424px) {

  #menu .cover,
  .popup.piatti .cover.desktop-only,
  .secondario .cover {
    background-position: 100% 23%;
    height: 600px;
  }
}


.orari-custom {
  white-space: pre;
}

.booking-service-icons {
  max-height: 135px;
  overflow: hidden;
}

.addtocart .fa-calendar-alt {
  width: 18px;
}

.selection-item.selected .on-not-selected,
.selection-item:not(.selected) .on-selected {
  display: none;
}

#eco_add_to_cart_err_msg .alert {
  display: inline-block;
  width: auto;
  margin-bottom: 0;
}

.g_id_signin iframe {
  margin: -5px auto !important;
}

.fb-login-button {
  margin-bottom: 20px;
  margin-top: -10px;
}

body.paypal-internal-overlay-open {
  overflow: hidden;
  pointer-events: none;
}

#paypal-internal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  background-color: rgba(0, 0, 0, 0.8);
  color: white;
  z-index: 999;
  text-align: center;
  padding-top: 140px;
}

.radio .box span {
  max-width: calc(100% - 44px);
}

.paypal-overlayed iframe {
  pointer-events: none;
}

.then-page-error {
  display: inline-block;
  width: auto;
}

.then-page-error strong {
  display: block;
  margin-bottom: 15px;
}

.then-page-error a {
  text-decoration: underline;
}

.presets .preset {
  margin-bottom: 7px;
}

.product-share {
  display: flex;
  gap: 15px;
  justify-content: flex-end;
  align-items: center;
}

.product-share-button {
  color: var(--main);
  width: 30px;
  min-width: 30px;
  cursor: pointer;
}

.product-share .copyme-w {
  user-select: text;
  font-size: 16px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media(max-width: 768px) {
  .product-share {
    margin-bottom: -20px;
    margin-top: -40px;
  }
}

.ho-un-azienda {
  cursor: pointer;
  color: var(--main);
  margin-top: 13px;
  text-decoration: underline;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.ho-un-azienda svg {
  height: 20px;
  width: 20px;
}