.site.site-public-profile {
  padding-bottom: 100px;
}

.main-content-sidebar {
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  margin-bottom: 56px;
  -webkit-box-align: stretch;
  -moz-box-align: stretch;
  -ms-flex-align: stretch;
}

.main-content-sidebar .sidebar-section {
  width: 300px;
}

.main-content-sidebar .article-section {
  width: calc(100% - 300px);
  padding-left: 30px;
}

.section-article-header {
  margin: 24px 0px;
}

.site-public-profile .section-article-header h1 {
  margin-bottom: 0;
  font-size: 1.4444rem;
  line-height: 1.5rem;
}

.listing {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  width: 100%;
  -webkit-box-align: start;
  -moz-box-align: start;
  -ms-flex-align: start;
}

.listing .thumbnail-listing {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
}

.listing .image-wrapper {
  position: relative;
  display: block;
  height: 0;
  width: 100%;
  padding-bottom: 100%;
}

.listing .image-wrapper img {
  position: absolute;
  top: 0;
  left: 0;
  transform: scale(1);
  height: 100%;
  width: 100%;
}

.listing .image-wrapper:hover img {
  transform: scale(1.04);
}

.listing .city-restaurant {
  margin-bottom: 6px;
  text-transform: uppercase;
  font-size: var(--fontsize-sm);
  font-weight: 500;
  color: var(--text-grey);
}

.listing .title-listing {
  display: block;
  font-size: 1.2223rem;
  font-weight: 700;
}

.listing .title-listing a:hover {
  color: var(--text-green);
}

.listing .lists-restaurant-shown {
  display: flex;
  flex-flow: row wrap;
  flex-flow: row wrap;
  align-items: flex-start;
  margin-top: 10px;
  padding-left: 0;
  list-style: none;
  font-size: var(--fontsize-sm);
  line-height: 1;
  font-weight: 500;
  -webkit-box-align: start;
  -moz-box-align: start;
  -ms-flex-align: start;
}

.listing .lists-restaurant-shown li {
  display: flex;
  align-items: center;
  margin-top: 0;
  width: auto;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
}

.listing .lists-restaurant-shown li+li {
  margin-left: 10px;
}

.listing .lists-restaurant-shown .number-shown:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  border: 1px solid var(--border-black);
  border-radius: 2px;
  height: 100%;
  width: 100%;
}

.listing .lists-restaurant-shown .number-shown {
  position: relative;
  display: inline-block;
  margin-right: 5px;
  font-weight: 700;
}

.listing .lists-restaurant-shown .name-shown {
  display: inline-block;
}

.listing .review-restaurant {
  display: flex;
  align-items: center;
  font-size: var(--fontsize-sm);
  font-weight: 500;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
}

.listing .review-restaurant .number-review {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  margin-right: 6px;
  background-color: var(--bg-green);
  height: 28px;
  width: 28px;
  padding-bottom: 4px;
  color: var(--text-white);
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
}

.listing .info-restaurant {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  margin-top: 10px;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
}

.listing .info-restaurant .cta-menu-restarant {
  padding-left: 20px;
  font-size: var(--fontsize-sm);
  color: var(--text-green);
}

.listing .spacer-dot {
  display: inline-block;
  margin: 0 6px;
}

.listing .type-restaurant {
  margin-top: 10px;
  font-size: var(--fontsize-sm);
  font-weight: 500;
  color: var(--text-grey);
}

.listing .clock-restaurant {
  display: flex;
  align-items: center;
  line-height: 1;
  font-weight: 500;
  color: var(--text-grey);
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
}

.listing .tooltip-clock {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--border-green);
  border-radius: 50%;
  margin-top: 2px;
  margin-left: 8px;
  height: 14px;
  width: 14px;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
}

.listing .tooltip-clock i {
  font-size: 8px;
  color: var(--text-green);
}

.listing .lists-restaurant-shown li+li {
  margin-left: 6px;
}

.listing-list .listing-item {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  border: var(--border);
  border-radius: 6px;
  width: 100%;
  padding: 20px;
  transition: var(--transition);
  -webkit-box-align: start;
  -moz-box-align: start;
  -ms-flex-align: start;
}

.listing-list .listing-item:hover {
  border-color: var(--border-green);
}

.listing-list .listing-item:not(:last-child) {
  margin-bottom: 20px;
}

.listing-list .thumbnail-listing {
  border-radius: 4px;
  width: 160px;
}

.listing-list .content-listing {
  position: relative;
  width: calc(100% - 180px);
  padding-left: 20px;
}

.listing-list .lists-restaurant-shown {
  margin-top: 12px;
}

.listing-list .lists-restaurant-shown .number-shown {
  padding-right: 0;
  padding-left: 0;
}

.listing-list .lists-restaurant-shown .number-shown:before {
  display: none;
}

.listing-list .label-review .rating-review {
  font-weight: 700;
}

.listing-list .info-restaurant .cta-menu-restarant {
  margin-top: 24px;
  padding-left: 26px;
  font-size: var(--fontsize-md);
}

.listing-list .cta-menu-restarant i {
  font-size: var(--fontsize-md);
}

.listing-list .city-restaurant {
  margin-top: 12px;
  text-transform: none;
}

.listing-list .review-detail {
  margin-top: 16px;
  font-weight: 500;
}

.listing-list .review-detail .review-desc {
  margin-bottom: 14px;
}

.listing-list .review-detail p+p {
  margin-top: 0;
}

.listing-list .review-summary .item-summary:not(:last-child) {
  margin-bottom: 6px;
}

.listing-list .review-summary .item-summary {
  position: relative;
  padding-left: 24px;
}

.listing-list .item-summary i {
  position: absolute;
  top: 4px;
  left: 0;
}

.listing-list .pros-summary i {
  color: var(--text-green);
}

.listing-list .cons-summary i {
  color: var(--text-brown);
}

.listing-list.listing-history-restaurant .listing-item {
  border-radius: 0;
  padding: 0 0 26px;
  border-color: var(--transparent);
  border-bottom-color: var(--border-grey-600);
}

.listing-list.listing-history-restaurant .listing-item:not(:last-child) {
  margin-bottom: 30px;
}

.listing-list.listing-history-restaurant .thumbnail-listing {
  width: 74px;
}

.listing-list.listing-history-restaurant .content-listing {
  display: flex;
  flex-flow: row wrap;
  width: calc(100% - 74px);
  padding-left: 12px;
}

.listing-list.listing-history-restaurant .title-listing {
  width: 100%;
  font-size: var(--fontsize-md);
}

.listing-list.listing-history-restaurant .lists-restaurant-shown {
  margin-top: 5px;
  width: auto;
}

.listing-list.listing-history-restaurant .lists-restaurant-shown:after {
  content: '·';
  margin-right: 10px;
  margin-left: 6px;
  font-weight: 700;
}

.listing-list.listing-history-restaurant .lists-restaurant-shown li+li::before {
  content: '·';
  margin-right: 8px;
  height: 4px;
  width: 4px;
  font-size: var(--fontsize-md);
  line-height: 0;
}

.listing-list.listing-history-restaurant .cta-menu-restarant {
  padding-left: 20px;
  font-size: var(--fontsize-sm);
  color: var(--text-green);
}

.listing-list.listing-history-restaurant .cta-menu-restarant i {
  font-size: inherit;
}

.listing-list.listing-history-restaurant .type-restaurant {
  margin-top: 0;
  margin-bottom: 20px;
  width: 100%;
}

.listing-list.listing-history-restaurant .info-restaurant,
.listing-list.listing-history-restaurant .review-detail {
  margin-left: -86px;
}

.listing-list.listing-history-restaurant .info-restaurant,
.listing-list.listing-history-restaurant .review-detail {
  width: calc(100% + 86px);
}

.listing-list.listing-history-restaurant .info-restaurant {
  margin-top: 0;
}

.listing-list.listing-history-restaurant .info-restaurant-profile {
  margin-top: 40px;
}

.listing-list.listing-history-restaurant .review-restaurant .number-review {
  margin-right: 12px;
  height: 34px;
  width: 34px;
  padding-bottom: 6px;
  font-size: var(--fontsize-md2);
}

.listing-list.listing-history-restaurant .review-restaurant .label-review {
  font-size: var(--fontsize);
  font-weight: 500;
  color: var(--text-grey);
}

.listing-list.listing-history-restaurant .label-review .rating-review {
  color: var(--text-black);
}

.listing-list.listing-history-restaurant .label-review strong {
  margin: 0 6px;
}

.listing-list-max .listing-item {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  transition: var(--transition);
}

.listing-list-max .listing-item.listing-item--hide {
  visibility: hidden !important;
  opacity: 0 !important;
  transform: translateY(20%);
  border: none !important;
  margin: 0 !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden;
  padding: 0 !important;
}

.listing-list-max .action-listing-max {
  display: block;
  margin-top: 20px;
  width: 100%;
  text-align: center;
}

.listing-list-max .cta-showlisting {
  font-size: var(--fontsize-md);
  color: var(--text-green);
}

.popup.popup-menu {
  align-items: flex-start;
  padding-top: 60px;
  -webkit-box-align: start;
  -moz-box-align: start;
  -ms-flex-align: start;
}

.pdfviewer-wrapper.menu-restaurant-wrapper .viewport-container {
  height: 74vh;
}

.menu-restaurant-wrapper .viewport-container canvas {
  transform: scale(.8);
}

.sidebar-public-profile .user-card {
  position: sticky;
  top: 70px;
}

.user-card {
  border: 1px solid var(--border-green-200);
  background-color: var(--bg-white);
  width: 100%;
  padding: 32px 40px 44px;
}

.avatar-user {
  position: relative;
  border: 1px solid var(--border-green-400);
  border-radius: 50%;
  margin: 0 auto;
  width: 140px;
  overflow: hidden;
  padding: 4px;
}

.avatar-user .image-wrapper {
  position: relative;
  height: 0;
  width: 100%;
  padding-bottom: 100%;
}

.avatar-user img {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 50%;
  height: 100%;
  width: 100%;
}

.user-card .bio-user {
  margin-top: 16px;
}

.bio-user .identity-user {
  display: flex;
  flex-direction: column;
  align-items: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
}

.identity-user .name-user {
  margin-bottom: 0;
  font-size: 1.2223rem;
}

.lists-info-user {
  margin-top: 24px;
  padding-left: 0;
  list-style: none;
  font-weight: 500;
  color: var(--text-grey);
}

.lists-info-user li {
  position: relative;
  padding-left: 26px;
}

.lists-info-user li i {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  font-size: var(--fontsize-md);
  color: var(--text-green-400);
}

.lists-info-user li+li {
  margin-top: 6px;
}

.share-whatsapp {
  margin: 20px 0 0 0;
  background-color: #25D366;
  font-size: var(--fontsize-sm) !important;
}

@media all and (max-width: 1599px) {
  .popup.popup-menu {
    padding-top: 20px;
  }
}

@media all and (max-width: 1199px) {
  .main-content-sidebar .sidebar-section,
	.main-content-sidebar .article-section {
    width: 100%;
  }

  .main-content-sidebar .article-section {
    padding-left: 0;
  }

  .main-content-sidebar .sidebar-section {
    margin-bottom: 10px;
  }

  .listing {
    margin-right: -20px;
    margin-left: -20px;
    width: calc(100% + 40px);
    padding-right: 20px;
    padding-left: 20px;
  }

  .listing .label-review .label-review--desktop {
    display: none;
  }

  .listing .label-review .label-review--mobile {
    display: block;
  }

  .listing-list .review-restaurant::after {
    content: '·';
    display: block;
    margin: 0 6px;
  }

  .listing-list .lists-restaurant-shown li::before {
    display: none;
  }

  .listing-list .lists-restaurant-shown .number-shown {
    width: 25px;
    padding: 4px;
    text-align: center;
  }

  .listing-list .lists-restaurant-shown .number-shown:before {
    display: inline-block;
  }

  .listing-list.listing-history-restaurant .lists-restaurant-shown {
    width: 100%;
  }

  .listing-list.listing-history-restaurant .lists-restaurant-shown:after,
	.listing-list.listing-history-restaurant .review-restaurant::after {
    display: none;
  }

  .listing-list.listing-history-restaurant .cta-menu-restarant {
    margin: 8px 0 4px;
  }

  .popup-menu .popup-wrapper {
    padding: 36px 6px 6px;
  }
}

@media all and (max-width: 900px) {
  .popup-menu .title-popup {
    font-size: var(--fontsize-md);
    text-align: center;
  }

  .pdfviewer-wrapper.menu-restaurant-wrapper .viewport-container {
    height: 60vh;
  }

  .menu-restaurant-wrapper .viewport-container canvas {
    transform: scale(.9);
  }

  .listing-list.listing-history-restaurant .info-restaurant-profile {
    margin-top: 0;
  }
}

@media all and (max-width: 600px) {
  .site-overview .section-article-header {
    margin-bottom: 24px;
  }

  .user-card {
    padding: 20px 20px 24px;
  }

  .listing-list.listing-history-restaurant .thumbnail-listing {
    width: 60px;
  }

  .listing-list.listing-history-restaurant .content-listing {
    width: calc(100% - 60px);
  }

  .listing-list.listing-history-restaurant .title-listing {
    font-size: var(--fontsize-md);
  }

  .listing-list.listing-history-restaurant .info-restaurant,
    .listing-list.listing-history-restaurant .review-detail {
    margin-left: -72px;
  }

  .listing-list.listing-history-restaurant .info-restaurant,
    .listing-list.listing-history-restaurant .review-detail {
    width: calc(100% + 72px);
  }

  .avatar-user {
    width: 70px;
    height: 70px;
  }

  .user-card-mobile {
    display: flex;
  }

  .user-card .bio-user {
    margin-top: 0;
    margin-left: 10px;
  }

  .user-card .avatar-user {
    margin: 0;
  }

  .bio-user .identity-user {
    align-items: initial;
    -webkit-box-align: initial;
    -moz-box-align: initial;
    -ms-flex-align: initial;
  }

  .bio-user .lists-info-user {
    margin-top: 10px;
  }

  .share-whatsapp {
    width: 100%;
    text-align: center;
  }
}

