.checkout-payment__tab:not(:last-child) {
  margin-right: 50px; }

.checkout-payment__tab {
  color: #a6a6a6;
  font-size: 1.125rem;
  font-weight: 400;
  padding-left: 0;
  padding-right: 0;
  margin-left: 0; }

.checkout-payment__tab--active {
    color: #ea1d2c;
    border-color: currentColor; }

.checkout-payment__panel {
  padding: 30px 0; }

.checkout-payment__panel .info-card {
    max-width: 530px;
    margin-bottom: 20px; }

@media only screen and (min-width: 960px) {
  .checkout-payment__separator {
    margin-top: 20px;
    padding-top: 28px;
    border-top: solid 1px #dcdcdc; } }

.checkout-payment__submit {
  margin-top: 18px; }

.desktop-checkout__header {
  align-items: center;
  display: flex;
  height: 75px;
  justify-items: center; }
  .desktop-checkout__header .btn-icon {
    flex: 1; }
  .desktop-checkout__header .btn-icon .icon-marmita {
      height: 30px;
      width: 100px; }
  .desktop-checkout__header .btn-icon svg > path {
      fill: #ea1d2c; }

.restaurant-cart-checkout {
  display: flex;
  flex-flow: nowrap column;
  position: relative;
  width: 420px;
  background-color: #fff;
  color: #3f3e3e;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid #f7f7f7;
  margin: 0 0 10px;
  align-self: start; }
  .restaurant-cart-checkout--loop .restaurant-cart-item {
    border: 0;
    padding-top: 40px; }
  .restaurant-cart-checkout__warning {
    background-color: #f7f7f7;
    color: #4d4d4d;
    padding: 30px;
    font-weight: 300;
    line-height: 1.4; }
  .restaurant-cart-checkout__line {
    border-top: #dcdcdc solid 1px;
    margin: 0 30px;
    padding: 12px 0 16px; }
  .restaurant-cart-checkout__justify {
    display: flex;
    flex-flow: row nowrap; }
  .restaurant-cart-checkout__justify > * {
      flex-grow: 1; }
  .restaurant-cart-checkout__justify > :last-child {
      min-width: 80px;
      text-align: right; }
  .restaurant-cart-checkout__loading, .restaurant-cart-checkout__empty {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    text-align: center;
    height: 100%; }
  .restaurant-cart-checkout__empty {
    color: #dcdcdc;
    font-size: 1.875rem;
    font-weight: 700; }
  .restaurant-cart-checkout__empty .icon-marmita {
      width: 100%;
      height: 90px;
      margin-bottom: 30px; }
  .restaurant-cart-checkout .restaurant-cart-items-list {
    flex-basis: 100%; }
  .restaurant-cart-checkout .restaurant-cart-item__button {
    font-weight: 400; }
  @media only screen and (min-width: 1248px) {
    .restaurant-cart-checkout .checkout-voucher {
      margin: 0 30px 40px;
      border-bottom: #dcdcdc solid 1px; }
    .restaurant-cart-checkout .restaurant-cart-footer__info.restaurant-cart__line {
      border-top: 0; }
    .restaurant-cart-checkout .restaurant-cart-footer__total {
      margin: 20px 0;
      border-top: #dcdcdc solid 1px;
      padding: 12px 0 16px; } }
  .restaurant-cart-checkout .voucher-dialog {
    padding: 0 10px; }
  .restaurant-cart-checkout .voucher-dialog .voucher-dialog-header {
      padding: 16px; }

.desktop-checkout {
  width: 100%;
  max-width: 1366px !important;
  margin: auto;
  padding: 0 30px; }
  .desktop-checkout::before {
    content: '';
    position: absolute;
    width: 100%;
    box-shadow: inset 0 -1px 0 #dcdcdc;
    height: 1px;
    margin: 75px 0;
    left: 0; }
  @media only screen and (min-width: 1440px) {
    .desktop-checkout .address-checkout {
      width: 60%; } }
  @media only screen and (min-width: 960px) {
    .desktop-checkout .address-checkout {
      width: 70%; } }
  .desktop-checkout__header {
    align-items: center;
    display: flex;
    height: 75px;
    justify-items: center; }
  .desktop-checkout__header .btn-icon {
      flex: 1; }
  .desktop-checkout__header .btn-icon .icon-marmita {
        height: 30px;
        width: 100px; }
  .desktop-checkout__header .btn-icon svg > path {
        fill: #ea1d2c; }
  .desktop-checkout__content {
    align-items: center;
    display: flex;
    justify-content: space-between; }
  @media only screen and (min-width: 960px) {
      .desktop-checkout__content {
        margin: 25px 100px 0; } }
  .desktop-checkout__content h1 {
      color: #3e3e3e;
      font-size: 2.125rem;
      margin: 10px 0 40px; }
  @media only screen and (min-width: 960px) {
        .desktop-checkout__content h1 {
          margin-top: 0px; } }
  .desktop-checkout__content h2 {
      color: #3e3e3e;
      font-size: 1.5rem;
      font-weight: 500;
      letter-spacing: -1px; }
  @media only screen and (min-width: 960px) {
      .desktop-checkout__content > :nth-child(1) {
        width: calc(100% - 440px); } }
  @media only screen and (max-width: 959px) {
      .desktop-checkout__content {
        flex-wrap: wrap; }
        .desktop-checkout__content > * {
          width: 100%;
          margin-bottom: 20px; } }
  @media only screen and (max-width: 767px) {
      .desktop-checkout__content .checkout-voucher {
        display: flex;
        margin: 0 30px; }
        .desktop-checkout__content .checkout-voucher__button {
          width: auto; }
        .desktop-checkout__content .checkout-voucher__icon {
          display: flex; }
          .desktop-checkout__content .checkout-voucher__icon .icon-marmita svg {
            min-width: 24px; }
        .desktop-checkout__content .checkout-voucher__item-title {
          display: none; } }
  .desktop-checkout__payment {
    max-width: 500px;
    margin-bottom: 30px; }
  @media only screen and (min-width: 960px) {
      .desktop-checkout__payment {
        margin-right: 20px; } }
  .desktop-checkout .restaurant-cart__empty {
    max-width: 320px;
    margin: 100px auto 0; }
  .desktop-checkout .restaurant-cart__empty .btn {
      margin-top: 15px; }
  .desktop-checkout__tab {
    color: #a6a6a6;
    font-size: 1.125rem;
    font-weight: 400;
    padding-left: 0;
    padding-right: 0;
    margin-left: 0; }
  .desktop-checkout__tab[disabled] {
      opacity: 1;
      cursor: pointer;
      pointer-events: all; }
  .desktop-checkout__tab--active {
      color: #ea1d2c;
      border-color: currentColor; }
  .desktop-checkout__tab:first-child {
      margin-right: 50px; }

.cities-list li {
  border-top: 1px solid #f5f0eb; }

.cities-list__names {
  padding: 20px; }

.cities-list__names h3 {
    margin: 0 0 4px;
    font-weight: bold;
    font-size: 1.125rem;
    text-transform: uppercase; }

.cities-list__names p {
    margin: 0; }

.cities-list__warning h4 {
  padding: 20px;
  font-weight: 400;
  text-align: center; }

.cities-list__link {
  text-decoration: none;
  display: block;
  color: #000000;
  margin: 0 0 2px;
  text-transform: capitalize;
  cursor: pointer; }

.devices-timeline {
  position: relative;
  z-index: 1;
  height: 100vh; }
  .devices-timeline .nav-header {
    max-width: 580px;
    margin: 0 auto; }
  .devices-timeline iframe {
    width: 100vw;
    height: calc(100% - 80px);
    border: 0; }
  @media only screen and (min-width: 960px) {
    .devices-timeline .nav-header {
      display: none; } }

.restaurants-sortable__sorters {
  display: none;
  justify-content: flex-end;
  width: 100%;
  max-width: 1366px !important;
  margin: auto;
  padding: 0 30px; }
  @media only screen and (min-width: 960px) {
    .restaurants-sortable__sorters {
      display: flex; } }
  .restaurants-sortable--is-loading .restaurants-sortable__list {
  padding-top: 0;
  min-height: 50vh;
  position: relative; }
  .restaurants-sortable--no-restaurants .restaurants-sortable__list {
  padding-top: 100px;
  text-align: center; }

.dish-empty-list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 55px; }
  .dish-empty-list__title {
    font-size: 1rem;
    line-height: 1.125rem;
    margin-top: 30px; }
  .dish-empty-list__description {
    font-size: 0.875rem;
    line-height: 1.875rem;
    font-weight: lighter;
    color: #717171; }

.dish-list__container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  grid-gap: 10px;
  margin: 0 20px; }
  @media only screen and (min-width: 560px) {
    .dish-list__container {
      grid-template-columns: repeat(auto-fill, minmax(235px, 1fr)); } }
  @media only screen and (min-width: 960px) {
    .dish-list__container {
      margin: 0;
      padding-bottom: 20px; } }
  .dish-list--horizontal .dish-list__container {
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  grid-gap: 20px;
  margin: 0; }
  @media only screen and (min-width: 375px) {
    .dish-list--horizontal .dish-list__container {
      grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); } }
  @media only screen and (min-width: 768px) {
  .dish-list {
    position: relative;
    min-height: 90px;
    background: transparent;
    transition: 100ms; }
    .dish-list__container {
      grid-template-columns: repeat(auto-fill, minmax(252px, 1fr));
      grid-gap: 20px; } }
  @media only screen and (min-width: 768px) and (min-width: 960px) {
      .dish-list__container {
        grid-template-columns: repeat(auto-fill, minmax(275px, 1fr));
        grid-gap: 30px; } }
  @media only screen and (min-width: 768px) {
    .dish-list--horizontal .dish-list__container {
      grid-template-columns: repeat(auto-fill, minmax(420px, 1fr));
      grid-gap: 20px;
      margin: 0; } }

.dishes-sortable__sorters {
  display: none;
  justify-content: flex-end;
  width: 100%;
  max-width: 1366px !important;
  margin: auto;
  padding: 0 30px; }
  @media only screen and (min-width: 960px) {
    .dishes-sortable__sorters {
      display: flex; } }
  .dishes-sortable--is-loading .dishes-sortable__list {
  padding-top: 0;
  min-height: 50vh;
  position: relative; }
  .dishes-sortable--no-dishes .dishes-sortable__list {
  padding-top: 100px;
  text-align: center; }

.delivery-sortable-seo-text {
  line-height: 1.625rem;
  max-width: 1366px;
  margin: 0 auto;
  padding: 0 20px; }
  @media only screen and (min-width: 960px) {
    .delivery-sortable-seo-text {
      padding: 0 30px; } }
  .delivery-sortable-seo-text__title {
    font-size: 1.25rem;
    font-weight: 500; }
  @media only screen and (min-width: 960px) {
      .delivery-sortable-seo-text__title {
        font-size: 1.375rem; } }
  .delivery-sortable-seo-text__description {
    color: #717171;
    font-size: 1rem;
    text-align: justify;
    margin: 16px 0 0 0; }
  .delivery-sortable-seo-text__city {
    color: #ea1d2c;
    font-weight: 500; }

.discovery-sortable-list__container {
  padding-bottom: 40px;
  padding-top: 20px; }

.discovery-sortable-list__title {
  color: #a6a6a6;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 20px; }

.discovery-sortable-list__subtitle {
  color: #a6a6a6;
  font-size: 1.5rem;
  margin-bottom: 20px; }

.discovery-sortable-list__empty-state {
  margin: auto;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  padding: 20px;
  text-align: center; }

@media only screen and (min-width: 960px) {
  .discovery-sortable-list .desktop-filters {
    margin-top: 30px; } }

.discovery-header {
  width: 100%;
  max-width: 1366px !important;
  margin: auto;
  padding: 0 30px;
  padding: 20px 30px 0px; }

@media only screen and (max-width: 959px) {
    .discovery-header {
      display: none; } }

.discovery-header h1 {
    color: #3e3e3e;
    font-size: 1.5625rem;
    margin-bottom: 0; }

.discovery-header article {
    color: #717171;
    font-size: 1rem;
    font-weight: 300;
    margin-top: 5px; }

.discovery-banner {
  align-items: center;
  display: flex;
  justify-content: center; }

.discovery-banner img {
    margin: 30px 0 0 0;
    max-width: 1300px;
    border-radius: 4px; }

.discovery-banner--is-highlight {
    height: 200px;
    justify-content: center;
    margin: 30px 0 0 0; }

.discovery-banner--is-highlight img {
      margin: 0;
      height: 200px; }

.discovery-sortable-list {
  min-height: calc(100vh - 80px);
  position: relative; }
  .discovery-sortable-list .restaurants-list__container {
    padding: 0 20px; }
  @media only screen and (min-width: 960px) {
      .discovery-sortable-list .restaurants-list__container {
        width: 100%;
        max-width: 1366px !important;
        margin: auto;
        padding: 0 30px; } }
  @media only screen and (min-width: 960px) {
    .discovery-sortable-list .dish-list {
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px;
      padding-top: 20px; } }
  @media only screen and (min-width: 960px) {
  .restaurants-sortable .sortable-list,
  .dishes-sortable .sortable-list {
    flex-direction: row-reverse; }
    .restaurants-sortable .sortable-list__open-button,
    .dishes-sortable .sortable-list__open-button {
      padding: 0;
      width: auto; } }

.restaurant-delivers-at-dialog {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  padding: 0 20px; }
  .restaurant-delivers-at-dialog-overlay {
    z-index: 10002; }
  .restaurant-delivers-at-dialog__title {
    font-size: 1.125rem;
    font-weight: 500;
    text-align: center; }
  .restaurant-delivers-at-dialog__message {
    display: flex;
    flex-direction: column;
    font-size: 0.875rem;
    font-weight: lighter;
    line-height: 18px;
    padding: 20px 40px;
    text-align: center; }

.main-layout {
  height: 100%; }

.group {
  padding: 58px 0 138px;
  background-image: linear-gradient(90deg, white 0%, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0) 90%, white 100%), linear-gradient(0deg, white 0%, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0) 90%, white 100%), url("https://static-images.ifood.com.br/image/upload/webapp/group/group-bg.jpg?v=8.43.0");
  background-repeat: no-repeat;
  background-position: center;
  background-position-y: top; }

.group .group-container {
    width: 480px;
    min-height: 492px;
    max-width: 100vw;
    margin: auto; }

.group .group-container__logo {
      position: relative;
      background: white;
      height: 110px;
      width: 110px;
      border-radius: 50%;
      border: 1px solid #f2f2f2;
      margin: auto;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center; }

@media only screen and (min-width: 768px) {
        .group .group-container__logo {
          height: 145px;
          width: 145px; } }

.group .group-container__logo h1 {
        font-size: 1rem;
        font-weight: normal; }

.group .group-container__logo img {
        border-radius: 100%; }

.group .group-container__form {
      display: flex;
      box-shadow: 4px 4px 44px rgba(0, 0, 0, 0.1);
      border-radius: 9px;
      margin-top: -55px;
      padding: 85px 20px 40px;
      background: white;
      top: 72px;
      flex-direction: column; }

@media only screen and (min-width: 768px) {
        .group .group-container__form {
          margin-top: -55px;
          padding: 85px 40px 40px; } }

.group .group-container__form--is-loading {
        min-height: 420px; }

.group .group-container__form-wrapper {
        width: 100%; }

.group .group-container__form-wrapper--is-loading {
          display: none; }

.group .group-container__form .address-search {
        margin-top: 30px;
        height: auto;
        padding: 0;
        overflow: hidden;
        width: 100%; }

.group .group-container__form .address-search .address-search-zip__title,
        .group .group-container__form .address-search .address-search-street__title {
          display: none; }

.group .group-container__title {
      font-size: 1.5rem;
      font-weight: 300;
      margin: 0 0 30px 0;
      color: #3e3e3e; }

.group .address-search-input__icon {
    pointer-events: none; }

.group .address-search-list {
    margin-top: 30px; }

.group .group-address-no-results {
    display: grid;
    margin-bottom: auto;
    grid-row-gap: 5px;
    text-align: center;
    padding-top: 40px; }

.group .group-address-no-results__description {
      color: #a6a5a5;
      font-size: 0.875rem;
      line-height: 20px;
      font-weight: 300; }

.help {
  border: none;
  width: 100vw;
  height: calc(100vh - 50px); }
  @media (min-width: 768px) {
    .help {
      height: calc(100vh - 84px); } }

.download-app-modal {
  padding: 20px 50px;
  max-width: 480px;
  text-align: center; }
  .download-app-modal__title {
    color: #3e3e3e;
    font-size: 1.375rem;
    font-weight: 500; }
  .download-app-modal__description {
    color: #a6a5a5;
    font-size: 1.125rem;
    font-weight: 400;
    margin: 20px 0px 40px; }
  .download-app-modal__button-download {
    width: 100%;
    margin-bottom: 10px; }
  .download-app-modal__button-ok {
    width: 100%; }
  @media only screen and (min-width: 960px) {
    .download-app-modal {
      border-radius: 4px; } }
  @media only screen and (max-width: 767px) {
    .download-app-modal {
      padding: 20px;
      width: 100%; }
      .download-app-modal__title {
        color: #3e3e3e;
        font-size: 1.125rem;
        font-weight: 500; }
      .download-app-modal__description {
        color: #a6a5a5;
        font-size: 1rem;
        font-weight: 400;
        margin: 20px 0px; } }

@media only screen and (min-width: 768px) {
  .dishes-carousel {
    width: 100%;
    max-width: 1366px !important;
    margin: auto;
    padding: 0 30px;
    margin-bottom: 64px; } }

.dishes-carousel__container {
  display: grid;
  grid-gap: 10px;
  min-height: 255px;
  height: auto;
  padding: 20px 0 0; }

@media only screen and (min-width: 960px) {
    .dishes-carousel__container {
      margin: 0;
      padding-bottom: 20px; } }

.dishes-carousel__header {
  display: grid;
  grid-template: 1fr / 1fr 60px;
  align-items: center;
  width: 100%;
  justify-content: center;
  padding: 20px 20px 10px; }

@media only screen and (min-width: 768px) {
    .dishes-carousel__header {
      padding: 20px 0 0 0; } }

.dishes-carousel__title {
  color: #3f3e3e;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25rem;
  width: calc(100% - 60px);
  margin: 0; }

@media only screen and (min-width: 768px) {
    .dishes-carousel__title {
      padding: 0 0 16px;
      font-size: 1.25rem;
      line-height: 1.5625rem; } }

.dishes-carousel__see-more {
  width: 60px;
  text-align: right;
  display: block;
  font-size: 0.875rem;
  line-height: 0.9375rem;
  color: #ea1d2c;
  text-decoration: unset;
  cursor: default; }

@media only screen and (min-width: 960px) {
    .dishes-carousel__see-more {
      cursor: pointer; } }

.dishes-carousel__see-more:hover {
    color: #b42b2b; }

.dishes-carousel__description {
  color: #a6a5a5;
  font-size: 0.875rem;
  line-height: 1.125rem;
  display: block;
  font-weight: 300;
  padding: 0 20px 0; }

@media only screen and (min-width: 768px) {
    .dishes-carousel__description {
      font-size: 1.125rem;
      line-height: 1rem;
      padding: 0 0 16px;
      padding-bottom: 40px; } }

.dishes-carousel .dish-card {
  grid-template: 'image' 110px 'info' 1fr;
  width: 100%;
  height: 100%;
  grid-gap: 16px;
  padding: 0 0 20px; }

.dishes-carousel .dish-card__info--top {
    height: 50px; }

@media only screen and (min-width: 768px) {
    .dishes-carousel .dish-card {
      grid-gap: 24px;
      min-width: 175px;
      min-height: 190px;
      grid-template: 'image' 126px 'info' 1fr; }
      .dishes-carousel .dish-card__image {
        height: 126px; } }

.dishes-carousel .dish-card__description {
    font-size: 1rem; }

.dishes-carousel .dish-card__details {
    display: none; }

.dishes-carousel .carousel__controller--left {
  -webkit-transform: translateY(-60px) rotateZ(90deg);
          transform: translateY(-60px) rotateZ(90deg); }

@media only screen and (min-width: 768px) {
    .dishes-carousel .carousel__controller--left {
      -webkit-transform: translateY(-90px) rotateZ(90deg);
              transform: translateY(-90px) rotateZ(90deg); } }

@media only screen and (min-width: 960px) {
    .dishes-carousel .carousel__controller--left {
      left: -25px; } }

.dishes-carousel .carousel__controller--right {
  -webkit-transform: translateY(-60px) rotateZ(-90deg);
          transform: translateY(-60px) rotateZ(-90deg); }

@media only screen and (min-width: 768px) {
    .dishes-carousel .carousel__controller--right {
      -webkit-transform: translateY(-90px) rotateZ(-90deg);
              transform: translateY(-90px) rotateZ(-90deg); } }

@media only screen and (min-width: 960px) {
    .dishes-carousel .carousel__controller--right {
      right: -25px; } }

.dishes-carousel .marmita-scrollbox__container > * {
  margin-right: 10px; }

.discovery-tube {
  position: relative;
  padding: 20px; }
  @media only screen and (min-width: 768px) {
    .discovery-tube {
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px;
      margin-bottom: 64px; } }
  .discovery-tube__content {
    position: absolute;
    width: 100%;
    height: 100%;
    display: grid;
    align-items: center;
    justify-content: center; }
  .discovery-tube__content-title {
      font-size: 1.125rem;
      line-height: 1.375rem;
      text-align: center;
      color: #ffffff;
      max-width: 90%;
      margin: 0 auto; }
  @media only screen and (min-width: 960px) {
        .discovery-tube__content-title {
          font-size: 2.5rem;
          line-height: 3.25rem; } }
  .discovery-tube__figure {
    margin: 0; }
  .discovery-tube__figure img {
      margin: 0 auto;
      display: block;
      width: 100%; }

@media only screen and (min-width: 768px) {
  .merchants-carousel {
    width: 100%;
    max-width: 1366px !important;
    margin: auto;
    padding: 0 30px;
    margin-bottom: 64px; } }

.merchants-carousel .carousel__controller--left {
  left: -18px;
  top: 40px; }

.merchants-carousel .carousel__controller--right {
  right: -18px;
  top: 40px; }

.merchants-carousel .marmita-scrollbox {
  height: auto; }

.merchants-carousel .marmita-scrollbox__wrapper {
    padding: 10px 0 16px; }

.merchants-carousel__restaurant-card {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }

@media only screen and (min-width: 768px) {
    .merchants-carousel__restaurant-card {
      grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); } }

.merchants-carousel__header {
  display: grid;
  grid-template: 1fr / 1fr 60px;
  align-items: center;
  width: 100%;
  justify-content: center;
  padding: 20px 20px 10px; }

@media only screen and (min-width: 768px) {
    .merchants-carousel__header {
      padding: 20px 0 0 0; } }

.merchants-carousel__title {
  color: #3f3e3e;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25rem;
  width: calc(100% - 60px);
  margin: 0; }

@media only screen and (min-width: 768px) {
    .merchants-carousel__title {
      padding: 0 0 16px;
      font-size: 1.25rem;
      line-height: 1.5625rem; } }

.merchants-carousel__see-more {
  width: 60px;
  text-align: right;
  display: block;
  font-size: 0.875rem;
  line-height: 0.9375rem;
  color: #ea1d2c;
  text-decoration: unset;
  cursor: default; }

@media only screen and (min-width: 960px) {
    .merchants-carousel__see-more {
      cursor: pointer; } }

.merchants-carousel__see-more:hover {
    color: #b42b2b; }

.merchants-carousel__description {
  color: #a6a5a5;
  font-size: 0.875rem;
  line-height: 1.125rem;
  display: block;
  font-weight: 300;
  padding: 0 20px 0; }

@media only screen and (min-width: 768px) {
    .merchants-carousel__description {
      font-size: 1.125rem;
      line-height: 1rem;
      padding: 0 0 16px;
      padding-bottom: 40px; } }

@media only screen and (min-width: 960px) {
  .discoveries-container {
    margin-bottom: 64px; } }

.home-page {
  margin-top: 80px; }
  @media only screen and (min-width: 960px) {
    .home-page {
      margin: 0; } }
  .home-page .filters-uppercase {
    padding: 20px 0 0; }
  .home-page .cuisines-list__container {
    height: 0;
    max-height: 183px; }
  @media only screen and (max-width: 559px) {
      .home-page .cuisines-list__container {
        height: auto;
        max-height: 148px;
        min-height: 112px; }
        .home-page .cuisines-list__container .marmita-scrollbox__wrapper {
          border-bottom: 0; } }
  @media only screen and (min-width: 768px) {
      .home-page .cuisines-list__container {
        margin-top: 30px; } }
  .home-page .restaurants-list__container {
    padding: 0 20px; }
  @media only screen and (min-width: 960px) {
      .home-page .restaurants-list__container {
        width: 100%;
        max-width: 1366px !important;
        margin: auto;
        padding: 0 30px; } }
  .home-page .discoveries-placeholder {
    padding: 20px 20px 0; }
  .home-page .discoveries-placeholder .ph-highlights-carousel-item {
      display: none; }
  @media only screen and (min-width: 768px) {
        .home-page .discoveries-placeholder .ph-highlights-carousel-item {
          display: block; } }
  .home-page .discoveries-placeholder .ph-highlights-carousel-item:first-child {
        display: block; }
  @media only screen and (min-width: 768px) {
      .home-page .discoveries-placeholder {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 20px;
        width: 100%;
        max-width: 1366px !important;
        margin: auto;
        padding: 0 30px;
        padding-top: 64px;
        padding-bottom: 64px; } }

.jobs-foodtech-top {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-top: 86px;
  margin-bottom: 36px; }
  @media only screen and (min-width: 960px) {
    .jobs-foodtech-top {
      margin-bottom: 66px; } }
  .jobs-foodtech-top__image {
    background-image: linear-gradient(0deg, rgba(62, 62, 62, 0.7), rgba(62, 62, 62, 0.7)), url("https://static-images.ifood.com.br/image/upload/q_auto:best/webapp/jobs/jobs-image-foodtech.jpg?v=8.43.0");
    background-size: cover;
    background-position: top;
    height: 250px;
    width: 100%; }
  @media only screen and (min-width: 960px) {
      .jobs-foodtech-top__image {
        height: 480px; } }
  @media only screen and (min-width: 1248px) and (max-width: 1818px) {
      .jobs-foodtech-top__image {
        height: 480px;
        background-position: 0 -120px; } }
  .jobs-foodtech-top__card {
    position: absolute; }
  @media only screen and (min-width: 960px) {
      .jobs-foodtech-top__card {
        top: 50%; } }
  .jobs-foodtech-top__label {
    color: #ffffff;
    font-weight: 500;
    font-size: 2rem;
    line-height: 2rem;
    padding: 0 0 10px;
    display: block; }
  @media only screen and (min-width: 960px) {
      .jobs-foodtech-top__label {
        padding: 0 0 20px;
        font-size: 2.5rem;
        line-height: 2.5rem; } }
  .jobs-foodtech-top__text {
    color: #ffffff;
    font-size: 1.125rem;
    line-height: 1.5rem;
    font-weight: 300;
    display: block;
    max-width: 210px; }
  @media only screen and (min-width: 960px) {
      .jobs-foodtech-top__text {
        font-size: 1.5rem;
        line-height: 1.5rem;
        max-width: 100%; } }
  .jobs-foodtech-box {
  position: relative;
  border-radius: 8px;
  margin: 0 auto;
  background-color: white;
  padding: 0 20px;
  margin-bottom: 40px; }
  @media only screen and (min-width: 1248px) {
    .jobs-foodtech-box {
      max-width: 740px;
      margin-bottom: 100px; } }
  .jobs-foodtech-box__title {
    color: #414143;
    font-weight: 300;
    font-size: 1rem;
    line-height: 1.5rem;
    margin-bottom: 10px; }
  @media only screen and (min-width: 960px) {
      .jobs-foodtech-box__title {
        font-size: 1.25rem;
        line-height: 1.5rem; } }
  .jobs-foodtech-box__label {
    color: #414143;
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.875rem;
    margin-bottom: 20px; }
  @media only screen and (min-width: 960px) {
      .jobs-foodtech-box__label {
        font-size: 2.25rem;
        line-height: 2.625rem; } }
  .jobs-foodtech-box__text {
    color: #3e3e3e;
    font-weight: 300;
    font-size: 1rem;
    line-height: 1.375rem; }
  @media only screen and (min-width: 768px) {
      .jobs-foodtech-box__text {
        font-size: 1.125rem;
        line-height: 1.5rem; } }
  .jobs-foodtech-grey-box {
  background-color: #f7f7f7;
  margin-bottom: 20px; }
  @media only screen and (min-width: 960px) {
    .jobs-foodtech-grey-box {
      margin-bottom: 110px; } }
  .jobs-foodtech-columns {
  display: grid;
  grid-template-columns: 40% auto;
  grid-column-gap: 30px;
  padding: 20px; }
  @media only screen and (min-width: 960px) {
    .jobs-foodtech-columns {
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px;
      padding-top: 46px;
      padding-bottom: 46px; } }
  .jobs-foodtech-columns__left-column {
    align-self: end; }
  .jobs-foodtech-columns__left-column img {
      width: 100%; }
  .jobs-foodtech-columns__right-column img {
    width: 100%;
    margin-bottom: 6vh; }
  @media only screen and (min-width: 960px) {
      .jobs-foodtech-columns__right-column img {
        margin-bottom: 15vh; } }
  .jobs-foodtech-techs {
  padding: 0 20px;
  margin-bottom: 50px; }
  @media only screen and (min-width: 960px) {
    .jobs-foodtech-techs {
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px; } }
  .jobs-foodtech-techs__columns {
    display: block;
    align-items: center;
    margin-bottom: 50px; }
  @media only screen and (min-width: 960px) {
      .jobs-foodtech-techs__columns {
        display: flex; } }
  .jobs-foodtech-techs__columns--inverted {
      flex-direction: row-reverse; }
  .jobs-foodtech-techs__left-column {
    display: flex;
    width: 100%; }
  @media only screen and (min-width: 960px) {
      .jobs-foodtech-techs__left-column {
        width: 50%; } }
  .jobs-foodtech-techs__left-column img {
      width: 100%; }
  .jobs-foodtech-techs__right-column {
    width: 100%;
    max-width: 640px;
    margin: 0 auto; }
  @media only screen and (min-width: 960px) {
      .jobs-foodtech-techs__right-column {
        width: 50%; } }
  .jobs-foodtech-techs__card {
    margin: 0 auto;
    display: block; }
  @media only screen and (min-width: 960px) {
      .jobs-foodtech-techs__card {
        max-width: 460px;
        display: grid;
        align-content: flex-end;
        margin-left: 50px; } }
  .jobs-foodtech-techs__image {
    display: block;
    margin: 0 auto 44px; }
  @media only screen and (min-width: 1248px) {
      .jobs-foodtech-techs__image {
        margin-bottom: 0; } }
  .jobs-foodtech-techs__label {
    color: #414143;
    font-weight: 500;
    font-size: 1.375rem;
    line-height: 1.75rem;
    margin-bottom: 20px; }
  @media only screen and (min-width: 1248px) {
      .jobs-foodtech-techs__label {
        font-size: 2.25rem;
        line-height: 2.625rem;
        margin-bottom: 40px; } }
  @media only screen and (min-width: 768px) and (max-width: 1248px) {
      .jobs-foodtech-techs__label {
        font-size: 1.875rem;
        line-height: 1.875rem;
        margin-bottom: 20px; } }
  .jobs-foodtech-techs__text {
    color: #3e3e3e;
    font-weight: 300;
    font-size: 1rem;
    line-height: 1.375rem; }
  @media only screen and (min-width: 768px) {
      .jobs-foodtech-techs__text {
        font-size: 1.125rem;
        line-height: 1.5rem; } }
  .jobs-foodtech-button {
  margin-bottom: 70px; }
  .jobs-foodtech-button__content {
    padding: 0 20px;
    justify-content: center;
    display: flex;
    width: 100%; }
  .jobs-foodtech-button__content a {
      font-size: 1rem;
      line-height: 1.3125rem;
      width: 100%; }
  @media only screen and (min-width: 768px) {
        .jobs-foodtech-button__content a {
          width: 379px; } }
  @media only screen and (min-width: 960px) {
      .jobs-foodtech-button__content {
        width: 100%;
        max-width: 1366px !important;
        margin: auto;
        padding: 0 30px;
        margin-top: 72px;
        margin-bottom: 48px; } }

.jobs-home-top {
  margin-top: 86px; }
  .jobs-home-top__image {
    display: block;
    background-image: url("https://static-images.ifood.com.br/image/upload/q_auto:best/webapp/jobs/jobs-image-home.jpg?v=8.43.0");
    width: 100%;
    height: 250px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat; }
  @media only screen and (min-width: 960px) {
      .jobs-home-top__image {
        display: flex;
        justify-content: flex-end;
        margin-bottom: 64px;
        height: 585px; } }
  .jobs-home-top__box {
    padding: 0 20px;
    background-color: #ffffff;
    margin: 30px 0; }
  @media only screen and (min-width: 960px) {
      .jobs-home-top__box {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        position: absolute;
        width: 438px;
        left: 13vw;
        top: 32vh;
        box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.05), 0px 4px 16px rgba(0, 0, 0, 0.08);
        border-radius: 8px;
        margin: 0; } }
  @media only screen and (min-width: 1248px) {
      .jobs-home-top__box {
        left: 24vw; } }
  .jobs-home-top__content {
    padding: 0; }
  @media only screen and (min-width: 960px) {
      .jobs-home-top__content {
        text-align: left;
        padding: 56px 0 56px 64px; } }
  .jobs-home-top__text {
    color: #414143;
    font-weight: 500;
    font-size: 2rem;
    line-height: 2.375rem;
    margin-bottom: 24px;
    width: 260px; }
  @media only screen and (min-width: 960px) {
      .jobs-home-top__text {
        width: 85%;
        font-size: 2.5rem;
        line-height: 2.5rem; } }
  .jobs-home-top__button {
    width: 218px;
    height: 49px; }
  @media only screen and (min-width: 960px) {
      .jobs-home-top__button {
        width: 228px; } }
  .jobs-home-top__button a {
      font-size: 1rem;
      line-height: 1.3125rem; }
  .jobs-home-purpose {
  text-align: left;
  width: 100%;
  margin: 40px 0 0;
  border-top: 1px solid #f2f2f2;
  padding: 40px 20px 0; }
  @media only screen and (min-width: 960px) {
    .jobs-home-purpose {
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px;
      margin-bottom: 32px;
      width: 735px;
      text-align: center;
      border-top: 0; } }
  .jobs-home-purpose__title {
    color: #414143;
    font-weight: 300;
    font-size: 1rem;
    line-height: 1.5rem;
    margin-bottom: 0.625rem; }
  @media only screen and (min-width: 960px) {
      .jobs-home-purpose__title {
        font-size: 1.25rem;
        line-height: 1.5rem; } }
  .jobs-home-purpose__label {
    color: #414143;
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.9375rem; }
  @media only screen and (min-width: 960px) {
      .jobs-home-purpose__label {
        font-size: 2.25rem;
        line-height: 2.625rem; } }
  .jobs-home-challenge {
  padding: 0 20px;
  margin-bottom: 64px; }
  @media only screen and (min-width: 960px) {
    .jobs-home-challenge {
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px; } }
  .jobs-home-challenge .marmita-scrollbox {
    min-height: 230px; }
  .jobs-home-challenge .marmita-scrollbox__container {
    display: grid;
    grid-template-columns: repeat(6, minmax(272px, 1fr)); }
  .jobs-home-challenge__carousel {
    display: flex;
    padding: 0 0 20px; }
  .jobs-home-challenge .carousel__controller--left {
    margin: 3px 30px 3px 0; }
  .jobs-home-challenge .carousel__controller--right {
    margin: 3px 0 3px 0; }
  .jobs-home-challenge__card {
    margin-bottom: 44px;
    padding: 40px 0 0; }
  @media only screen and (min-width: 768px) {
      .jobs-home-challenge__card {
        padding: 0; } }
  .jobs-home-challenge__title {
    color: #414143;
    font-weight: 300;
    font-size: 1rem;
    line-height: 1.5rem;
    margin-bottom: 0.5rem;
    display: block; }
  @media only screen and (min-width: 960px) {
      .jobs-home-challenge__title {
        font-size: 1.25rem;
        line-height: 1.5rem; } }
  .jobs-home-challenge__label {
    color: #414143;
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 1.625rem;
    margin-bottom: 1.5rem;
    display: block; }
  @media only screen and (min-width: 960px) {
      .jobs-home-challenge__label {
        font-size: 2.0625rem;
        line-height: 2.625rem; } }
  .jobs-home-challenge__text {
    color: #3e3e3e;
    font-weight: 300;
    font-size: 1rem;
    line-height: 1.5rem; }
  @media only screen and (min-width: 960px) {
      .jobs-home-challenge__text {
        font-size: 1.125rem;
        line-height: 1.875rem; } }
  .jobs-home-challenge__carousel-card {
    min-height: 240px;
    padding: 20px 16px; }
  .jobs-home-challenge__carousel-card--shadow {
      border-radius: 4px;
      box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.05), 0px 4px 16px rgba(0, 0, 0, 0.06); }
  @media only screen and (min-width: 768px) {
      .jobs-home-challenge__carousel-card {
        width: calc(100% - 44%);
        display: flex;
        align-items: center; } }
  @media only screen and (min-width: 960px) {
      .jobs-home-challenge__carousel-card {
        min-height: 330px;
        padding: 0;
        max-width: 640px; } }
  @media only screen and (min-width: 960px) {
    .jobs-home-challenge__carousel-title {
      font-size: 1.25rem;
      line-height: 1.5rem; } }
  .jobs-home-challenge__carousel-label {
    color: #414143;
    font-weight: 500;
    font-size: 1.375rem;
    line-height: 1.625rem;
    margin-bottom: 0.75rem;
    display: block; }
  @media only screen and (min-width: 960px) {
      .jobs-home-challenge__carousel-label {
        margin-bottom: 2rem;
        font-size: 2rem;
        line-height: 2.625rem;
        max-width: 460px; } }
  .jobs-home-challenge__carousel-text {
    max-width: 87%;
    color: #3e3e3e;
    font-weight: 300;
    font-size: 0.75rem;
    line-height: 1rem;
    display: block; }
  @media only screen and (min-width: 960px) {
      .jobs-home-challenge__carousel-text {
        font-size: 1.125rem;
        line-height: 1.875rem; } }
  .jobs-home-challenge__columns {
    margin-bottom: 40px; }
  @media only screen and (min-width: 768px) {
      .jobs-home-challenge__columns {
        display: flex;
        justify-content: space-between; } }
  .jobs-home-challenge__left-column {
    width: 100%; }
  .jobs-home-challenge__left-column .carousel__wrapper {
      overflow: initial; }
  @media only screen and (min-width: 768px) {
        .jobs-home-challenge__left-column .carousel__wrapper {
          overflow: hidden; } }
  .jobs-home-challenge__right-column {
    display: none; }
  @media only screen and (min-width: 768px) {
      .jobs-home-challenge__right-column {
        display: flex;
        align-items: center;
        width: 44%;
        padding-left: 20px;
        position: relative; } }
  .jobs-home-challenge__circles img {
    width: 100%; }
  .jobs-home-video {
  padding: 0 20px;
  margin-bottom: 32px; }
  @media only screen and (min-width: 960px) {
    .jobs-home-video {
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px;
      margin-bottom: 64px; } }
  .jobs-home-video__content {
    height: 250px;
    width: 100%; }
  .jobs-home-video__content iframe {
      width: 100%;
      height: 100%; }
  @media only screen and (min-width: 768px) {
      .jobs-home-video__content {
        height: 380px;
        margin-bottom: 2.75rem; } }
  @media only screen and (min-width: 960px) {
      .jobs-home-video__content {
        height: 500px;
        margin-bottom: 2.75rem; } }
  .jobs-home-benefits {
  width: 100%;
  padding: 0 20px;
  margin-bottom: 32px; }
  @media only screen and (min-width: 960px) {
    .jobs-home-benefits {
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px;
      width: 727px;
      margin-bottom: 64px; } }
  .jobs-home-benefits__card {
    padding: 0 4px;
    margin-bottom: 60px; }
  .jobs-home-benefits__title {
    color: #414143;
    font-weight: 300;
    font-size: 1rem;
    line-height: 1.5rem;
    margin-bottom: 1.5rem;
    display: block; }
  @media only screen and (min-width: 960px) {
      .jobs-home-benefits__title {
        font-size: 1.25rem;
        line-height: 1.5rem;
        margin-bottom: 2rem; } }
  .jobs-home-benefits__label {
    color: #414143;
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.9375rem;
    margin-bottom: 1.75rem;
    display: block; }
  @media only screen and (min-width: 960px) {
      .jobs-home-benefits__label {
        font-size: 2.25rem;
        line-height: 2.625rem; } }
  .jobs-home-benefits__text {
    color: #3e3e3e;
    font-weight: 300;
    font-size: 1rem;
    line-height: 1.5rem;
    display: block; }
  @media only screen and (min-width: 960px) {
      .jobs-home-benefits__text {
        font-size: 1.125rem;
        line-height: 1.5rem; } }
  .jobs-home-benefits-list {
  flex-wrap: wrap; }
  .jobs-home-benefits-list__wrapper {
    padding: 0 20px; }
  .jobs-home-benefits-list__scrollbox .marmita-scrollbox {
    height: 300px;
    margin-bottom: 48px; }
  .jobs-home-benefits-list__scrollbox .marmita-scrollbox__container > * {
    margin-left: 20px; }
  .jobs-home-benefits-list__scrollbox .marmita-scrollbox__container > *:first-child {
    margin-right: 0;
    margin-left: 0; }
  @media only screen and (min-width: 768px) {
    .jobs-home-benefits-list .marmita-scrollbox__container {
      display: grid;
      grid-template-columns: repeat(6, minmax(268px, 1fr)); } }
  .jobs-home-benefits-list__card-scrollbox {
    text-align: center;
    align-items: center;
    padding: 10px 16px;
    min-height: 260px;
    border-radius: 4px;
    box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.05), 0px 4px 16px rgba(0, 0, 0, 0.06);
    margin: 10px 4px 0;
    min-width: 262px; }
  @media only screen and (min-width: 1248px) {
      .jobs-home-benefits-list__card-scrollbox {
        min-width: auto; } }
  @media only screen and (min-width: 560px) {
    .jobs-home-benefits-list {
      margin-bottom: 52px; } }
  @media only screen and (min-width: 960px) {
    .jobs-home-benefits-list {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      -webkit-column-gap: 30px;
              column-gap: 30px;
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px;
      width: 895px;
      margin-bottom: 24px; } }
  .jobs-home-benefits-list__icon {
    display: flex;
    justify-content: center;
    align-items: center; }
  .jobs-home-benefits-list__icon > svg {
      height: 90px; }
  @media only screen and (min-width: 960px) {
        .jobs-home-benefits-list__icon > svg {
          height: 120px; } }
  .jobs-home-benefits-list__card {
    text-align: center;
    align-items: center;
    border-radius: 4px;
    box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.05), 0px 4px 16px rgba(0, 0, 0, 0.06);
    padding: 10px;
    min-height: 290px;
    margin-bottom: 48px; }
  .jobs-home-benefits-list__label {
    color: #414143;
    font-weight: 500;
    font-size: 20px;
    line-height: 24px;
    margin: 10px 0;
    display: block; }
  @media only screen and (min-width: 768px) {
      .jobs-home-benefits-list__label {
        font-size: 1.5rem;
        line-height: 1.875rem; } }
  .jobs-home-benefits-list__text {
    color: #3e3e3e;
    font-weight: 300;
    font-size: 0.875rem;
    line-height: 1.3125rem;
    display: block; }
  .jobs-home-benefits-list .carousel__controller--left {
    margin: 5px 30px 5px 0; }
  .jobs-home-benefits-list .carousel__controllers--bottom-center {
    align-items: center;
    margin: 0 auto; }
  .jobs-home-image {
  margin-bottom: 40px; }
  @media only screen and (min-width: 960px) {
    .jobs-home-image {
      margin-bottom: 100px; } }
  .jobs-home-image__content {
    width: 100%;
    overflow: hidden; }
  .jobs-home-image__content img {
      width: 100%;
      max-height: 100vw; }
  @media only screen and (min-width: 960px) {
      .jobs-home-image__content img {
        height: auto;
        width: 100%;
        max-height: none; } }
  .jobs-home-testimonials {
  width: 100%;
  padding: 0 20px; }
  @media only screen and (min-width: 960px) {
    .jobs-home-testimonials {
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px; } }
  .jobs-home-testimonials__wrapper {
    display: grid; }
  @media only screen and (min-width: 960px) {
      .jobs-home-testimonials__wrapper {
        grid-template-columns: 1fr 1fr; } }
  .jobs-home-testimonials__text-wrapper {
    color: #3e3e3e;
    font-weight: 300;
    font-size: 1rem;
    line-height: 1.5625rem;
    margin-bottom: 2.25rem; }
  @media only screen and (min-width: 960px) {
      .jobs-home-testimonials__text-wrapper {
        margin-bottom: 0;
        max-width: 500px;
        font-size: 1.125rem;
        line-height: 1.5rem;
        justify-items: center;
        align-items: center;
        display: grid;
        justify-self: end; } }
  .jobs-home-testimonials__text {
    display: block; }
  @media only screen and (min-width: 960px) {
      .jobs-home-testimonials__text {
        max-width: 500px; } }
  .jobs-home-testimonials__label {
    color: #414143;
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.9375rem;
    margin-bottom: 1.5rem;
    display: block; }
  @media only screen and (min-width: 960px) {
      .jobs-home-testimonials__label {
        font-size: 2.25rem;
        line-height: 2.625rem; } }
  .jobs-home-testimonials__portrait {
    display: grid;
    grid-template-rows: 24px 20px;
    justify-content: center; }
  .jobs-home-testimonials__name {
    color: #414143;
    font-weight: 500;
    text-align: center;
    font-size: 1.5rem;
    line-height: 1.5rem; }
  .jobs-home-testimonials__role {
    color: #3e3e3e;
    font-weight: 300;
    font-size: 0.875rem;
    line-height: 1.25rem;
    text-align: center;
    display: block; }
  .jobs-home-testimonials__picture {
    padding: 20px 0;
    display: grid;
    justify-items: center; }
  .jobs-home-testimonials__picture img {
      width: 90%;
      border-radius: 50%; }
  @media only screen and (min-width: 960px) {
        .jobs-home-testimonials__picture img {
          width: 100%; } }
  @media only screen and (min-width: 960px) {
    .jobs-home-testimonials .carousel {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: auto 40px; } }
  @media only screen and (min-width: 960px) {
    .jobs-home-testimonials .carousel__wrapper {
      grid-column: 1/-1; } }
  @media only screen and (min-width: 960px) {
    .jobs-home-testimonials .carousel .carousel__controllers {
      grid-column: 2/2; } }
  .jobs-home-testimonials .carousel .carousel__controller {
    left: 0;
    right: 0;
    top: 0;
    margin: 15px; }
  .jobs-home-testimonials .carousel__controllers--bottom-center {
    align-items: center;
    margin: 0 auto; }
  .jobs-home-button__content {
  padding: 0 20px;
  margin: 60px 0;
  justify-content: center;
  display: flex;
  width: 100%; }
  .jobs-home-button__content a {
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.3125rem;
    width: 379px;
    max-width: 379px; }
  @media only screen and (min-width: 960px) {
    .jobs-home-button__content {
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px;
      margin-top: 64px;
      margin-bottom: 48px; } }
  .jobs-home-gray-box {
  background-color: #f7f7f7;
  margin: 0 0 70px;
  padding: 40px 20px; }
  @media only screen and (min-width: 768px) {
    .jobs-home-gray-box {
      padding: 80px 20px; } }
  @media only screen and (min-width: 960px) {
  .jobs-home-share {
    width: 100%;
    max-width: 1366px !important;
    margin: auto;
    padding: 0 30px;
    text-align: center;
    width: 700px; } }
  .jobs-home-share__label {
  color: #414143;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.9375rem;
  margin-bottom: 2.25rem; }
  @media only screen and (min-width: 960px) {
    .jobs-home-share__label {
      font-size: 2.25rem;
      line-height: 2.625rem; } }
  .jobs-home-share__text {
  color: #3e3e3e;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.5rem;
  margin-bottom: 3.25rem; }
  @media only screen and (min-width: 960px) {
    .jobs-home-share__text {
      font-size: 1.5rem;
      line-height: 2.375rem; } }
  .jobs-home-social {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 20px 22px; }
  @media only screen and (min-width: 768px) {
    .jobs-home-social {
      grid-template-columns: repeat(7, 1fr); } }
  @media only screen and (min-width: 1248px) {
    .jobs-home-social {
      grid-template-columns: repeat(7, 1fr);
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px;
      width: 700px; } }
  .jobs-home-social__icon {
    display: flex; }

.jobs-im-a-lover-top {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-top: 86px;
  margin-bottom: 50px; }
  @media only screen and (min-width: 960px) {
    .jobs-im-a-lover-top {
      margin-bottom: 70px; } }
  .jobs-im-a-lover-top__image {
    background-image: url("https://static-images.ifood.com.br/image/upload/q_auto:best/webapp/jobs/jobs-image-iam-a-lover_mobile.png?v=8.43.0");
    background-size: cover;
    background-position: top;
    height: 250px;
    width: 100%; }
  @media only screen and (min-width: 960px) {
      .jobs-im-a-lover-top__image {
        background-image: linear-gradient(0deg, rgba(62, 62, 62, 0.7), rgba(62, 62, 62, 0.7)), url("https://static-images.ifood.com.br/image/upload/q_auto:best/webapp/jobs/jobs-image-iam-a-lover.jpg?v=8.43.0");
        height: 480px; } }
  @media only screen and (min-width: 1248px) and (max-width: 1818px) {
      .jobs-im-a-lover-top__image {
        height: 480px;
        background-position: 0 -120px; } }
  .jobs-im-a-lover-top__card {
    position: absolute; }
  @media only screen and (min-width: 960px) {
      .jobs-im-a-lover-top__card {
        top: 50%; } }
  .jobs-im-a-lover-top__label {
    color: #ffffff;
    font-weight: 500;
    font-size: 2rem;
    line-height: 2rem;
    padding: 0 0 10px;
    display: block; }
  @media only screen and (min-width: 960px) {
      .jobs-im-a-lover-top__label {
        padding: 0 0 20px;
        font-size: 2.5rem;
        line-height: 2.5rem; } }
  .jobs-im-a-lover-top__text {
    color: #ffffff;
    font-size: 1.125rem;
    line-height: 1.5rem;
    font-weight: 300;
    display: block;
    max-width: 210px; }
  @media only screen and (min-width: 960px) {
      .jobs-im-a-lover-top__text {
        font-size: 1.5rem;
        line-height: 1.5rem;
        max-width: 100%; } }
  .jobs-im-a-lover-video {
  margin: 0 0 34px; }
  @media only screen and (min-width: 768px) {
    .jobs-im-a-lover-video {
      margin: 0 0 60px; } }
  .jobs-im-a-lover-video__content {
    height: 250px;
    width: 100%;
    padding: 0 20px; }
  .jobs-im-a-lover-video__content iframe {
      width: 100%;
      height: 100%; }
  @media only screen and (min-width: 768px) {
      .jobs-im-a-lover-video__content {
        height: 300px;
        margin-bottom: 2.75rem; } }
  @media only screen and (min-width: 960px) {
      .jobs-im-a-lover-video__content {
        width: 100%;
        max-width: 1366px !important;
        margin: auto;
        padding: 0 30px;
        height: 400px;
        margin-bottom: 2.75rem; } }
  @media only screen and (min-width: 1248px) {
      .jobs-im-a-lover-video__content {
        height: 500px; } }
  .jobs-im-a-lover-culture {
  width: 100%;
  margin-bottom: 72px;
  padding: 0 20px; }
  @media only screen and (min-width: 960px) {
    .jobs-im-a-lover-culture {
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px;
      margin-bottom: 100px; } }
  .jobs-im-a-lover-culture__columns {
    display: flex; }
  .jobs-im-a-lover-culture__left-column {
    width: 100%; }
  @media only screen and (min-width: 960px) {
      .jobs-im-a-lover-culture__left-column {
        width: 50%; } }
  .jobs-im-a-lover-culture__title {
    color: #414143;
    font-size: 1rem;
    line-height: 1.5rem;
    margin-bottom: 10px;
    font-weight: 300; }
  @media only screen and (min-width: 960px) {
      .jobs-im-a-lover-culture__title {
        font-size: 1.25rem;
        line-height: 1.5rem;
        margin-bottom: 32px; } }
  .jobs-im-a-lover-culture__label {
    color: #414143;
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.875rem;
    margin-bottom: 24px; }
  @media only screen and (min-width: 960px) {
      .jobs-im-a-lover-culture__label {
        font-size: 2.25rem;
        line-height: 2.625rem;
        margin-bottom: 48px; } }
  .jobs-im-a-lover-culture__text {
    color: #3e3e3e;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 300; }
  @media only screen and (min-width: 960px) {
      .jobs-im-a-lover-culture__text {
        font-size: 1.125rem;
        line-height: 1.5rem;
        max-width: 500px; } }
  .jobs-im-a-lover-culture__right-column {
    display: none; }
  @media only screen and (min-width: 960px) {
      .jobs-im-a-lover-culture__right-column {
        display: flex;
        justify-content: center; } }
  .jobs-im-a-lover-culture__picture {
    display: flex;
    justify-content: center; }
  @media only screen and (max-width: 1247px) {
      .jobs-im-a-lover-culture__picture {
        width: 400px; } }
  .jobs-im-a-lover-list {
  display: flex;
  flex-wrap: wrap;
  padding: 0 20px 40px; }
  @media only screen and (min-width: 960px) {
    .jobs-im-a-lover-list {
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px;
      padding: 0 20px 40px;
      width: 100%; } }
  .jobs-im-a-lover-list__item {
    flex: 1 0 100%;
    margin-bottom: 24px; }
  @media only screen and (min-width: 960px) {
      .jobs-im-a-lover-list__item {
        flex: 1 0 25%; } }
  .jobs-im-a-lover-list__card {
    border-radius: 4px;
    box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.05), 0px 4px 16px rgba(0, 0, 0, 0.06);
    padding: 16px; }
  @media only screen and (min-width: 960px) {
      .jobs-im-a-lover-list__card {
        height: 160px;
        padding: 0;
        box-shadow: none;
        display: flex;
        flex-flow: column nowrap; } }
  .jobs-im-a-lover-list__label {
    color: #414143;
    font-weight: 500;
    font-size: 2rem;
    line-height: 2.25rem;
    -webkit-hyphens: auto;
        -ms-hyphens: auto;
            hyphens: auto;
    padding: 0 0 16px;
    display: block; }
  @media only screen and (min-width: 1248px) {
      .jobs-im-a-lover-list__label {
        font-size: 2.25rem;
        line-height: 2.625rem; } }
  @media only screen and (min-width: 1248px) and (max-width: 768px) {
      .jobs-im-a-lover-list__label {
        font-size: 1.75rem;
        line-height: 2.125rem; } }
  .jobs-im-a-lover-list__label:hover {
      color: #ea1d2c; }
  @media only screen and (min-width: 960px) {
      .jobs-im-a-lover-list__label--operational-excellence {
        margin-bottom: 0; } }
  @media only screen and (min-width: 1248px) {
      .jobs-im-a-lover-list__label--empreendedorismo {
        font-size: 1.875rem;
        line-height: 2.625rem; } }
  @media only screen and (min-width: 1248px) and (max-width: 768px) {
      .jobs-im-a-lover-list__label--empreendedorismo {
        font-size: 1.625rem;
        line-height: 2.125rem; } }
  .jobs-im-a-lover-list__icon {
    width: 30px;
    height: 30px;
    display: flex;
    border-radius: 50%;
    background-color: #414143;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
    color: transparent;
    -webkit-text-stroke: 1px white;
    font-size: 20px;
    font-weight: bolder; }
  @media only screen and (min-width: 960px) {
      .jobs-im-a-lover-list__icon {
        display: none; } }
  .jobs-im-a-lover-list__icon:hover {
      background-color: #ea1d2c; }
  .jobs-im-a-lover-list__text {
    color: #3e3e3e;
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: lighter; }
  @media only screen and (min-width: 960px) {
      .jobs-im-a-lover-list__text {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 90%;
        font-size: 1.125rem;
        line-height: 1.5rem; } }
  .jobs-im-a-lover-button__content {
  padding: 0 20px;
  margin: 40px 0 60px;
  justify-content: center;
  display: flex;
  width: 100%; }
  @media only screen and (min-width: 960px) {
    .jobs-im-a-lover-button__content {
      margin: 52px 0 100px 0; } }
  @media only screen and (max-width: 559px) {
    .jobs-im-a-lover-button__content .btn.btn--size-l .btn__label {
      font-size: 1rem;
      line-height: 1.25rem; } }
  .jobs-im-a-lover-button__content a {
    width: 100%; }
  @media only screen and (min-width: 768px) {
      .jobs-im-a-lover-button__content a {
        width: 379px; } }
  @media only screen and (min-width: 960px) {
    .jobs-im-a-lover-button__content {
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px;
      margin-top: 50px;
      margin-bottom: 60px; } }

.jobs-technology-top {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-top: 86px;
  margin-bottom: 30px; }
  @media only screen and (min-width: 960px) {
    .jobs-technology-top {
      margin-bottom: 0; } }
  .jobs-technology-top__image {
    background-image: linear-gradient(0deg, rgba(62, 62, 62, 0.7), rgba(62, 62, 62, 0.7)), url("https://static-images.ifood.com.br/image/upload/q_auto:best/webapp/jobs/jobs-image-tech.jpg?v=8.43.0");
    background-size: cover;
    background-position: top;
    height: 250px;
    width: 100%; }
  @media only screen and (min-width: 960px) {
      .jobs-technology-top__image {
        height: 480px; } }
  @media only screen and (min-width: 1248px) and (max-width: 1818px) {
      .jobs-technology-top__image {
        height: 480px;
        background-position: 0 -120px; } }
  .jobs-technology-top__card {
    position: absolute; }
  @media only screen and (min-width: 960px) {
      .jobs-technology-top__card {
        top: 50%; } }
  .jobs-technology-top__label {
    color: #ffffff;
    font-weight: 500;
    font-size: 2rem;
    line-height: 2rem;
    padding: 0 0 10px;
    display: block; }
  @media only screen and (min-width: 960px) {
      .jobs-technology-top__label {
        padding: 0 0 20px;
        font-size: 2.5rem;
        line-height: 2.5rem; } }
  .jobs-technology-top__text {
    color: #ffffff;
    font-size: 1.125rem;
    line-height: 1.5rem;
    font-weight: 300;
    display: block;
    max-width: 210px; }
  @media only screen and (min-width: 960px) {
      .jobs-technology-top__text {
        font-size: 1.5rem;
        line-height: 1.5rem;
        max-width: 100%; } }
  .jobs-technology-box {
  position: relative;
  margin: 0 auto 36px auto;
  background-color: white;
  z-index: 70;
  padding: 0 20px; }
  @media only screen and (min-width: 960px) {
    .jobs-technology-box {
      border-radius: 8px;
      box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.05);
      max-width: 870px;
      margin-top: -100px;
      margin-bottom: 92px;
      min-height: 340px;
      align-content: center;
      display: grid; } }
  .jobs-technology-box__card {
    position: relative;
    margin: 0 auto; }
  @media only screen and (min-width: 768px) {
      .jobs-technology-box__card {
        max-width: 540px; } }
  .jobs-technology-box__title {
    color: #414143;
    font-weight: 300;
    font-size: 1rem;
    line-height: 1.5rem;
    margin-bottom: 10px; }
  @media only screen and (min-width: 960px) {
      .jobs-technology-box__title {
        margin-bottom: 12px;
        font-size: 1.25rem;
        line-height: 1.5rem; } }
  .jobs-technology-box__label {
    color: #414143;
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.875rem;
    margin-bottom: 20px; }
  @media only screen and (min-width: 960px) {
      .jobs-technology-box__label {
        margin-bottom: 28px;
        font-size: 2.25rem;
        line-height: 2.625rem; } }
  .jobs-technology-box__text {
    color: #3e3e3e;
    font-weight: 300;
    font-size: 1.125rem;
    line-height: 1.5rem; }
  .jobs-technology-list {
  padding: 0 20px; }
  @media only screen and (min-width: 960px) {
    .jobs-technology-list {
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px; } }
  .jobs-technology-list__columns {
    display: block;
    align-items: center;
    margin-bottom: 36px; }
  @media only screen and (min-width: 960px) {
      .jobs-technology-list__columns {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: 20px 40px;
        margin-bottom: 54px; } }
  .jobs-technology-list__media-column {
    display: flex;
    justify-content: center; }
  .jobs-technology-list__text-column {
    width: 100%; }
  @media only screen and (min-width: 960px) {
      .jobs-technology-list__text-column {
        max-width: 540px; } }
  @media only screen and (min-width: 960px) {
      .jobs-technology-list__text-column--inverted {
        grid-row-end: 2;
        padding-right: 20px;
        padding-left: 0; } }
  .jobs-technology-list__media {
    width: 100%;
    margin-bottom: 30px; }
  @media only screen and (min-width: 960px) {
      .jobs-technology-list__media {
        margin-bottom: 0;
        display: grid;
        align-items: center; } }
  .jobs-technology-list__media img,
    .jobs-technology-list__media iframe {
      width: 100%; }
  .jobs-technology-list__media iframe {
      height: 280px; }
  @media only screen and (min-width: 560px) {
        .jobs-technology-list__media iframe {
          height: 330px; } }
  @media only screen and (min-width: 768px) {
        .jobs-technology-list__media iframe {
          height: 400px; } }
  .jobs-technology-list__label {
    color: #414143;
    font-weight: 500;
    font-size: 1.375rem;
    line-height: 1.75rem;
    margin-bottom: 16px; }
  @media only screen and (min-width: 960px) {
      .jobs-technology-list__label {
        margin-bottom: 20px;
        font-size: 2.25rem;
        line-height: 2.625rem; } }
  .jobs-technology-list__text {
    color: #3e3e3e;
    font-weight: 300;
    font-size: 1rem;
    line-height: 1.5rem;
    margin-bottom: 28px; }
  @media only screen and (min-width: 960px) {
      .jobs-technology-list__text {
        margin-bottom: 40px; } }
  .jobs-technology-list__name {
    color: #414143;
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.375rem; }
  @media only screen and (min-width: 768px) {
      .jobs-technology-list__name {
        font-size: 1.25rem;
        line-height: 1.5rem; } }
  .jobs-technology-button {
  margin: 40px 0 60px; }
  .jobs-technology-button__content {
    padding: 0 20px;
    justify-content: center;
    display: flex;
    width: 100%; }
  @media only screen and (max-width: 559px) {
      .jobs-technology-button__content .btn.btn--size-l .btn__label {
        font-size: 1rem;
        line-height: 1.25rem; } }
  .jobs-technology-button__content a {
      width: 100%; }
  @media only screen and (min-width: 768px) {
        .jobs-technology-button__content a {
          width: 379px; } }
  @media only screen and (min-width: 960px) {
      .jobs-technology-button__content {
        width: 100%;
        max-width: 1366px !important;
        margin: auto;
        padding: 0 30px; } }

.lp-drone__container {
  position: relative;
  overflow: hidden;
  padding: 64px 20px 24px; }
  @media only screen and (min-width: 960px) {
    .lp-drone__container {
      display: grid;
      padding: 105px 0 0 69px;
      background: #f3ecec;
      grid-template-columns: 425px 1fr; } }
  .lp-drone__container .icon-brand {
    width: 102px;
    margin-bottom: 40px;
    display: none; }
  @media only screen and (min-width: 960px) {
      .lp-drone__container .icon-brand {
        display: block; } }
  .lp-drone__desktop-illustration {
  position: relative;
  display: none; }
  @media only screen and (min-width: 960px) {
    .lp-drone__desktop-illustration {
      display: block; } }
  .lp-drone__buildings-illustration {
  bottom: 4px;
  left: 60px;
  position: relative;
  height: 370px; }
  @media only screen and (min-width: 960px) {
  .lp-drone__header-mobile {
    display: none; } }
  .lp-drone__drone-illustration {
  display: grid;
  justify-items: center;
  align-items: center; }
  @media only screen and (max-width: 959px) {
    .lp-drone__drone-illustration {
      grid-row-end: 2; } }
  @media only screen and (min-width: 960px) {
    .lp-drone__drone-illustration {
      display: none; } }
  .lp-drone__drone-illustration .image-drone {
    width: 250px;
    margin: 20px auto; }
  @media only screen and (min-width: 768px) and (max-width: 1248px) {
      .lp-drone__drone-illustration .image-drone {
        width: 340px;
        margin: 20px auto; } }
  .lp-drone__drone-animated .animation-drone-up {
  -webkit-animation: animation-drone-up 5s ease-in-out infinite;
          animation: animation-drone-up 5s ease-in-out infinite; }
  .lp-drone__drone-animated .animation-drone-bag {
  -webkit-animation: animation-drone-bag 5s ease-out infinite;
          animation: animation-drone-bag 5s ease-out infinite; }
  .lp-drone__intro {
  display: grid;
  gap: 10px; }
  @media only screen and (min-width: 960px) {
    .lp-drone__intro {
      grid-template-columns: 1fr 1fr; } }
  @media only screen and (min-width: 1248px) {
    .lp-drone__intro-drone {
      max-width: 600px; } }
  .lp-drone__intro-title {
    color: #3e3e3e;
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 1.625rem;
    margin: 0 0 12px 0;
    text-align: center; }
  @media only screen and (min-width: 960px) {
      .lp-drone__intro-title {
        font-size: 2.5rem;
        line-height: 3rem;
        text-align: left;
        max-width: 377px;
        margin-bottom: 32px; } }
  @media only screen and (min-width: 768px) and (max-width: 960px) {
      .lp-drone__intro-title {
        font-size: 1.875rem;
        line-height: 2.8125rem; } }
  .lp-drone__intro-text {
    max-width: 406px;
    color: #717171;
    font-size: 1rem;
    line-height: 1.25rem;
    font-weight: 300;
    letter-spacing: -1px;
    margin: 0 auto;
    text-align: center; }
  @media only screen and (min-width: 768px) and (max-width: 960px) {
      .lp-drone__intro-text {
        font-size: 1.125rem;
        line-height: 1.375rem; } }
  @media only screen and (min-width: 960px) {
      .lp-drone__intro-text {
        color: #3e3e3e;
        text-align: left;
        margin: 0;
        font-size: 1.5rem;
        line-height: 2.25rem; } }
  .lp-drone__intro-image {
    display: none;
    position: absolute;
    z-index: 1; }
  @media only screen and (min-width: 960px) {
      .lp-drone__intro-image {
        display: block; } }
  .lp-drone__intro-image-1 {
      left: 26px;
      top: 60px; }
  .lp-drone__intro-image-1 .image-drone {
        width: 250px; }
  .lp-drone__intro-image-2 {
      left: 383px;
      top: 23px; }
  .lp-drone__intro-image-2 .image-drone {
        width: 175px; }
  .lp-drone__intro-image-3 {
      position: relative;
      left: 718px;
      top: 98px; }
  .lp-drone__intro-image-3 .image-drone {
        width: 125px; }
  @media only screen and (min-width: 960px) {
  .lp-drone__how-to-works {
    padding: 68px 0 100px;
    background-color: #fff; } }
  .lp-drone__btn-requirements {
  color: #ea1d2c;
  background: none;
  padding: 0 0 0 4px;
  height: auto; }
  .lp-drone__btn-requirements:hover:enabled {
    background: none;
    color: #c2121f;
    transition: 0.5s ease-in-out; }
  .lp-drone__footer .footer {
  margin-top: 0; }
  .lp-drone-how-to-works__box-container {
  width: 100%;
  max-width: 1366px !important;
  margin: auto;
  padding: 0 30px;
  justify-content: center;
  display: grid;
  grid-template: 1fr/repeat(3, minmax(240px, 300px));
  gap: 32px; }
  @media only screen and (max-width: 959px) {
    .lp-drone-how-to-works__box-container {
      display: none; }
      .lp-drone-how-to-works__box-container-title {
        display: none; } }
  .lp-drone-how-to-works__box-container-title {
    font-size: 2.5rem;
    font-weight: 500;
    line-height: 3rem;
    color: #3e3e3e;
    text-align: center;
    margin: 0 0 32px 0; }
  .lp-drone-how-to-works__box-container-subtitle {
    font-size: 1.25rem;
    font-weight: 300;
    line-height: 1.875rem;
    color: #3e3e3e;
    text-align: center;
    margin: 0 auto 66px auto;
    max-width: 640px;
    display: none; }
  @media only screen and (min-width: 960px) {
      .lp-drone-how-to-works__box-container-subtitle {
        display: block; } }
  .lp-drone-how-to-works__boxes {
  display: grid;
  justify-items: center;
  text-align: center;
  padding: 40px 20px;
  border-radius: 8px;
  grid-template: 38px 30px 1fr / 1fr;
  gap: 12px;
  border: 1px solid #f2f2f2;
  box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.04);
  background-color: #ffffff; }
  @media only screen and (min-width: 960px) {
    .lp-drone-how-to-works__boxes {
      grid-template: 1fr 30px 1fr / 1fr;
      gap: 20px;
      box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.05), 0px 4px 16px rgba(0, 0, 0, 0.08); } }
  @media only screen and (min-width: 560px) and (max-width: 768px) {
    .lp-drone-how-to-works__boxes {
      min-height: 270px; } }
  .lp-drone-how-to-works__boxes-number {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center; }
  @media only screen and (min-width: 960px) {
      .lp-drone-how-to-works__boxes-number::before {
        content: '';
        background: #ee4c58;
        -webkit-transform: skew(-1deg, 6deg);
                transform: skew(-1deg, 6deg);
        border-radius: 200px;
        width: 98px;
        height: 88px; } }
  .lp-drone-how-to-works__boxes-number-text {
      position: absolute;
      text-align: center;
      font-size: 3rem;
      line-height: 1.75rem;
      color: #3e3e3e;
      margin: 0; }
  @media only screen and (min-width: 960px) {
        .lp-drone-how-to-works__boxes-number-text {
          color: #ffffff; } }
  .lp-drone-how-to-works__boxes-title {
    font-size: 1.25rem;
    line-height: 1.625rem;
    font-weight: 500;
    color: #3e3e3e;
    margin: 0; }
  .lp-drone-how-to-works__boxes-text {
    font-size: 1rem;
    line-height: 1.625rem;
    color: #717171;
    margin: 0; }
  @media only screen and (max-width: 959px) {
      .lp-drone-how-to-works__boxes-text {
        max-width: 290px;
        margin: 0 auto; } }
  .lp-drone-carousel-container {
  padding: 20px 0; }
  @media only screen and (min-width: 960px) {
    .lp-drone-carousel-container {
      display: none; } }
  .lp-drone-carousel-container .carousel__slide:first-child {
    padding-left: 20px; }
  .lp-drone-carousel-container .carousel__slide:last-child {
    padding-right: 20px; }
  .lp-drone-carousel__wrapper {
  text-align: center;
  padding: 40px 20px;
  border-radius: 8px;
  border: 1px solid #f2f2f2;
  box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.04);
  height: 100%; }
  @media only screen and (min-width: 560px) and (max-width: 768px) {
    .lp-drone-carousel__wrapper {
      min-height: 290px; } }
  .lp-drone-carousel__boxes-number-text {
  position: relative;
  margin-bottom: 40px;
  text-align: center;
  font-size: 3rem;
  line-height: 1.75rem;
  color: #3e3e3e;
  display: block; }
  .lp-drone-carousel__boxes-title {
  font-size: 1.25rem;
  line-height: 1.625rem;
  font-weight: 500;
  color: #3e3e3e;
  margin: 0;
  padding-bottom: 20px;
  display: block; }
  .lp-drone-carousel__boxes-text {
  font-size: 1rem;
  line-height: 1.625rem;
  color: #717171;
  margin: 0;
  display: block; }
  @media only screen and (max-width: 959px) {
    .lp-drone-carousel__boxes-text {
      max-width: 290px;
      margin: 0 auto; } }
  .lp-drone-requirements {
  padding: 20px;
  text-align: center; }
  @media only screen and (min-width: 768px) {
    .lp-drone-requirements {
      padding: 40px; } }
  .lp-drone-requirements__title {
    font-size: 1.125rem;
    line-height: 1.375rem;
    color: #3e3e3e;
    font-weight: 500;
    margin: 0 0 10px; }
  @media only screen and (min-width: 768px) {
      .lp-drone-requirements__title {
        font-size: 1.125rem;
        line-height: 1.625rem; } }
  .lp-drone-requirements__description {
    color: #717171;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 300;
    margin: 0 auto 30px; }
  @media only screen and (min-width: 768px) {
      .lp-drone-requirements__description {
        max-width: 500px; } }
  @media only screen and (min-width: 320px) {
      .lp-drone-requirements__description {
        font-size: 1rem;
        line-height: 1.375rem;
        max-width: 90%; } }
  @-webkit-keyframes animation-drone-up {
  0% {
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(10px);
            transform: translateY(10px); } }
  @keyframes animation-drone-up {
  0% {
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(10px);
            transform: translateY(10px); } }
  @-webkit-keyframes animation-drone-bag {
  0% {
    -webkit-transform: translate(2px, 0px) rotate(0);
            transform: translate(2px, 0px) rotate(0); }
  50% {
    -webkit-transform: translate(4px, 0px) rotate(0deg);
            transform: translate(4px, 0px) rotate(0deg); }
  100% {
    -webkit-transform: translate(2px, 0px) rotate(0);
            transform: translate(2px, 0px) rotate(0); } }
  @keyframes animation-drone-bag {
  0% {
    -webkit-transform: translate(2px, 0px) rotate(0);
            transform: translate(2px, 0px) rotate(0); }
  50% {
    -webkit-transform: translate(4px, 0px) rotate(0deg);
            transform: translate(4px, 0px) rotate(0deg); }
  100% {
    -webkit-transform: translate(2px, 0px) rotate(0);
            transform: translate(2px, 0px) rotate(0); } }

.lp-loop {
  padding: 20px 0 0; }
  @media only screen and (min-width: 768px) {
    .lp-loop {
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px; } }
  @media only screen and (min-width: 960px) {
    .lp-loop__header-mobile {
      display: none; } }
  .lp-loop-banner {
  text-align: center;
  background-color: #f2f2f2;
  max-width: 100%;
  height: 414px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-top: 60px;
  overflow: hidden; }
  @media only screen and (min-width: 960px) {
    .lp-loop-banner {
      height: 514px;
      padding: 0;
      margin: 0; } }
  .lp-loop-banner__dishes-one {
    position: absolute;
    left: -50px;
    max-width: 148px;
    top: -20px; }
  @media only screen and (min-width: 768px) and (max-width: 960px) {
      .lp-loop-banner__dishes-one {
        max-width: 250px;
        bottom: 170px;
        top: initial; } }
  @media only screen and (min-width: 960px) {
      .lp-loop-banner__dishes-one {
        max-width: 36%;
        bottom: -100px;
        top: initial; } }
  .lp-loop-banner__dishes-two {
    position: absolute;
    right: -24px;
    max-width: 140px;
    top: -30px; }
  @media only screen and (min-width: 768px) and (max-width: 960px) {
      .lp-loop-banner__dishes-two {
        max-width: 240px;
        right: -20px;
        top: -45px; } }
  @media only screen and (min-width: 960px) {
      .lp-loop-banner__dishes-two {
        max-width: 36%;
        right: 0;
        top: -75px; } }
  .lp-loop-banner-header {
    height: 100%;
    padding: 80px 20px 0;
    max-width: 412px; }
  @media only screen and (min-width: 960px) {
      .lp-loop-banner-header {
        max-width: 540px; } }
  .lp-loop-banner-header-logo-loop {
      width: 80px;
      display: block;
      margin: 0 auto; }
  @media only screen and (min-width: 960px) {
        .lp-loop-banner-header-logo-loop {
          width: 98px;
          margin: 0 auto 20px; } }
  .lp-loop-banner-header-logo-loop > img {
        width: 100%; }
  .lp-loop-banner__title {
    font-size: 1.875rem;
    line-height: 2.375rem;
    font-weight: 500;
    color: #3e3e3e;
    margin: 0 auto 20px;
    display: block; }
  @media only screen and (min-width: 768px) {
      .lp-loop-banner__title {
        width: 380px;
        font-size: 2rem;
        line-height: 2.5rem; } }
  @media only screen and (min-width: 1248px) {
      .lp-loop-banner__title {
        width: 510px;
        font-size: 2.5rem;
        line-height: 3.125rem;
        margin: 0 auto 32px; } }
  .lp-loop-banner__description {
    font-size: 1.125rem;
    line-height: 1.375rem;
    font-weight: normal;
    color: #717171;
    margin: 0 auto 28px;
    display: block; }
  @media only screen and (min-width: 960px) {
      .lp-loop-banner__description {
        font-size: 1.5rem;
        line-height: 1.875rem;
        max-width: 540px; } }
  .lp-loop-banner__btn-dishes {
    font-size: 1rem;
    line-height: 1.25rem;
    background-color: #ea1d2c;
    padding: 16px 0;
    display: block;
    margin: 0 auto;
    border-radius: 4px;
    color: white;
    text-decoration: none; }
  @media only screen and (min-width: 960px) {
      .lp-loop-banner__btn-dishes {
        width: 50%; } }
  .lp-loop-banner__btn-dishes:hover {
      transition: all 0.4s ease-out;
      background: #c2121f; }
  .lp-loop-how-works {
  padding: 0 0 34px; }
  @media only screen and (min-width: 768px) {
    .lp-loop-how-works {
      padding: 54px 0 34px; } }
  .lp-loop-how-works__title {
    font-size: 1.5rem;
    line-height: 1.875rem;
    font-weight: 500;
    padding: 0 0 14px;
    margin: 0; }
  @media only screen and (min-width: 768px) and (max-width: 960px) {
      .lp-loop-how-works__title {
        font-size: 2.375rem;
        line-height: 3rem; } }
  @media only screen and (min-width: 960px) {
      .lp-loop-how-works__title {
        font-size: 2.5rem;
        line-height: 3.5rem; } }
  .lp-loop-how-works__description {
    font-size: 1rem;
    line-height: 1.5rem;
    padding: 0 16px 60px;
    margin: 0 auto;
    font-weight: 300; }
  @media only screen and (min-width: 768px) and (max-width: 960px) {
      .lp-loop-how-works__description {
        font-size: 1.25rem;
        line-height: 1.75rem; } }
  @media only screen and (min-width: 960px) {
      .lp-loop-how-works__description {
        font-size: 1.5rem;
        line-height: 2.25rem;
        max-width: 86%; } }
  .lp-loop-how-works__title, .lp-loop-how-works__description {
    text-align: center;
    display: block;
    color: #3e3e3e; }
  .lp-loop-how-works__step {
    padding: 0 0 24px; }
  @media only screen and (min-width: 768px) and (max-width: 960px) {
      .lp-loop-how-works__step-container {
        display: grid;
        grid-template: 1fr/1fr 1fr 1fr;
        grid-gap: 20px; } }
  @media only screen and (min-width: 960px) {
      .lp-loop-how-works__step-container {
        display: grid;
        grid-template: 1fr/1fr 1fr 1fr;
        grid-gap: 60px; } }
  .lp-loop-how-works__step > * {
      display: block;
      text-align: center;
      margin: 0 auto; }
  .lp-loop-how-works__step > svg {
      width: 110px;
      height: 120px; }
  @media only screen and (min-width: 768px) {
        .lp-loop-how-works__step > svg {
          width: 198px;
          height: 158px; } }
  .lp-loop-how-works__step-title {
      font-size: 1rem;
      font-weight: 500;
      line-height: 1.375rem;
      color: #232323;
      padding: 0 0 18px;
      margin: 0; }
  @media only screen and (min-width: 768px) and (max-width: 960px) {
        .lp-loop-how-works__step-title {
          font-size: 1.25rem;
          line-height: 1.625rem;
          padding: 12px 0 18px; } }
  @media only screen and (min-width: 960px) {
        .lp-loop-how-works__step-title {
          font-size: 1.5rem;
          line-height: 2rem; } }
  .lp-loop-how-works__step-description {
      font-size: 0.875rem;
      font-weight: 300;
      line-height: 1.25rem;
      color: #717171;
      max-width: 260px; }
  @media only screen and (min-width: 768px) and (max-width: 960px) {
        .lp-loop-how-works__step-description {
          font-size: 1.25rem;
          line-height: 1.5rem; } }
  @media only screen and (min-width: 768px) {
        .lp-loop-how-works__step-description {
          font-size: 1.125rem;
          line-height: 1.625rem; } }
  .lp-about-loop {
  padding: 0 20px;
  position: relative;
  overflow: hidden; }
  @media only screen and (min-width: 768px) {
    .lp-about-loop {
      padding: 36px 0 0; } }
  .lp-about-loop__title {
    font-size: 1.5rem;
    line-height: 2rem;
    margin: 0 0 16px;
    color: #414143;
    font-weight: 500; }
  @media only screen and (min-width: 768px) and (max-width: 960px) {
      .lp-about-loop__title {
        font-size: 2.25rem;
        line-height: 2.5rem; } }
  @media only screen and (min-width: 960px) {
      .lp-about-loop__title {
        font-size: 2.5rem;
        line-height: 3rem; } }
  .lp-about-loop__description {
    font-size: 1rem;
    line-height: 1.5rem;
    color: #3e3e3e;
    display: block;
    font-weight: 300;
    padding: 0 0 24px; }
  @media only screen and (min-width: 768px) {
      .lp-about-loop__description {
        max-width: 490px;
        padding: 0;
        font-size: 1.125rem;
        line-height: 26px; } }
  .lp-about-loop__images {
    display: block;
    padding: 56px 0 0;
    position: relative;
    overflow: hidden; }
  @media only screen and (min-width: 768px) {
      .lp-about-loop__images {
        display: grid;
        align-items: center; } }
  @media only screen and (min-width: 960px) and (max-width: 1248px) {
      .lp-about-loop__images {
        grid-template: 1fr/1fr 1fr 1fr 1fr;
        grid-gap: 30px; } }
  @media only screen and (min-width: 960px) {
      .lp-about-loop__images {
        grid-template: 1fr/1fr 1fr 1fr 2fr;
        grid-gap: 60px; } }
  .lp-about-loop__image {
    display: block;
    text-align: center;
    margin: 0 auto;
    padding: 0 0 24px; }
  @media only screen and (min-width: 768px) {
      .lp-about-loop__image {
        padding: 0; } }
  .lp-about-loop__dishe {
    max-width: 240px;
    margin: 0 auto -90px;
    display: block;
    overflow: hidden; }
  @media only screen and (min-width: 960px) and (max-width: 1248px) {
      .lp-about-loop__dishe {
        margin: 0 auto -120px; } }
  @media only screen and (min-width: 1248px) {
      .lp-about-loop__dishe {
        max-width: 450px;
        margin: 0 auto -150px; } }
  .lp-about-loop__title-images {
    font-size: 1rem;
    line-height: 1.25rem;
    font-weight: 300;
    color: #717171; }
  @media only screen and (min-width: 768px) {
      .lp-about-loop__title-images {
        font-size: 1.125rem;
        line-height: 1.375rem; } }
  .lp-about-loop__space {
    display: block;
    position: relative;
    padding: 32px 0 0; }
  .lp_loop.landing__footer .footer {
  margin-top: 0; }

.pwa-lp-header {
  background: #f2f2f2;
  position: relative;
  overflow: hidden;
  min-height: 100vh; }
  @media only screen and (min-width: 960px) {
    .pwa-lp-header {
      min-height: auto; } }
  .pwa-lp-header-almost-there {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    -webkit-animation: pwa-fade-in-almost-there 250ms ease;
            animation: pwa-fade-in-almost-there 250ms ease;
    height: 100vh; }
  .pwa-lp-header-almost-there__cartoon {
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 0 20px 0; }
  .pwa-lp-header-almost-there__title {
      color: #3e3e3e;
      font-size: 1rem;
      line-height: 1.375rem;
      text-align: center;
      font-weight: 500;
      width: 220px; }
  .pwa-lp-header-almost-there__description {
      color: #717171;
      font-size: 0.875rem;
      line-height: 1.25rem;
      text-align: center;
      margin: 12px auto 0;
      width: 286px; }
  .pwa-lp-header-almost-there__description strong {
        display: block; }
  .pwa-lp-header-gate {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    grid-template-areas: 'cartoon' 'heading' 'items'; }
  @media only screen and (min-width: 960px) {
      .pwa-lp-header-gate {
        grid-template-areas: 'heading cartoon' 'items cartoon';
        grid-template-columns: 2fr 1fr;
        grid-template-rows: 1fr 100%;
        max-width: 1366px !important;
        padding: 30px;
        margin: auto; } }
  .pwa-lp-header__heading {
    grid-area: heading;
    font-size: 1.5rem;
    color: #3e3e3e;
    text-align: center;
    max-width: 290px;
    margin: 20px auto;
    position: relative; }
  @media only screen and (min-width: 960px) {
      .pwa-lp-header__heading {
        font-size: 4.375rem;
        margin: 100px 0 0 0;
        font-weight: 500;
        max-width: 788px;
        text-align: left;
        z-index: 1; } }
  .pwa-lp-header .pwa-lp__install-button {
    display: flex;
    width: 100%; }
  @media only screen and (min-width: 960px) {
      .pwa-lp-header .pwa-lp__install-button {
        display: none; } }
  .pwa-lp-header-items {
    grid-area: items;
    color: #717171;
    padding: 0 20px; }
  .pwa-lp-header-items__item {
      display: flex;
      align-items: center;
      margin: 0 0 16px 0;
      font-weight: 300;
      font-size: 0.875rem; }
  @media only screen and (min-width: 960px) {
        .pwa-lp-header-items__item {
          font-size: 1.5rem; } }
  .pwa-lp-header-items .icon-marmita {
      margin: 0 16px 0 0;
      width: 24px; }
  .pwa-lp-header-items .icon-marmita svg {
        color: #3e3e3e;
        fill: #3e3e3e; }
  @media only screen and (min-width: 960px) {
      .pwa-lp-header-items {
        margin-top: 130px;
        padding: 0; } }
  .pwa-lp-header__button {
    padding: 32px 20px; }
  .pwa-lp .pwa-lp-cartoon {
  grid-area: cartoon; }
  .pwa-lp .pwa-lp-cartoon-clouds > * {
    position: absolute; }
  .pwa-lp .pwa-lp-cartoon-clouds > :nth-child(1) {
    top: 10px;
    width: 44px;
    -webkit-animation: 9s lp-pwa-moveclouds infinite linear;
            animation: 9s lp-pwa-moveclouds infinite linear; }
  .pwa-lp .pwa-lp-cartoon-clouds > :nth-child(1) svg {
      color: rgba(255, 187, 197, 0.6);
      fill: rgba(255, 187, 197, 0.6); }
  @media only screen and (min-width: 960px) {
      .pwa-lp .pwa-lp-cartoon-clouds > :nth-child(1) {
        top: 50px;
        width: 50px;
        -webkit-animation-duration: 19s;
                animation-duration: 19s; } }
  .pwa-lp .pwa-lp-cartoon-clouds > :nth-child(2) {
    top: 60px;
    width: 76px;
    -webkit-animation: 8s lp-pwa-moveclouds infinite linear;
            animation: 8s lp-pwa-moveclouds infinite linear; }
  .pwa-lp .pwa-lp-cartoon-clouds > :nth-child(2) svg {
      color: rgba(255, 187, 197, 0.8);
      fill: rgba(255, 187, 197, 0.8); }
  @media only screen and (min-width: 960px) {
      .pwa-lp .pwa-lp-cartoon-clouds > :nth-child(2) {
        top: 250px;
        width: 100px;
        -webkit-animation-duration: 18s;
                animation-duration: 18s; } }
  .pwa-lp .pwa-lp-cartoon-clouds > :nth-child(3) {
    top: 100px;
    width: 88px;
    height: 80px;
    -webkit-animation: 6s lp-pwa-moveclouds infinite linear;
            animation: 6s lp-pwa-moveclouds infinite linear; }
  .pwa-lp .pwa-lp-cartoon-clouds > :nth-child(3) svg {
      color: #ffbbc5;
      fill: #ffbbc5; }
  @media only screen and (min-width: 960px) {
      .pwa-lp .pwa-lp-cartoon-clouds > :nth-child(3) {
        top: 150px;
        width: 200px;
        -webkit-animation-duration: 16s;
                animation-duration: 16s; } }
  .pwa-lp .pwa-lp-cartoon-clouds > :nth-child(4) {
    top: 150px;
    width: 88px;
    height: 80px;
    left: -100px;
    -webkit-animation: lp-pwa-moveclouds 8s linear 3s infinite;
            animation: lp-pwa-moveclouds 8s linear 3s infinite; }
  .pwa-lp .pwa-lp-cartoon-clouds > :nth-child(4) svg {
      color: #ffbbc5;
      fill: #ffbbc5; }
  @media only screen and (min-width: 960px) {
      .pwa-lp .pwa-lp-cartoon-clouds > :nth-child(4) {
        top: 300px;
        left: -250px;
        width: 175px;
        -webkit-animation-duration: 18s;
                animation-duration: 18s; } }
  .pwa-lp .pwa-lp-cartoon__woman-flying {
    height: 50vh;
    position: relative;
    z-index: 1;
    margin: 30px 0 0 0;
    display: flex;
    flex-direction: column;
    align-items: center; }
  @media only screen and (min-width: 960px) {
      .pwa-lp .pwa-lp-cartoon__woman-flying {
        height: 610px; } }
  .pwa-lp .pwa-lp-cartoon__woman-flying svg {
      height: 100%;
      -webkit-animation: lp-pwa-flying 8s infinite ease-in-out;
              animation: lp-pwa-flying 8s infinite ease-in-out; }
  .pwa-lp .pwa-lp-cartoon__woman-flying .pwa-lp-cartoon__shadow {
      background: #e2e2e2;
      width: 48px;
      height: 14px;
      border-radius: 100%;
      -webkit-animation: shadow-scale 8s infinite ease-in-out;
              animation: shadow-scale 8s infinite ease-in-out; }
  .pwa-lp-content {
  padding: 32px 20px; }
  @media only screen and (min-width: 960px) {
    .pwa-lp-content {
      display: flex;
      justify-content: space-around;
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px; } }
  .pwa-lp-content-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0 0 60px; }
  @media only screen and (min-width: 960px) {
      .pwa-lp-content-item {
        margin: 70px 0; } }
  .pwa-lp-content-item__icon {
      height: 140px; }
  @media only screen and (min-width: 960px) {
        .pwa-lp-content-item__icon {
          width: 120px;
          height: 170px; } }
  .pwa-lp-content-item__icon svg {
        width: 100%;
        height: 100%; }
  .pwa-lp-content-item__title {
      font-size: 1rem;
      color: #3f3e3e;
      margin: 16px 0; }
  @media only screen and (min-width: 960px) {
        .pwa-lp-content-item__title {
          font-size: 1.5rem; } }
  .pwa-lp-content-item__text {
      color: #717171;
      font-size: 0.875rem;
      line-height: 1.25rem;
      max-width: 224px;
      text-align: center;
      margin: 0;
      font-weight: 300; }
  @media only screen and (min-width: 960px) {
        .pwa-lp-content-item__text {
          font-size: 1.125rem;
          line-height: 1.75rem;
          max-width: 300px; } }
  .pwa-lp-footer {
  background: #ef5753;
  display: flex;
  flex-direction: column; }
  @media only screen and (min-width: 960px) {
    .pwa-lp-footer {
      display: none; } }
  .pwa-lp-footer__text {
    font-size: 2rem;
    color: #fff;
    text-align: center;
    font-weight: 300;
    padding: 32px 20px 64px;
    max-width: 380px;
    line-height: 45px;
    margin: auto; }
  @media only screen and (min-width: 960px) {
      .pwa-lp-footer__text {
        font-size: 2.5rem;
        max-width: 860px;
        padding: 64px 20px; } }
  .pwa-lp-footer__install-button {
    color: #fff;
    width: 240px;
    margin: 0 auto 56px; }
  @media only screen and (min-width: 960px) {
      .pwa-lp-footer__install-button {
        display: none; } }
  .pwa-lp-warning {
  background: #f2f2f2;
  padding: 20px;
  display: block;
  color: #717171;
  font-size: 0.875rem;
  font-weight: 300; }
  @media only screen and (min-width: 960px) {
    .pwa-lp-warning {
      display: none; } }
  .pwa-lp + .footer {
  margin-top: 0; }
  .pwa-lp + .footer .footer__section {
    border-top: none; }
  @-webkit-keyframes shadow-scale {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; }
  50% {
    -webkit-transform: scale(1.4);
            transform: scale(1.4);
    opacity: 0.6; }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; } }
  @keyframes shadow-scale {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; }
  50% {
    -webkit-transform: scale(1.4);
            transform: scale(1.4);
    opacity: 0.6; }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; } }
  @-webkit-keyframes pwa-fade-in-almost-there {
  0% {
    -webkit-transform: scale(0.6);
            transform: scale(0.6); }
  70% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }
  @keyframes pwa-fade-in-almost-there {
  0% {
    -webkit-transform: scale(0.6);
            transform: scale(0.6); }
  70% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

.loop-empty-state {
  display: flex;
  flex-direction: column;
  margin: auto;
  max-width: 400px;
  text-align: center;
  min-height: 80vh;
  align-items: center; }
  @media only screen and (min-width: 960px) {
    .loop-empty-state {
      padding-top: 80px; } }
  .loop-empty-state .loop-empty-state__image {
    width: 140px; }
  @media only screen and (min-width: 960px) {
      .loop-empty-state .loop-empty-state__image {
        width: 200px; } }
  .loop-empty-state__title {
    color: #3e3e3e;
    font-size: 1.125rem;
    font-weight: initial;
    line-height: 1.375rem;
    margin-top: 18px;
    width: 200px; }
  @media only screen and (min-width: 960px) {
      .loop-empty-state__title {
        margin-top: 30px; } }
  .loop-empty-state__subtitle {
    color: #3e3e3e;
    width: 280px;
    font-size: 0.875rem;
    font-weight: 100;
    line-height: 1.375rem; }
  .loop-empty-state #part1-cron {
    -webkit-animation: part1-cron-movement 6s infinite 2s ease;
            animation: part1-cron-movement 6s infinite 2s ease; }
  .loop-empty-state #part2-cron {
    -webkit-animation: part2-cron-movement 6s infinite 2s ease;
            animation: part2-cron-movement 6s infinite 2s ease;
    opacity: 0; }
  .loop-empty-state #ear {
    -webkit-animation: ear-movement 5s infinite;
            animation: ear-movement 5s infinite; }
  .loop-empty-state #shadow-neck {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-animation: shadow-neck 5s infinite;
            animation: shadow-neck 5s infinite; }
  .loop-empty-state #neck {
    -webkit-transform-origin: center;
            transform-origin: center;
    -webkit-animation: nec-movement 5s infinite;
            animation: nec-movement 5s infinite; }
  .loop-empty-state #part2-bonnet {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-animation: part2-bonnet-movement 5s infinite;
            animation: part2-bonnet-movement 5s infinite; }
  .loop-empty-state #part1-bonnet {
    -webkit-transform-origin: right;
            transform-origin: right;
    -webkit-animation: part1-bonnet-movement 5s infinite;
            animation: part1-bonnet-movement 5s infinite; }
  .loop-empty-state #bonnet {
    -webkit-animation: bonnet-movement 5s infinite;
            animation: bonnet-movement 5s infinite; }
  .loop-empty-state #head {
    -webkit-animation: head-movement 5s infinite;
            animation: head-movement 5s infinite; }
  .loop-empty-state #mouth,
  .loop-empty-state #eyes {
    -webkit-animation: mouth-eyes-movement 5s infinite;
            animation: mouth-eyes-movement 5s infinite; }
  .loop-empty-state #arms,
  .loop-empty-state #apron,
  .loop-empty-state #shoulders,
  .loop-empty-state #armpit-1,
  .loop-empty-state #armpit-2,
  .loop-empty-state #bonnet + path {
    -webkit-animation: body-movement 3s infinite;
            animation: body-movement 3s infinite; }
  @-webkit-keyframes part1-cron-movement {
  5% {
    -webkit-transform: translateY(4px);
            transform: translateY(4px); }
  7% {
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
  @keyframes part1-cron-movement {
  5% {
    -webkit-transform: translateY(4px);
            transform: translateY(4px); }
  7% {
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
  @-webkit-keyframes part2-cron-movement {
  0% {
    opacity: 0;
    -webkit-transform: translateY(4px);
            transform: translateY(4px); }
  5% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  10% {
    opacity: 0;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
  @keyframes part2-cron-movement {
  0% {
    opacity: 0;
    -webkit-transform: translateY(4px);
            transform: translateY(4px); }
  5% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  10% {
    opacity: 0;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
  @-webkit-keyframes bonnet-movement {
  20%,
  60% {
    -webkit-transform: scale(0.85) translateX(8.3px) translateY(8px);
            transform: scale(0.85) translateX(8.3px) translateY(8px); }
  80% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0); } }
  @keyframes bonnet-movement {
  20%,
  60% {
    -webkit-transform: scale(0.85) translateX(8.3px) translateY(8px);
            transform: scale(0.85) translateX(8.3px) translateY(8px); }
  80% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0); } }
  @-webkit-keyframes head-movement {
  20%,
  60% {
    -webkit-transform: rotateY(10deg);
            transform: rotateY(10deg); }
  80% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0); } }
  @keyframes head-movement {
  20%,
  60% {
    -webkit-transform: rotateY(10deg);
            transform: rotateY(10deg); }
  80% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0); } }
  @-webkit-keyframes mouth-eyes-movement {
  20%,
  60% {
    -webkit-transform: rotateY(15deg);
            transform: rotateY(15deg); }
  80% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0); } }
  @keyframes mouth-eyes-movement {
  20%,
  60% {
    -webkit-transform: rotateY(15deg);
            transform: rotateY(15deg); }
  80% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0); } }
  @-webkit-keyframes part1-bonnet-movement {
  20%,
  60% {
    -webkit-transform: scale(0.8) translateX(-8px) translateY(-7px);
            transform: scale(0.8) translateX(-8px) translateY(-7px); }
  80% {
    -webkit-transform: scale(1) translateX(0) translateY(0);
            transform: scale(1) translateX(0) translateY(0); } }
  @keyframes part1-bonnet-movement {
  20%,
  60% {
    -webkit-transform: scale(0.8) translateX(-8px) translateY(-7px);
            transform: scale(0.8) translateX(-8px) translateY(-7px); }
  80% {
    -webkit-transform: scale(1) translateX(0) translateY(0);
            transform: scale(1) translateX(0) translateY(0); } }
  @-webkit-keyframes part2-bonnet-movement {
  20%,
  60% {
    -webkit-transform: scale(0.9) translateX(8px) translateY(-3.7px);
            transform: scale(0.9) translateX(8px) translateY(-3.7px); }
  80% {
    -webkit-transform: scale(1) translateX(0) translateY(0);
            transform: scale(1) translateX(0) translateY(0); } }
  @keyframes part2-bonnet-movement {
  20%,
  60% {
    -webkit-transform: scale(0.9) translateX(8px) translateY(-3.7px);
            transform: scale(0.9) translateX(8px) translateY(-3.7px); }
  80% {
    -webkit-transform: scale(1) translateX(0) translateY(0);
            transform: scale(1) translateX(0) translateY(0); } }
  @-webkit-keyframes nec-movement {
  20%,
  60% {
    -webkit-transform: rotateY(8deg);
            transform: rotateY(8deg); }
  80% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0); } }
  @keyframes nec-movement {
  20%,
  60% {
    -webkit-transform: rotateY(8deg);
            transform: rotateY(8deg); }
  80% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0); } }
  @-webkit-keyframes shadow-neck {
  20%,
  60% {
    -webkit-transform: scale(0.8) translateX(10.8px) translateY(-2.7px);
            transform: scale(0.8) translateX(10.8px) translateY(-2.7px); }
  80% {
    -webkit-transform: scale(1) translateX(0) translateY(0);
            transform: scale(1) translateX(0) translateY(0); } }
  @keyframes shadow-neck {
  20%,
  60% {
    -webkit-transform: scale(0.8) translateX(10.8px) translateY(-2.7px);
            transform: scale(0.8) translateX(10.8px) translateY(-2.7px); }
  80% {
    -webkit-transform: scale(1) translateX(0) translateY(0);
            transform: scale(1) translateX(0) translateY(0); } }
  @-webkit-keyframes ear-movement {
  20%,
  60% {
    -webkit-transform: translateX(1px);
            transform: translateX(1px); }
  80% {
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
  @keyframes ear-movement {
  20%,
  60% {
    -webkit-transform: translateX(1px);
            transform: translateX(1px); }
  80% {
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
  @-webkit-keyframes body-movement {
  40%,
  60% {
    -webkit-transform: translateY(-0.5px);
            transform: translateY(-0.5px); } }
  @keyframes body-movement {
  40%,
  60% {
    -webkit-transform: translateY(-0.5px);
            transform: translateY(-0.5px); } }

.loop-page {
  position: relative; }
  @media only screen and (max-width: 959px) {
    .loop-page {
      margin-top: 60px; } }
  @media only screen and (min-width: 960px) {
    .loop-page {
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px; } }
  @media only screen and (min-width: 960px) {
    .loop-page__header-mobile {
      display: none; } }
  .loop-page__banner {
    height: 200px;
    display: flex;
    background-size: cover;
    background-image: url("https://static-images.ifood.com.br/image/upload/webapp/loop/loop-banner-mobile.jpg?v=8.43.0");
    background-position: center; }
  @media only screen and (min-width: 768px) {
      .loop-page__banner {
        background-image: url("https://static-images.ifood.com.br/image/upload/webapp/loop/loop-banner.jpg?v=8.43.0"); } }
  @media only screen and (min-width: 960px) {
      .loop-page__banner {
        margin-top: 45px; } }
  .loop-page__title-banner {
    display: flex;
    flex-direction: column;
    margin: auto;
    text-align: center; }
  .loop-page__title-banner img {
      width: 75px;
      margin: 0 auto 10px; }
  .loop-page__title-banner p {
      margin: 0;
      align-self: center;
      font-size: 0.9375rem; }
  @media only screen and (min-width: 560px) {
      .loop-page__title-banner > img {
        width: 100px; }
      .loop-page__title-banner p {
        font-size: 1.25rem; } }
  @media only screen and (min-width: 960px) {
      .loop-page__title-banner {
        flex-direction: row;
        text-align: left; }
        .loop-page__title-banner > img {
          margin: auto 20px auto 0;
          width: auto; }
        .loop-page__title-banner p {
          font-size: 1.5rem; } }
  .loop-page__list-container {
    position: relative;
    padding: 38px 20px; }
  @media only screen and (min-width: 960px) {
      .loop-page__list-container {
        padding: 86px 0; } }
  .loop-page__dish-list {
    grid-template-columns: repeat(1, 1fr);
    display: grid;
    grid-gap: 20px; }
  @media only screen and (min-width: 375px) {
      .loop-page__dish-list {
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 20px 10px; } }
  @media only screen and (min-width: 768px) {
      .loop-page__dish-list {
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 20px; } }
  @media only screen and (min-width: 1248px) {
      .loop-page__dish-list {
        grid-template-columns: repeat(4, 1fr);
        grid-gap: 40px 30px; } }
  .loop-page__dish {
    position: relative; }
  .dish-card--loop {
  height: auto;
  grid-gap: 10px;
  min-width: 162px; }
  .dish-card--loop .dish-card__info--top {
    height: 40px;
    margin-bottom: 0; }
  @media only screen and (min-width: 768px) {
      .dish-card--loop .dish-card__info--top {
        height: 50px; } }
  .dish-card--loop .dish-card__restaurant-logo {
    display: none; }
  .dish-card--loop .dish-card__delivery-time {
    display: none; }
  .dish-card--loop .dish-card__delivery {
    font-size: 0.875rem; }
  @media only screen and (min-width: 768px) {
      .dish-card--loop .dish-card__delivery {
        font-size: 1rem; } }

.loyalty-card-in-progress {
  display: flex;
  flex-direction: column; }
  .loyalty-card-in-progress__steps {
    display: flex;
    justify-content: space-between; }
  .loyalty-card-in-progress__steps p {
      display: flex;
      flex-direction: column;
      align-self: flex-end;
      margin: 0 0 6px;
      font-size: 0.625rem;
      line-height: 0.875rem;
      color: #a6a6a6; }
  .loyalty-card-in-progress__icon svg {
    width: 32px;
    height: 32px; }

.loyalty-card-completed {
  display: flex;
  margin: 20px 0 0;
  justify-content: center;
  align-items: center; }
  .loyalty-card-completed__icon {
    margin-right: 8px; }
  .loyalty-card-completed__title {
    font-size: 0.875rem;
    line-height: 1.25rem;
    color: #717171;
    white-space: normal; }

.loyalty-card {
  width: 100%;
  height: 144px;
  background: #fff;
  border-radius: 5px;
  border: 1px solid #dcdcdc;
  margin: 8px 0;
  padding: 20px 16px; }
  @media only screen and (min-width: 560px) {
    .loyalty-card {
      max-width: 355px;
      width: 355px;
      margin: 12px 16px;
      padding: 20px; } }
  .loyalty-card__restaurant-info {
    display: flex; }
  .loyalty-card__restaurant-logo {
    width: 42px;
    height: 42px;
    border-radius: 60px;
    border: 1px solid #dcdcdc; }
  @media only screen and (min-width: 768px) {
      .loyalty-card__restaurant-logo {
        width: 60px;
        height: 60px; } }
  .loyalty-card__restaurant-description {
    padding: 4px 0 0 12px; }
  @media only screen and (min-width: 768px) {
      .loyalty-card__restaurant-description {
        padding: 6px 0 0 20px; } }
  .loyalty-card__restaurant-title {
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.375rem;
    color: #3e3e3e;
    margin: 0; }
  .loyalty-card__restaurant-reward {
    margin: 0;
    font-weight: 300;
    font-size: 0.875rem;
    line-height: 1.25rem;
    color: #717171; }

.placeholder-loyalty {
  margin: 20px; }
  @media only screen and (min-width: 768px) {
    .placeholder-loyalty {
      display: flex;
      flex-direction: column;
      margin: 80px 30px 20px; } }
  .placeholder-loyalty__how-it-works {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center; }
  @media only screen and (min-width: 1248px) {
      .placeholder-loyalty__how-it-works {
        flex-direction: row; } }
  .placeholder-loyalty__how-it-works-image {
      width: 150px;
      height: 150px;
      border-radius: 150px; }
  .placeholder-loyalty__how-it-works-description-wrapper {
      display: flex;
      flex-direction: column;
      justify-content: center;
      width: 100%;
      max-width: 337px;
      align-items: center;
      margin: 16px 0; }
  @media only screen and (min-width: 1248px) {
        .placeholder-loyalty__how-it-works-description-wrapper {
          width: 337px;
          margin: 0 0 0 56px;
          align-items: flex-start; } }
  .placeholder-loyalty__cards-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center; }
  @media only screen and (min-width: 1248px) {
      .placeholder-loyalty__cards-wrapper {
        display: grid;
        grid-template-columns: repeat(3, 387fr);
        gap: 8px;
        max-width: calc(387px * 3);
        margin: 32px auto 0; } }
  .placeholder-loyalty__text {
    height: 22px;
    margin: 8px 0 0;
    width: 100%; }
  .placeholder-loyalty__text:nth-child(1) {
      width: 200px; }
  .placeholder-loyalty__text:nth-child(3) {
      width: 270px; }
  .placeholder-loyalty__text:nth-child(1), .placeholder-loyalty__text:nth-child(2), .placeholder-loyalty__text:nth-child(3) {
      height: 18px; }
  @media only screen and (min-width: 768px) {
        .placeholder-loyalty__text:nth-child(1), .placeholder-loyalty__text:nth-child(2), .placeholder-loyalty__text:nth-child(3) {
          height: 22px; } }
  .placeholder-loyalty__card {
    width: 100%;
    height: 144px;
    margin: 12px 16px;
    border-radius: 5px; }
  @media only screen and (min-width: 768px) {
      .placeholder-loyalty__card {
        width: 355px; } }

.loyalty {
  padding: 20px; }
  @media only screen and (min-width: 768px) {
    .loyalty {
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px;
      margin: auto;
      padding: 80px 30px 20px; } }
  .loyalty .how-it-works {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center; }
  @media only screen and (min-width: 1248px) {
      .loyalty .how-it-works {
        flex-direction: row;
        justify-content: center;
        text-align: left; } }
  .loyalty .how-it-works__description-wrapper {
      margin: 0; }
  @media only screen and (min-width: 1248px) {
        .loyalty .how-it-works__description-wrapper {
          width: 337px;
          margin-left: 56px; } }
  .loyalty .how-it-works__description-title {
      font-size: 1.375rem;
      color: #3e3e3e;
      font-weight: 500;
      padding: 8px 0;
      margin: 0; }
  @media only screen and (min-width: 768px) {
        .loyalty .how-it-works__description-title {
          font-size: 1.5rem;
          line-height: 1.875rem; } }
  .loyalty .how-it-works__description-text {
      max-width: 355px;
      font-size: 0.875rem;
      line-height: 1.25rem;
      color: #717171;
      margin: 0; }
  @media only screen and (min-width: 768px) {
        .loyalty .how-it-works__description-text {
          font-size: 1rem;
          line-height: 1.375rem; } }
  .loyalty--is-empty {
    display: flex;
    flex-direction: column;
    align-items: center; }
  .loyalty--is-empty .how-it-works {
      max-width: 310px; }
  @media only screen and (min-width: 768px) {
        .loyalty--is-empty .how-it-works {
          flex-direction: column; } }
  @media only screen and (min-width: 768px) {
        .loyalty--is-empty .how-it-works__description-wrapper {
          max-width: 310px;
          margin-left: 0; } }
  .loyalty--is-empty .how-it-works__description-title {
        text-align: center;
        font-size: 1rem;
        line-height: 1.25rem; }
  .loyalty--is-empty .how-it-works__description-text {
        text-align: center;
        font-size: 0.875rem;
        line-height: 1.25rem; }
  .loyalty .loyalty-cards {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 32px auto; }
  @media only screen and (min-width: 1248px) {
      .loyalty .loyalty-cards {
        display: grid;
        grid-template-columns: repeat(3, 387px);
        max-width: calc(387px * 3);
        justify-items: center; } }
  .loyalty-box-shadow {
  -webkit-animation: animateShadow 3s ease-in-out infinite;
          animation: animateShadow 3s ease-in-out infinite; }
  .loyalty-box {
  -webkit-animation: animateBox 3s ease-in-out infinite;
          animation: animateBox 3s ease-in-out infinite; }
  @-webkit-keyframes animateBox {
  50% {
    -webkit-transform: translateY(5px);
            transform: translateY(5px); } }
  @keyframes animateBox {
  50% {
    -webkit-transform: translateY(5px);
            transform: translateY(5px); } }
  @-webkit-keyframes animateShadow {
  50% {
    -webkit-transform: scale(1.12) translate(-9px, -16.5px);
            transform: scale(1.12) translate(-9px, -16.5px); } }
  @keyframes animateShadow {
  50% {
    -webkit-transform: scale(1.12) translate(-9px, -16.5px);
            transform: scale(1.12) translate(-9px, -16.5px); } }

.offline-page {
  position: absolute;
  bottom: 0;
  top: 0;
  right: 0;
  left: 0;
  z-index: 9999;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  text-align: center; }
  .offline-page .offline-page__illustration {
    padding-top: 20px;
    max-width: 200px;
    min-height: 204px;
    align-self: center;
    margin-bottom: 32px; }
  @media only screen and (min-width: 960px) {
      .offline-page .offline-page__illustration {
        min-height: 304px;
        max-width: 300px;
        margin-bottom: 30px; } }
  .offline-page .offline-page__illustration .icon-brand {
      width: 80px;
      margin-bottom: 80px; }
  .offline-page .offline-page__illustration svg {
      width: 100%;
      height: auto; }
  .offline-page__title {
    width: 180px;
    margin: 0 auto 19px;
    line-height: 1.2rem;
    font-size: 1rem; }
  @media only screen and (min-width: 960px) {
      .offline-page__title {
        margin: 0 auto 20px;
        font-size: 1.125rem;
        width: 250px; } }
  .offline-page__subtitle {
    font-size: 0.875rem;
    color: #717171;
    margin: 0 0 20px;
    font-weight: 100;
    line-height: 1.3rem;
    width: 180px;
    align-self: center; }
  @media only screen and (min-width: 960px) {
      .offline-page__subtitle {
        margin: 0 0 20px;
        font-size: 1rem;
        width: 250px; } }

.ifood-box-order {
  margin: 0;
  padding: 0;
  border-radius: 4px;
  align-items: center;
  display: flex;
  width: calc(100% - 15px); }
  .ifood-box-order__title {
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 100;
    color: #717171;
    padding: 0 6px 0 0; }
  .ifood-box-order .ifood-box-code {
    margin: 0;
    padding: 0 20px 0 0px; }
  .ifood-box-order .ifood-box-code__title {
      color: #ea1d2c;
      font-size: 0.75rem;
      line-height: 1rem;
      font-weight: 500; }

.order-card {
  display: flex;
  color: #a6a5a5;
  font-size: 0.875rem;
  font-weight: lighter;
  line-height: 1.2em;
  position: relative;
  padding: 0; }
  @media only screen and (min-width: 768px) and (max-width: 320px) {
    .order-card {
      padding: 0 0 20px; } }
  @media only screen and (min-width: 960px) {
    .order-card {
      padding: 0; } }
  .order-card__date-wrapper {
    padding-right: 20px; }
  .order-card__date {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    width: 54px;
    height: 54px;
    padding: 5px;
    background-color: #f2f2f2;
    border-radius: 4px; }
  .order-card__date > span {
      display: block;
      font-size: 1rem;
      line-height: 1.25rem;
      color: #a6a6a6; }
  .order-card__date > span:first-child {
        color: #3e3e3e;
        font-size: 1.125rem;
        line-height: 1.375rem;
        font-weight: 500; }
  .order-card__details-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%; }
  @media only screen and (min-width: 768px) {
      .order-card__details-wrapper {
        min-width: 300px; } }
  .order-card__details {
    text-align: left; }
  .order-card__restaurant-name {
    color: #3f3e3e;
    font-size: 1.125rem;
    font-weight: 500;
    margin-bottom: 5px;
    min-height: 15px;
    line-height: 1.3125rem;
    width: 90%; }
  .order-card__order-details {
    min-height: 10px;
    font-size: 0.875rem;
    line-height: 1.125rem;
    color: #717171; }
  @media only screen and (min-width: 960px) {
      .order-card__order-details {
        min-height: 20px; } }
  .order-card__status {
    color: #3f3e3e;
    font-size: 0.875rem;
    line-height: 1.125rem;
    padding: 12px 0 0; }
  .order-card__follow {
    color: #3f3e3e;
    font-size: 0.875rem;
    padding: 20px 0 0;
    align-items: center;
    margin: 20px 0 0;
    position: relative;
    border-top: 1px solid #e0e0e0;
    display: grid;
    grid-template-columns: 20px 1fr;
    grid-auto-flow: column dense; }
  @media only screen and (min-width: 768px) {
      .order-card__follow {
        height: auto;
        padding: 20px 20px 0 0; } }
  @media only screen and (min-width: 1248px) {
      .order-card__follow {
        margin: 0;
        display: flex; } }
  .order-card__follow .text {
      font-size: 0.75rem;
      font-weight: 100;
      color: #3e3e3e; }
  .order-card__follow .pulse {
      display: block;
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: #ea1d2c;
      box-shadow: 0 0 0 #650910;
      -webkit-animation: pulse 2s infinite;
              animation: pulse 2s infinite;
      margin: 0 10px 0 0; }
  .order-card__follow .icon-marmita {
      height: 15px;
      width: 16px;
      position: absolute;
      right: 0; }
  @media only screen and (max-width: 559px) {
        .order-card__follow .icon-marmita {
          top: 50%; } }
  .order-card-something-wrong .something-wrong {
    padding: 0; }
  .order-card-something-wrong .something-wrong__title {
      margin: 10px auto 4px; }
  .order-card-something-wrong .something-wrong__image > svg {
      width: 120px;
      height: 100px; }

.orders {
  padding: 20px;
  min-height: 196px; }
  @media only screen and (min-width: 960px) {
    .orders {
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px;
      margin: auto;
      padding: 0 30px 20px; } }
  .orders__item-placeholder {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    background-color: #f6f5f5;
    height: 70px;
    margin: 20px 0; }
  .orders__title {
    display: none;
    font-size: 1.5625rem;
    margin-top: 40px;
    color: #414143; }
  @media only screen and (min-width: 960px) {
      .orders__title {
        display: block;
        display: flex;
        flex-wrap: wrap; } }
  @media only screen and (min-width: 1440px) {
    .orders__items-list {
      grid-template-columns: 1fr 1fr 1fr; } }
  @media only screen and (min-width: 960px) and (max-width: 1440px) {
    .orders__items-list {
      grid-template-columns: 1fr 1fr; } }
  @media only screen and (min-width: 960px) {
    .orders__items-list {
      margin-top: 40px;
      display: grid;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap;
      gap: 20px; } }
  .orders__item {
    border-bottom: 2px solid #f6f5f5;
    padding: 20px 0;
    display: grid;
    align-items: flex-start;
    justify-content: center;
    grid-template: 1fr / 1fr; }
  @media only screen and (min-width: 768px) {
      .orders__item {
        padding: 20px 20px; }
        .orders__item:last-child {
          border-bottom: 1px solid #f6f5f5; } }
  @media only screen and (min-width: 960px) {
      .orders__item {
        min-height: 200px;
        border: 1px solid #dcdcdc;
        border-radius: 4px;
        gap: 14px; }
        .orders__item:last-child {
          border-bottom: 1px solid #dcdcdc; } }
  .orders__item a {
      color: #a6a5a5;
      text-decoration: none; }
  .orders__blank-state {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    flex-direction: column;
    text-align: center;
    margin: auto;
    height: calc(100vh - 120px); }
  @media only screen and (min-width: 1248px) {
      .orders__blank-state {
        height: calc(100vh - 188px); } }
  .orders__blank-state .blank-state__title {
      font-size: 1rem;
      font-weight: 400;
      color: #3e3e3e;
      margin: 30px 0 10px 0; }
  .orders__blank-state .blank-state__description {
      font-size: 0.9375rem;
      font-weight: 300;
      color: #717171;
      width: 80%;
      margin: 0 0 15px;
      line-height: 20px;
      display: block; }
  .orders .pwa-banner-install {
    margin: 40px 0; }
  .orders-something-wrong .something-wrong__image > svg {
    width: 200px;
    height: 200px; }
  @media only screen and (min-width: 1248px) {
    .orders .placeholder-orders-container {
      grid-template-columns: 1fr 1fr 1fr; } }
  @media only screen and (min-width: 960px) and (max-width: 1248px) {
    .orders .placeholder-orders-container {
      grid-template-columns: 1fr 1fr; } }
  @media only screen and (min-width: 960px) {
    .orders .placeholder-orders-container {
      margin-top: 40px;
      display: grid;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap;
      gap: 20px; } }

.payment-methods__content {
  max-width: 640px;
  margin: 0 auto;
  padding: 20px 20px 0 20px; }

.payment-methods__title {
  display: none; }

@media only screen and (min-width: 960px) {
    .payment-methods__title {
      display: block;
      margin-bottom: 0;
      text-transform: initial;
      text-align: initial;
      letter-spacing: -1px;
      font-weight: 500;
      font-size: 2.125rem;
      line-height: 2.625em; } }

@media only screen and (min-width: 960px) {
  .payment-methods .nav-header {
    display: none; } }

.payment-methods .main-layout {
  padding: 0; }

.reauth__message {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, 50%);
          transform: translate(-50%, 50%);
  text-align: center; }

.rating-counter {
  text-align: left;
  width: 100%;
  margin: 15px 0 25px; }
  @media only screen and (min-width: 960px) {
    .rating-counter {
      margin: 0;
      display: flex;
      align-items: center; } }
  .rating-counter__average {
    font-size: 4.375rem;
    font-weight: 500;
    color: #3f3e3e;
    margin-top: 0;
    margin-bottom: 12px;
    line-height: 1; }
  @media only screen and (min-width: 960px) {
      .rating-counter__average {
        color: #e7a74e;
        line-height: 1.5625em;
        font-size: 1.875rem;
        margin: 0 10px 0 0; } }
  .rating-counter__total {
    font-size: 0.9375rem;
    margin-top: 0;
    margin-bottom: 0;
    color: #a6a29f;
    font-weight: 300;
    position: relative;
    top: 3px; }
  @media only screen and (min-width: 960px) {
      .rating-counter__total {
        line-height: 1.5625em;
        font-size: 1rem;
        margin: 0 0 0 10px; } }

.rating-stars {
  width: 120px;
  line-height: 1; }
  @media only screen and (min-width: 960px) {
    .rating-stars {
      height: 25px;
      display: flex;
      align-items: flex-end; } }
  .rating-stars > svg {
    height: auto;
    width: 100%; }

.rating-evaluation-header {
  display: grid;
  font-size: 0.9375rem;
  grid-template-columns: repeat(4, -webkit-max-content);
  grid-template-columns: repeat(4, max-content);
  grid-template-areas: 'rating-username rating-username rating-username' 'rating-rate rating-stars rating-date'; }
  @media only screen and (min-width: 960px) {
    .rating-evaluation-header {
      font-size: 0.9375rem; } }
  .rating-evaluation-header__username {
    font-size: 1rem;
    color: #3f3e3e;
    font-weight: 400;
    margin-top: 0;
    margin-bottom: 5px;
    display: block;
    text-transform: capitalize;
    grid-area: rating-username; }
  @media only screen and (min-width: 960px) {
      .rating-evaluation-header__username {
        font-size: 1.125rem; } }
  .rating-evaluation-header .rating-stars {
    display: inline-block;
    margin: 0 5px;
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
    width: 70px;
    grid-area: rating-stars; }
  .rating-evaluation-header__rate {
    font-weight: 500;
    color: #e7a74e;
    grid-area: rating-rate; }
  .rating-evaluation-header__date {
    display: inline;
    font-weight: 300;
    color: #a6a29f;
    grid-area: rating-date; }
  @media only screen and (min-width: 960px) {
      .rating-evaluation-header__date {
        line-height: 1.375em;
        font-size: 1rem; } }

.rating-restaurant-answer {
  background-color: #f5f0eb;
  padding: 20px;
  border-radius: 4px;
  margin-top: 15px;
  font-size: 0.9375rem;
  line-height: 1.46; }
  @media only screen and (min-width: 960px) {
    .rating-restaurant-answer {
      background-color: transparent;
      padding: 5px 30px 0; } }
  .rating-restaurant-answer__name {
    margin: 0 0 10px 0;
    font-weight: 500;
    color: #3f3e3e;
    font-size: 0.875rem; }
  .rating-restaurant-answer__answer {
    font-weight: 300;
    margin: 0;
    font-size: 0.875rem; }

.rating-evaluations {
  padding: 0;
  width: 100%; }
  .rating-evaluations .rating-evaluation {
    width: 100%; }
  .rating-evaluations .rating-evaluation__wrapper {
      border-bottom: 1px solid #eaeaea;
      padding: 20px 0; }
  .rating-evaluations .rating-evaluation__wrapper:last-child {
        border-bottom: 0; }
  .rating-evaluations .rating-evaluation__user {
      font-weight: 300;
      color: #717171;
      margin-top: 10px;
      margin-bottom: 0;
      line-height: 1.46; }
  .rating-evaluations__answers {
    line-height: normal;
    font-size: 0.875rem;
    color: #595856; }

.rating-container {
  position: relative;
  padding: 40px 20px 0; }
  @media only screen and (min-width: 960px) {
    .rating-container {
      padding: 40px 30px;
      position: relative;
      display: block;
      height: auto; }
      .rating-container::before {
        left: 30px;
        content: '';
        width: calc(100% - 30px);
        height: 0;
        display: block;
        background: transparent;
        position: absolute;
        top: 0;
        border-top: 1px solid #dadada; } }
  @media only screen and (min-width: 1248px) {
    .rating-container {
      padding-right: 0;
      max-width: calc(1366px - 430px);
      margin: auto; } }
  .rating-container__title {
    line-height: normal;
    color: #3f3e3e;
    margin: 0;
    font-size: 1.125rem; }
  @media only screen and (min-width: 960px) {
      .rating-container__title {
        font-size: 2.25rem;
        text-align: left;
        letter-spacing: -1px; } }
  .rating-container__load-more {
    margin: 20px 0 0;
    background: transparent;
    border: 1px solid #eaeaea;
    font-size: 1rem;
    font-weight: normal; }
  .rating-container__load-more:hover:enabled {
      background: #eaeaea; }

.restaurant-status {
  color: #717171;
  display: flex;
  width: 100%;
  align-items: center;
  border-radius: 4px;
  border: 1px solid rgba(113, 113, 113, 0.1);
  background-color: #f6f5f5;
  margin-top: 15px; }
  @media only screen and (min-width: 960px) {
    .restaurant-status {
      margin: 0;
      position: relative;
      top: -30px;
      left: -30px;
      height: 150px;
      width: calc(100% + 30px * 2);
      border-radius: 0;
      border: none;
      background: rgba(0, 0, 0, 0.7);
      order: -1;
      color: #f7f7f7;
      margin-top: 0; } }
  @media only screen and (min-width: 1248px) {
    .restaurant-status {
      width: 100%;
      margin-left: 30px; } }
  @media only screen and (min-width: 960px) {
    .restaurant-status--covered {
      left: 0;
      width: calc(100% + 30px);
      position: absolute;
      top: -180px; } }
  @media only screen and (min-width: 1248px) {
    .restaurant-status--covered {
      width: calc(100% - 30px); } }
  .restaurant-status__icon-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 42px;
    width: 42px;
    border-radius: 100%;
    border: 1px solid rgba(113, 113, 113, 0.1);
    margin: 20px; }
  @media only screen and (min-width: 960px) {
      .restaurant-status__icon-container {
        border: 1px solid #f7f7f7;
        margin: 30px;
        height: 70px;
        width: 70px; } }
  .restaurant-status__icon {
    height: 42px;
    width: 42px; }
  @media only screen and (min-width: 960px) {
      .restaurant-status__icon {
        height: 110px;
        width: 110px; }
        .restaurant-status__icon svg {
          color: #f7f7f7;
          fill: #f7f7f7; } }
  .restaurant-status__description-title {
    font-size: 1rem;
    font-weight: 500; }
  @media only screen and (min-width: 960px) {
      .restaurant-status__description-title {
        font-size: 1.5625rem; } }
  .restaurant-status__description-message {
    font-size: 0.9375rem;
    font-weight: 300; }
  @media only screen and (min-width: 960px) {
      .restaurant-status__description-message {
        font-size: 1.25rem;
        margin-top: 6px; } }
  .restaurant-status__description-message--out-of-range {
      cursor: pointer; }
  @media only screen and (max-width: 959px) {
    .restaurant-status--green .restaurant-status__icon-container {
      border-color: #50a773; }
    .restaurant-status--green .restaurant-status__icon svg {
      color: #50a773;
      fill: #50a773; } }
  @media only screen and (max-width: 959px) {
    .restaurant-status--red .restaurant-status__icon-container {
      border-color: #b42b2b; }
    .restaurant-status--red .restaurant-status__icon svg {
      color: #b42b2b;
      fill: #b42b2b; } }

.voucher-widget__available-voucher {
  padding: 8px 12px;
  margin-bottom: 16px;
  color: #2e6788;
  background: #eef3f5;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 0.75rem;
  border-radius: 4px;
  font-weight: 300; }
  .voucher-widget__available-voucher .icon-marmita {
    height: 12px;
    width: 12px;
    margin-right: 6px; }
  .voucher-widget__available-voucher .icon-marmita svg {
      color: #2e6788;
      fill: #2e6788; }
  @media only screen and (min-width: 960px) {
    .voucher-widget__available-voucher {
      font-size: 0.875rem; } }

.restaurant-schedule .marmita-collapse {
  left: -20px;
  margin-bottom: 20px;
  position: relative;
  width: 100vw; }
  @media only screen and (min-width: 960px) {
    .restaurant-schedule .marmita-collapse {
      width: 100%; }
      .restaurant-schedule .marmita-collapse canvas {
        display: none; } }
  .restaurant-schedule .marmita-collapse__button {
    color: #595856; }
  .restaurant-schedule .marmita-collapse__title {
    font-size: 1rem;
    font-weight: 500; }
  .restaurant-schedule .marmita-collapse__content {
    max-height: 45px;
    transition: max-height 1s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .restaurant-schedule .marmita-collapse--open .marmita-collapse__content {
    max-height: 350px;
    transition: max-height 1s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .restaurant-schedule .marmita-collapse--open .restaurant-schedule__collapse-content--hidden {
    height: 100%;
    line-height: 20px;
    -webkit-animation: fadeIn 0.5s ease 1 forwards;
            animation: fadeIn 0.5s ease 1 forwards; }
  .restaurant-schedule__collapse-content {
  display: flex; }
  .restaurant-schedule__collapse-content--hidden {
    transition: height 0.3s ease;
    height: 0;
    opacity: 0; }
  .restaurant-schedule__collapse-content span {
    display: inline-block;
    font-size: 0.9375rem;
    font-weight: 300;
    margin-bottom: 10px;
    margin-top: 10px; }
  .restaurant-schedule__collapse-content span:last-child {
      margin-bottom: 0; }
  .restaurant-schedule__collapse-content__day {
    width: 80px; }

.restaurant-info-more {
  transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  padding: 0 20px; }
  @media only screen and (min-width: 960px) {
    .restaurant-info-more {
      padding: 0; } }
  .restaurant-info-more__description {
    color: #3f3e3e;
    font-size: 0.9375rem;
    font-weight: 300;
    line-height: 18px;
    margin: 20px 0; }
  @media only screen and (min-width: 960px) {
      .restaurant-info-more__description {
        display: none; } }
  .restaurant-info-more__super {
    display: flex;
    flex-direction: column;
    padding: 20px;
    background: #f7f7f7;
    margin-bottom: 20px;
    max-width: 500px;
    width: 100%;
    border-radius: 4px; }
  .restaurant-info-more__super .icon-marmita {
      margin-right: 20px; }
  .restaurant-info-more__super .icon-marmita svg {
        color: #e0040b;
        fill: #e0040b; }
  .restaurant-info-more__super-wrapper {
      display: flex;
      align-items: center; }
  .restaurant-info-more__super-wrapper svg {
        width: 30px; }
  .restaurant-info-more__super-divisor {
      margin-top: 10px; }
  .restaurant-info-more__super-title {
      color: #3e3e3e;
      font-size: 0.9375rem;
      font-weight: bold;
      margin: 0; }
  .restaurant-info-more__super-description {
      color: #3e3e3e;
      font-size: 0.8125rem;
      line-height: 18px;
      margin: 5px 0 0 0;
      font-weight: 200; }
  .restaurant-info-more__payment {
    padding-bottom: 20px;
    color: #595856; }
  .restaurant-info-more__payment-type-title {
    font-size: 1rem;
    font-weight: 500;
    margin: 0 0 20px 0; }
  .restaurant-info-more__payment-type {
    padding: 20px 0;
    border-top: 1px solid #f5f0eb; }
  .restaurant-info-more__payment-type:last-child {
      border-bottom: 1px solid #f5f0eb; }
  .restaurant-info-more__payment-type-card {
    align-items: center;
    background: #f5f0eb;
    border-radius: 4px;
    color: #3f3e3e;
    display: inline-flex;
    font-size: 0.75rem;
    font-weight: 300;
    justify-content: space-between;
    margin: 0 10px 10px 0;
    padding: 10px; }
  .restaurant-info-more__payment-type-card .icon-marmita {
      height: 16px;
      margin-right: 5px;
      width: 20px; }
  .restaurant-info-more__payment-subtype {
    font-size: 1rem;
    margin: 20px 0 10px; }
  .restaurant-info-more__footer-hint {
    color: #a6a5a5;
    font-size: 0.8125rem;
    line-height: 18px;
    margin: auto 0;
    padding-bottom: 20px; }
  @media only screen and (max-width: 959px) {
      .restaurant-info-more__footer-hint {
        text-align: center; } }
  .restaurant-info-more__others-information {
    padding: 0 0 32px; }
  .restaurant-info-more__others-information-title {
      font-weight: 500;
      font-size: 1.125rem;
      line-height: 1.375rem;
      color: #3e3e3e;
      margin: 0 0 16px; }
  .restaurant-info-more__others-information-address {
      font-size: 1rem;
      line-height: 1.25rem;
      font-weight: 100;
      color: #3e3e3e;
      display: block;
      padding: 0 0 10px; }
  .payment-tag {
  display: inline-block;
  background-color: #f6f5f5;
  padding: 8px;
  margin: 4px 4px 4px 0;
  border-radius: 4px; }
  .payment-tag img {
    display: inline-block;
    height: 20px;
    margin-right: 8px;
    position: relative; }
  .payment-tag img,
  .payment-tag small {
    font-size: 1rem;
    line-height: 1em;
    vertical-align: middle; }

.restaurant-info {
  border-bottom: 8px solid #f7f7f7;
  border-radius: 4px 4px 0 0;
  color: #595856;
  padding: 20px 20px 0 20px;
  margin-top: 60px;
  position: relative;
  top: -5px;
  margin-bottom: -5px;
  min-height: 165px;
  display: flex;
  flex-direction: column; }
  .restaurant-info > *:nth-child(n + 8) {
    order: 1; }
  @media only screen and (min-width: 960px) {
    .restaurant-info.restaurant-info--has-status {
      padding: 150px 30px 20px 0; } }
  @media only screen and (min-width: 768px) {
    .restaurant-info {
      padding: 40px 20px 0 20px; } }
  @media only screen and (min-width: 960px) {
    .restaurant-info {
      border-bottom: 0;
      border-radius: 0;
      padding: 0;
      margin: 30px 0 0;
      top: 0; } }
  @media only screen and (min-width: 1248px) {
    .restaurant-info {
      max-width: calc(1366px - 430px);
      margin: auto;
      margin-top: 30px; } }
  .restaurant-info__wrapper-padded {
    position: relative;
    display: flex;
    flex-direction: column;
    padding-top: 15px; }
  @media only screen and (min-width: 960px) {
      .restaurant-info__wrapper-padded {
        padding: 0 30px; } }
  @media only screen and (min-width: 1248px) {
      .restaurant-info__wrapper-padded {
        padding-right: 0; } }
  .restaurant-info__cover {
    display: none;
    position: relative;
    top: -30px;
    height: 150px;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover; }
  @media only screen and (min-width: 960px) {
      .restaurant-info__cover {
        display: flex; } }
  @media only screen and (min-width: 1248px) {
      .restaurant-info__cover {
        margin-left: 30px;
        width: calc(100% - 30px); } }
  .restaurant-info__logo {
    background: #fff;
    border-radius: 100%;
    border: 1px solid #f5f0eb;
    height: 50px;
    width: 50px;
    left: 50%;
    overflow: hidden;
    position: absolute;
    top: -40px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%); }
  @media only screen and (min-width: 768px) {
      .restaurant-info__logo {
        top: -60px; } }
  @media only screen and (min-width: 960px) {
      .restaurant-info__logo {
        display: none; } }
  .restaurant-info__logo img {
      max-width: 100%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
  .restaurant-info__title {
    align-items: center;
    color: #3f3e3e;
    display: flex;
    font-size: 1.25rem;
    margin: 0 0 2px 0;
    font-weight: normal;
    min-width: 60%; }
  @media only screen and (min-width: 960px) {
      .restaurant-info__title {
        font-size: 2rem;
        letter-spacing: -1px; } }
  .restaurant-info__description {
    display: none;
    line-height: 23px;
    font-size: 1rem;
    font-weight: 400;
    color: #717171;
    margin: 2px 0 8px 0;
    padding: 0;
    width: 100%; }
  .restaurant-info__description p {
      margin: 0; }
  @media only screen and (min-width: 960px) {
      .restaurant-info__description {
        display: block;
        cursor: pointer; }
        .restaurant-info__description p {
          margin-bottom: 14px; } }
  .restaurant-info__subtitle {
    color: #717171;
    font-size: 0.875rem;
    margin: 0 0 4px 0;
    min-width: 50%; }
  @media only screen and (min-width: 960px) {
      .restaurant-info__subtitle {
        font-size: 1rem;
        font-weight: 300;
        margin-bottom: 0; } }
  .restaurant-info__subtitle .btn.btn--link {
      color: inherit;
      font-size: inherit;
      margin: 0 0 4px 0;
      font-weight: inherit; }
  .restaurant-info__subtitle .btn {
      padding: 0;
      height: 19px;
      vertical-align: middle; }
  .restaurant-info .restaurant-rating {
    min-height: 15px;
    min-width: 15px;
    font-weight: 400;
    height: auto; }
  .restaurant-info .restaurant-rating__button {
      height: auto;
      padding: 2px;
      font-size: 1rem; }
  @media only screen and (min-width: 960px) {
      .restaurant-info .restaurant-rating {
        position: relative;
        top: 0;
        right: 0; } }
  .restaurant-info__super {
    bottom: 50px;
    color: #e0040b;
    font-size: 0.875rem;
    right: 20px;
    vertical-align: baseline; }
  .restaurant-info__super svg {
      color: #e0040b;
      fill: #e0040b; }
  .restaurant-info__super--desktop {
      display: none; }
  @media only screen and (min-width: 960px) {
      .restaurant-info__super {
        position: unset;
        padding-left: 15px;
        vertical-align: middle; }
        .restaurant-info__super .icon-marmita {
          display: flex; }
          .restaurant-info__super .icon-marmita svg {
            height: 24px;
            width: 24px; }
        .restaurant-info__super--desktop {
          display: unset; }
        .restaurant-info__super--mobile {
          display: none; } }
  @media only screen and (min-width: 960px) {
    .restaurant-info .marmita-minitag {
      font-size: 0.625rem;
      height: 25px;
      line-height: 23px;
      color: #3e3e3e; } }
  .restaurant-info .btn.btn--link.restaurant-info__link-more {
    color: #a6a6a6;
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    padding: 8px 0;
    height: auto;
    margin: 8px 0; }
  @media only screen and (min-width: 960px) {
      .restaurant-info .btn.btn--link.restaurant-info__link-more {
        margin: 0 0 20px 0; } }
  @media only screen and (min-width: 960px) {
    .restaurant-info .restaurant-status {
      order: -1; } }
  .restaurant-info.restaurant-info--loading > * {
    display: inline-block; }
  .restaurant-info.restaurant-info--loading .restaurant-info__link-more {
    display: block;
    margin: 30px 0 0;
    width: 50px; }
  @media only screen and (min-width: 960px) {
    .restaurant-info.restaurant-info--loading {
      flex-direction: column; }
      .restaurant-info.restaurant-info--loading .restaurant-info__logo {
        display: none; }
      .restaurant-info.restaurant-info--loading .restaurant-rating {
        display: block;
        width: 100px;
        margin: 10px 0; } }
  .restaurant-info__rating {
    margin-bottom: 8px; }
  .restaurant-info__rating .restaurant-rating__button {
      padding-left: 0; }

@media only screen and (max-width: 959px) {
  .menu-search-hint-container .marmita-hint {
    width: calc(100% - 40px);
    border-radius: 0 0 4px 4px; } }

.restaurant-header {
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  height: 60px;
  overflow: hidden;
  z-index: 9997; }
  .restaurant-header:not(.restaurant-header--transparent) {
    border: 1px solid #f5f0eb; }
  @media only screen and (min-width: 960px) {
    .restaurant-header {
      display: none; } }
  .restaurant-header .nav-header {
    transition: background-color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .restaurant-header .nav-header__title {
      -webkit-transform: translateY(0);
              transform: translateY(0);
      transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .restaurant-header .nav-header__right-button {
      left: 0; }
  .restaurant-header .nav-header__right-button .icon-marmita {
        -webkit-transform: scale(1);
                transform: scale(1);
        height: 22px;
        width: 22px; }
  .restaurant-header--transparent {
    z-index: unset; }
  .restaurant-header--transparent .nav-header {
      background: transparent; }
  .restaurant-header--transparent .nav-header__title {
        -webkit-transform: translateY(50px);
                transform: translateY(50px); }
  .restaurant-header--transparent .nav-header .btn-icon .icon-marmita svg {
        color: #fff;
        fill: #fff; }
  .restaurant-header__image-container--with-cover:before {
    display: none; }
  .restaurant-header__image-container--with-cover .restaurant-header__image {
    opacity: 1;
    -webkit-filter: none;
            filter: none; }
  .restaurant-header__image-container {
    background: #fed298;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }
  .restaurant-header__image-container:after {
      background: rgba(0, 0, 0, 0.2);
      content: '';
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%; }
  .restaurant-header__image {
    display: block;
    -webkit-filter: blur(20px);
            filter: blur(20px);
    height: auto;
    left: 50%;
    opacity: 0.7;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 110%; }
  .restaurant-header__image-fallback {
    background: #e5e5e5;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }
  .restaurant-header .marmita-hint--bottom:before {
    left: unset;
    right: 8px; }

.fast-menu-mobile {
  position: relative; }
  .fast-menu-mobile .marmita-scrollbox {
    height: 46px; }
  @media only screen and (min-width: 768px) {
    .fast-menu-mobile .marmita-scrollbox__container {
      padding: 0 20px; } }
  .fast-menu-mobile .btn {
    display: inline-block;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    color: #a6a5a5;
    height: 44px;
    margin: 0;
    padding: 0 10px;
    border-radius: 0; }
  .fast-menu-mobile--selected {
    border-bottom: 2px solid #ea1d2c; }
  .fast-menu-mobile--selected .btn {
      color: #ea1d2c; }

.delivery-methods-modal {
  padding: 20px 10px 8px; }
  @media (min-width: 768px) {
    .delivery-methods-modal {
      width: 400px;
      height: 300px; } }
  .delivery-methods-modal__title {
    font-size: 1.125rem;
    line-height: 1.375rem;
    color: #3e3e3e;
    margin: 0 0 15px 0;
    padding: 0;
    text-align: center;
    font-weight: 500; }
  .delivery-methods-modal__confirm-btn {
    margin: 32px auto 0;
    width: 90%;
    display: block; }
  .delivery-methods-modal__option {
    display: flex;
    align-items: center;
    position: relative;
    padding: 0 18px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #fff; }
  .delivery-methods-modal__option--checked {
      border: solid 1px #ea1d2c; }
  .delivery-methods-modal__option--disabled {
      opacity: 0.5; }
  .delivery-methods-modal__option-label {
    display: flex;
    flex-direction: column;
    margin-left: 13px; }
  .delivery-methods-modal__label-title {
    font-size: 0.875rem;
    line-height: 20px;
    color: #3e3e3e; }
  .delivery-methods-modal__label-description {
    font-size: 0.875rem;
    line-height: 18px;
    color: #717171; }
  .delivery-methods-modal__radio {
    -webkit-appearance: none;
    margin: 0 0 0 auto;
    width: 24px;
    height: 24px;
    border-radius: 100%;
    background: #f2f2f2;
    border-color: #f2f2f2;
    cursor: pointer; }
  .delivery-methods-modal__radio:checked {
      border: solid 6px #ea1d2c;
      background-color: #ffffff; }

.restaurant-scheduling-button {
  display: grid;
  grid-template-columns: 1fr 14px;
  align-items: center;
  padding: 12px 10px;
  background: #fff;
  border: 1px solid #f2f2f2;
  box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.05);
  border-radius: 4px;
  cursor: pointer; }
  .restaurant-scheduling-button:disabled {
    cursor: default; }
  .restaurant-scheduling-button__wrapper {
    display: grid; }
  .restaurant-scheduling-button__subtitle {
    display: flex;
    align-items: center;
    margin-top: 2px; }
  .restaurant-scheduling-button__day {
    font-size: 0.75rem;
    font-weight: 100;
    text-align: left;
    color: #3e3e3e; }
  .restaurant-scheduling-button__time {
    text-align: left;
    color: #717171;
    font-size: 0.75rem;
    padding: 0 2px 0 0px; }
  .restaurant-scheduling-button__price {
    color: #717171;
    font-size: 0.75rem; }
  .restaurant-scheduling-button__price--free {
      color: #50a773; }
  .restaurant-scheduling-button__icon {
    height: 24px;
    width: 24px; }
  .restaurant-scheduling-button__icon svg {
      color: #ea1d2c;
      fill: #ea1d2c; }

.restaurant-delivery-button {
  background: #fff;
  border: 1px solid #f2f2f2;
  box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.05);
  border-radius: 4px;
  display: grid;
  grid-template: 1fr/ 1fr 20px;
  align-items: center;
  font-size: 14px;
  line-height: 18px;
  color: #3f3e3e; }
  @media (min-width: 768px) {
    .restaurant-delivery-button {
      cursor: pointer; } }
  @media only screen and (min-width: 960px) {
    .restaurant-delivery-button {
      grid-template: 1fr / 20px 1fr 20px; } }
  .restaurant-delivery-button__icon {
    display: none; }
  @media only screen and (min-width: 960px) {
      .restaurant-delivery-button__icon {
        display: block; } }
  .restaurant-delivery-button__arrow-icon {
    max-width: 24px;
    fill: #ea1d2c;
    color: #ea1d2c; }

.restaurant-scheduling {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 16px;
  padding: 20px 16px; }
  @media (max-width: 370px) {
    .restaurant-scheduling {
      justify-content: center; } }
  @media only screen and (min-width: 375px) and (max-width: 960px) {
    .restaurant-scheduling {
      grid-template-columns: 40% 1fr; } }
  @media (min-width: 768px) {
    .restaurant-scheduling {
      padding: 0;
      margin-left: auto; } }
  @media only screen and (min-width: 960px) {
    .restaurant-scheduling {
      grid-template-columns: 140px 1fr; } }

.restaurant-menu-group {
  position: relative; }
  .restaurant-menu-group::before {
    content: '';
    width: calc(100% - 40px);
    height: 0;
    display: block;
    background: transparent;
    position: absolute;
    left: 20px;
    top: 0;
    border-top: 1px solid #f5f0eb; }
  @media only screen and (min-width: 960px) {
    .restaurant-menu-group {
      padding: 0 30px; } }
  @media only screen and (min-width: 1248px) {
    .restaurant-menu-group {
      max-width: calc(1366px - 430px);
      margin: auto; } }
  @media only screen and (min-width: 1440px) {
    .restaurant-menu-group {
      padding-right: 0; } }
  .restaurant-menu-group::before {
    display: none; }
  .restaurant-menu-group__title {
    position: relative;
    font-weight: 500;
    font-size: 1.125rem;
    padding: 32px 20px 20px 20px;
    margin: 0;
    color: #3f3e3e;
    width: 100%; }
  .restaurant-menu-group__title::after {
      content: '';
      width: calc(100% - 40px);
      height: 0;
      display: block;
      background: transparent;
      position: absolute;
      left: 20px;
      bottom: 0;
      border-top: 1px solid #f5f0eb; }
  @media only screen and (min-width: 743px) {
      .restaurant-menu-group__title:after {
        display: none; } }
  @media only screen and (min-width: 960px) {
      .restaurant-menu-group__title {
        font-size: 1.5rem;
        letter-spacing: -1px;
        padding: 40px 0 20px 0; } }
  .restaurant-menu-group__container {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(1, minmax(320px, 1fr));
    grid-gap: 0;
    margin: 0; }
  @media only screen and (min-width: 560px) {
      .restaurant-menu-group__container {
        grid-template-columns: repeat(1, minmax(420px, 1fr)); } }
  @media only screen and (min-width: 743px) {
      .restaurant-menu-group__container {
        grid-template-columns: repeat(2, minmax(320px, 1fr));
        grid-gap: 30px;
        padding: 0 20px; } }
  @media only screen and (min-width: 960px) {
      .restaurant-menu-group__container {
        grid-template-columns: repeat(2, 1fr);
        padding: 0; } }

.restaurant-menu-group-market {
  position: relative; }
  .restaurant-menu-group-market::before {
    content: '';
    width: calc(100% - 40px);
    height: 0;
    display: block;
    background: transparent;
    position: absolute;
    left: 20px;
    top: 0;
    border-top: 1px solid #f5f0eb; }
  @media only screen and (min-width: 960px) {
    .restaurant-menu-group-market {
      padding: 0 30px; } }
  @media only screen and (min-width: 1248px) {
    .restaurant-menu-group-market {
      max-width: calc(1366px - 430px);
      margin: auto; } }
  @media only screen and (min-width: 1440px) {
    .restaurant-menu-group-market {
      padding-right: 0; } }
  .restaurant-menu-group-market::before {
    display: none; }
  .restaurant-menu-group-market__title {
    position: relative;
    font-weight: 500;
    font-size: 1.125rem;
    padding: 32px 20px 20px 20px;
    margin: 0;
    color: #3f3e3e;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .restaurant-menu-group-market__title::after {
      content: '';
      width: calc(100% - 40px);
      height: 0;
      display: block;
      background: transparent;
      position: absolute;
      left: 20px;
      bottom: 0;
      border-top: 1px solid #f5f0eb; }
  @media only screen and (min-width: 743px) {
      .restaurant-menu-group-market__title:after {
        display: none; } }
  @media only screen and (min-width: 960px) {
      .restaurant-menu-group-market__title {
        font-size: 1.5rem;
        letter-spacing: -1px;
        padding: 40px 0 20px 0; } }
  .restaurant-menu-group-market .carousel__controller--right {
    right: -25px;
    top: 40%; }
  .restaurant-menu-group-market .carousel__controller--left {
    left: -25px;
    top: 40%; }
  .restaurant-menu-group-market .see-all-cards {
    display: flex;
    border: 1px solid #f2f2f2;
    box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.05);
    border-radius: 4px;
    padding: 0;
    height: 264px;
    min-width: 160px;
    align-items: center;
    justify-content: center; }
  @media only screen and (min-width: 560px) {
      .restaurant-menu-group-market .see-all-cards {
        min-width: 180px; } }
  @media only screen and (min-width: 768px) {
      .restaurant-menu-group-market .see-all-cards {
        height: 300px; } }
  .restaurant-menu-group-market__container {
    width: 100%;
    display: grid;
    grid-gap: 0;
    margin: 0;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
  @media only screen and (min-width: 743px) {
      .restaurant-menu-group-market__container {
        grid-gap: 30px;
        padding: 0 20px;
        grid-template-columns: repeat(4, minmax(160px, 1fr)); } }
  @media only screen and (min-width: 960px) {
      .restaurant-menu-group-market__container {
        grid-gap: 12px;
        padding: 0; } }
  .restaurant-menu-group-market__container .restaurant-menu-group-market__title {
      padding-top: 60px; }
  .restaurant-menu-group-market .dish-card--vertical {
    grid-gap: 8px;
    height: 264px;
    grid-template: 'image' 146px 'info' 1fr; }
  @media only screen and (min-width: 560px) {
      .restaurant-menu-group-market .dish-card--vertical {
        min-width: 180px; } }
  @media only screen and (min-width: 768px) {
      .restaurant-menu-group-market .dish-card--vertical {
        height: 300px;
        grid-gap: 16px;
        grid-template: 'image' 150px 'info' 1fr; } }
  .restaurant-menu-group-market .dish-card--vertical .dish-card__image {
      height: 100%; }
  .restaurant-menu-group-market .dish-card--vertical .dish-card__closed-overlay {
      height: 146px; }
  @media only screen and (min-width: 768px) {
        .restaurant-menu-group-market .dish-card--vertical .dish-card__closed-overlay {
          height: 150px; } }
  .restaurant-menu-group-market .dish-card--vertical .dish-card__info {
      grid-auto-rows: auto; }
  .restaurant-menu-group-market .dish-card--vertical .dish-card__info--top {
      margin-bottom: 0px;
      height: 76px; }
  .restaurant-menu-group-market .marmita-scrollbox {
    height: 300px; }
  .restaurant-menu-group-market .marmita-scrollbox__item {
      display: flex;
      align-items: center; }
  .restaurant-menu-group-market .marmita-scrollbox__container {
      grid-auto-flow: column;
      display: grid;
      grid-gap: 12px;
      margin: 0;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      padding: 0 20px; }
  @media only screen and (min-width: 560px) {
        .restaurant-menu-group-market .marmita-scrollbox__container {
          grid-template-columns: repeat(auto-fit, 180px); } }
  @media only screen and (min-width: 743px) {
        .restaurant-menu-group-market .marmita-scrollbox__container {
          padding: 0 20px;
          grid-template-columns: repeat(auto-fit, 180px); } }
  @media only screen and (min-width: 960px) {
        .restaurant-menu-group-market .marmita-scrollbox__container {
          padding: 0; } }
  .restaurant-menu-group-market .marmita-scrollbox__container > * {
        margin-right: 0;
        margin-left: 0; }
  .restaurant-menu-group-market__list {
    position: relative;
    padding: 130px 0 40px 0; }
  .restaurant-menu-group-market__list .restaurant-menu-group__title {
      display: none; }
  .restaurant-menu-group-market__list-header-wrapper {
    padding: 0 20px;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative; }
  @media only screen and (min-width: 960px) {
      .restaurant-menu-group-market__list-header-wrapper {
        padding: 0 30px; } }
  @media only screen and (min-width: 1248px) {
      .restaurant-menu-group-market__list-header-wrapper {
        max-width: calc(1366px - 430px);
        margin: auto; } }
  @media only screen and (min-width: 1440px) {
      .restaurant-menu-group-market__list-header-wrapper {
        padding-right: 0; } }
  .restaurant-menu-group-market__list-header-wrapper .btn-icon {
      width: 30px;
      height: 30px; }
  .restaurant-menu-group-market__list-header-wrapper .btn-icon .icon-marmita {
        height: 24px;
        width: 24px; }
  @media only screen and (min-width: 960px) {
        .restaurant-menu-group-market__list-header-wrapper .btn-icon {
          width: 40px;
          height: 40px; }
          .restaurant-menu-group-market__list-header-wrapper .btn-icon .icon-marmita {
            height: 40px;
            width: 40px; } }
  .restaurant-menu-group-market__list-title {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
  @media only screen and (min-width: 960px) {
      .restaurant-menu-group-market__list-title {
        position: relative;
        -webkit-transform: none;
                transform: none;
        left: auto;
        top: auto; } }
  .restaurant-menu-group-market__list-header {
    position: fixed;
    top: 0;
    height: 60px;
    width: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background-color: white;
    z-index: 10;
    box-shadow: inset 0 -1px 0 #dcdcdc;
    color: #3e3e3e;
    font-size: 1rem;
    font-weight: 500; }
  @media only screen and (min-width: 960px) {
      .restaurant-menu-group-market__list-header {
        height: 80px;
        font-weight: 500;
        font-size: 1.5rem;
        letter-spacing: -1px; } }
  .restaurant-menu-group-market__list-header-search-wrapper {
    width: 100%;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative; }
  @media only screen and (min-width: 960px) {
      .restaurant-menu-group-market__list-header-search-wrapper {
        padding: 0 30px;
        margin: auto;
        flex-direction: row; } }
  @media only screen and (min-width: 1248px) {
      .restaurant-menu-group-market__list-header-search-wrapper {
        max-width: calc(1366px - 430px);
        margin: auto; } }
  @media only screen and (min-width: 1440px) {
      .restaurant-menu-group-market__list-header-search-wrapper {
        padding-right: 0; } }
  .restaurant-menu-group-market__list-header-search-wrapper .restaurant-menu-search {
      border-bottom: 1px solid #e6e6e6;
      border-radius: 0;
      width: 100%; }
  .restaurant-menu-group-market__list-header-search-wrapper .restaurant-menu-search input {
        height: 50px;
        border-radius: 0;
        padding-right: 68px; }
  @media only screen and (min-width: 960px) {
          .restaurant-menu-group-market__list-header-search-wrapper .restaurant-menu-search input {
            border: 1px solid #f2f2f2;
            background: #f7f7f7;
            border-radius: 4px; } }
  .restaurant-menu-group-market__list-header-search-wrapper .restaurant-menu-search__field {
        width: 100%; }
  @media only screen and (min-width: 960px) {
        .restaurant-menu-group-market__list-header-search-wrapper .restaurant-menu-search {
          width: 45%;
          position: absolute;
          right: 140px;
          top: -62px;
          border-bottom: none; } }
  .restaurant-menu-group-market__list-modal {
  background-color: rgba(255, 255, 255, 0.7); }
  .restaurant-menu-group-market__list-modal > .ReactModal__Content--after-open {
    border-radius: 0; }
  @media only screen and (min-width: 960px) {
      .restaurant-menu-group-market__list-modal > .ReactModal__Content--after-open {
        width: 100%;
        max-width: 940px;
        height: calc(100% - 40px);
        top: 20px;
        -webkit-transform: translateX(-50%);
                transform: translateX(-50%);
        left: 50%;
        position: absolute;
        border: 1px solid #f2f2f2;
        box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.05);
        border-radius: 4px; }
        .restaurant-menu-group-market__list-modal > .ReactModal__Content--after-open .marmita-modal__inner-content {
          scrollbar-color: #dcdcdc transparent; }
          .restaurant-menu-group-market__list-modal > .ReactModal__Content--after-open .marmita-modal__inner-content::-webkit-scrollbar-track {
            border-radius: 50px;
            background-color: transparent; }
          .restaurant-menu-group-market__list-modal > .ReactModal__Content--after-open .marmita-modal__inner-content::-webkit-scrollbar {
            width: 4px;
            background-color: transparent; }
          .restaurant-menu-group-market__list-modal > .ReactModal__Content--after-open .marmita-modal__inner-content::-webkit-scrollbar-thumb {
            border-radius: 50px;
            background-color: #dcdcdc; } }
  @media only screen and (min-width: 960px) and (min-width: 1248px) {
    .restaurant-menu-group-market__list-modal > .ReactModal__Content--after-open {
      max-width: 1070px; } }

.restaurant-promotions {
  background: white;
  padding: 0 0 15px 0;
  width: 100%; }
  @media only screen and (min-width: 960px) {
    .restaurant-promotions {
      padding: 0 0 15px 0; } }
  @media only screen and (min-width: 560px) {
    .restaurant-promotions .dish-card--vertical {
      height: 336px;
      grid-gap: 23px; }
    .restaurant-promotions .dish-card__price {
      padding-top: 3px; } }
  @media only screen and (max-width: 959px) {
    .restaurant-promotions .carousel__wrapper {
      padding: 0 20px; } }
  .restaurant-promotions .carousel__controller--left {
    -webkit-transform: translateY(-52px) rotateZ(90deg);
            transform: translateY(-52px) rotateZ(90deg); }
  @media only screen and (min-width: 560px) {
      .restaurant-promotions .carousel__controller--left {
        -webkit-transform: translateY(-34px) rotateZ(90deg);
                transform: translateY(-34px) rotateZ(90deg); } }
  @media only screen and (min-width: 960px) {
      .restaurant-promotions .carousel__controller--left {
        left: -25px; } }
  .restaurant-promotions .carousel__controller--right {
    -webkit-transform: translateY(-52px) rotateZ(-90deg);
            transform: translateY(-52px) rotateZ(-90deg); }
  @media only screen and (min-width: 560px) {
      .restaurant-promotions .carousel__controller--right {
        -webkit-transform: translateY(-34px) rotateZ(-90deg);
                transform: translateY(-34px) rotateZ(-90deg); } }
  @media only screen and (min-width: 960px) {
      .restaurant-promotions .carousel__controller--right {
        right: -25px; } }
  .restaurant-promotions .restaurant-menu-group__title {
    padding: 32px 0px 20px 20px; }
  .restaurant-promotions .restaurant-menu-group__title:after {
      display: none; }
  @media only screen and (min-width: 960px) {
      .restaurant-promotions .restaurant-menu-group__title {
        padding-left: 0; } }

.restaurant-menu {
  padding-bottom: 40px; }
  .restaurant-menu__header {
    align-items: center;
    background-color: white;
    z-index: 9994;
    transition: height ease-in-out 200ms; }
  .restaurant-menu__header--sticky {
      border-bottom: 1px solid #e6e6e6; }
  @media only screen and (min-width: 960px) {
      .restaurant-menu__header {
        display: flex;
        height: 64px; } }
  .restaurant-menu__header-wrapper {
      width: 100%; }
  @media only screen and (min-width: 768px) {
        .restaurant-menu__header-wrapper {
          display: flex;
          padding: 0 30px; } }
  @media only screen and (min-width: 1248px) {
        .restaurant-menu__header-wrapper {
          padding-right: 0;
          max-width: calc(1366px - 430px);
          margin: auto; } }
  .restaurant-menu__header .marmita-dropdown-menu__list {
      max-height: calc(3.5 * 56px); }
  @media only screen and (min-width: 960px) {
        .restaurant-menu__header .marmita-dropdown-menu__list {
          max-height: calc(6.5 * 56px); } }
  .restaurant-menu__header .marmita-dropdown-menu .btn {
      padding: 0 20px; }
  @media only screen and (min-width: 960px) {
        .restaurant-menu__header .marmita-dropdown-menu .btn {
          padding: 0;
          padding-left: 30px; } }
  .restaurant-menu__fast-menu {
    flex: 2;
    border-bottom: 1px solid #e6e6e6; }
  @media only screen and (min-width: 960px) {
      .restaurant-menu__fast-menu {
        transition: all ease-in-out 200ms;
        max-width: 0;
        visibility: hidden; }
        .restaurant-menu__fast-menu--sticky {
          visibility: visible;
          display: flex;
          max-width: 1000px; } }
  .restaurant-menu__menu-search {
    display: flex;
    position: relative;
    flex: 3;
    align-items: center;
    margin-top: 8px;
    transition: all ease-in-out 200ms, border 0ms;
    max-width: 500px;
    border-bottom: 1px solid #e6e6e6; }
  @media only screen and (min-width: 960px) {
      .restaurant-menu__menu-search {
        border: 1px solid #e6e6e6;
        border-radius: 4px;
        display: flex;
        margin-top: 0; } }
  .restaurant-menu__menu-search--sticky {
      border: none;
      width: 100%; }
  .restaurant-menu__scheduling {
    visibility: visible;
    max-width: 1000px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    transition: all ease-in-out 200ms; }
  .restaurant-menu__scheduling--sticky {
      visibility: hidden;
      max-width: 0; }
  @media only screen and (max-width: 959px) {
    .restaurant-menu--hidden-search .restaurant-menu__fast-menu {
      border-bottom: none; }
    .restaurant-menu--hidden-search .restaurant-menu__menu-search {
      height: 0;
      opacity: 0;
      pointer-events: none;
      margin-top: 0; } }
  @media only screen and (max-width: 559px) {
    .restaurant-menu .dish-card--horizontal {
      padding: 10px 20px; } }

.voucher-header {
  position: fixed;
  width: 100vw;
  top: 80px;
  background-color: #f2f2f2;
  z-index: 9996; }
  .voucher-header-band {
    background-color: #50a773;
    width: 100%;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center; }
  .voucher-header-band .icon-marmita--voucher-header {
      width: 40px; }
  .voucher-header-container {
    width: 100%;
    max-width: 1366px !important;
    margin: auto;
    padding: 0 30px;
    display: grid;
    grid-template-columns: 1fr;
    justify-content: space-between;
    grid-gap: 30px;
    padding: 20px 40px; }
  @media only screen and (min-width: 960px) {
      .voucher-header-container {
        padding: 20px 30px 20px 50px;
        grid-template-columns: repeat(3, minmax(266px, 380px)); } }
  .voucher-header__title {
    font-size: 1.125em;
    color: white;
    padding: 0 28px; }
  .voucher-header-bg {
    position: fixed;
    top: 0;
    height: 100%;
    width: 100%;
    z-index: 9994;
    background-color: #3e3e3e;
    opacity: 0.8; }
  .voucher-header-bg + div {
      margin-top: 80px; }
  .voucher-header-bg--hidden {
      display: none; }
  .voucher-header-mobile {
  display: flex;
  padding: 0; }
  @media only screen and (min-width: 768px) {
    .voucher-header-mobile {
      padding: 32px 0 0; } }
  @media only screen and (min-width: 960px) {
    .voucher-header-mobile {
      padding: 20px 0 0; } }
  .voucher-header-mobile .voucher-slim-card {
    height: 62px;
    margin: 0 20px; }
  .voucher-header-mobile .voucher-slim-card__title {
      font-size: 0.875em; }
  .voucher-list-container {
  max-height: calc(100vh - 140px);
  overflow: scroll;
  overflow-x: hidden;
  transition: max-height 200ms linear;
  visibility: visible; }
  .voucher-list-container--hidden {
    max-height: 0;
    visibility: 0;
    overflow: hidden; }

.restaurant-container {
  display: block; }
  @media only screen and (min-width: 960px) {
    .restaurant-container {
      display: flex;
      padding: 0; } }
  .restaurant-container .restaurant-column {
    flex-basis: 100%;
    width: 100%; }
  @media only screen and (min-width: 1248px) {
      .restaurant-container .restaurant-column {
        padding-bottom: 30px;
        max-width: calc(100% - 430px); } }
  .restaurant-container .order-column {
    display: none;
    box-shadow: -3px 0 10px -5px rgba(0, 0, 0, 0.3);
    z-index: 9994;
    background: #fff; }
  @media only screen and (min-width: 1248px) {
      .restaurant-container .order-column--default {
        display: flex; } }
  @media only screen and (min-width: 1248px) {
      .restaurant-container .order-column--less-space {
        display: flex; } }
  @media only screen and (min-width: 1248px) {
      .restaurant-container .order-column {
        flex-basis: 430px; } }
  .restaurant-container .order-column .restaurant-cart {
      height: 100vh; }
  .restaurant-container__error-message {
    margin-top: 70px; }
  .voucher-header-restaurant-wrapper {
  position: absolute; }
  @media only screen and (min-width: 1248px) {
    .voucher-header-restaurant-wrapper {
      width: calc(100% - 430px); } }
  .voucher-header-restaurant-wrapper .voucher-header {
    position: relative;
    top: 0; }
  .voucher-header-restaurant-wrapper .voucher-header-band {
      width: 100vw; }
  .voucher-header-restaurant-wrapper ~ .restaurant-container {
    position: relative;
    top: 60px; }

.restaurants-by-city-container {
  padding: 0; }
  .restaurants-by-city-container .restaurants-list__container {
    padding: 20px 20px 0; }
  .restaurants-by-city-container__title {
    display: none; }
  .restaurants-by-city-container__nav {
    display: block; }
  @media only screen and (min-width: 960px) {
    .restaurants-by-city-container {
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px;
      padding-top: 30px; }
      .restaurants-by-city-container__title {
        display: block;
        font-weight: 500;
        font-size: 2rem;
        letter-spacing: -1px;
        margin: 0 0 30px; }
        .restaurants-by-city-container__title-cuisine {
          text-transform: capitalize; }
        .restaurants-by-city-container__title-city {
          text-transform: capitalize;
          color: #ea1d2c; }
      .restaurants-by-city-container__nav {
        display: none; } }
  .restaurants-by-city-container__load-more-container {
    margin: 36px auto; }
  .restaurants-by-city-container__load-more {
    background: transparent;
    border: 1px solid #eaeaea;
    font-size: 1rem;
    font-weight: normal; }
  .restaurants-by-city-container__load-more:hover:enabled {
      background: #eaeaea; }
  .restaurants-by-city-container .desktop-filters {
    padding: 0; }

@media only screen and (max-width: 959px) {
  .address-hint-container .marmita-hint {
    width: calc(100% - 40px);
    border-radius: 0 0 4px 4px; } }

.restaurant-by-city-seo-text {
  line-height: 1.625rem;
  max-width: 1366px;
  margin: 0 auto;
  padding: 0 20px; }
  @media only screen and (min-width: 960px) {
    .restaurant-by-city-seo-text {
      padding: 0 30px; } }
  .restaurant-by-city-seo-text__title {
    font-size: 1.25rem;
    font-weight: 500; }
  @media only screen and (min-width: 960px) {
      .restaurant-by-city-seo-text__title {
        font-size: 1.375rem; } }
  .restaurant-by-city-seo-text__description {
    color: #717171;
    font-size: 1rem;
    text-align: justify;
    margin: 16px 0 0 0; }
  .restaurant-by-city-seo-text__description a {
      color: #ea1d2c;
      text-decoration: none; }
  .restaurant-by-city-seo-text__city {
    color: #ea1d2c;
    font-weight: 500; }

.categories-list {
  padding: 10px 20px; }
  @media only screen and (min-width: 960px) {
    .categories-list {
      padding: 40px 20px; } }
  .categories-list__title {
    font-size: 18px;
    margin: 0 0 20px; }
  .categories-list__wrapper {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 20px; }
  @media only screen and (min-width: 320px) and (max-width: 560px) {
      .categories-list__wrapper {
        grid-template-columns: 1fr 1fr; } }
  @media only screen and (min-width: 560px) and (max-width: 960px) {
      .categories-list__wrapper {
        grid-template-columns: 1fr 1fr 1fr; } }
  @media only screen and (min-width: 960px) {
      .categories-list__wrapper {
        grid-template-columns: 1fr 1fr 1fr 1fr;
        grid-gap: 40px; } }
  .categories-list .cuisine-item {
    position: relative;
    height: 180px;
    border-radius: 10px;
    overflow: hidden; }
  @media only screen and (min-width: 320px) and (max-width: 375px) {
      .categories-list .cuisine-item {
        height: 90px; } }
  @media only screen and (min-width: 375px) and (max-width: 560px) {
      .categories-list .cuisine-item {
        height: 120px; } }
  @media only screen and (min-width: 560px) and (max-width: 768px) {
      .categories-list .cuisine-item {
        height: 100px; } }
  @media only screen and (min-width: 768px) and (max-width: 960px) {
      .categories-list .cuisine-item {
        height: 120px; } }
  @media only screen and (min-width: 960px) {
      .categories-list .cuisine-item {
        height: 170px; } }
  .categories-list .cuisine-item figure {
      margin: 0;
      width: 100%;
      height: 100%; }
  .categories-list .cuisine-item a {
      width: 100%;
      height: 100%;
      display: block; }
  .categories-list .cuisine-item a::before {
        content: '';
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 100%), rgba(0, 0, 0, 0.2);
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0; }
  .categories-list .cuisine-item .cuisine-item__image {
      width: 100%;
      height: 100%; }
  .categories-list .cuisine-item .cuisine-item__title {
      position: absolute;
      top: 14px;
      left: 14px;
      color: #fff;
      font-size: 18px; }
  @media only screen and (min-width: 320px) and (max-width: 375px) {
        .categories-list .cuisine-item .cuisine-item__title {
          left: 10px;
          font-size: 14px; } }

@media only screen and (min-width: 960px) {
  .search {
    width: 100%;
    max-width: 1366px !important;
    margin: auto;
    padding: 0 30px; } }

.search .search__header ~ :not(.marmita-spinner--absolute-center), .search .search-empty, .search .marmita-tab, .search .marmita-tab__panel-container, .search .marmita-tab__panel {
  display: flex;
  flex-direction: column;
  flex-grow: 1; }

.search__header {
  position: fixed;
  width: 100%;
  padding: 20px 20px 5px;
  z-index: 9997;
  background: #fff;
  box-shadow: 0 0 3px 3px #fff; }

@media only screen and (min-width: 960px) {
    .search__header {
      display: none; } }

.search__header ~ :not(.marmita-spinner--absolute-center) {
    padding-top: 90px; }

@media only screen and (min-width: 960px) {
      .search__header ~ :not(.marmita-spinner--absolute-center) {
        padding-top: 0; } }

@media only screen and (max-width: 767px) {
      .search__header ~ :not(.marmita-spinner--absolute-center) {
        padding: 75px 0 40px; } }

.search__header.open {
    height: calc(100% - 50px); }

.search__header.open .search-input {
      height: 100%;
      display: flex;
      flex-direction: column; }

.search__header.open .search-targeted {
      position: initial;
      width: 100%;
      height: 100%;
      border: 0;
      box-shadow: none;
      padding: 20px 0; }

.search .search-empty {
  text-align: center;
  justify-content: center; }

.search .search-empty__message {
    margin-bottom: 3px;
    font-size: 1em;
    font-weight: normal; }

.search .search-empty__description {
    font-size: 0.9em;
    font-weight: lighter;
    color: #a6a5a5; }

.search .marmita-tab__label {
  margin: 0 40px 0 0;
  padding: 0; }

.search .marmita-tab__tablist-container {
  display: flex;
  margin-bottom: 10px; }

@media only screen and (min-width: 960px) {
    .search .marmita-tab__tablist-container {
      margin-bottom: 30px; } }

.search__by {
  display: none;
  margin: 30px 0 20px 0;
  font-size: 1.5625rem;
  font-weight: 500; }

@media only screen and (min-width: 960px) {
    .search__by {
      display: block; } }

.search__term {
  color: #ea1d2c;
  margin: 0 0 0 5px; }

.search .desktop-filters {
  display: none; }

.search .restaurants-list__container {
  padding: 0 20px; }

@media only screen and (min-width: 960px) {
    .search .restaurants-list__container {
      padding: 0 0 20px; } }

.user-info-edit__test-input {
  display: flex;
  flex-flow: nowrap row;
  justify-content: space-between;
  align-items: center;
  font-size: 20px;
  margin-bottom: 10px;
  margin-top: 30px;
  padding-top: 30px;
  border-top: #ccc solid 1px; }

.user-info-edit .marmita-toggle__checkbox:checked + .marmita-toggle__slider {
  background-color: #50a773; }

.user-info-edit__test-text {
  font-weight: 300;
  font-size: 14px;
  color: #717171; }

.user-info-edit__test-label--disabled {
  opacity: 0.4; }

.user-info-edit-form {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  .user-info-edit-form__wrapper {
    width: 100%;
    max-width: 450px;
    padding: 0 20px; }
  .user-info-edit-form__wrapper .user-info-edit-title {
      display: none;
      align-self: flex-start;
      font-size: 1.5625rem;
      font-weight: 500;
      margin: 40px 0;
      color: #414143; }
  @media only screen and (min-width: 960px) {
        .user-info-edit-form__wrapper .user-info-edit-title {
          display: block; } }

.voucher-wallet-container {
  padding: 0 0 20px; }
  @media only screen and (min-width: 960px) {
    .voucher-wallet-container {
      padding: 0 0 60px; } }
  .voucher-wallet-container__card {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: space-between;
    grid-gap: 32px;
    padding: 20px; }
  @media only screen and (min-width: 960px) {
      .voucher-wallet-container__card {
        width: 100%;
        max-width: 1366px !important;
        margin: auto;
        padding: 0 30px;
        padding-top: 30px;
        grid-template-columns: repeat(3, minmax(266px, 380px)); } }
  .voucher-wallet-container__card .voucher-card {
      -webkit-animation: 300ms MovingFadeInLeft;
              animation: 300ms MovingFadeInLeft; }
  .voucher-wallet-container__card--inactive {
      color: #717171; }
  .voucher-wallet-container__card--inactive .voucher-card {
        -webkit-animation: 300ms MovingFadeInRight;
                animation: 300ms MovingFadeInRight; }
  .voucher-wallet-container__card--inactive .voucher-card__icon {
          -webkit-filter: grayscale(80%);
                  filter: grayscale(80%);
          opacity: 0.3; }
  .voucher-wallet-container__card--inactive .voucher-card__title {
          color: #717171; }
  .voucher-wallet-container__tab {
    width: 100%; }
  @media only screen and (min-width: 960px) {
      .voucher-wallet-container__tab {
        width: auto;
        margin-right: 64px;
        padding: 0;
        color: #a6a6a6; } }
  .voucher-wallet-container__tab .btn__label {
      font-size: 0.875rem;
      color: #a6a6a6;
      font-weight: 500;
      text-transform: uppercase; }
  @media only screen and (min-width: 960px) {
        .voucher-wallet-container__tab .btn__label {
          font-size: 1.25rem;
          text-transform: none; }
          .voucher-wallet-container__tab .btn__label:hover {
            color: #8d8d8d; } }
  .voucher-wallet-container__tab--active {
      border-bottom-color: #ea1d2c; }
  .voucher-wallet-container__tab--active .btn__label {
        color: #ea1d2c; }
  @media only screen and (min-width: 960px) {
        .voucher-wallet-container__tab--active {
          color: #3e3e3e;
          border-bottom-color: #3e3e3e; }
          .voucher-wallet-container__tab--active .btn__label {
            color: #3e3e3e; }
            .voucher-wallet-container__tab--active .btn__label:hover {
              color: #3e3e3e; } }
  .voucher-wallet-container__tab-container {
      padding: 60px 0 0;
      display: flex; }
  @media only screen and (min-width: 960px) {
        .voucher-wallet-container__tab-container {
          width: 100%;
          max-width: 1366px !important;
          margin: auto;
          padding: 0 30px; } }
  .voucher-wallet-container__tab-container button:nth-child(2) {
        padding: 0; }
  .voucher-line-separator {
  width: 100%;
  display: block;
  border-bottom: 1px solid #dcdcdc; }
  .voucher-without-voucher {
  width: 100%;
  max-width: 1366px !important;
  margin: auto;
  padding: 0 30px;
  padding-top: 30px;
  padding-bottom: 40px; }
  .voucher-without-voucher__title {
    font-size: 1.125rem;
    color: #3e3e3e;
    font-weight: 500;
    margin: 0 0 12px; }
  @media only screen and (min-width: 960px) {
      .voucher-without-voucher__title {
        font-size: 1.5625rem; } }
  .voucher-without-voucher__sub-title {
    font-size: 1rem;
    line-height: 1.375rem;
    font-weight: 100;
    color: #3e3e3e; }
  @media only screen and (min-width: 960px) {
      .voucher-without-voucher__sub-title {
        font-size: 1.125rem; } }
  .voucher-wallet-load-more {
  width: 100%;
  max-width: 1366px !important;
  margin: auto;
  padding: 0 30px;
  margin-top: 40px; }
  .voucher-wallet-load-more__btn {
    width: 100%;
    border: 1px solid #eaeaea;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); }
  .voucher-wallet-load-more__btn:hover {
      background-color: #ea1d2c;
      color: white;
      transition: 0.9s ease-in-out; }

.voucher-wallet {
  position: relative; }
  @media only screen and (min-width: 960px) {
    .voucher-wallet {
      width: 100%;
      max-width: 1366px !important;
      margin: auto;
      padding: 0 30px;
      margin-top: 32px; }
      .voucher-wallet .nav-header {
        display: none; } }
  .voucher-wallet-banner {
    background-color: #50a773;
    background-image: url("https://static-images.ifood.com.br/image/upload/webapp/bg-voucher-wallet.svg?v=8.43.0");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right;
    height: 200px;
    padding: 0 20px;
    display: none;
    border-radius: 4px; }
  @media only screen and (min-width: 960px) {
      .voucher-wallet-banner {
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center; } }
  .voucher-wallet-banner__title {
      font-size: 1.875rem;
      color: white;
      text-align: center;
      margin: 0;
      padding-left: 30px;
      font-weight: 500;
      line-height: 41px; }
  @media only screen and (min-width: 960px) {
        .voucher-wallet-banner__title {
          font-size: 1.5rem; } }
  .voucher-wallet-banner__icon {
      width: 60px; }
  .voucher-wallet__title {
    font-size: 1.5rem;
    color: #3e3e3e;
    font-weight: 500;
    padding: 40px 0 0;
    margin: 0;
    display: none; }
  @media only screen and (min-width: 960px) {
      .voucher-wallet__title {
        display: block; } }

.voucher-seo-text {
  line-height: 1.625rem;
  max-width: 1366px;
  margin: 10px auto;
  padding: 0 20px; }
  @media only screen and (min-width: 960px) {
    .voucher-seo-text {
      padding: 0 30px; } }
  .voucher-seo-text__title {
    font-size: 1.25rem;
    font-weight: 500; }
  @media only screen and (min-width: 960px) {
      .voucher-seo-text__title {
        font-size: 1.375rem; } }
  .voucher-seo-text__description {
    color: #717171;
    font-size: 1rem;
    text-align: justify;
    margin: 16px 0 0 0; }

.voucher-lp__banner {
  margin-left: 20px;
  margin-right: 20px;
  display: flex;
  flex-flow: nowrap column;
  text-align: center;
  background-color: #f2f2f2;
  border-radius: 8px;
  margin-top: 32px;
  padding: 32px 20px 0; }
  @media only screen and (min-width: 768px) {
    .voucher-lp__banner {
      max-width: 1326px; } }
  @media only screen and (min-width: 1366px) {
    .voucher-lp__banner {
      margin-left: auto;
      margin-right: auto; } }
  @media only screen and (min-width: 768px) {
    .voucher-lp__banner {
      padding: 0 56px;
      justify-content: stretch;
      flex-direction: row;
      text-align: start; } }
  .voucher-lp__banner-text {
  display: flex;
  flex-flow: nowrap column;
  align-items: center;
  color: #3e3e3e; }
  @media only screen and (min-width: 768px) {
    .voucher-lp__banner-text {
      padding-top: 56px;
      padding-bottom: 32px;
      align-items: flex-start; } }
  .voucher-lp__banner-text h1 {
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.2em;
    margin-top: 0;
    margin-bottom: 12px;
    max-width: 190px; }
  @media only screen and (min-width: 560px) {
      .voucher-lp__banner-text h1 {
        font-size: 2rem; } }
  @media only screen and (min-width: 1248px) {
      .voucher-lp__banner-text h1 {
        font-size: 2.5rem; } }
  @media only screen and (min-width: 560px) {
      .voucher-lp__banner-text h1 {
        max-width: 300px; } }
  @media only screen and (min-width: 1248px) {
      .voucher-lp__banner-text h1 {
        max-width: 330px; } }
  .voucher-lp__banner-text h1 + * {
    font-size: 0.875rem;
    font-weight: 300;
    line-height: 1.4em;
    font-weight: 100;
    margin: 0;
    max-width: 300px;
    color: #3e3e3e; }
  @media only screen and (min-width: 560px) {
      .voucher-lp__banner-text h1 + * {
        font-size: 1.25rem; } }
  @media only screen and (min-width: 1248px) {
      .voucher-lp__banner-text h1 + * {
        font-size: 1.5rem; } }
  @media only screen and (min-width: 560px) {
      .voucher-lp__banner-text h1 + * {
        max-width: 400px; } }
  @media only screen and (min-width: 768px) {
      .voucher-lp__banner-text h1 + * {
        color: #717171; } }
  @media only screen and (min-width: 1248px) {
      .voucher-lp__banner-text h1 + * {
        max-width: 500px; } }
  .voucher-lp__banner-image {
  flex-grow: 1;
  display: flex;
  justify-content: center;
  align-items: flex-end; }
  .voucher-lp__banner-image > * {
    display: inline-block;
    max-width: 150px;
    margin-bottom: -5px; }
  @media only screen and (min-width: 768px) {
      .voucher-lp__banner-image > * {
        max-width: 220px;
        margin-left: 10px;
        margin-right: 10px; } }
  .voucher-lp__banner-image svg {
    max-width: 100%;
    height: auto; }
  .voucher-lp__message {
  margin-left: 20px;
  margin-right: 20px;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2em;
  color: #3e3e3e;
  max-width: 250px;
  text-align: center;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (min-width: 768px) {
    .voucher-lp__message {
      max-width: 1326px; } }
  @media only screen and (min-width: 1366px) {
    .voucher-lp__message {
      margin-left: auto;
      margin-right: auto; } }
  @media only screen and (min-width: 560px) {
    .voucher-lp__message {
      font-size: 2rem; } }
  @media only screen and (min-width: 1248px) {
    .voucher-lp__message {
      font-size: 2.5rem; } }
  @media only screen and (min-width: 560px) {
    .voucher-lp__message {
      max-width: 330px; } }
  @media only screen and (min-width: 768px) {
    .voucher-lp__message {
      max-width: 1326px; } }
  @media only screen and (min-width: 1248px) {
    .voucher-lp__message {
      font-size: 2rem; } }
  .voucher-lp__message + * {
  margin-left: 20px;
  margin-right: 20px;
  max-width: 240px;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.4em;
  color: #3e3e3e;
  text-align: center;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (min-width: 560px) {
    .voucher-lp__message + * {
      max-width: 500px; } }
  @media only screen and (min-width: 768px) {
    .voucher-lp__message + * {
      max-width: 680px; } }
  @media only screen and (min-width: 960px) {
    .voucher-lp__message + * {
      max-width: 800px; } }
  @media only screen and (min-width: 560px) {
    .voucher-lp__message + * {
      font-size: 1.25rem; } }
  @media only screen and (min-width: 1248px) {
    .voucher-lp__message + * {
      font-size: 1.5rem; } }
  @media only screen and (min-width: 768px) {
    .voucher-lp__message + * {
      color: #717171; } }
  .voucher-lp__card-list {
  margin-left: 20px;
  margin-right: 20px;
  display: flex;
  flex-flow: nowrap column;
  align-items: center; }
  @media only screen and (min-width: 768px) {
    .voucher-lp__card-list {
      max-width: 1326px; } }
  @media only screen and (min-width: 1366px) {
    .voucher-lp__card-list {
      margin-left: auto;
      margin-right: auto; } }
  @media only screen and (min-width: 768px) {
    .voucher-lp__card-list {
      flex-direction: row;
      justify-content: center; } }
  .voucher-lp__card {
  margin: 22px 16px; }
  .voucher-lp__safety-tip {
  margin-left: 20px;
  margin-right: 20px;
  max-width: 240px;
  color: #3e3e3e;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.4em;
  text-align: center;
  margin: 40px auto; }
  @media only screen and (min-width: 560px) {
    .voucher-lp__safety-tip {
      max-width: 500px; } }
  @media only screen and (min-width: 768px) {
    .voucher-lp__safety-tip {
      max-width: 680px; } }
  @media only screen and (min-width: 960px) {
    .voucher-lp__safety-tip {
      max-width: 800px; } }
  @media only screen and (min-width: 560px) {
    .voucher-lp__safety-tip {
      font-size: 1rem; } }
  @media only screen and (min-width: 768px) {
    .voucher-lp__safety-tip {
      color: #717171; } }
  .voucher-lp__safety-tip a {
    color: #ea1d2c;
    text-decoration: none; }
  .voucher-lp-card {
  display: block;
  border-radius: 8px;
  text-align: center;
  text-decoration: none;
  color: inherit;
  padding: 20px;
  width: 240px;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.05), 0px 4px 16px rgba(0, 0, 0, 0.08); }
  .voucher-lp-card__image {
    display: block;
    height: 100px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 12px; }
  .voucher-lp-card__image div,
    .voucher-lp-card__image svg {
      height: 100%; }
  .voucher-lp-card__heading {
    font-size: 0.875rem;
    font-weight: 500;
    color: #3e3e3e; }
  @media only screen and (min-width: 960px) {
      .voucher-lp-card__heading {
        font-size: 1.25rem; } }
  .voucher-lp-card__message {
    font-size: 0.75rem;
    font-weight: normal;
    color: #3e3e3e;
    line-height: 1rem;
    max-width: 160px;
    margin-left: auto;
    margin-right: auto; }
  @media only screen and (min-width: 768px) {
      .voucher-lp-card__message {
        font-weight: 300;
        font-size: 1rem;
        line-height: 1.25rem;
        max-width: none;
        color: #717171; } }
  .voucher-lp-card__cta {
    font-size: 0.875rem;
    font-weight: 500;
    padding: 16px;
    margin-bottom: 0;
    background-color: #f7f7f7;
    border-radius: 4px;
    color: #ea1d2c; }

.has-ifood-box {
  padding: 32px 0; }
  @media only screen and (min-width: 768px) {
    .has-ifood-box {
      padding: 12px 0 32px; } }
  .has-ifood-box-header {
    display: grid;
    grid-template: 1fr / 20px 1fr;
    align-items: center;
    justify-content: center; }
  .has-ifood-box-header__title {
      font-size: 0.875rem;
      line-height: 1.25rem;
      font-weight: 500;
      color: #3e3e3e;
      margin: 0; }
  @media only screen and (min-width: 768px) {
        .has-ifood-box-header__title {
          font-size: 1.125rem; } }
  .has-ifood-box__text {
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 300;
    color: #a6a6a6;
    margin: 0;
    padding: 10px 0 0; }
  @media only screen and (min-width: 768px) {
      .has-ifood-box__text {
        font-size: 1rem;
        max-width: 500px; } }

.ifood-box-header {
  display: grid;
  align-items: center;
  grid-template: 1fr / 34px 1fr;
  border-bottom: 1px solid #f2f2f2;
  border-radius: 4px;
  padding: 0 20px 20px; }
  .ifood-box-header__info-place {
    display: grid;
    justify-content: right;
    color: #3e3e3e; }
  .ifood-box-header__place {
    text-align: right; }
  .ifood-box-header__locale {
    font-weight: 500; }

.ifood-box-qrcode {
  display: grid;
  align-items: center;
  justify-content: center; }

.ifood-box-content-waiting {
  padding: 20px 0;
  display: grid;
  grid-template: 35px 1fr 30px / 1fr;
  gap: 20px; }
  @media only screen and (min-width: 960px) {
    .ifood-box-content-waiting {
      grid-template: 35px 30px / 1fr;
      grid-auto-flow: row dense; } }
  .ifood-box-content-waiting__title {
    font-size: 0.875rem;
    line-height: 1.125rem;
    font-weight: 300;
    color: #3e3e3e;
    text-align: center;
    max-width: 200px;
    margin: 0 auto; }
  @media only screen and (min-width: 768px) {
      .ifood-box-content-waiting__title {
        max-width: 100%; } }

.ifood-box-how-to-work {
  width: 90%;
  margin: 0 auto; }
  .ifood-box-how-to-work__btn {
    width: 100%;
    background-color: #ffffff;
    color: #ea1d2c;
    border: 1px solid #dcdcdc;
    border-radius: 4px; }
  .ifood-box-how-to-work__btn:hover {
      color: #ffffff;
      transition: 1s all;
      background-color: #ea1d2c; }
  .ifood-box-how-to-work-modal {
  text-align: center;
  padding: 20px; }
  .ifood-box-how-to-work-modal__title {
    color: #3e3e3e;
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.625rem;
    margin: 24px 10px 20px; }
  .ifood-box-how-to-work-modal__description {
    font-weight: 300;
    font-size: 1rem;
    line-height: 1.25rem;
    margin: 0 auto 20px;
    color: #717171; }
  .ifood-box-how-to-work-modal__description-strong {
      font-weight: 500; }
  @media only screen and (min-width: 768px) {
      .ifood-box-how-to-work-modal__description {
        max-width: 360px; } }
  .ifood-box-how-to-work-modal__btn-understand {
    display: block;
    color: #ea1d2c;
    background-color: #ffffff;
    margin: 30px auto 0; }
  .ifood-box-how-to-work-modal__btn-understand:hover {
      color: #ffffff;
      background-color: #ea1d2c;
      transition: 1s all; }

.ifood-box-container {
  border: 1px solid #f2f2f2;
  border-radius: 4px;
  padding: 20px;
  box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.05);
  margin: 20px 0; }

.order-details {
  font-size: 0.875rem;
  background-color: #f6f5f5;
  line-height: normal; }
  .order-details .ifood-box-code span {
    font-size: 1.125rem;
    line-height: 1.375rem;
    font-weight: 500; }
  @media only screen and (min-width: 768px) {
      .order-details .ifood-box-code span {
        font-size: 1.5rem;
        line-height: 1.875rem; } }
  .order-details__page-title {
    font-size: 1.5rem;
    letter-spacing: -1px;
    margin-bottom: 40px;
    text-align: center;
    display: none; }
  @media only screen and (min-width: 960px) {
    .order-details__page-title {
      display: block; } }
  .order-details-something-wrong {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 60px 0px; }
  @media only screen and (min-width: 960px) {
    .order-details {
      font-size: 1rem;
      width: 470px;
      margin: auto; } }
  @media only screen and (min-width: 960px) {
    .order-details__header {
      padding-top: 40px; } }
  .order-details__justified, .order-details__text {
    display: flex;
    justify-content: space-between; }
  .order-details__text {
    font-weight: 100;
    line-height: 1.625rem;
    margin: 0;
    color: #3e3e3e; }
  @media only screen and (min-width: 960px) {
      .order-details__text {
        flex-direction: column;
        border-bottom: 1px solid #f6f5f5;
        padding: 10px 0; } }
  .order-details__title {
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 5px;
    color: #3e3e3e; }
  @media only screen and (min-width: 960px) {
      .order-details__title {
        font-size: 1.875rem;
        margin: 10px 0; } }
  @media only screen and (min-width: 960px) {
    .order-details__label {
      color: #717171;
      font-weight: 300;
      font-size: 1rem;
      line-height: normal; } }
  .order-details__label:first-child {
    text-align: left; }
  .order-details__label:first-child ~ :last-child {
      text-align: right;
      color: #3e3e3e; }
  @media only screen and (min-width: 960px) {
        .order-details__label:first-child ~ :last-child {
          text-align: left; } }
  .order-details__link {
    color: #ea1d2c;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 5px;
    text-decoration: none;
    display: block; }
  @media only screen and (min-width: 960px) {
      .order-details__link {
        font-weight: normal;
        margin-bottom: 24px; } }
  .order-details__section {
    background-color: white;
    color: #717171;
    font-weight: lighter;
    margin: 10px 0;
    padding: 20px; }
  @media only screen and (min-width: 960px) {
      .order-details__section {
        margin: 1px 0;
        padding: 0; } }
  .order-details__section:first-child {
      padding-top: 0;
      margin-top: 0; }
  .order-details__section:last-child {
      position: relative;
      margin-bottom: 0;
      padding: 20px 20px 0; }
  .order-details__section-header {
    margin-bottom: 10px; }
  .order-details__section-header-text strong {
      font-weight: normal; }
  @media only screen and (min-width: 960px) {
        .order-details__section-header-text strong {
          color: #3e3e3e;
          display: block;
          padding-top: 10px; } }
  .order-details__section-title {
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 5px;
    color: #3f3e3e; }
  @media only screen and (min-width: 960px) {
      .order-details__section-title {
        font-weight: 300;
        color: #717171; } }
  .order-details__follow {
    display: block;
    padding: 20px 20px 10px;
    background-color: white;
    margin: 0 0 10px; }
  @media only screen and (min-width: 960px) {
      .order-details__follow {
        margin: 0;
        padding: 0 0 10px; } }
  .order-details__called {
    display: block;
    padding: 10px 0 20px;
    background-color: white; }
  @media only screen and (min-width: 960px) {
      .order-details__called {
        padding: 0 0 10px; } }
  .order-details__restaurant-phone-number {
    display: none; }
  .order-details__restaurant-phone-number--active {
      display: block; }
  .order-details-cart {
  color: #717171;
  font-weight: lighter; }
  .order-details-cart__item {
    padding: 10px 0;
    border-top: 1px solid #f5f0eb; }
  @media only screen and (min-width: 960px) {
      .order-details-cart__item {
        border-top: 1px solid #f6f5f5;
        padding: 25px 0; } }
  .order-details-cart__item:last-child {
      border-bottom: 1px solid #f5f0eb; }
  @media only screen and (min-width: 960px) {
        .order-details-cart__item:last-child {
          border-bottom: 1px solid #f6f5f5; } }
  .order-details-cart__item-name {
    font-weight: 500;
    color: #3f3e3e; }
  .order-details-cart__item-name :first-child {
      margin-right: 15px; }
  .order-details-cart__garnishes-list {
    margin-top: 8px; }
  @media only screen and (min-width: 960px) {
      .order-details-cart__garnishes-list {
        margin-top: 15px; } }
  .order-details-cart__garnish {
    color: #717171;
    font-size: 0.875rem;
    list-style-type: disc;
    list-style-position: inside;
    padding-left: 2px; }
  @media only screen and (min-width: 960px) {
      .order-details-cart__garnish {
        list-style: none;
        display: inline-block; } }
  @media only screen and (min-width: 960px) {
      .order-details-cart__garnish::after {
        content: ','; } }
  @media only screen and (min-width: 960px) {
      .order-details-cart__garnish:last-of-type::after {
        content: none; } }
  .order-details-cart__garnish span {
      margin-left: -10px; }
  @media only screen and (min-width: 960px) {
        .order-details-cart__garnish span {
          margin-left: 0; } }
  .order-details-cart__garnish, .order-details-cart__observation {
    line-height: 1.4em;
    padding: 8px 0 0; }
  @media only screen and (min-width: 960px) {
      .order-details-cart__garnish, .order-details-cart__observation {
        line-height: normal; } }
  .order-details-cart__total-amount {
    font-size: 1rem;
    font-weight: 500;
    color: #3f3e3e; }
  .order-details-cart__footer {
    padding: 10px 0;
    line-height: 1.8em;
    border-bottom: 1px solid #f5f0eb; }
  @media only screen and (min-width: 960px) {
      .order-details-cart__footer {
        padding: 15px 0; } }
  .order-details-cart__footer p {
      margin: 0; }
  @media only screen and (min-width: 960px) {
        .order-details-cart__footer p {
          margin: 10px 0; } }
  .order-details-address,
.order-details-more {
  padding: 20px;
  border-bottom: 1px solid #f6f5f5;
  background-color: white;
  margin-bottom: 10px; }
  @media only screen and (min-width: 960px) {
    .order-details-address,
    .order-details-more {
      border-bottom: 0;
      color: #3e3e3e;
      font-weight: normal;
      margin: 0;
      padding: 0; } }
  @media only screen and (min-width: 960px) {
  .order-details-address {
    padding-top: 25px;
    margin: 0; } }
  @media only screen and (min-width: 960px) {
  .order-details-address p {
    margin: 0; } }
  @media only screen and (min-width: 960px) {
  .order-details-address .order-details__section-header {
    margin-bottom: 0; } }
  @media only screen and (min-width: 960px) {
  .order-details-more {
    padding: 25px 0; } }
  .order-details-card {
  text-align: center;
  padding: 20px;
  background-color: white;
  margin-bottom: 10px; }
  @media only screen and (min-width: 960px) {
    .order-details-card {
      margin: 0;
      border-bottom: 1px solid #f6f5f5; } }

.orders-in-progress-status {
  position: relative; }
  @media only screen and (min-width: 960px) {
    .orders-in-progress-status {
      max-width: 90%; } }
  .orders-in-progress-status .order-step {
    display: flex;
    flex-wrap: wrap;
    margin: 10px 0 0; }
  @media only screen and (min-width: 960px) {
      .orders-in-progress-status .order-step__phone-link-wrapper {
        display: none; } }
  .orders-in-progress-status .order-step__phone-link {
      color: #a6a6a6; }
  .orders-in-progress-status .order-step--prevision .order-step__title, .orders-in-progress-status .order-step--done .order-step__title, .orders-in-progress-status .order-step--cancelled .order-step__title {
      color: #3f3e3e; }
  .orders-in-progress-status .order-step--prevision .order-step__status *, .orders-in-progress-status .order-step--done .order-step__status *, .orders-in-progress-status .order-step--cancelled .order-step__status * {
      opacity: 1; }
  .orders-in-progress-status .order-step--prevision .order-step__status .icon-marmita svg {
      color: #a6a29f;
      fill: #a6a29f; }
  @media only screen and (min-width: 960px) {
      .orders-in-progress-status .order-step--prevision .order-step__status .icon-marmita {
        height: 24px;
        width: 24px; } }
  .orders-in-progress-status .order-step--done .order-step__status {
      border-color: transparent; }
  .orders-in-progress-status .order-step--done .order-step__status .icon-marmita svg {
        color: #ea1d2c;
        fill: #ea1d2c; }
  @media only screen and (min-width: 960px) {
        .orders-in-progress-status .order-step--done .order-step__status .icon-marmita {
          height: 24px;
          width: 24px; } }
  .orders-in-progress-status .order-step--done .order-step__status--time {
        background-color: transparent; }
  .orders-in-progress-status .order-step--cancelled .order-step__status {
      border-color: transparent; }
  .orders-in-progress-status .order-step--cancelled .order-step__status .icon-marmita svg {
        color: #3f3e3e;
        fill: #3f3e3e; }
  @media only screen and (min-width: 960px) {
        .orders-in-progress-status .order-step--cancelled .order-step__status .icon-marmita {
          height: 24px;
          width: 24px; } }
  .orders-in-progress-status .order-step--cancelled .order-step__status--time {
        background-color: transparent; }
  .orders-in-progress-status .order-step__status {
      flex-basis: 20px;
      height: 20px;
      border-radius: 100%;
      border: 1px solid #a6a29f; }
  .orders-in-progress-status .order-step__status--time {
        border: none;
        background-color: transparent; }
  .orders-in-progress-status .order-step__title {
      display: flex;
      align-items: flex-end;
      color: #a6a6a6;
      font-weight: bold;
      margin-left: 10px;
      padding: 0 0 10px; }
  .orders-in-progress-status .order-step__title--time {
        text-transform: capitalize; }
  @media only screen and (min-width: 960px) {
        .orders-in-progress-status .order-step__title {
          font-size: 1.125rem;
          margin-left: 35px; } }
  .orders-in-progress-status .order-step__detail {
      color: #a6a6a6;
      font-size: 0.875rem;
      line-height: 0.875rem;
      flex-basis: 100%;
      min-height: 10px;
      padding: 0 0 0 30px;
      position: relative; }
  @media only screen and (min-width: 960px) {
        .orders-in-progress-status .order-step__detail {
          padding: 0 0 0 60px;
          padding-bottom: 30px; } }
  .orders-in-progress-status .order-step__detail::before {
        content: '';
        position: absolute;
        top: 7px;
        bottom: 0;
        left: 9px;
        margin: auto;
        width: 2px;
        background: #f5e9da; }
  @media only screen and (min-width: 960px) {
          .orders-in-progress-status .order-step__detail::before {
            background-color: #dcdcdc;
            width: 3px;
            left: 12px;
            -webkit-transform: translateY(5px);
                    transform: translateY(5px); } }
  .orders-in-progress-status .order-step__detail-time {
        display: block;
        padding: 4px 0; }
  .orders-in-progress-status .order-step__detail-text {
        display: block;
        font-size: 1rem;
        line-height: 1.25rem;
        padding: 10px 0; }
  .orders-in-progress-status .order-step__detail-text--next-step {
          min-height: 26px; }
  .orders-in-progress-status .order-step__detail-address {
        display: block; }
  @media only screen and (min-width: 960px) {
        .orders-in-progress-status .order-step__detail {
          font-size: 1rem; } }
  .orders-in-progress-status .order-step:last-of-type .order-step__detail::before {
      display: none; }
  .orders-in-progress-status .notice-withdrawal {
    font-size: 0.875rem;
    line-height: 1.25rem;
    color: #3e3e3e;
    text-align: center;
    background: #f7f7f7;
    border-radius: 4px;
    border: 1px solid #dcdcdc;
    width: 100%;
    padding: 20px;
    margin: 20px 0; }
  @media only screen and (min-width: 960px) {
      .orders-in-progress-status .notice-withdrawal {
        width: calc(90% - 60px);
        margin: 20px 0 20px 60px; } }
  .orders-in-progress-status .notice-withdrawal__title {
      display: block;
      font-weight: bold;
      padding: 0 0 10px; }
  .order-steps__wrapper {
  transition: 400ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  opacity: 1;
  min-height: 320px; }
  @media only screen and (min-width: 960px) {
    .order-steps__wrapper {
      min-height: 380px; } }
  .order-steps__wrapper .order-step__title,
  .order-steps__wrapper .order-step__detail {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    transition: 400ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.order-step__restaurant-phone {
  display: none;
  flex-direction: column;
  position: absolute;
  bottom: 55px;
  margin-top: 20px;
  font-size: 0.875rem;
  font-weight: 300; }
  @media only screen and (min-width: 960px) {
    .order-step__restaurant-phone {
      display: flex; } }
  .order-step__restaurant-phone .btn {
    padding: 5px;
    margin: 0;
    height: auto;
    position: relative;
    left: -5px;
    font-size: 0.875rem;
    font-weight: normal; }
  .order-step__restaurant-phone .btn canvas {
      display: none; }
  .order-step__restaurant-phone-number {
  position: absolute;
  bottom: -20px;
  visibility: hidden;
  opacity: 0;
  transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .order-step__restaurant-phone-number--active {
  transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  visibility: visible;
  opacity: 1; }

.orders-in-progress {
  position: relative; }
  .orders-in-progress__blank-state {
    width: 100%;
    max-width: 1366px !important;
    margin: auto;
    padding: 0 30px;
    margin: 40px auto;
    display: grid;
    align-items: center;
    justify-content: center; }
  .orders-in-progress__blank-state .blank-state {
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 20px;
      flex-direction: column;
      text-align: center;
      margin: auto;
      height: calc(100vh - 120px); }
  @media only screen and (min-width: 1248px) {
        .orders-in-progress__blank-state .blank-state {
          height: calc(100vh - 188px); } }
  .orders-in-progress__blank-state .blank-state__title {
        font-size: 1rem;
        font-weight: 400;
        color: #3e3e3e;
        margin: 30px 0 10px 0;
        text-align: center; }
  .orders-in-progress__blank-state .blank-state__description {
        font-size: 0.9375rem;
        font-weight: 300;
        color: #717171;
        margin: 0 0 15px;
        line-height: 20px;
        display: block;
        text-align: center; }
  .orders-in-progress__blank-state .animated-pans {
      align-items: center;
      justify-content: center;
      display: flex; }
  .orders-in-progress__page-title {
    font-size: 1.5rem;
    letter-spacing: -1px;
    margin-bottom: 40px;
    text-align: center;
    display: none; }
  @media only screen and (min-width: 960px) {
    .orders-in-progress__page-title {
      display: block; } }
  .orders-in-progress-something-wrong .something-wrong svg {
    width: 200px;
    height: 200px; }
  .orders-in-progress-something-wrong .something-wrong__btn-go-back {
    max-width: 400px;
    margin: 40px 20px; }
  @media only screen and (min-width: 375px) {
      .orders-in-progress-something-wrong .something-wrong__btn-go-back {
        margin: 40px auto; } }
  .orders-in-progress .order {
    margin: 0 20px;
    position: relative;
    min-height: 400px; }
  @media only screen and (min-width: 960px) {
      .orders-in-progress .order {
        padding: 10px 0 20px 0; } }
  @media only screen and (min-width: 960px) {
      .orders-in-progress .order {
        display: flex;
        padding: 0;
        margin: 0 auto;
        min-height: 0;
        max-width: 1366px !important; } }
  .orders-in-progress .order__page-title {
      font-size: 1.5rem;
      letter-spacing: -1px;
      margin-bottom: 40px;
      font-weight: normal;
      display: none; }
  @media only screen and (min-width: 960px) {
        .orders-in-progress .order__page-title {
          display: block;
          margin: 0 0 20px; } }
  @media only screen and (min-width: 960px) {
      .orders-in-progress .order__details {
        display: flex;
        flex: 1;
        height: 560px;
        justify-content: center; } }
  @media only screen and (min-width: 960px) {
      .orders-in-progress .order__details-container {
        display: flex;
        width: 100%;
        max-width: 560px;
        justify-content: center;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: contain;
        background-image: linear-gradient(90deg, white 0%, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0) 90%, white 100%), linear-gradient(0deg, white 0%, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0) 90%, white 100%), url("https://static-images.ifood.com.br/image/upload/webapp/waiting/waiting-bg.png?v=8.43.0"); } }
  @media only screen and (min-width: 960px) {
      .orders-in-progress .order__details-wrapper {
        display: flex;
        flex-direction: column;
        padding: 0 20px;
        justify-content: center;
        position: relative;
        width: 80%; } }
  .orders-in-progress .order__status {
      padding: 0 0 20px; }
  @media only screen and (min-width: 960px) {
        .orders-in-progress .order__status {
          display: flex;
          flex-direction: column;
          flex: 1;
          justify-content: center;
          position: relative;
          margin: 30px 0; } }
  .orders-in-progress .order:not(:last-child)::before {
      content: '';
      background: #f5f0eb;
      height: 10px;
      position: absolute;
      width: 100vw;
      left: -20px;
      bottom: 0; }
  @media only screen and (min-width: 960px) {
        .orders-in-progress .order:not(:last-child)::before {
          height: 1px;
          width: 100%;
          left: 0;
          background-color: #dcdcdc; } }
  .orders-in-progress .order__title {
      color: #3f3e3e;
      font-size: 1.375rem;
      font-weight: 500;
      margin: 0;
      padding: 20px 0; }
  @media only screen and (min-width: 960px) {
        .orders-in-progress .order__title {
          font-size: 2.5rem;
          letter-spacing: -1px; } }
  .orders-in-progress .order__link {
      font-size: 1pxrem;
      color: #ea1d2c;
      text-decoration: none;
      padding: 10px 0; }
  @media only screen and (min-width: 960px) {
        .orders-in-progress .order__link {
          font-size: 1.125rem;
          margin-left: 2px; } }
  .orders-in-progress__loading {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: calc(100vh - 250px); }

.pwa-banner-flying {
  background: #f7f7f7;
  border-radius: 4px;
  display: grid;
  grid-column-gap: 16px;
  grid-template-rows: 312px 50px 60px 1fr;
  grid-template-areas: 'cartoon' 'title' 'subtitle' 'buttons'; }
  .pwa-banner-flying-cartoon {
    grid-area: cartoon;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative; }
  .pwa-banner-flying-cartoon .woman-flying-ballon {
      height: 300px;
      -webkit-animation: lp-pwa-flying 8s infinite ease-in-out;
              animation: lp-pwa-flying 8s infinite ease-in-out;
      z-index: 1;
      position: relative;
      top: 30px; }
  .pwa-banner-flying-cartoon__clouds {
      overflow: hidden;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      left: 0; }
  .pwa-banner-flying-cartoon__clouds .icon-marmita {
        margin: 0 16px 0 0;
        width: 24px; }
  .pwa-banner-flying-cartoon__clouds .icon-marmita svg {
          color: #3e3e3e;
          fill: #3e3e3e; }
  .pwa-banner-flying-cartoon__clouds > * {
        position: absolute; }
  .pwa-banner-flying-cartoon__clouds > :nth-child(1) {
        top: 20px;
        width: 44px;
        -webkit-animation: 12s lp-pwa-moveclouds infinite linear;
                animation: 12s lp-pwa-moveclouds infinite linear; }
  .pwa-banner-flying-cartoon__clouds > :nth-child(1) svg {
          color: rgba(255, 187, 197, 0.4);
          fill: rgba(255, 187, 197, 0.4); }
  .pwa-banner-flying-cartoon__clouds > :nth-child(2) {
        top: 70px;
        width: 76px;
        left: -76px;
        -webkit-animation: 10s lp-pwa-moveclouds infinite linear;
                animation: 10s lp-pwa-moveclouds infinite linear; }
  .pwa-banner-flying-cartoon__clouds > :nth-child(2) svg {
          color: rgba(255, 187, 197, 0.6);
          fill: rgba(255, 187, 197, 0.6); }
  .pwa-banner-flying-cartoon__clouds > :nth-child(3) {
        top: 110px;
        width: 88px;
        height: 80px;
        left: -88px;
        -webkit-animation: 12s lp-pwa-moveclouds 2s infinite linear;
                animation: 12s lp-pwa-moveclouds 2s infinite linear; }
  .pwa-banner-flying-cartoon__clouds > :nth-child(3) svg {
          color: rgba(255, 187, 197, 0.8);
          fill: rgba(255, 187, 197, 0.8); }
  .pwa-banner-flying-cartoon__clouds > :nth-child(4) {
        top: 170px;
        width: 88px;
        height: 80px;
        left: -88px;
        -webkit-animation: 12s lp-pwa-moveclouds 5s infinite linear;
                animation: 12s lp-pwa-moveclouds 5s infinite linear; }
  .pwa-banner-flying-cartoon__clouds > :nth-child(4) svg {
          color: #ffbbc5;
          fill: #ffbbc5; }
  .pwa-banner-flying-almost-there {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    -webkit-animation: pwa-fade-in-almost-there 250ms ease;
            animation: pwa-fade-in-almost-there 250ms ease;
    height: 50vh;
    max-width: 280px;
    margin: auto; }
  .pwa-banner-flying-almost-there__cartoon {
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 0 20px 0; }
  .pwa-banner-flying-almost-there__title {
      color: #3e3e3e;
      font-size: 1rem;
      line-height: 1.375rem;
      text-align: center;
      font-weight: 500;
      width: 220px; }
  .pwa-banner-flying-almost-there__description {
      color: #717171;
      font-size: 0.875rem;
      line-height: 1.25rem;
      text-align: center;
      margin: 12px auto 0;
      width: 286px; }
  .pwa-banner-flying-almost-there__description strong {
        display: block; }
  .pwa-banner-flying__title {
    grid-area: title;
    font-size: 1rem;
    line-height: 1.375rem;
    max-width: 200px;
    margin: auto;
    text-align: center;
    font-weight: 500;
    color: #3e3e3e; }
  .pwa-banner-flying__subtitle {
    grid-area: subtitle;
    font-size: 0.875rem;
    max-width: 250px;
    text-align: center;
    font-weight: 300;
    color: #717171;
    margin: 12px auto 0; }
  .pwa-banner-flying-buttons {
    grid-area: buttons;
    display: flex;
    flex-direction: column;
    padding: 10px 0 20px; }
  .pwa-banner-flying-buttons__add, .pwa-banner-flying-buttons__dismiss {
      max-width: 215px;
      width: 100%;
      margin: auto; }
  .pwa-banner-flying-buttons__dismiss {
      max-width: 315px;
      margin: 10px auto 0;
      font-weight: 300; }

.pwa-banner-splash {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 9999;
  background: #f7f7f7;
  overflow-y: scroll;
  overflow-x: hidden;
  height: calc(100vh - 50px); }
  .pwa-banner-splash.pwa-banner-splash--closing {
    -webkit-animation: 400ms fadeOut 700ms ease;
            animation: 400ms fadeOut 700ms ease; }
  .pwa-banner-splash.pwa-banner-splash--closing .pwa-banner-splash-close {
      -webkit-animation: 1.5s pwa-banner-splash-close ease;
              animation: 1.5s pwa-banner-splash-close ease; }
  .pwa-banner-splash.pwa-banner-splash--closing .pwa-banner-splash-close .btn-icon {
        display: none; }
  .pwa-banner-splash-close {
    background: #fff;
    border-radius: 100%;
    height: 104px;
    width: 104px;
    position: absolute;
    right: -30px;
    top: -20px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10; }
  .pwa-banner-splash-close .btn-icon {
      position: relative;
      left: -6px;
      top: 5px; }
  .pwa-banner-splash-order {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 65px 0 0 0; }
  .pwa-banner-splash-order__icon {
      height: 48px;
      width: 48px;
      background: #50a773;
      border-radius: 100%;
      margin: 0 0 16px 0;
      box-shadow: 0 0 0 0 #50a773;
      -webkit-transform: scale(1);
              transform: scale(1);
      -webkit-animation: pulse-confirm 2s ease;
              animation: pulse-confirm 2s ease; }
  .pwa-banner-splash-order__icon svg {
        color: #fff;
        fill: #fff; }
  .pwa-banner-splash-order__text {
      font-size: 1.25pxrem;
      font-weight: 500;
      color: #3e3e3e; }
  @-webkit-keyframes pwa-banner-splash-close {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  100% {
    -webkit-transform: scale(50);
            transform: scale(50); } }
  @keyframes pwa-banner-splash-close {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  100% {
    -webkit-transform: scale(50);
            transform: scale(50); } }
  @-webkit-keyframes pwa-banner-splash-confirm {
  0% {
    -webkit-transform: scale(0.5) rotate(100deg);
            transform: scale(0.5) rotate(100deg); }
  80% {
    -webkit-transform: scale(1.2) rotate(-20deg);
            transform: scale(1.2) rotate(-20deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
            transform: scale(1) rotate(0); } }
  @keyframes pwa-banner-splash-confirm {
  0% {
    -webkit-transform: scale(0.5) rotate(100deg);
            transform: scale(0.5) rotate(100deg); }
  80% {
    -webkit-transform: scale(1.2) rotate(-20deg);
            transform: scale(1.2) rotate(-20deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
            transform: scale(1) rotate(0); } }
  @-webkit-keyframes pulse-confirm {
  0% {
    -webkit-transform: scale(0.65) rotate(100deg);
            transform: scale(0.65) rotate(100deg);
    box-shadow: 0 0 0 0 rgba(80, 167, 115, 0.7); }
  10% {
    -webkit-transform: scale(1) rotate(0);
            transform: scale(1) rotate(0); }
  70% {
    -webkit-transform: scale(1) rotate(0);
            transform: scale(1) rotate(0);
    box-shadow: 0 0 0 10px rgba(80, 167, 115, 0); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    box-shadow: 0 0 0 0 rgba(80, 167, 115, 0); } }
  @keyframes pulse-confirm {
  0% {
    -webkit-transform: scale(0.65) rotate(100deg);
            transform: scale(0.65) rotate(100deg);
    box-shadow: 0 0 0 0 rgba(80, 167, 115, 0.7); }
  10% {
    -webkit-transform: scale(1) rotate(0);
            transform: scale(1) rotate(0); }
  70% {
    -webkit-transform: scale(1) rotate(0);
            transform: scale(1) rotate(0);
    box-shadow: 0 0 0 10px rgba(80, 167, 115, 0); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    box-shadow: 0 0 0 0 rgba(80, 167, 115, 0); } }

.waiting-page {
  min-height: 100vh;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between; }
  @media only screen and (min-width: 960px) {
    .waiting-page {
      justify-content: flex-start;
      min-height: auto; } }
  .waiting-page .headers--mobile {
    position: fixed;
    width: 100%;
    background-color: white;
    z-index: 9997; }
  .waiting-page .orders-in-progress {
    padding-top: 70px; }
  @media only screen and (min-width: 960px) {
      .waiting-page .orders-in-progress {
        padding-top: 0; } }
  .waiting-page .download-app {
    justify-content: space-between; }
  @media only screen and (min-width: 960px) {
      .waiting-page .download-app {
        display: none; } }
  .waiting-page .download-app__links {
      left: 20px; }
  .waiting-page .download-app__links .btn-icon {
        margin: 0 8px 0 0; }
  .waiting-page-pwa {
    padding: 60px 20px; }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
    visibility: visible; }
  to {
    opacity: 0;
    visibility: hidden; } }

@keyframes fadeOut {
  from {
    opacity: 1;
    visibility: visible; }
  to {
    opacity: 0;
    visibility: hidden; } }

@-webkit-keyframes fadeInOverlay {
  from {
    opacity: 0; }
  to {
    opacity: 1;
    z-index: 10001; } }

@keyframes fadeInOverlay {
  from {
    opacity: 0; }
  to {
    opacity: 1;
    z-index: 10001; } }

@-webkit-keyframes slideInFromLeft {
  from {
    -webkit-transform: translateX(-50vw);
            transform: translateX(-50vw);
    opacity: 0; }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; } }

@keyframes slideInFromLeft {
  from {
    -webkit-transform: translateX(-50vw);
            transform: translateX(-50vw);
    opacity: 0; }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; } }

@-webkit-keyframes slideInFromRight {
  from {
    -webkit-transform: translateX(50vw);
            transform: translateX(50vw);
    opacity: 0; }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; } }

@keyframes slideInFromRight {
  from {
    -webkit-transform: translateX(50vw);
            transform: translateX(50vw);
    opacity: 0; }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; } }

@-webkit-keyframes slideUpContextCard {
  from {
    -webkit-transform: translateY(70px);
            transform: translateY(70px); }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes slideUpContextCard {
  from {
    -webkit-transform: translateY(70px);
            transform: translateY(70px); }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@-webkit-keyframes showContent {
  0% {
    -webkit-transform: translateY(70px);
            transform: translateY(70px); }
  50% {
    -webkit-transform: translateY(70px);
            transform: translateY(70px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes showContent {
  0% {
    -webkit-transform: translateY(70px);
            transform: translateY(70px); }
  50% {
    -webkit-transform: translateY(70px);
            transform: translateY(70px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@-webkit-keyframes showContentMaximized {
  0% {
    -webkit-transform: translateY(400px);
            transform: translateY(400px); }
  10% {
    -webkit-transform: translateY(400px);
            transform: translateY(400px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes showContentMaximized {
  0% {
    -webkit-transform: translateY(400px);
            transform: translateY(400px); }
  10% {
    -webkit-transform: translateY(400px);
            transform: translateY(400px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@-webkit-keyframes placeholderAnimate {
  0% {
    background-position: -650px 0; }
  100% {
    background-position: 650px 0; } }

@keyframes placeholderAnimate {
  0% {
    background-position: -650px 0; }
  100% {
    background-position: 650px 0; } }

@-webkit-keyframes fadeInCirc {
  from {
    opacity: 0;
    -webkit-transform: rotate(60deg) scale(0.5);
            transform: rotate(60deg) scale(0.5); }
  to {
    opacity: 1;
    -webkit-transform: rotate(0deg) scale(1);
            transform: rotate(0deg) scale(1); } }

@keyframes fadeInCirc {
  from {
    opacity: 0;
    -webkit-transform: rotate(60deg) scale(0.5);
            transform: rotate(60deg) scale(0.5); }
  to {
    opacity: 1;
    -webkit-transform: rotate(0deg) scale(1);
            transform: rotate(0deg) scale(1); } }

@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
            transform: scale(0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  80% {
    -webkit-transform: scale(0.89);
            transform: scale(0.89); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
            transform: scale(0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  80% {
    -webkit-transform: scale(0.89);
            transform: scale(0.89); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@-webkit-keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(101, 9, 16, 0.4); }
  70% {
    box-shadow: 0 0 0 10px rgba(101, 9, 16, 0); }
  100% {
    box-shadow: 0 0 0 0 rgba(101, 9, 16, 0); } }

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(101, 9, 16, 0.4); }
  70% {
    box-shadow: 0 0 0 10px rgba(101, 9, 16, 0); }
  100% {
    box-shadow: 0 0 0 0 rgba(101, 9, 16, 0); } }

@-webkit-keyframes shadow-scale {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; }
  50% {
    -webkit-transform: scale(1.4);
            transform: scale(1.4);
    opacity: 0.6; }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; } }

@keyframes shadow-scale {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; }
  50% {
    -webkit-transform: scale(1.4);
            transform: scale(1.4);
    opacity: 0.6; }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; } }

@-webkit-keyframes lp-pwa-moveclouds {
  0% {
    left: -150px; }
  100% {
    left: 100%; } }

@keyframes lp-pwa-moveclouds {
  0% {
    left: -150px; }
  100% {
    left: 100%; } }

@-webkit-keyframes lp-pwa-flying {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px); }
  100% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); } }

@keyframes lp-pwa-flying {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px); }
  100% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); } }

@-webkit-keyframes MovingFadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px); }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

@keyframes MovingFadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px); }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

@-webkit-keyframes MovingFadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translateX(20px);
            transform: translateX(20px); }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

@keyframes MovingFadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translateX(20px);
            transform: translateX(20px); }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

@-webkit-keyframes AnimateProgress {
  0% {
    width: 0; }
  100% {
    width: 100%; } }

@keyframes AnimateProgress {
  0% {
    width: 0; }
  100% {
    width: 100%; } }

.oauth-access-status {
  padding: 114px 20px 0;
  text-align: center;
  margin: auto;
  top: 100%;
  left: 0;
  right: 0;
  position: absolute; }
  @media only screen and (min-width: 960px) {
    .oauth-access-status {
      width: 874px;
      height: 100%;
      padding: 0;
      display: grid;
      text-align: left; } }
  @media only screen and (min-width: 1248px) {
    .oauth-access-status {
      width: 1024px; } }
  .oauth-access-status__user-info {
    align-self: center;
    height: 410px; }
  @media only screen and (min-width: 960px) {
      .oauth-access-status__user-info {
        max-width: 550px; } }
  .oauth-access-status__icons {
    display: grid;
    grid-gap: 12px;
    grid-template-columns: repeat(2, 60px);
    align-self: end;
    justify-content: center; }
  @media only screen and (min-width: 960px) {
      .oauth-access-status__icons {
        justify-content: start; } }
  .oauth-access-status__icons .icon-marmita {
      height: 60px;
      width: 60px;
      border: 7px solid #f2f2f2;
      border-radius: 50%;
      margin-right: 12px; }
  .oauth-access-status .icon-marmita--logo-ifood-smile {
    background-color: #ea1d2c;
    padding: 10px; }
  .oauth-access-status .icon-marmita--logo-ifood-smile svg {
      fill: #fff; }
  .oauth-access-status .icon-marmita--close {
    background: #717171; }
  .oauth-access-status .icon-marmita--close svg {
      fill: #fff; }
  .oauth-access-status__title {
    align-self: start;
    font-size: 1.125rem;
    line-height: 22px;
    font-weight: 500;
    color: #3e3e3e; }
  @media only screen and (min-width: 960px) {
      .oauth-access-status__title {
        font-size: 2.25rem;
        line-height: 45px; } }
  .oauth-access-status__subtitle {
    font-size: 0.875rem;
    line-height: 24px;
    color: #717171;
    font-weight: 300;
    margin: auto; }
  @media only screen and (min-width: 960px) {
      .oauth-access-status__subtitle {
        font-size: 1.125rem;
        margin: 0; } }

.oauth-request-access {
  opacity: 1;
  transition: opacity 0.1s; }
  @media only screen and (min-width: 960px) {
    .oauth-request-access {
      height: 100%;
      display: grid;
      grid-gap: 64px;
      justify-content: center;
      grid-template-columns: 400px 410px; } }
  @media only screen and (min-width: 1248px) {
    .oauth-request-access {
      grid-template-columns: 550px 410px; } }
  .oauth-request-access__user-info {
    align-self: center;
    max-width: 280px;
    margin: auto auto 40px; }
  @media only screen and (min-width: 960px) {
      .oauth-request-access__user-info {
        max-width: 550px;
        height: 410px;
        margin: auto 0; } }
  .oauth-request-access__icons {
    display: grid;
    margin-bottom: 24px;
    grid-gap: 12px;
    align-self: end;
    justify-content: center;
    grid-template-columns: repeat(2, 60px); }
  @media only screen and (min-width: 960px) {
      .oauth-request-access__icons {
        justify-content: start; } }
  .oauth-request-access__icons .icon-marmita {
      height: 60px;
      width: 60px;
      border: 7px solid #f2f2f2;
      border-radius: 50%;
      margin-right: 12px; }
  .oauth-request-access__icons .icon-marmita--logo-ifood-smile {
      background-color: #ea1d2c;
      padding: 10px; }
  .oauth-request-access__icons .icon-marmita--logo-ifood-smile svg {
        fill: #fff; }
  .oauth-request-access__title {
    max-width: 550px;
    align-self: start;
    font-weight: 500;
    color: #3e3e3e;
    font-size: 1.125rem;
    text-align: center; }
  @media only screen and (min-width: 960px) {
      .oauth-request-access__title {
        font-size: 2.25rem;
        text-align: left; } }
  .oauth-request-access-permissions {
    padding: 0 16px;
    max-width: 410px;
    background: #fff;
    border-radius: 8px;
    margin: auto; }
  @media only screen and (min-width: 960px) {
      .oauth-request-access-permissions {
        padding: 32px;
        box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.05), 0px 4px 16px rgba(0, 0, 0, 0.06); } }
  .oauth-request-access-permissions__item {
      margin-bottom: 26px;
      padding-bottom: 16px; }
  .oauth-request-access-permissions__item:not(:last-of-type) {
        border-bottom: 1px solid #f2f2f2; }
  .oauth-request-access-permissions__title {
      font-weight: 500;
      font-size: 1rem;
      color: #3e3e3e; }
  .oauth-request-access-permissions__subtitle {
      font-size: 0.875rem;
      color: #717171; }

.oauth-new-user {
  max-width: 600px;
  margin: 0 auto;
  grid-template-rows: 260px 1fr 1fr;
  display: grid;
  text-align: center; }
  .oauth-new-user .icon-marmita {
    height: 200px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding-bottom: 40px; }
  .oauth-new-user .icon-marmita:before {
      content: '';
      background-color: #fdedee;
      position: absolute;
      z-index: -1;
      border-radius: 50%;
      width: 590px;
      height: 630px;
      -webkit-transform: translate(-50%, -70%);
              transform: translate(-50%, -70%);
      left: 50%;
      top: 0; }
  .oauth-new-user .icon-marmita svg {
      width: 80px;
      height: 44px;
      fill: #ea1d2c; }
  .oauth-new-user__title {
    padding: 0 16px;
    font-size: 1.25rem; }
  .oauth-new-user__subtitle {
    font-size: 1rem;
    padding: 0 16px;
    color: #717171; }

.oauth-request-permission {
  min-height: 100vh;
  padding-top: 20px;
  position: relative;
  overflow: hidden;
  transition: all 0.5s;
  scroll-behavior: smooth;
  max-height: 800px; }
  .oauth-request-permission--show-status {
    max-height: 100vh; }
  .oauth-request-permission--show-status .oauth-request-access {
      opacity: 0; }
  .oauth-request-permission--show-status .oauth-access-status {
      -webkit-animation: request-status-in 0.5s ease-out forwards;
              animation: request-status-in 0.5s ease-out forwards; }
  @media only screen and (min-width: 960px) {
    .oauth-request-permission {
      height: 100vh;
      padding-top: 0; } }
  .oauth-request-permission .icon-marmita--logo-ifood-plain {
    width: 80px;
    height: 44px;
    display: flex;
    margin: 0 auto 50px; }
  @media only screen and (min-width: 960px) {
      .oauth-request-permission .icon-marmita--logo-ifood-plain {
        top: 50px;
        left: 50px;
        position: absolute; } }
  .oauth-request-permission .icon-marmita--logo-ifood-plain svg {
      fill: #ea1d2c; }
  .oauth-request-permission .toast {
    position: fixed; }
  @-webkit-keyframes request-status-in {
  0% {
    top: 100%; }
  100% {
    top: 0; } }
  @keyframes request-status-in {
  0% {
    top: 100%; }
  100% {
    top: 0; } }

.context-card {
  z-index: 9998;
  position: relative;
  visibility: hidden; }
  .context-card.context-card--visible {
    visibility: visible; }
  .context-card.context-card--visible + [class*='-layout'],
    .context-card.context-card--visible + * + [class*='-layout'] {
      padding: 0 0 75px; }
  .context-card.context-card--opened ~ .tab-bar {
    display: none; }
  @media only screen and (min-width: 768px) {
    .context-card .remove-voucher-button {
      font-size: 0.875rem; } }
  .context-card__minimized {
    width: 100vw;
    position: fixed;
    bottom: 0;
    background-color: #ea1d2c;
    z-index: 9994; }
  .context-card__minimized.context-card__minimized--hidden {
      -webkit-transform: translateY(80px);
              transform: translateY(80px); }
  .context-card__minimized.context-card__minimized--tab-bar-spacing {
      bottom: 50px; }
  .context-card__maximized {
    background-color: #fff;
    transition: 500ms cubic-bezier(0.23, 1, 0.32, 1);
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    position: fixed;
    width: 100vw;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 1;
    overflow: hidden; }
  .context-card__maximized.context-card__maximized--opened {
      -webkit-transform: translateY(0);
              transform: translateY(0);
      z-index: 9999; }
  .context-card__maximized.context-card__maximized--opened + .context-card__overlay {
        visibility: visible;
        opacity: 0.5; }
  .context-card__maximized.context-card__maximized--opened .context-card__content {
        -webkit-animation: showContentMaximized 600ms cubic-bezier(0.075, 0.82, 0.165, 1) forwards;
                animation: showContentMaximized 600ms cubic-bezier(0.075, 0.82, 0.165, 1) forwards; }
  .context-card__maximized .context-card__content {
      height: calc(100% - 60px);
      overflow: hidden; }
  .context-card__overlay {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    visibility: hidden;
    margin: auto;
    opacity: 0;
    transition: 300ms;
    background: #000; }
  .context-card .context-card__btn-open {
    border: none;
    background: transparent;
    width: 100%;
    display: block; }

.observation-modal__container {
  padding: 0 20px; }

.observation-modal__header {
  color: #f5e9da; }

.observation-modal__header .nav-header--transparent .btn-icon .icon-marmita svg {
    color: #fed298;
    fill: #fed298; }

.observation-modal__header .nav-header__title {
    color: #f5e9da; }

.observation-modal__textarea {
  padding: 10px 0;
  margin-top: 22px;
  background: transparent;
  color: #fff;
  font-size: 1.375rem;
  line-height: 1.5;
  min-width: 100%;
  max-width: 100%;
  width: 100%;
  min-height: 15rem;
  height: 15rem;
  border: none;
  resize: none;
  font-weight: 500; }

.observation-modal__textarea::-webkit-input-placeholder {
    font-weight: 500;
    opacity: 1;
    color: #fed298; }

.observation-modal__textarea:-ms-input-placeholder {
    font-weight: 500;
    opacity: 1;
    color: #fed298; }

.observation-modal__textarea::-ms-input-placeholder {
    font-weight: 500;
    opacity: 1;
    color: #fed298; }

.observation-modal__textarea::placeholder {
    font-weight: 500;
    opacity: 1;
    color: #fed298; }

.observation-modal__btn-wrapper {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px; }

.observation-modal__btn-save.btn {
  background-color: #f5e9da; }

.observation-modal__btn-save.btn:disabled {
    background: #fed298;
    color: #ea1d2c; }

.cart-item {
  display: flex;
  flex-direction: row;
  padding: 20px;
  position: relative; }
  .cart-item__information {
    color: #a6a5a5;
    font-size: 0.9375rem;
    font-weight: lighter;
    line-height: 22px;
    vertical-align: middle;
    width: 100%;
    overflow: hidden; }
  .cart-item__information__title {
      display: flex;
      align-items: flex-end;
      color: #272727;
      font-size: 1rem;
      font-weight: normal;
      word-wrap: normal; }
  .cart-item__information ul {
      list-style-position: inside;
      margin: 0;
      padding: 0; }
  .cart-item__information li {
      padding-left: 2px; }
  .cart-item__pricing {
    white-space: nowrap;
    line-height: 1.375rem;
    margin-left: 5px; }
  .cart-item__pricing span {
      vertical-align: baseline; }
  .cart-item__edit {
    width: 40px;
    height: 22px; }
  .cart-item__edit .btn-icon {
      top: -10px; }
  .cart-item__edit__modal-title {
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 1.125rem;
      font-weight: 500;
      text-align: center;
      padding: 5px 20px 20px;
      width: 100%; }
  .cart-item__edit__modal-button {
      display: block;
      font-weight: 500;
      margin: 0; }
  .cart-item__edit__modal-button::before {
        content: '';
        width: calc(100% - 40px);
        height: 0;
        display: block;
        background: transparent;
        position: absolute;
        left: 20px;
        top: 0;
        border-top: 1px solid #f5f0eb; }
  .cart-item__edit__modal-button:last-of-type::after {
        content: '';
        width: calc(100% - 40px);
        height: 0;
        display: block;
        background: transparent;
        position: absolute;
        left: 20px;
        bottom: 0;
        border-top: 1px solid #f5f0eb; }
  .cart-item::before {
    content: '';
    width: calc(100% - 40px);
    height: 0;
    display: block;
    background: transparent;
    position: absolute;
    left: 20px;
    top: 0;
    border-top: 1px solid #f5f0eb; }

.cart-summary {
  display: flex;
  flex-direction: column;
  padding: 20px; }
  .cart-summary__voucher {
    display: flex;
    justify-content: space-between;
    color: #a6a5a5;
    font-size: 0.9375rem;
    font-weight: lighter;
    line-height: 22px;
    height: 22px; }
  .cart-summary__voucher span.value-credit {
      color: #50a773; }
  .cart-summary__delivery {
    display: flex;
    justify-content: space-between;
    color: #a6a5a5;
    font-size: 0.9375rem;
    font-weight: lighter;
    line-height: 22px;
    height: 22px; }
  .cart-summary__delivery__button {
      top: -13px;
      width: 40px;
      height: 40px;
      border-radius: 100%; }
  .cart-summary__delivery__button::before {
        content: '';
        height: 17px;
        width: 17px;
        border-radius: 100%;
        display: block;
        background: transparent;
        position: absolute;
        border: 1px solid #a6a5a5; }
  .cart-summary__delivery span {
      display: flex;
      align-items: flex-start;
      vertical-align: top; }
  .cart-summary__total_amount {
    display: flex;
    justify-content: space-between;
    color: #a6a5a5;
    font-size: 0.9375rem;
    font-weight: lighter;
    line-height: 22px;
    height: 22px; }
  .cart-summary__total_amount__button {
      top: -13px;
      width: 40px;
      height: 40px;
      border-radius: 100%; }
  .cart-summary__total_amount__button::before {
        content: '';
        height: 17px;
        width: 17px;
        border-radius: 100%;
        display: block;
        background: transparent;
        position: absolute;
        border: 1px solid #a6a5a5; }
  .cart-summary__total_amount span {
      display: flex;
      align-items: flex-start;
      vertical-align: top; }
  .cart-summary__total-cost {
    display: flex;
    justify-content: space-between;
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 22px;
    margin-top: 5px; }

.cart__title {
  font-size: 1.375rem;
  font-weight: bold;
  padding: 12px 20px 12px; }

.cart__add-item-button::before {
  content: '';
  width: calc(100% - 40px);
  height: 0;
  display: block;
  background: transparent;
  position: absolute;
  left: 20px;
  top: 0;
  border-top: 1px solid #f5f0eb; }

.cart__add-item-button::after {
  content: '';
  width: calc(100% - 40px);
  height: 0;
  display: block;
  background: transparent;
  position: absolute;
  left: 20px;
  bottom: 0;
  border-top: 1px solid #f5f0eb; }

.cart__min-checkout {
  display: flex;
  position: relative;
  flex-direction: column;
  padding: 20px;
  text-align: center;
  justify-content: center;
  align-items: center;
  color: #a6a5a5;
  font-size: 0.9375rem;
  font-weight: lighter;
  line-height: 22px; }

.cart__min-checkout--value {
    font-weight: normal; }

.cart__min-checkout::before {
    content: '';
    width: calc(100% - 40px);
    height: 0;
    display: block;
    background: transparent;
    position: absolute;
    top: 0;
    left: 20px;
    border-top: 1px solid #f5f0eb; }

.cart__empty {
  display: flex;
  position: relative;
  flex-direction: column;
  padding: 20px;
  text-align: center;
  justify-content: center;
  align-items: center;
  color: #a6a5a5;
  font-size: 0.9375rem;
  font-weight: lighter;
  line-height: 22px; }

.google-sign-in {
  height: 50px;
  box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.05), 0px 4px 16px rgba(0, 0, 0, 0.06);
  border-radius: 4px;
  border: 0; }
  .google-sign-in .icon-marmita {
    position: absolute;
    left: 16px; }

.sign-in-onboard {
  text-align: center;
  display: flex;
  flex-direction: column; }
  @media only screen and (min-width: 960px) {
    .sign-in-onboard {
      padding: 30px 0; } }
  .sign-in-onboard__title {
    font-size: 1.5rem;
    line-height: 30px;
    color: #414143;
    margin: 0 0 20px;
    font-weight: 500;
    letter-spacing: 0.0246em; }
  @media only screen and (min-width: 960px) {
      .sign-in-onboard__title {
        font-size: 2.5rem;
        letter-spacing: -0.0024em;
        margin: 0 0 30px;
        line-height: 50px; } }
  .sign-in-onboard__subtitle {
    font-size: 1rem;
    font-weight: initial;
    color: #717171;
    margin: 0 0 22px; }
  @media only screen and (min-width: 960px) {
      .sign-in-onboard__subtitle {
        font-size: 1.5rem;
        margin: 0 0 42px; } }
  .sign-in-onboard__email {
    border: 1px solid #dcdcdc;
    color: #a6a6a6;
    border-radius: 4px; }
  @media only screen and (min-width: 960px) {
    .sign-in-onboard .btn {
      cursor: pointer; } }
  .sign-in-onboard .btn:not(:last-of-type) {
    margin-bottom: 20px; }

.sign-in-email {
  color: #717171;
  display: grid;
  padding-top: 70px; }
  @media only screen and (min-width: 960px) {
    .sign-in-email {
      padding-top: 30px; } }
  .sign-in-email__title {
    font-size: 1.125rem;
    text-align: center;
    margin: 0 0 20px;
    justify-self: center; }
  @media only screen and (min-width: 960px) {
      .sign-in-email__title {
        max-width: 320px; } }

.sign-in-otp-failure {
  display: flex;
  flex-direction: column;
  padding-top: 70px; }
  @media only screen and (min-width: 960px) {
    .sign-in-otp-failure {
      padding-top: 30px; } }
  .sign-in-otp-failure__title {
    font-size: 1.125rem;
    line-height: 30px;
    font-weight: 500;
    text-align: center;
    color: #3e3e3e;
    margin: 0 0 22px; }
  @media only screen and (min-width: 960px) {
      .sign-in-otp-failure__title {
        font-size: 1.5rem; } }
  .sign-in-otp-failure__subtitle {
    font-size: 0.875rem;
    line-height: 22px;
    margin: 0 0 26px;
    text-align: center;
    color: #717171; }
  @media only screen and (min-width: 960px) {
      .sign-in-otp-failure__subtitle {
        font-size: 1.125rem; } }
  .sign-in-otp-failure__email {
    font-size: 1rem;
    line-height: 22px;
    text-align: center;
    color: #3e3e3e;
    margin: 0 0 26px;
    word-break: break-all; }
  @media only screen and (min-width: 960px) {
      .sign-in-otp-failure__email {
        font-size: 1.125rem; } }
  .sign-in-otp-failure__change-email {
    margin-bottom: 34px;
    height: auto; }
  .sign-in-otp-failure__resend {
    margin-bottom: 34px; }

.sign-in-otp {
  width: 100%;
  padding: 48px 0 0;
  padding-top: 70px; }
  @media only screen and (min-width: 960px) {
    .sign-in-otp {
      padding-top: 30px; } }
  .sign-in-otp__title {
    font-size: 1rem;
    text-align: center;
    margin: 0 0 10px;
    color: #717171; }
  @media only screen and (min-width: 960px) {
      .sign-in-otp__title {
        font-size: 1.125rem; } }
  .sign-in-otp__email {
    font-size: 1rem;
    line-height: 1.375rem;
    text-align: center;
    margin: 0 0 26px;
    word-break: break-all; }
  @media only screen and (min-width: 960px) {
      .sign-in-otp__email {
        font-size: 1.125rem; } }
  .sign-in-otp__field {
    position: relative;
    display: grid;
    grid-gap: 8px;
    grid-template-columns: repeat(5, -webkit-min-content);
    grid-template-columns: repeat(5, min-content);
    justify-content: center; }
  .sign-in-otp__field-char {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 50px;
      height: 40px;
      border: 1px solid #dcdcdc;
      border-radius: 4px;
      font-size: 1em;
      text-indent: calc(50% - 0.375em);
      line-height: 1.125em; }
  @media only screen and (min-width: 960px) {
        .sign-in-otp__field-char {
          width: 60px;
          height: 50px;
          text-indent: 1.5em; } }
  .sign-in-otp__field-char--active {
        border: 1.5px solid #3e3e3e; }
  .sign-in-otp__field-char--error {
        border: 1px solid #ee4c58; }
  .sign-in-otp__field input[type='number']::-webkit-inner-spin-button,
    .sign-in-otp__field input[type='number']::-webkit-outer-spin-button {
      -webkit-appearance: none;
      margin: 0; }
  .sign-in-otp__btn-continue {
    margin-top: 20px; }
  .sign-in-otp__btn-no-code {
    margin-top: 20px;
    height: 20px; }

.sign-in-challenge {
  color: #717171;
  padding: 40px 0 0;
  display: grid;
  padding-top: 70px; }
  @media only screen and (min-width: 960px) {
    .sign-in-challenge {
      padding-top: 30px; } }
  .sign-in-challenge__title {
    font-size: 1rem;
    text-align: center;
    margin: 0 0 10px;
    color: #717171;
    max-width: 320px;
    justify-self: center; }
  @media only screen and (min-width: 960px) {
      .sign-in-challenge__title {
        font-size: 1.125rem; } }
  .sign-in-challenge__email {
    font-size: 1rem;
    line-height: 1.25rem;
    text-align: center;
    margin: 0 0 26px;
    color: #3f3e3e;
    text-transform: lowercase;
    word-break: break-all; }
  @media only screen and (min-width: 960px) {
      .sign-in-challenge__email {
        font-size: 1.125rem; } }
  .sign-in-challenge__next-btn {
    width: 100%; }

.sign-up {
  color: #717171;
  padding-top: 70px; }
  @media only screen and (min-width: 960px) {
    .sign-up {
      padding-top: 30px; } }
  .sign-up__title {
    text-align: center;
    color: #3e3e3e;
    margin: 0 0 34px;
    font-size: 1.5rem;
    display: none; }
  @media only screen and (min-width: 960px) {
      .sign-up__title {
        display: block; } }
  .sign-up-privacity {
    font-size: 0.875rem;
    margin: 0 0 25px; }
  .sign-up-privacity__link {
      padding: 0;
      margin: 0;
      height: auto;
      font-weight: normal; }
  .sign-up__register-btn {
    margin-bottom: 25px; }
  .sign-up-newsletter {
    display: flex;
    margin: 20px 0;
    align-items: center;
    font-size: 0.875rem; }
  .sign-up-newsletter__checkbox {
      margin-right: 5px; }
  .sign-up__modal {
    max-height: 80vh;
    overflow-y: scroll;
    scrollbar-color: #dcdcdc transparent; }
  .sign-up__modal::-webkit-scrollbar-track {
      border-radius: 50px;
      background-color: transparent; }
  .sign-up__modal::-webkit-scrollbar {
      width: 4px;
      background-color: transparent; }
  .sign-up__modal::-webkit-scrollbar-thumb {
      border-radius: 50px;
      background-color: #dcdcdc; }
  .sign-up__has-account {
    font-size: 0.9375rem;
    text-align: center;
    color: #3e3e3e;
    font-weight: 500; }
  .sign-up__has-account .btn {
      padding: 0; }

.authentication-steps {
  display: flex;
  position: relative;
  justify-self: center;
  width: 100%; }
  @media only screen and (min-width: 960px) {
    .authentication-steps {
      width: 510px;
      box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.05), 0px 4px 16px rgba(0, 0, 0, 0.06);
      border-radius: 8px;
      padding: 36px 50px;
      background-color: #fff;
      align-self: center; } }
  .authentication-steps__title {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    top: 34px;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 500; }
  @media only screen and (min-width: 960px) {
      .authentication-steps__title {
        display: none; } }
  .authentication-steps .steps-router {
    overflow: visible; }
  .authentication-steps .steps-router__step {
    overflow: visible;
    position: relative; }
  .authentication-steps .steps-router__step--invisible {
    position: absolute;
    visibility: hidden;
    opacity: 0; }
  .authentication-steps .authentication-steps__back-btn {
    width: 50px;
    height: 50px;
    margin: 0;
    position: absolute;
    left: -20px;
    top: 11px;
    z-index: 2; }
  @media only screen and (min-width: 960px) {
      .authentication-steps .authentication-steps__back-btn {
        left: -5px; } }
  .authentication-steps .authentication-steps__back-btn .icon-marmita {
      width: 8px;
      height: 16px; }
  .authentication-steps .toast {
    position: absolute;
    top: 11px;
    width: 100%; }
  @media only screen and (min-width: 960px) {
      .authentication-steps .toast {
        width: calc(100% - 26px); } }

.authentication {
  display: flex;
  position: relative;
  z-index: 0;
  width: 100%;
  flex-direction: column; }
  @media only screen and (min-width: 960px) {
    .authentication {
      height: 100vh;
      overflow: hidden; } }
  .authentication__home-btn {
    display: none;
    position: absolute;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    left: 50%;
    width: 90px;
    height: 45px;
    border-radius: 0;
    z-index: 3;
    top: 44px; }
  .authentication__home-btn .icon-marmita {
      width: 100%;
      height: 100%; }
  @media only screen and (min-width: 960px) {
      .authentication__home-btn {
        -webkit-transform: translateX(0);
                transform: translateX(0);
        left: 44px;
        display: block; } }
  .authentication__wrapper {
    position: relative;
    display: grid;
    width: 100%;
    height: 100%;
    padding: 0 20px;
    grid-template-rows: 1fr;
    row-gap: 20px; }
  @media only screen and (min-width: 960px) {
      .authentication__wrapper {
        width: 100%;
        max-width: 1366px !important;
        margin: auto;
        padding: 0 30px;
        row-gap: 0;
        grid-template-rows: unset;
        grid-template-columns: 1fr 1fr; } }
  .authentication__illustration {
    position: relative;
    display: none;
    justify-content: center; }
  @media only screen and (min-width: 960px) {
      .authentication__illustration {
        display: flex; } }
  .authentication__illustration:before {
      content: '';
      min-width: 130vh;
      min-height: 135vh;
      width: 130vw;
      height: 130vw;
      z-index: -1;
      position: absolute;
      background-color: #fdedee;
      border-radius: 0 100% 100%;
      left: 50%;
      -webkit-transform: translate(-50%, 0);
              transform: translate(-50%, 0);
      bottom: 0; }
  @media only screen and (min-width: 960px) {
        .authentication__illustration:before {
          right: 0;
          bottom: unset;
          left: auto;
          min-width: 130vh;
          min-height: 135vh;
          max-width: 80vw;
          max-height: 80vw;
          width: 80vw;
          height: 80vw;
          -webkit-transform: translate(15vw, -23%);
                  transform: translate(15vw, -23%); } }
  .authentication__illustration div {
      display: flex;
      justify-content: center;
      max-width: 500px;
      margin-bottom: 20px; }
  .authentication__illustration div svg {
        min-width: 250px;
        width: 75%;
        height: 100%; }
  @media only screen and (min-width: 960px) {
          .authentication__illustration div svg {
            width: 100%; } }
  @media only screen and (min-width: 960px) {
        .authentication__illustration div {
          margin-bottom: 0;
          max-width: auto;
          width: 90%;
          z-index: -1;
          position: absolute;
          top: 50%;
          -webkit-transform: translateY(-50%);
                  transform: translateY(-50%); } }
  .authentication--landing .authentication__home-btn {
    display: block; }
  .authentication--landing .authentication__illustration {
    display: flex; }
  .authentication--landing .authentication__wrapper {
    grid-template-rows: 1fr 1fr; }
  @media only screen and (min-width: 960px) {
      .authentication--landing .authentication__wrapper {
        width: 100%;
        max-width: 1366px !important;
        margin: auto;
        padding: 0 30px;
        grid-template-rows: unset; } }

.checkout__signin {
  padding: 20px; }

.checkout__order {
  background-color: #fff;
  border-radius: 4px 4px 0 0;
  padding: 0 0 70px;
  position: relative;
  z-index: 2; }

.checkout__order--is-loop {
    min-height: calc(100% - 60px - 97px); }

.checkout__container-scroll {
  overflow: scroll;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 100%; }

@media only screen and (min-width: 960px) {
    .checkout__container-scroll .checkout > * {
      border-bottom: 10px solid #f5f0eb; } }

.checkout__delivery {
  position: -webkit-sticky;
  position: sticky;
  width: 100%;
  z-index: 1;
  top: 0; }

.checkout__warning-minimum-order {
  border-top: 1px solid #f5f0eb;
  padding: 20px 10px;
  color: #a6a5a5;
  text-align: center;
  font-size: 0.9375rem;
  font-weight: lighter;
  line-height: 22px; }

.checkout__warning-minimum-order strong {
    margin: 0 0 0 1px; }

.checkout__scheduling {
  padding: 0 20px; }

.loyalty-card-notification {
  display: grid;
  grid-template: 1fr 1fr / 1fr;
  justify-items: center;
  text-align: center;
  grid-auto-flow: column dense;
  gap: 16px;
  padding: 12px;
  align-items: center;
  background-color: #ffffff;
  max-width: 345px;
  box-sizing: border-box;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
  border-radius: 4px; }
  @media only screen and (min-width: 768px) {
    .loyalty-card-notification {
      text-align: left;
      grid-template: 1fr / 50px 1fr;
      border: 1px solid #f7f7f7; } }
  .loyalty-card-notification__title {
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
    color: #3e3e3e;
    margin: 0 0 8px; }
  .loyalty-card-notification__description {
    display: block;
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 300;
    color: #717171;
    padding: 0 0 12px; }
  .loyalty-card-notification__pill-progress {
    padding: 0 0 8px; }
  .loyalty-card-notification__icon svg {
    width: 120px;
    height: 120px; }
  @media only screen and (min-width: 768px) {
      .loyalty-card-notification__icon svg {
        width: 60px;
        height: 60px; } }
  .loyalty-card-notification__btn-see-loyalty {
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
    color: #ea1d2c;
    background-color: #ffffff;
    border: 0;
    cursor: pointer; }

.user-nav-modal-overlay {
  z-index: 9997; }

.user-navigation-modal__header {
  background: #fff;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  border-bottom: 1px solid #f5f0eb;
  padding: 10px 20px;
  height: 65px;
  display: flex;
  z-index: 9997; }

.user-navigation-modal__control {
  display: flex;
  align-items: center; }

.user-navigation-modal__control svg {
    color: #ea1d2c;
    fill: #ea1d2c; }

.user-navigation-modal__control .control__back-icon {
    height: 30px;
    width: 20px; }

.user-navigation-modal__control .control__back-icon svg {
      width: 30px;
      position: relative;
      left: -9px; }

.user-navigation-modal__user-name {
  margin: 0 0 0 20px;
  font-size: 1.125em;
  font-weight: bold;
  color: #3f3e3e;
  display: flex;
  align-items: center; }

.user-navigation-modal .pwa-banner-install {
  margin: 0 0 50px; }

.tab-bar {
  position: fixed;
  bottom: 0;
  height: 50px;
  display: flex;
  justify-content: space-around;
  background: #fff;
  left: 0;
  right: 0;
  box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.24);
  z-index: 10000; }
  .tab-bar--with-home-button {
    height: 70px;
    padding-bottom: 20px; }
  @media only screen and (min-width: 960px) {
    .tab-bar {
      display: none; } }
  .tab-bar .tab-bar-item {
    position: relative;
    overflow: hidden;
    padding: 8px 0;
    width: 70px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #3f3e3e;
    text-decoration: none;
    border: none;
    background: none; }
  .tab-bar .tab-bar-item__badge {
      background: #ea1d2c;
      border-radius: 10px;
      position: absolute;
      color: #fff;
      font-size: 0.5rem;
      line-height: 0.5rem;
      height: 16px;
      top: 2px;
      -webkit-transform: translateX(8px);
              transform: translateX(8px);
      z-index: 1;
      min-width: 16px;
      border: 2px solid #ffffff;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1px 3px 0 3px; }
  .tab-bar .tab-bar-item__icon {
      position: relative; }
  .tab-bar .tab-bar-item__icon .icon-marmita {
        width: 21px; }
  .tab-bar .tab-bar-item__icon .icon-marmita svg {
          color: #3f3e3e; }
  .tab-bar .tab-bar-item--has-notifications {
      position: absolute;
      right: 19px;
      top: 0; }
  .tab-bar .tab-bar-item canvas {
      z-index: 1; }
  .tab-bar .tab-bar-item__title {
      color: #3e3e3e;
      font-weight: 300;
      font-size: 0.75rem;
      line-height: 0.875rem; }
  .tab-bar .tab-bar-item__title--active {
        font-weight: 500; }

.notification {
  position: relative;
  height: 100vh; }
  .notification iframe {
    width: 100vw;
    height: 100%;
    border: 0; }

.restaurant-card-empty-icon {
  display: inline-block;
  position: relative; }
  .restaurant-card-empty-icon svg {
    width: 100%;
    height: 100%; }

.restaurant-simple-card {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  background-color: #fff;
  padding: 19px 20px 16px;
  text-decoration: none;
  border-radius: 4px;
  border: 1px solid #dcdcdc;
  min-width: 83vw; }
  .restaurant-simple-card .restaurant-logo-container {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    min-width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: white;
    overflow: hidden; }
  @media only screen and (min-width: 960px) {
      .restaurant-simple-card .restaurant-logo-container {
        width: 60px;
        min-width: 60px;
        height: 60px; } }
  .restaurant-simple-card .restaurant-logo-container--placeholder {
      background-color: #dbdad9; }
  .restaurant-simple-card .restaurant-logo-container--placeholder svg {
        color: #fff;
        fill: #fff; }
  .restaurant-simple-card .restaurant-logo {
    max-height: 100%; }
  .restaurant-simple-card .restaurant-info-container {
    text-align: left;
    flex-grow: 1;
    padding-left: 20px;
    overflow: hidden; }
  .restaurant-simple-card .restaurant-name {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: flex;
    font-weight: 400;
    color: #717171;
    font-size: 1rem;
    justify-content: space-between;
    align-items: baseline;
    min-width: 0; }
  .restaurant-simple-card .restaurant-delivery-time {
    font-weight: 300;
    color: #a6a5a5;
    font-size: 0.875rem;
    line-height: 1.25em;
    margin-top: 0;
    margin-bottom: 0.25em; }
  @media only screen and (min-width: 960px) {
      .restaurant-simple-card .restaurant-delivery-time {
        font-size: 0.875rem;
        line-height: 1.375em; } }
  .restaurant-simple-card .restaurant-tag {
    margin-top: 2px; }
  .restaurant-simple-card--closed {
    background: #f6f5f5;
    opacity: 0.7; }
  .restaurant-simple-card--closed .restaurant-logo {
      -webkit-filter: grayscale(1);
              filter: grayscale(1); }
  .restaurant-simple-card--closed .restaurant-name {
      color: #666565; }

.restaurant-recent-list {
  border-bottom: 10px solid #f2f2f2; }
  @media only screen and (min-width: 768px) {
    .restaurant-recent-list {
      border-bottom: none; } }
  .restaurant-recent-list__wrapper {
    padding: 4px 0 0; }
  @media only screen and (min-width: 960px) {
      .restaurant-recent-list__wrapper {
        width: 100%;
        max-width: 1366px !important;
        margin: auto;
        padding: 0 30px; } }
  @media only screen and (min-width: 768px) {
      .restaurant-recent-list__wrapper {
        border-bottom: none;
        padding: 0 30px 64px; } }
  .restaurant-recent-list__header {
    display: block;
    padding: 0 20px; }
  @media only screen and (min-width: 960px) {
      .restaurant-recent-list__header {
        padding: 0; } }
  @media only screen and (min-width: 768px) {
      .restaurant-recent-list__header {
        padding: 0; } }
  .restaurant-recent-list__header .title {
      font-size: 1.125rem;
      color: #414143;
      line-height: 1;
      font-weight: 400; }
  @media only screen and (min-width: 768px) {
        .restaurant-recent-list__header .title {
          font-size: 1.25rem;
          font-weight: 500;
          letter-spacing: -1px; } }
  @media only screen and (min-width: 960px) {
        .restaurant-recent-list__header .title {
          margin: 0 0 32px; } }
  .restaurant-recent-list .restaurant-simple-card {
    min-width: 260px; }
  @media only screen and (max-width: 767px) {
      .restaurant-recent-list .restaurant-simple-card {
        width: 80vw; } }
  .restaurant-recent-list .marmita-scrollbox {
    height: 100%; }
  .restaurant-recent-list .carousel__controller--left {
    -webkit-transform: translateY(-20px) rotateZ(90deg);
            transform: translateY(-20px) rotateZ(90deg); }
  @media only screen and (min-width: 768px) {
      .restaurant-recent-list .carousel__controller--left {
        -webkit-transform: translateY(-20px) rotateZ(90deg);
                transform: translateY(-20px) rotateZ(90deg); } }
  @media only screen and (min-width: 960px) {
      .restaurant-recent-list .carousel__controller--left {
        left: -25px; } }
  .restaurant-recent-list .carousel__controller--right {
    -webkit-transform: translateY(-20px) rotateZ(-90deg);
            transform: translateY(-20px) rotateZ(-90deg); }
  @media only screen and (min-width: 768px) {
      .restaurant-recent-list .carousel__controller--right {
        -webkit-transform: translateY(-20px) rotateZ(-90deg);
                transform: translateY(-20px) rotateZ(-90deg); } }
  @media only screen and (min-width: 960px) {
      .restaurant-recent-list .carousel__controller--right {
        right: -25px; } }

.restaurants-list__load-more-container {
  padding: 0 20px;
  width: 100%;
  max-width: 1366px !important;
  margin: auto;
  padding: 0 30px;
  margin: 36px auto; }
  @media only screen and (min-width: 1248px) {
    .restaurants-list__load-more-container {
      padding: 0 40px 0 48px; } }
  @media only screen and (min-width: 960px) {
    .restaurants-list__load-more-container {
      padding: 0 30px; } }
  @media only screen and (max-width: 767px) {
    .restaurants-list__load-more-container {
      display: block;
      padding: 0 20px; } }
  .restaurants-list__load-more {
  background: transparent;
  border: 1px solid #eaeaea;
  font-size: 1rem;
  font-weight: normal; }
  .restaurants-list__load-more:hover:enabled {
    background: #eaeaea; }

