html, body { margin: 0px!important; padding: 0px!important; width: 100%; height: 100%; overflow: visible; font-family: "Montserrat", sans-serif; }
a, button, li,
.form-group span .fa
{ -webkit-transition: all .4s cubic-bezier(.215,.61,.355,1); -moz-transition: all .4s cubic-bezier(.215,.61,.355,1); -o-transition: all .4s cubic-bezier(.215,.61,.355,1); transition: all .4s cubic-bezier(.215,.61,.355,1); }
a, a:focus, a:visited, a:hover { text-decoration: none; font-style: normal; color: #888; }
section { position: relative; }
section h1 { margin: 0 0 40px 0; font-size: 40px; text-align: center; color: #666; }
.form-group span { display: inline-block; width: 100%; position: relative; }
.form-group span input[type="password"] { padding-right: 30px; }
.form-group span .fa-eye-slash,
.form-group span .fa-eye { position: absolute; cursor: pointer; right: 0px; top: 0px; padding: 14px; font-size: 20px; color: #FFF; }

strike {
    background: #4394dd;
    color: white;
    text-transform: uppercase;
    text-decoration: none;
    padding: 15px;
    display: block;
}

/* 
  Alguns dos CSS aqui podem ser substituídos por classes customizadas bootstrap, embora a maioria sirva para resolver
  problemas que o bootstrap não resolve (ou eu acho que não resolve). Todos valem para a Home, e podem entrar em
  conflito dentro de outras páginas.

  Luca
*/

/* Geral */

.py-6 {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

.pt-6 {
  padding-top: 5rem !important;
}

.pb-6 {
  padding-bottom: 5rem !important;
}

#home-page h1, h2, h3, h4 {
  font-family: "Montserrat", sans-serif;
}

h2 {
  font-size: 32px;
}

.leaves {
  width: 100%;
}

.btn-yellow {
  background-color: #3e4095 !important;
  color: #f8f9fa !important;
  font-weight: 500 !important;
}

.btn-yellow--no-hover {
  background-color: #3e4095 !important;
  color: #f8f9fa !important;
  font-weight: 500 !important;
}

.btn-yellow--alt {
  background-color: #f8f9fa !important;
  border: 1px solid #3e4095 !important;
  color: #3e4095 !important;
}

.btn-white {
  background-color: #f8f9fa !important;
  border: 1px solid #3e4095 !important;
  color: #3e4095 !important;
}

.btn-grey {
  background-color: #808080 !important;
  color: #f8f9fa !important;
  font-weight: 500 !important;
}

.btn-yellow:hover {
  background-color: #f8f9fa !important;
  border: 1px solid #3e4095 !important;
  color: #3e4095 !important;
}

.btn-yellow--alt:hover {
  background-color: #3e4095 !important;
  color: #f8f9fa !important;
  font-weight: 500 !important;
}

.btn-white:hover {
  background-color: #3e4095 !important;
  color: #f8f9fa !important;
  font-weight: 500 !important;
}

.btn-grey:hover {
  background-color: #f8f9fa !important;
  border: 1px solid #181818 !important;
  color: #181818 !important;
}

.btn-link {
  display: inline-block;
  text-transform: uppercase;
  font-weight: 700;
  color: #262626 !important;
  font-size: 14px;
  padding: 12px 22px;
  text-decoration: none;
}

.btn-link:hover {
  background-color: #3e4095;
  color: #f8f9fa !important;
}

/* Header */

header {
  background-color: #262626;
}

#my-account {
  position: absolute;
  top: 0;
  right: 10rem;
  background-color: #3e4095;
  padding: 8px 10px 4px 10px;
  color: #fff;
  z-index: 999;
  font-size: 13px;
}

.nav > li > a {
  color: #f8f9fa !important;
  text-transform: uppercase !important;
  font-size: 15px !important;
  font-weight: 300;
}

.primary-menu .nav a {
  transition: color .4s ease !important;
}

.primary-menu .nav > li {
  position: relative;
  margin: 24px;
}

.primary-menu .nav > li > ul {
  backface-visibility: hidden;
  background-color: #262626;
  flex-direction: column;
  position: absolute;
  transform: scale(0) translateX(-20px);
  transform-origin: left top;
  display: flex;
  list-style: none;
}

.primary-menu > .nav > li > ul li a {
  color: #fff;
  font-size: 13px;
  font-weight: 300;
  text-align: center;
  display: block;
  padding: 10px;
}

@media (min-width: 992px) {
  .primary-menu .nav > li > ul {
    padding: 0 0 8px;
  }

  .primary-menu .nav > li:hover > ul {
    transition: 0.4s ease;
    transform: scale(1) translateX(-16px);
  }

  .primary-menu > .nav > li > ul li a {
    padding: 8px 24px;
  }
}

.nav a:hover {
  color: #3e4095 !important;
}

.social-menu .nav i {
  transition: color .4s ease;
}

.nav i:hover {
  color: #3e4095;
}

.cart-icon {
  position: relative;
}

.cart-bullet {
  height: 20px;
  width: 20px;
  position: absolute;
  top: -12px;
  right: -12px;
  border-radius: 99px;
  background-color: #f8f9fa;
  color: #313131;
  font-size: 11px;
  text-align: center;
  line-height: 1.9;
}

/* Banner do Header (inc/main-banner.php) */

#mainCarousel .carousel-item > img {
  object-fit: cover;
  height: calc(80vh - 80px);
}

#mainCarousel .carousel-item::before {
  background: linear-gradient(to bottom,rgba(0,0,0,0.7),rgba(0,0,0,0));
  height: 240px;
  width: 100%;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  content: ""
}

#mainCarousel .carousel-item::after {
  background-color: rgba(0, 0, 0, 0.3);
  height: 100%;
  width: 100%;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  content: ""
}

#mainCarousel .carousel-item a { width: 100%; height: 100%; }
#mainCarousel .carousel-caption {
  z-index: 2;
  color: #f9f8fa;
  top: 50%;
  left: 50%;
  right: auto;
  bottom: auto;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 920px;
}

#mainCarousel .carousel-caption h1 {
  font-family: 'Montserrat', sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 32px;
}

#mainCarousel .carousel-caption p {
  font-family: 'Playfair Display', sans-serif;
  font-size: 20px;
}

#mainCarousel .carousel-control-next, .carousel-control-prev {
  width: auto;
}

#mainCarousel .carousel-control-next-icon, .carousel-control-prev-icon {
  width: 4rem;
  height: 4rem;
}

/* Home */

#home-page section.banner {
  background-color: #000;
  background-size: cover;
  background-position: center;
  padding: 100px 0;
}

#home-page section.banner h2 {
  color: #000;
  font-weight: 500;
}

#home-page #restaurant-banner {
  background-image: url('../images/balcao.jpeg');
  background-position: 60%;
}

#home-page #restaurant-banner h2 {
  color: #000;
}

#home-page #events-banner {
  background-image: url('../images/eventos.jpg');
}

#home-page #events-banner h2 {
  color: #fff;
}

#home-page #welcome-text p {
  font-size: 16px;
  font-weight: 300;
}

/* Grid de Produtos (Home e Produtos */

#grid-products img {
  object-fit: cover;
}

#grid-products p {
  font-size: 20px; /* fs-5 */
  color: #181818; /* text-dark */
  font-style: normal; /* n precisa */
  font-weight: 400; /* n precisa */
  text-transform: uppercase; /* text-uppercase */
}

#grid-products .link-button {
  border-top: 1px dotted #262626;
}

#products .image-container img {
  /*aspect-ratio: 16 / 9;*/
}

@supports not (aspect-ratio: 16 / 9) { 
  #products .image-container img::before {
    float: left;
    padding-top: 56.25%;
    content: '';
  }
  
  #products .image-container img::after {
    display: block;
    content: '';
    clear: both;
  }
}

/* Banner das internas */

.intern-banner {
  background-color: #000;
  background-size: cover;
  background-position: center;
  position: relative;
  background-image: url('../images/banner-restaurant.jpg');
  height: 280px;
  z-index: 1;
  text-align: center;
}
.intern-banner.max { height: 340px; }

.intern-banner h1 { display: inline-block; width: initial; }

.intern-banner::before {
  background: linear-gradient(to bottom,rgba(0,0,0,0.7),rgba(0,0,0,0));
  height: 240px;
  width: 100%;
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  content: ""
}

.intern-banner::after {
  background-color: rgba(0, 0, 0, 0.5);
  height: 100%;
  width: 100%;
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  content: ""
}

.intern-banner > div {
  padding: 100px 0;
  position: relative;
  z-index: 3;
}

.intern-banner h1,
.intern-banner p {
  color: #fff;
  text-align: center;
  text-transform: uppercase;
}

.intern-banner h1 {
  font-size: 29px;
  font-weight: 700;
}

.intern-banner p {
  font-size: 20px;
  letter-spacing: 6px;
}

/* Página Produtos */

#products-page .menu a{
  padding: 8px 32px;
  font-weight: 500;
  border-bottom: 1px solid transparent;
  transition: all 0.3s;
}

#products-page .menu a.active,
#products-page .menu a:hover{
  color: #3e4095 !important;
  border-bottom-color: #3e4095;
}

#products-page .menu .search-wrapper {
  position: relative;
}

#products-page .menu .search-wrapper .form-outline {
  display: block;
  position: absolute;
  top: 100%;
  right: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height .2s ease-in-out;
  margin-top: -1px;
}

#products-page .menu .search-wrapper .form-outline input {
  width: 250px;
  border-radius: 0;
}

#products-page .menu .search-wrapper .form-outline input::placeholder {
  color: #181818;
}

#products-page .menu .search-wrapper .form-outline.active {
  max-height: 50px;
}

#products-page .menu .search-wrapper .form-outline.active input {
  border: 1px solid #3e4095;
}

/* Interna de Produtos */

#products-intern {
  border-bottom: 1px dotted #5e5e5e;
  max-width: 1170px;
}

#products-intern img {
  max-width: 390px;
}

.product-info {
  margin-left: auto;
  margin-right: auto;
  max-width: 500px;
  padding: 0 40px;
}

.product-info h1 {
  letter-spacing: 0;
  color: #000;
  text-align: left;
  font-weight: 700;
  font-size: 27px;
  text-transform: uppercase;
}

.product-info .product-price {
  border-bottom: 1px dotted #5e5e5e;  
  color: #3e4095;
}

.product-info .product-price p span label { font-size: 18px; color: #8f8f8f; text-decoration: line-through; width: 100%; }

.product-info .instructions {
  border-top: 1px dotted #000;
  line-height: 1.7;
  font-size: 12px;
}

.product-info .stock {
  color: #2ECC71;
}

.product-info .out-of-stock {
  color: #F44336;
}

.product-info .categories a {
  color: #000;
  text-decoration: underline;
}

/* Carrinho */

.cart-section {
  background-color: #ffffff;
}

.cart-section h3, 
.text-empty-cart-1 {
  font-family: 'Montserrat', sans-serif;
}

.cart-products a,
.cart-products span {
  color: #181818;
}

.table-row {
  position: relative;
}

.image-empty-cart img {
  max-width: 500px;
  width: 100%;
}

@media(max-width: 991px) {
  .cart-products .remove {
    position: absolute;
    top: 0;
    right: 0;
  }
}

/* Recuperar senha */

#password-recover h4 {
  font-family: "Montserrat", sans-serif;
}

/* Checkout */

#checkout h2, 
#checkout h3, 
#checkout h4 {
  font-family: "Montserrat", sans-serif;
}

#checkout .cart-table a,
#checkout .cart-table span {
  color: #181818;
  font-weight: 700;
} 

/* Entrar */

#login h2, 
#login h3, 
#login h4 {
  font-family: "Montserrat", sans-serif;
}

/* Cadastrar */

#register h3 {
  font-family: "Montserrat", sans-serif;
}

#account h2,
#account h3 {
  font-family: "Montserrat", sans-serif;
}

/* Footer */

footer {
  border-top: 10px solid #3e4095;
  background-color: #262626;
  color: #f8f9fa;
}

footer small {
  font-size: 12px;
}

@media (min-width: 992px) {  
  .py-lg-6 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }

  h2 {
    font-size: 48px;
  }

  .header {
    border-top: 4px solid #3e4095;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2000;
    background-color: transparent;
  }

  .header.sticky {
    animation: sticky .6s ease;
    background-color: #262626;
    box-shadow: 0 2px 2px rgb(0 0 0 / 20%);
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100;
  }

  .header:not(.sticky) .home-logo {
    display: none;
  }

  #mainCarousel .carousel-caption h1 {
    font-size: 56px;
  }

  #mainCarousel .carousel-item > img {
    object-fit: cover;
    height: auto;
  }

  .leaves {
    width: auto;
  }

  .footer-info .col:not(:first-child) {
    border-left: 1px solid rgba(255, 255, 255, 0.4);
    padding-left: 2rem;
  }

  .intern-banner > div {
    padding: 145px 0 8px;
  }

  .intern-banner h1 {
    font-size: 40px;
    letter-spacing: 6px;
  }

  .intern-banner h1::after {
    background-color: #fff;
    content: '';
    display: block;
    margin: 8px auto 21px;
    height: 1px;
    width: 100%;
  }

  #products-intern img {
    max-width: 560px;
  }

  .product-info h1,
  h2.related {
    font-size: 27px;
  }


  .product-info .product-price {
    font-size: 32px;
    font-weight: 600;
    color: #3e4095;
  }
}

@-moz-keyframes sticky {
  0% {
      transform: translateY(-100%);
  }
  100% {
      transform: translateY(0);
  }
}
@-webkit-keyframes sticky {
  0% {
      transform: translateY(-100%);
  }
  100% {
      transform: translateY(0);
  }
}
@-o-keyframes sticky {
  0% {
      transform: translateY(-100%);
  }
  100% {
      transform: translateY(0);
  }
}
@keyframes sticky {
  0% {
      transform: translateY(-100%);
  }
  100% {
      transform: translateY(0);
  }
}

.btn-whats { background-color:#25d366!important; color: #FFF!important; }
.btn-whats:hover { background-color:#12893e!important; color: #FFF!important;  }

.contact .btn.send-message { float: right; }

.scroll { overflow-y: scroll; padding-right: 0px!important; }
.order .scroll { padding: 0 15px 0 0 }
.scroll::-webkit-scrollbar { width: 6px; height: 20px; }
.scroll::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.2); border-radius: 10px; background-color: #CCC; margin: 0px;  border: solid 4px rgba(0,0,0,0); }
.scroll::-webkit-scrollbar-thumb { border-radius: 10px; -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.2); background-color: #262626; }
.scroll::-moz-scrollbar { width: 6px; height: 20px; }
.scroll::-moz-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.2); border-radius: 10px; background-color: #CCC; margin: 0px;  border: solid 4px rgba(0,0,0,0); }
.scroll::-moz-scrollbar-thumb { border-radius: 10px; -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.2); background-color: #262626; }
.scroll::-o-scrollbar { width: 6px; height: 20px; }
.scroll::-o-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.2); border-radius: 10px; background-color: #CCC; margin: 0px;  border: solid 4px rgba(0,0,0,0); }
.scroll::-o-scrollbar-thumb { border-radius: 10px; -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.2); background-color: #262626; }
.scroll::scrollbar { width: 6px; height: 20px; }
.scroll::scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.2); border-radius: 10px; background-color: #CCC; margin: 0px;  border: solid 4px rgba(0,0,0,0); }
.scroll::scrollbar-thumb { border-radius: 10px; -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.2); background-color: #262626; }
.in-cart { position: fixed; top: 0; right: 0; z-index: 9999; background: rgba(0,0,0,.45); height: 100vh; width: 0vw; opacity: 0; visibility: hidden; display: inline-block; }
.in-cart.on { width: 100vw; opacity: 1; visibility: visible; }
.in-cart > div { position: absolute; top: 0; background: #fbfbfb; right: -440px; width: 440px; max-width: 100%; height: 100vh; visibility: hidden; display: inline-block; }
.in-cart > div.on { right: 0px; visibility: visible; }
.in-cart {
  -webkit-transition: all .2s cubic-bezier(.215,.61,.355,1); 
  -moz-transition: all .2s cubic-bezier(.215,.61,.355,1); 
  -o-transition: all .2s cubic-bezier(.215,.61,.355,1); 
  transition: all .2s cubic-bezier(.215,.61,.355,1);
}
.in-cart > div {
  -webkit-transition: all .4s cubic-bezier(.215,.61,.355,1); 
  -moz-transition: all .4s cubic-bezier(.215,.61,.355,1); 
  -o-transition: all .4s cubic-bezier(.215,.61,.355,1); 
  transition: all .4s cubic-bezier(.215,.61,.355,1);
}
.in-cart > div > * { float: left; width: 100%; }
.in-cart > div > span { padding: 12px 12px 10px 12px; border-bottom: 2px solid #3e4095; color: #3e4095; cursor: pointer; }
.in-cart > div > span i { float: left; margin-right: 10px; font-size: 140%; color: #3e4095; }
.in-cart > div > span u { float: left; text-decoration: none; } 
.in-cart div ul { padding: 0; list-style: none; height: calc(100vh - 180px); border-bottom: 2px solid #3e4095; background: #FFF; margin: 0; 
  -webkit-transition: all .4s cubic-bezier(.215,.61,.355,1); -moz-transition: all .4s cubic-bezier(.215,.61,.355,1); -o-transition: all .4s cubic-bezier(.215,.61,.355,1); transition: all .4s cubic-bezier(.215,.61,.355,1);
}
.in-cart div ul li { float: left; position: relative; width: 100%; padding: 12px 0px 12px 15px; border-bottom: solid 1px #e1e1e1; }
.in-cart div ul li:hover { background: #EFEFEF; }
.in-cart div ul li > * { float: left; }
.in-cart div ul li img {  }
.in-cart div ul li span { width: calc(100% - 100px); padding: 0 0 0 10px; }
.in-cart div ul li span > * { float: left; width: 100%; }
.in-cart div ul li span a { font-weight: 700; color: #000; width: initial; font-size: 16px; text-transform: uppercase; }
.in-cart div ul li span a:hover { color: #3e4095; text-decoration: underline; }
.in-cart div ul li span p { font-size: 12px; margin: 0; }
.in-cart div ul li span label { padding: 7px 0 0 0; }
.in-cart div ul li span label i { float: left; font-style: normal; font-size: 12px; padding: 6px 5px 0px 0px; } 
.in-cart div ul li span label i.icon-refresh { font-size: 16px; padding: 6px 5px; margin: 0 0 0 4px; cursor: pointer; border-radius: 0.25rem; }
.in-cart div ul li span label i.icon-refresh:hover { background: #3e4095; color: #FFF; }
.in-cart div ul li span label input { float: left; padding: 3px; font-size: 14px; line-height: 1.5; outline-color: #3e4095; color: #212529; background-color: #fff; background-clip: padding-box; border: 1px solid #ced4da; -webkit-appearance: none; -moz-appearance: none; appearance: none; border-radius: 0.25rem; width: 60px; text-align: center; font-weight: bold; }
.in-cart div ul li span label b { float: left; margin: 3px 0 0 5px; border-left: solid 1px #CCC; padding-left: 5px;  }
.in-cart div ul li span label b small { font-weight: 500; }
.in-cart div ul li span label b small em { font-style: normal; opacity: .7; position: relative; font-size: 11px; margin: 8px 6px 0 0; float: left; }
.in-cart div ul li span label b small em::before { content: 'Unitário'; font-size: 10px; position: absolute; top: -10px; left: 0; }
.in-cart div ul li span p b { font-size: 13px; }
.in-cart div ul li .icon-trash { position: absolute; top: calc(50% - 20px); opacity: .4; right: 6px; z-index: 1; font-size: 20px; font-size: 20px; padding: 10px; border-radius: 0.25rem; cursor: pointer; }
.in-cart div ul li .icon-trash:hover { background: #3e4095; color: #FFF; opacity: 1; }
.in-cart div .total { float: left; }
.in-cart div .total > * { float: left; width: 100%; }
.in-cart div .total p { text-align: right; padding: 12px 15px; margin: 0;  font-size: 30px; font-weight: 700; }
.in-cart div .total p small { font-size: 60%; }
.in-cart div .total span { text-align: center; }
.in-cart div .total span button { display: inline-block; width: 46%; border: none; padding: 10px 0; margin: 3px; font-size: 12px; font-weight: 700; text-transform: uppercase; background: #666; color: #FFF; } 
.in-cart div .total span a:nth-child(2) button{ background: #00b900; padding: 7px 0; font-size: 16px; }
.in-cart div .total span button:hover { background: #333; }
.in-cart div .total span :nth-child(2) button:hover { background: #008d00; }

.cart-v2 { background: #EFEFEF; }
.cart-v2 h2 { float: left; width: 100%; letter-spacing: 0; padding-bottom: 15px; margin-bottom: 15px; color: #000; text-align: left; font-weight: 700; text-transform: uppercase;font-size: 22px; border-bottom: 1px dotted #5e5e5e; }
.cart-v2 h2 button { text-transform: uppercase; font-size: 14px; float: right; }
.cart-v2 h3 { float: left; width: 100%; letter-spacing: 0; padding-bottom: 15px; margin: 15px 0; color: #000; text-align: left; font-weight: 500; font-size: 16px; border-bottom: 1px dotted #5e5e5e; }
/*.cart-v2 .container { max-width: 1200px; }*/
.cart-v2 .row > div { min-height: 200px; padding: 20px; }
.cart-v2 .row > div > span { float: left; position: relative; width: 100%; height: 100%; min-height: 600px; background: #FFF; padding: 30px; }
.cart-v2 .row > div ul.nav { float: left; width: 100%; padding: 15px 0px; list-style: none; border: 1px dotted #CCC; margin-bottom: 30px; }
.cart-v2 .row > div ul.nav li { float: left; width: 33.333333%; position: relative; }
.cart-v2 .row > div ul.nav li b { float: left; position: relative; z-index: 1; margin-left: calc(50% - 30px); width: 50px; height: 50px; font-size: 30px; line-height: 50px; border-radius: 60px; text-align: center; font-weight: 700; background: #CCC; color: #FFF; }
.cart-v2 .row > div ul.nav li::before { content: ''; position: absolute; height: 2px; top: calc(50% - 1px); left: 0px; background: #EFEFEF; width: 50%; }
.cart-v2 .row > div ul.nav li::after { content: ''; position: absolute; height: 2px; top: calc(50% - 1px); right: 0px; background: #EFEFEF; width: 50%; }
.cart-v2 .row > div ul.nav li:first-child::before,
.cart-v2 .row > div ul.nav li:nth-child(3)::after { display: none; }
.cart-v2 .row > div ul.nav li.on { cursor: default; }
.cart-v2 .row > div ul.nav li.on b,
.cart-v2 .row > div ul.nav li.on::before,
.cart-v2 .row > div ul.nav li.on::after  { background: #3e4095 }
.cart-v2 .row > div ul.nav li.error b,
.cart-v2 .row > div ul.nav li.error::before,
.cart-v2 .row > div ul.nav li.error::after { background: red; }
.cart-v2 .content { float: left; width: 100%; position: relative; z-index: 0; visibility: hidden; display: none; top: 0; left: 0; }
.cart-v2 .content.on { z-index: 1; visibility: visible; display: block; }
.cart-v2 .order ul { float: left; width: 100%; padding: 0 15px 0 0!important; margin: 0 0 15px 0; list-style: none; max-height: 500px; }
.cart-v2 .order ul li { float: left; width: 100%; margin-bottom: 15px; border-bottom: 1px dotted #CCC; padding-bottom: 15px; }
.cart-v2 .order ul li h2 { border: none; text-align: center; opacity: .5; padding: 40px 0 30px 0; text-transform: none; font-weight: initial; }
.cart-v2 .order ul li:last-child { border: none; margin-bottom: 0px; padding-bottom: 0px; }
.cart-v2 .order ul li > div { float: left; width: 60%; }
.cart-v2 .order ul li a { float: left; width: 100%; font-weight: 700; color: #000; font-size: 18px; text-transform: uppercase; }
.cart-v2 .order ul li a:hover { color: #3e4095; text-decoration: underline; } 
.cart-v2 .order ul li div p { float: left; width: 100%; font-size: 14px; margin: 0; padding: 0; }
.cart-v2 .order ul li div p { margin-top: 3px; }
.cart-v2 .order ul li > p { float: right; width: 40%; text-align: right; border-left: 1px dotted #CCC; margin: 0; padding: 0; }
.cart-v2 .order ul li > p em { float: left; width: 100%; font-style: normal; font-size: 14px; } 
.cart-v2 .order ul li > p u { float: left; width: 100%; font-size: 20px; text-decoration: initial; font-weight: bold }
.cart-v2 .order .total { float: left; width: 100%; text-align: right; text-align: right; padding: 12px 15px; margin: 0; font-size: 26px; font-weight: 700; border-top: 1px dotted #5e5e5e; }
.cart-v2 .order .total small { font-size: 18px; }

.cart-v2 .order .comment-order h3 { margin-top: 0; }
.cart-v2 .order .comment-order h3 small { opacity: .6; }
.cart-v2 .order .comment-order textarea { font-size: 14px; }

.cart-v2 .buttons { float: left; width: 100%; padding-top: 25px; border-top: 1px dotted #5e5e5e; }
.cart-v2 .buttons button.btn-yellow,
.cart-v2 .buttons button.btn-grey { text-transform: uppercase; font-weight: 700!important; min-width: 200px; }
.cart-v2 .buttons button.to-prev { float: left; }
.cart-v2 .buttons button.to-next { float: right; }
.cart-v2 [data-gostep] { cursor: pointer; }
.cart-v2 .new-address button { float: right; margin: 10px 0 20px 0; }
.cart-v2 fieldset { float: left; width: 100%; }
.cart-v2 fieldset label, 
.cart-v2 fieldset button { float: left; width: 100%; margin-bottom: 15px; position: relative; }
.cart-v2 fieldset label > * { position: relative; z-index: 0; }
.cart-v2 fieldset label.mb0 { margin-bottom: 0; }
.cart-v2 fieldset label.mb5 { margin-bottom: 5px; }
.cart-v2 fieldset input.center { text-align: center; }
.cart-v2 fieldset input.bold { font-weight: bold; }
.cart-v2 fieldset label p { margin-bottom: 0px; }
.cart-v2 fieldset label p em { color: red; }
.cart-v2 fieldset .mr10 { margin-right: 10px; }
.cart-v2 fieldset .ml10 { margin-left: 10px; }
.cart-v2 fieldset .mrl10 { margin: 0 10px; }
.cart-v2 fieldset .mr5 { margin-right: 5px; }
.cart-v2 fieldset .ml5 { margin-left: 5px; }
.cart-v2 fieldset .mrl5 { margin: 0 5px; }
.cart-v2 fieldset label._33 { width: calc(33.333333% - 10px); }
.cart-v2 fieldset label._335 { width: calc(32.4% - 5px); }
.cart-v2 fieldset label._33._c { width: calc(33.333333% - 20px); }
.cart-v2 fieldset label._15 { width: calc(15% - 10px); } 
.cart-v2 fieldset label._15._c { width: calc(15% - 20px); } 
.cart-v2 fieldset label._20 { width: calc(20% - 10px); } 
.cart-v2 fieldset label._25 { width: calc(25% - 10px); }
.cart-v2 fieldset label._255 { width: calc(24% - 5px); } 
.cart-v2 fieldset label._35 { width: calc(35% - 10px); }
.cart-v2 fieldset label._40 { width: calc(40% - 10px); } 
.cart-v2 fieldset button._30 { width: 30%; }  
.cart-v2 fieldset label._40._c { width: calc(40% - 20px); } 
.cart-v2 fieldset label._50,
.cart-v2 fieldset input._50 { width: calc(50% - 10px); }
.cart-v2 fieldset label._70 { width: calc(70% - 10px); } 
.cart-v2 fieldset label._75 { width: calc(75% - 10px); } 
.cart-v2 fieldset label._85 { width: calc(85% - 10px); } 
.cart-v2 fieldset label.blocked { pointer-events: none; }
.cart-v2 fieldset label.blocked input { background: #EFEFEF; cursor: no-drop; }
.cart-v2 fieldset label.blocked::before { content: 'CPF não pode ser alterado.'; color: #8f8f8f; font-size: 13px; position: absolute; left: 0; bottom: -22px;  }
.cart-v2 .infos > div { float: left; width: 100%; padding-bottom: 20px; }
.cart-v2 .shipping h2 { margin-top: 18px; }
.cart-v2 .shipping .delivery-date { float: left; position: relative; width: 360px; max-width: 100%; margin: 12px 0 20px 0; }
.cart-v2 .shipping .delivery-date .picker__input.picker__input--active { border-color: #3e4095; text-align: center;  }

.cart-v2 .shipping .delivery-date .form-control:disabled,
.cart-v2 .shipping .delivery-date .form-control[readonly] { background-color: #efefef; font-weight: bold; text-align: center; font-size: 18px; }  

.cart-v2 .shipping .delivery-date [name="_submit"] { display: none; }

.cart-v2 .shipping .delivery-date::before { float: left; width: 100%; text-align: center; position: absolute; top: -18px; left: 0; font-size: 12px; font-weight: 700; }
.cart-v2 .shipping .calendar-in .delivery-date::before { content: 'Data de Retirada'; }
.cart-v2 .shipping .calendar-out .delivery-date::before { content: 'Data de Entrega'; }
.cart-v2 .shipping .delivery-date input[type="date"] { float: left; text-align: center!important; font-size: 18px; margin-bottom: 20px; }
.cart-v2 .shipping ul.address,
.cart-v2 .shipping .title-select,
.cart-v2 .shipping .title-newaddress,
.cart-v2 .shipping .new-address { display: none; }
.cart-v2 .shipping ul.address { float: left; list-style: none; width: 100%; padding: 0; margin: 0; }
.cart-v2 .shipping ul.address li { float: left; width: 100%; border: solid 1px #CCC; padding: 15px; margin: 0 0 15px 0; position: relative; cursor: pointer; }
.cart-v2 .shipping ul.address li:hover { background: #efefef; }
.cart-v2 .shipping ul.address li.on { background: #3e4095; border-color: #3e4095; color: #FFF; }
.cart-v2 .shipping ul.address li p { float: left; width: 100%; margin: 0; }
.cart-v2 .shipping ul.address li p:nth-child(1) { font-size: 20px; font-weight: 700; }
.cart-v2 .shipping ul.address li .icon-trash { position: absolute; top: calc(50% - 20px); opacity: .4; right: 15px; z-index: 1; font-size: 20px; font-size: 20px; padding: 10px; border-radius: 0.25rem; cursor: pointer; border: solid 1px #FFF; }
.cart-v2 .shipping ul.address li .icon-trash:hover { background: #3e4095; color: #FFF; opacity: 1; }
.cart-v2 .shipping .add-newaddress { float: left; display: none; margin-bottom: 15px; }
.cart-v2 .shipping .title-options { display: none; }
.cart-v2 .shipping ul.options { float: left; display: none; list-style: none; width: 100%; padding: 0; margin: 0; }
.cart-v2 .shipping ul.options li { float: left; width: calc(50% - 10px); height: 96px; border: solid 1px #CCC; padding: 15px; margin: 0 0 15px 0; position: relative; cursor: pointer; }
.cart-v2 .shipping ul.options li:nth-child(1) { margin-right: 10px; }
.cart-v2 .shipping ul.options li:nth-child(2) { margin-left: 10px; }
.cart-v2 .shipping ul.options li:hover { background: #efefef; }
.cart-v2 .shipping ul.options li.on { background: #3e4095; border-color: #3e4095; color: #FFF; }
.cart-v2 .shipping ul.options li p { float: left; width: 100%; margin: 0; } 
.cart-v2 .shipping ul.options li p:nth-child(1) { font-size: 20px; font-weight: 700; }
.cart-v2 .shipping ul.options li p small { font-size: 12px; line-height: 12px; float: left; margin-top: -3px; }
.cart-v2 .shipping .new-address { float: left; width: 100%; }
.cart-v2 .shipping .delivery-options { float: left; width: 100%; margin-bottom: 10px; }
.cart-v2 .shipping .delivery-options button { float: left; position: relative; width: calc(50% - 10px); margin: 10px 0; font-size: 18px; background: #a7a7a7; text-align: center; color: #FFF; text-transform: uppercase; border: none; border-radius: 0.25rem; padding: 12px; font-weight: normal; -webkit-transition: all .05s cubic-bezier(.215,.61,.355,1); -moz-transition: all .05s cubic-bezier(.215,.61,.355,1); -o-transition: all .05s cubic-bezier(.215,.61,.355,1); transition: all .05s cubic-bezier(.215,.61,.355,1); }
.cart-v2 .shipping .delivery-options button.on { background: #3e4095; }
.cart-v2 .shipping .delivery-options button:nth-child(1) { margin-right: 10px; }
.cart-v2 .shipping .delivery-options button:nth-child(2) { margin-left: 10px; }
.cart-v2 .shipping .box-add-newaddress { display: none; }
.cart-v2 .shipping .calendar-in { display: none; }
.cart-v2 .shipping .calendar-out { display: none; }
.cart-v2 .payment .coupon button { padding: .375rem 0px; margin-top: 24px; background-color: #3e4095; color: #f8f9fa; font-weight: 500;} 
.cart-v2 .payment .coupon button em { font-style: normal; text-transform: none; }
.cart-v2 .payment .coupon label em { font-style: normal; text-transform: none; }
.cart-v2 .payment .conference { float: left; width: 100%; }
.cart-v2 .payment .conference p { float: left; width: 100%; margin: 0 0 5px 0; }
.cart-v2 .payment .conference p:nth-child(3) b { opacity: .8; color: #3e4095; }
.cart-v2 .payment .conference p b { float: right; }
.cart-v2 .payment .conference p.total { padding: 10px 0 0 0; margin: 10px 0 5px 0; border-top: 1px dotted #5e5e5e; font-size: 130%; color: #3e4095; }
.cart-v2 .payment .methods { float: left; width: 100%; }
.cart-v2 .payment .methods button { width: 100%; background: #818181; text-align: center; color: #FFF; text-transform: uppercase; border: none; border-radius: 0.25rem; padding: 12px 12px 12px 12px; }
.cart-v2 .payment .methods button:hover { background: #3e4095 }
.cart-v2 .payment .methods button.on { background: #00b900; }
/*.cart-v2 .payment .methods button:nth-child(1) { margin-right: 5px; }
.cart-v2 .payment .methods button:nth-child(2) { margin-left: 5px; } */
.cart-v2 .payment .methods button img { width: 24px; height: 24px; }
.cart-v2 .payment .methods button b { width: calc(100% - 25px); font-size: 16px; }
.cart-v2 .payment .finalize-order { display: none; float: left; position: relative; width: 100%; margin-top: 20px; font-size: 18px; background: #818181; text-align: center; color: #FFF; text-transform: uppercase; border: none; border-radius: 0.25rem; padding: 12px; font-weight: bold; }
.cart-v2 .payment .finalize-order.on { background: #00b900; cursor: pointer; display: block; }
.cart-v2 .payment .finalize-order::before { content: 'Preencha todos os dados para finalizar o pedido!'; position: absolute; width: 100%; left: 0; bottom: -20px; color: #818181; text-align: center; font-size: 11px; font-weight: 500;  }
.cart-v2 .payment .finalize-order.on::before { display: none; }
.cart-v2 .payment .creditcard,
.cart-v2 .payment .pix { display: none; }
.cart-v2 .payment .methods.onlyone button { width: 100%; }
.cart-v2 .payment .methods.onlyone button b { font-size: 14px; }

.pass-box { position: relative; }
.pass-box > * { position: relative; z-index: 0; }
.pass-box .fas { position: absolute; font-size: 22px; bottom: 0px; right: 0px; padding: 8px; color: #666; cursor: pointer; width: 43px; height: 38px; } 
.pass-box .fas:hover { color: #3e4095; } 

.product-color p span { font-size: 1.25rem; font-weight: 500; color: #000; padding-left: 6px; }

.formas-pagamento button { border: none; background-color: transparent; color: #3e4095; text-decoration: none; font-weight: 400; }
.formas-pagamento .box-formas { background-color: #f0f0f0; color: #000; padding: 20px; margin-top: 16px; display: none; }
.formas-pagamento .box-formas.on { display: block; } 
.formas-pagamento .box-formas p { color: #3e4095; font-weight: 500; }
.formas-pagamento .box-formas ul { list-style: none; padding-left: 5px; } 
.formas-pagamento .box-formas .cartoes { text-align: center; min-height: 100px; display: flex; align-items: center; padding: 5px 24px; }
.formas-pagamento .box-formas .cartoes .img-card { width: 100%; height: auto; margin-top: auto; margin-bottom: auto; }

.texto-unidades { background-color: #3e4095; color: #fff; padding: 20px; text-align: start;}
.unidade { padding: 0 20px 30px 20px; }
.unidade h3 { color: #3e4095; padding-bottom: 12px; border-bottom: 1px solid #3e4095; }
.unidade img { width: 100%; height: 320px; object-fit: cover; margin-bottom: 20px; }
.unidade .dados { width: 100%; height: auto; }
.unidade .dados .espacamento { width: 100%; height: auto; min-height: 60px;}
.unidade .dados .icone { float: left; width: 32px; height: auto; min-height: 70px; text-align: center; } 
.unidade .dados .icone i { font-size: 32px; color: #3e4095; }
.unidade .dados .info { float: left; width: calc(100% - 40px); min-height: 70px; padding-left: 20px; }
.unidade .dados .info p { color: #000; font-weight: 600; }
.unidade .dados .info p .btn-chamar { border: 1px solid #00b900; color: #00b900; margin-bottom: 30px; }
.unidade .dados .info p .btn-chamar:hover { background-color: #00b900; color: #fff; } 

#sobre .texto { padding: 40px 0; }
#sobre .texto h3 { color: #3e4095; margin-bottom: 20px; }
#sobre .texto p { text-align: justify; }
#sobre .img-sobre { width: 100%; height: 480px; object-fit: cover; }

.box-mensagem { border: 1px solid #00b900; border-radius: 12px; padding: 40px 30px 80px 30px; }
.box-mensagem h3 { color: #3e4095; padding-bottom: 12px; border-bottom: 1px solid #3e4095; }

.img-prod { width: auto; height: 202px; margin-left: auto; margin-bottom: auto; max-width: 100%; }

.btn-cadastre { width: auto; height: auto; border: 1px solid #00b900; background-color: #00b900; color: #fff; padding: 20px 40px; max-width: 300px; margin-top: 40px; margin-bottom: 60px;}
.btn-cadastre:hover { color: #00b900; background-color: #fff; } 
.btn-cadastre:visited { color: #fff; }
#mainCarousel .carousel-caption h3 { font-size: 48px; line-height: 50px; margin-bottom: 24px; }
#mainCarousel .carousel-caption p.cadastro { font-size: 24px; font-weight: 400; color: #fff; font-family: 'Montserrat', sans-serif; }
#mainCarousel .carousel-caption img { width: 315px; }
#mainCarousel .carousel-caption h3.danavox { font-size: 50px; line-height: 56px; margin-bottom: 40px; font-weight: 800; }
#mainCarousel .carousel-caption h3.danavox span { color: #3e4095; text-shadow: 1px 1px #fff, 0 0 1em #f0f0f0, 0 0 0.2em #f0f0f0; }
#mainCarousel .carousel-caption p.danatexto { font-size: 32px; line-height: 36px; font-weight: 600; color: #fff; font-family: 'Montserrat', sans-serif; margin-bottom: 40px;}
#mainCarousel .carousel-caption p.danainfo { font-size: 24px; font-weight: 400; color: #fff; font-family: 'Montserrat', sans-serif; }

@media (max-width: 1450px){
  .btn-cadastre { padding: 16px 40px; max-width: 280px; margin-top: 20px; margin-bottom: 40px; }
  #mainCarousel .carousel-caption h3 { font-size: 28px; line-height: 32px; margin-bottom: 16px; }
  #mainCarousel .carousel-caption h4 { font-size: 22px; }
  #mainCarousel .carousel-caption p.cadastro { font-size: 18px; }
  #mainCarousel .carousel-caption p.cadinfo { font-size: 14px; }
  #mainCarousel .carousel-caption img.cad { width: 200px; margin-top: 40px; }
}

@media (max-width: 640px){
  .unidade { padding: 20px; }
  .unidade .dados .espacamento { width: 100%; height: auto; min-height: 12px;}

  #mainCarousel .carousel-item > img { height: 40vh; }
  .btn-cadastre { padding: 6px 12px; max-width: 200px; margin-top: 6px; margin-bottom: 16px; }
  #mainCarousel .carousel-caption h3 { font-size: 24px; line-height: 28px; margin-bottom: 12px; }
  #mainCarousel .carousel-caption h4 { font-size: 18px; margin-bottom: 6px;}
  #mainCarousel .carousel-caption p { font-size: 12px; }
  #mainCarousel .carousel-caption p.cadastro { font-size: 14px; }  
  #mainCarousel .carousel-caption p.cadinfo { font-size: 10px; }

  #mainCarousel .carousel-caption h3.danavox { font-size: 24px; line-height: 28px; margin-bottom: 20px; }
  #mainCarousel .carousel-caption p.danatexto { font-size: 16px; line-height: 18px; margin-bottom: 20px;}
  #mainCarousel .carousel-caption p.danainfo { font-size: 14px; }
  }

  #confirmar h3 { font-weight: 600; }
  #confirmar h2 { color: #3e4095; }
  #confirmar p span { font-weight: 600; color: #3e4095; }
  #confirmar p.anexos { font-weight: 600; color: #3e4095; }
  #confirmar .box-infos { border: 1px solid #3e4095; padding: 20px 40px; min-height: 200px; border-bottom: 6px solid #3e4095; }
  @media (max-width: 640px){
    #confirmar .box-infos { border: 1px solid #3e4095; padding: 12px 24px; border-bottom: 4px solid #3e4095; }
  }
