
/* Custom Styles */

html, body, #page {
    touch-action: pan-y !important;
}

body{
    top: 0 !important;
    font-size: 14px;
}

a, button {
    touch-action: manipulation;
}

img.lazy:not(.nolazy, .preload-img) {
    display: none;
}

.lazy-hidden:not(.nolazy, .preload-img) {
    opacity: 0;
}
.lazy-loaded {
    -webkit-transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    -ms-transition: opacity 0.3s;
    -o-transition: opacity 0.3s;
    transition: opacity 0.3s;
    opacity: 1;
}

.accessibility .header-icon-1,
.accessibility .header-icon-2 {
    margin-left: 5px;
}

.lang-menu {
    max-height: 600px !important;
    overflow-y: scroll;
}

#preloader .preload-img {
    max-height: 100px;
}

#page,
.menu-box-detached {
    max-width: 700px;
    margin: auto;
}

#preloader img {
    max-width: 200px;
    height: auto;
    position: absolute;
    top: 100px;
    left: 50%;
    transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.header .header-logo {
    background-size: contain;
    height: 50px;
    margin-top: 5px;
}

#header-bar .icon-label {
    display: block;
    position: absolute;
    top: 18px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 10px;
    font-weight: 500;
    opacity: 0.7;
}

.page-header {
    min-height: 100px;
    border-radius: 0;
}

.header-icon-1 i,
.header-icon-2 i {
    font-size: 16px;
}

.search-page .search-result-list {
    min-height: 70px;
}

.search-result-list {
    display: block;
}

.search-page .search-results p {
    padding-right: 30px;
}

.search-image {
    background-size: cover !important;
    width: 90px;
    height: 70px;
    position: absolute;
    top: 0;
    left: 0;
}

.btn-xxs.btn-icon i {
    line-height: 30px;
}

.header-icon-4 {
    padding-right: 10px;
    padding-top: 4px;
}

#footer-bar a {
    flex-basis: 0 !important;
}

.footer-img {
    max-width: 150px;
    height: auto;
}

.prezzo {
    min-width: 80px;
}

.prezzo-info {
    display: inherit;
    margin-top: -5px;
}

.list-custom-large a i:first-child {
    margin-right: 10px;
}

.list-custom-large a strong {
    max-width: 260px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
}

.alert strong {
    display: block;
    line-height: 1.5;
    margin-top: 10px;
}

.fac-default > span::after {
    color: #dedede;
}

.fac-default > label {
    padding-left: 25px;
}

.fac-default > input[type="checkbox"] + label:before {
    color: #333 !important;
}

.border-bg-orange-dark {
    border: solid 2px #c74834 !important;
}
.border-bg-magenta2-dark {
    border: solid 2px #6A50A7 !important;
}
.border-bg-blue2-dark {
    border: solid 2px #3f76bd !important;
}
.border-bg-brown2-dark {
    border: solid 2px #7B7163 !important;
}
.border-bg-red1-dark {
    border: solid 2px #BF263C !important;
}
.border-bg-pink2-dark {
    border: solid 2px #c44d6b !important;
}
.border-bg-green2-dark {
    border: solid 2px #1C8848 !important;
}
.border-bg-dark2-dark {
    border: solid 2px #323133 !important;
}

.color-bg-orange-dark {
    color: #c74834 !important;
}
.color-bg-magenta2-dark {
    color: #6A50A7 !important;
}
.color-bg-blue2-dark {
    color: #3f76bd !important;
}
.color-bg-brown2-dark {
    color: #7B7163 !important;
}
.color-bg-red1-dark {
    color: #BF263C !important;
}
.color-bg-pink2-dark {
    color: #c44d6b !important;
}
.color-bg-green2-dark {
    color: #1C8848 !important;
}
.color-bg-dark2-dark {
    color: #323133 !important;
}


@media (prefers-color-scheme: dark) {
    .fac-default > input[type="checkbox"] + label:before {
        color: #333 !important;
    }
}

.fac-default > input[type="checkbox"] + label {
    height: 40px;
    line-height: 40px;
}

.fac-default > span:after {
    margin-top: 6.5px;
}

.menu-box-bottom-xl {
    height: 400px;
}

.menu-box-detached .menu-title {
    padding-right: 50px;
}

.menu-box-detached .menu-title p {
    margin-top: 0;
    line-height: 1.5;
}

/* HIERARCHICAL CATEGORY PADDING */
.cat-pl-0{
    padding-left: 0;
}
.cat-pl-1{
    padding-left: 10px;
}
.cat-pl-2{
    padding-left: 20px;
}
.cat-pl-3{
    padding-left: 30px;
}
.cat-pl-4{
    padding-left: 40px;
}
.cat-pl-5{
    padding-left: 50px;
}
.cat-pl-6{
    padding-left: 60px;
}
.cat-pl-7{
    padding-left: 70px;
}
.cat-pl-8{
    padding-left: 80px;
}
.cat-pl-9{
    padding-left: 90px;
}
.cat-pl-10{
    padding-left: 100px;
}

.main-lev{
    font-weight: 900 !important;
}

.pref-tel select {
    position: absolute;
    left: 30px;
    font-size: 15px;
    margin: 0;
    padding: 0;
    width: 50px;
}

.pref-tel input {
    padding-left: 80px !important;
}

input[type=date],
input::-webkit-date-and-time-value {
    text-align: left !important;
}


/* MULTILANGUAGE */

.goog-te-banner-frame,
#google_translate_element,
.skiptranslate,
.goog-tooltip {
    display: none !important;
}

.lang-flag,
.lang-flag-custom,
.lang-flag-list {
    width: 100%;
    height: 100%;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
}

.Italiano,
.lang-flag-it {
    background-image: url("../images/flags/it_IT.svg");
}

.Inglese,
.lang-flag-en,
.lang-flag-us {
    background-image: url("../images/flags/en_US.svg");
}

.lang-flag-gb {
    background-image: url("../images/flags/en_GB.svg");
}

.Spagnolo,
.lang-flag-es {
    background-image: url("../images/flags/es_ES.svg");
}

.Tedesco,
.lang-flag-de {
    background-image: url("../images/flags/de_DE.svg");
}

.Francese,
.lang-flag-fr {
    background-image: url("../images/flags/fr_FR.svg");
}

.lang-flag-ru {
    background-image: url("../images/flags/ru_RU.svg");
}

.lang-flag-cn {
    background-image: url("../images/flags/zh_CN.svg");
}

.lang-flag-tw {
    background-image: url("../images/flags/zh_TW.svg");
}

.lang-flag-jp {
    background-image: url("../images/flags/ja_JP.svg");
}

.lang-flag-sa {
    background-image: url("../images/flags/ar_SA.svg");
}

.lang-flag-pt {
    background-image: url("../images/flags/pt_PT.svg");
}

.lang-flag-br {
    background-image: url("../images/flags/pt_BR.svg");
}


/* OPZIONE DESIGN SMALL */

.header-small {
    border-radius: 0 !important;
}

.voce-small .content {
    cursor: pointer;
}

.voce-small .collapsed .item-small-arrow i:before,
.categoria-small .collapsed .item-small-arrow i:before {
    content: "\f105" !important;
}

.categoria-small .preview-img,
.voce-small .preview-img {
    max-height: 50px;
    border: none;
}

.categoria-small .preview-img div,
.voce-small .preview-img div {
    display: inline-block;
    width: 50px;
    height: 50px;
    background-size: cover !important;
}


.categoria-small .item-small-arrow,
.voce-small .item-small-arrow {
    flex-shrink: 2;
    min-width: 20px;
    text-align: right;
}


/* OPZIONE DESIGN ONEPAGE */

.voce-popup-close {
    color: #000;
    text-align: center;
    display: inline-block;
    font-size: 16px;
    width: 40px;
    height: 40px;
    position: absolute;
    right: 10px;
    background: #fff;
    line-height: 40px;
    border-radius: 100%;
    top: 10px;
    padding: 0 !important;
    -webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.1);
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.1);
}

.voce-popup-close:hover {
    background: #000;
    color: #fff;
}

.voce-small:last-child .voce-content {
    padding-bottom: 10px;
}

.voce-small:last-child .divider {
    display: none;
}

.expand-button {
    width: 100%;
    height: 30px;
    line-height: 30px;
    background: #fff;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%);
    -moz-transform: translate(-50%);
    -webkit-transform: translate(-50%);
    -o-transform: translate(-50%);
    -ms-transform: translate(-50%);
    cursor: pointer;
}

small, .small {
    display: inline-block;
    line-height: 1.5;
}


/* THEME DARK */
.theme-dark #page{
    z-index: 0;
}

.theme-dark .bg-light {
    background-color: inherit !important;
}

.theme-dark .list-custom-small a,
.theme-dark .list-custom-large a {
    color: #6c6c6c !important;
}

.theme-dark #subtotale-ordine,
.theme-dark #totale-ordine {
    background-color: transparent !important;
    border: solid 1px #333;
}

.theme-dark  .bg-fade-yellow1-dark {
    background-color: rgba(246,187,66,0.7) !important;
}


/* ABBINAMENTO */

.hook-abbinamento { /* #chicchinero_#deprecated */
    position: absolute;
    width: 8px;
    height: 40px;
    left: 50%;
    margin-left: -4px;
    margin-top: -40px;
    z-index: -1;
    border: 2px solid #ddd;
}

.voce-abbinamento {
    margin-top: -30px;
    margin-left: 30px;
    margin-right: 30px;
    border-radius: 0px 0px 15px 15px;
    z-index: 0;
}

.voce-onepage  .voce-abbinamento {
    margin: 0 -15px -15px -15px;
}

.voce-onepage.menu-box-bottom.menu-box-detached {
    max-height: calc(100vh - 40px);
    overflow-y: auto;
}

.voce-abbinamento:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 20px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0));
    pointer-events: none;
}

.voce-abbinamento .content {
    min-height: 50px;
}

.prezzo-abbinamento {
    min-width: 60px;
    text-align: right;
}


/* VISUALIZZA CONTO */

.table-conto-head,
.table-conto-ordine,
.table-conto-desc,
.table-conto-totals {
    overflow: hidden;
}

.table-conto-head th {
    width: 50%;
}

.table-conto-head th:first-child {
    text-align: left;
}

.table-conto-head th:last-child {
    text-align: right;
}

.table-conto-ordine td:first-child {
    width: 70%;
    text-align: left;
    padding-top: 5px;
    padding-bottom: 5px;
    line-height: 16px;
}

.table-conto-ordine td:last-child {
    width: 30%;
    text-align: right;
    padding-top: 5px;
    padding-bottom: 5px;
}

.table-conto-totals {
    border-top: solid 3px #000;
}

.table-conto-totals th:first-child {
    width: 65%;
    text-align: left;
    padding-top: 5px;
    padding-bottom: 5px;
}

.table-conto-totals td:last-child {
    width: 35%;
    text-align: right;
    padding-top: 5px;
    padding-bottom: 5px;
}

.table-conto-totals tr:last-child th,
.table-conto-totals tr:last-child td {
    font-size: 18px;
    font-weight: bold;
}


/* CTA BAR ASPORTO / DELIVERY */
#cta-bar {
    position: fixed;
    left: 0;
    right: 0;
    height: 60px;
    bottom: 60px;
    z-index: 15;
    background: #dc3545;
    color: #fff;
    line-height: 60px;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    animation: pulse 2s linear infinite;
}

#cta-bar:hover, #cta-bar:active {
    background: #000;
}


@keyframes pulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
    }
    50% {
        transform: scale(1.05);
        box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.3);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
    }
}