 /* ==========================================================
   ==========================================================
   ===============   LAYOUT PRINCIPAL   =====================
   =========================================================
   ========================================================== */
 :root {
     --cor-principal: #05b499;
     --cor-principal-2: #059e87;
     --cor-secundaria: #135ab8;
     --cor-texto: #1a2531;
     --cor-borda: #b9bec5;
 }

 * {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
     outline: 0;
     -webkit-tap-highlight-color: transparent;
 }

 body {
     font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
     background: #f0f2f5;
     color: var(--cor-texto);
 }

 button {
     font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
 }

 ul {
     list-style: none;
 }

 input,
 textarea {
     font-size: 16px;
     font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
 }
.lazy{
    opacity: 0;
}
 a {
     text-decoration: none;
     color: var(--cor-secundaria);
 }

 .btn-login {
     display: none;
 }

 .navbar {
     background-color: #2c3e50;
     color: #fff;
     padding: 12px 30px;
     display: flex;
     justify-content: space-between;
     align-items: center;
     position: sticky;
     top: 0;
     z-index: 1000;
     box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
 }

 .navbar ul {

     display: flex;
     gap: 25px;
     align-items: center;
 }

 .navbar ul li a {
     color: #fff;

     font-weight: 500;
     transition: 0.3s;
 }

 .navbar ul li a:hover {
     color: #835409;
 }

 .navbar ul li form {
     display: flex;
     gap: 5px;
 }

 .navbar ul li form input {
     padding: 6px 10px;
     border-radius: 3px;
     border: none;
     font-size: 0.9em;
     width: 150px;
     transition: width 0.3s;
 }

 .navbar ul li form input:focus {
     width: 200px;
     outline: none;
 }

 .navbar ul li form button {
     padding: 6px 10px;
     border: none;
     border-radius: 3px;
     background: #A36600;
     color: #fff;
     font-weight: 600;
     cursor: pointer;
     transition: 0.3s;
 }

 .navbar ul li form button:hover {
     background: #81530a;
 }

 .menu-toggle {
     display: none;
     flex-direction: column;
     cursor: pointer;
 }

 .menu-toggle span {
     background: #fff;
     height: 3px;
     width: 25px;
     margin: 4px 0;
     transition: 0.3s;
 }

 @media (max-width: 768px) {
     .navbar ul {
         position: absolute;
         top: 60px;
         right: 0;
         background: #2c3e50;
         flex-direction: column;
         width: 220px;
         display: none;
         padding: 15px 0;
         border-radius: 0 0 3px 3px;
     }

     .navbar ul.show {
         display: flex;
     }

     .menu-toggle {
         display: flex;
     }

     .navbar ul li form {
         flex-direction: column;
         gap: 5px;
         padding: 10px;
     }

     .navbar ul li form input,
     .navbar ul li form button {
         width: 100%;
     }
 }

 /* Container */
 .container {
     max-width: 580px;
     margin: 0px auto 15px auto;
     background: #fff;
     padding: 15px;
     border-radius: 3px;
     box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .06);
 }

 .container-2 {
     max-width: 580px;
     margin: 0px auto 15px auto;
     padding: 15px;
 }

 .map-modal {
     display: none;
     position: fixed;
     z-index: 3000;
     left: 0;
     top: 0;
     width: 100%;
     height: 100%;
     background: rgba(0, 0, 0, 0.70);
     backdrop-filter: blur(4px);
     justify-content: center;
     align-items: center;
     padding: 20px;
 }

 .map-modal-content {
     position: relative;
     width: 95%;
     max-width: 800px;
     height: 70%;
     background: #fff;
     border-radius: 3px;
     padding: 10px;
     animation: modalMapIn .25s ease-out;
 }

 @keyframes modalMapIn {
     from {
         opacity: 0;
         transform: scale(.8);
     }

     to {
         opacity: 1;
         transform: scale(1);
     }
 }

 .map-modal-close {
     position: absolute;
     top: 0px;
     right: 15px;
     color: #000;
     font-size: 35px;
     cursor: pointer;
     z-index: 10;
 }

 .map-frame {
     width: 100%;
     height: 100%;
     border: 0;
     border-radius: 3px;
 }

 /*breadcrumb*/

 .scroll {
     overflow: auto hidden;
     flex-wrap: nowrap;
     display: flex;
 }

 .breadcrumb>li+li:before {
     padding: 0 4px 0 8px;
     color: #ccc;
     content: "›";
 }

 .breadcrumb {
     font-size: 12px;
     padding: 0 0 0 15px;
     color: #3a3a3a;
     width: 580px;
     margin: 16px auto;
     flex-wrap: nowrap;
     display: flex;
 }

 .breadcrumb li {
     display: inline-block;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
     max-width: 188px;
     padding: 8px 0px 8px 0px;
 }

 .breadcrumb a {
     color: #3a3a3a;

 }

 /* Footer */
 footer {
     background: #fff;
     padding: 25px 30px;
     margin-top: 40px;
     line-height: 2.9;
 }

 footer .container-2.ul {
     display: flex;
     flex-direction: column;
     justify-content: space-between;
     max-width: 900px !important;
 }

 footer a {
     margin-right: 20px;
 }

 footer p {
     margin-top: 10px;
     text-align: center;
     border-top: solid #e7e7e7 1px;
 }



 /* Botão hambúrguer */
 .menu-btn {
     font-size: 1.5rem;
     cursor: pointer;
     background: none;
     border: none;
     color: white;
     display: block;
     padding: 10px;
     /* visível mobile */
 }



 /* Menu lateral */
 .side-menu {
     position: fixed;
     top: 0;
     left: -650px;
     width: 250px;
     height: 100%;
     background-color: var(--cor-principal);
     color: white;
     padding: 20px;
     transition: left 0.3s ease;
     z-index: 999;
 }

 .side-menu a {
     color: #fff;
 }

 .logo-side-menu img {
     position: relative;
     top: 6px;
 }

 .side-menu.open {
     left: 0;
 }

 .side-menu ul {
     margin-top: 30px;
 }

.side-menu ul li {
    padding: 18px 0;
    font-size: 1rem;
    cursor: pointer;
}

 .overlay {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: rgba(0, 0, 0, 0.4);
     display: none;
     z-index: 998;
 }

 .overlay.active {
     display: block;
 }

 .logo-footer {
     margin-bottom: 10px;
     color: var(--cor-principal);
     max-width: 900px;
     margin: auto;
 }

 .logo-footer img {
     position: relative;
     top: 6px;
 }

 /* ---- Desktop ---- */
 @media(min-width:768px) {

     footer .container-2.ul {
         display: flex;
         flex-direction: row;
     }

     .menu-btn {
         display: none;
     }




     .side-menu ul {
         display: flex;
         margin-left: 20px;
     }

     .side-menu ul li {
         margin: 0 15px;
         color: white;
     }

     .overlay {
         display: none;
     }
 }

header {
     background-color: var(--cor-principal);
    display: flex;
    position: sticky;
    top: 0px;
    z-index: 1;
}


 .search-container {
     width: 708px;
     display: flex;
     margin: auto;
     height: 60px;
     padding: 11px;
 }

 .logo {
     width: 20%;
 }

 .logo a {
     color: #fff;

 }

 .logo img {
     position: relative;
     top: 4px;
 }
.grupo-busca {
    display: flex;
}

.grupo-busca img {
    padding: 10px;
    margin-left: 10px;
}
 .input-busca {
     background-color: var(--cor-principal-2);
     color: #fff;
     border-radius: 3px;
     text-indent: 12px;
     border: none;
     width: 100%;
     padding: 8px;
 }

 .input-busca::placeholder {
     color: #dbdbdb;
 }

 .cidade {
     width: 27%;
     margin-left: 3%;
 }

 .busca {
     width: 47%;
     margin-left: 3%;
 }

 .results {
     background-color: #fff;
     z-index: 9;
     max-height: 500px;
     overflow-y: scroll;
     position: relative;
     border-radius: 3px;
     box-shadow: #00000033 0 6px 20px !important;

 }

 .results ul {
     /*pointer-events: none;*/
     list-style: none;
 }

 .results li,
 .results-mobile li {
     border-bottom: solid #e7e1e1 1px;
     cursor: pointer;
     font-size: 14px;
 }

 .results li a:hover {
     background-color: #ececec;
 }

 .results a,
 .results-mobile a {
     color: var(--cor-texto);
     display: block;
     padding: 9px;
 }

 .cidade .results li,
 .busca-mobile-cidade .results-mobile li {
     padding: 9px;
 }

 .results a div,
 .results-mobile a div {
     color: var(--cor-secundaria);
 }

 .btn-busca-mobile {
     display: none;
 }

.busca-mobile-cidade, .busca-mobile {
    background: #fff;
    height: 100%;
    width: 100%;
    position: fixed;
    z-index: 10;
    right: -100%;
    transition: right 450ms ease;
    top:0px;
}

 .busca-mobile .topo,
 .busca-mobile-cidade .topo {
     background: var(--cor-principal);
     padding: 15px;
     display: flex;
 }

 .busca-mobile-cidade.open {
     right: 0;
 }

 .busca-mobile.open {
     right: 0;
 }

 .busca-container {
     display: flex;
    flex-direction: column;
    padding: 0px 10px 10px 10px;
    background-color: var(--cor-principal);
    position: relative;
    top: -1px;
 }


 .btn-cidade-mobile {
     margin-bottom: 10px;
    padding: 0px 0px 5px 0px;
    border: none;
    background-color: var(--cor-principal);
    text-align: left;
    line-height: 1.5;
    font-size: 16px;
    color: #fff;
 }

 .btn-cidade-mobile img {
     float: right;
 }

 .topo div {
     width: 100%;
     text-align: center;
     color: #fff;
     font-size: 18px;
 }

 .notificacao-privacidade {
     position: fixed;
     bottom: 16px;
     background-color: #fff;
     padding: 22px;
     border: solid #dcdcdc 1px;
     border-radius: 3px;
     display: flex;
     box-shadow: rgba(0, 0, 0, .08) 0 1px 12px;
     z-index: 2;
     width: 80%;
     margin: auto;
     left: 16px;
     right: 16px;
 }

 .notificacao-privacidade button {
     background-color: var(--cor-secundaria);
     color: #fff;
     border: none;
     border-radius: 3px;
     width: 177px;
     height: 35px;
     margin-left: 10px;
 }

 @media (max-width:768px) {

     .autocomplete.cidade,
     .autocomplete.busca {
         display: none;
     }

     .search-container,
     .logo {
         width: 100%;
     }

     .btn-busca-mobile {
         display: block;
         margin: 6px;
         cursor: pointer;
     }

     .notificacao-privacidade {
         flex-direction: column;
         width: 100%;
         left: 0;
         right: 0;
         bottom: 0;
     }

     .notificacao-privacidade button {
         margin: auto;
         margin-top: 20px;
     }
 }

 /* ==========================================================
   ==========================================================
   ===============   LAYOUT PAGINA CONTATO   =====================
   =========================================================
   ========================================================== */
 h1 {
     text-align: center;
 }

 p {
     text-align: center;
 }

 form {
     padding: 18px;
 }

 form input,
 textarea {
     border-radius: 3px;
     text-indent: 12px;
     border: solid var(--cor-borda) 1px;
     width: 100%;
     padding: 8px;
 }

 form label {
     margin-top: 13px;
     margin-bottom: 6px;
     display: block;
 }

 form button {
     background: var(--cor-secundaria);
     color: #fff;
     padding: 10px 15px;
     border-radius: 3px;
     border: none;
     transition: 0.3s;
     cursor: pointer;
     min-width: 108px;
     text-align: center;
     width: 100%;
 }

 form button:disabled {
     opacity: 0.5;
     cursor: not-allowed;
 }

 .g-recaptcha {
     height: 78px;
     margin: 5px 0 10px 0;
 }

 .msg {
     position: relative;
     padding: .75rem 1.25rem;
     margin-bottom: 1rem;
     border: 1px solid transparent;
     border-radius: .25rem;
 }

 .msg-errro {
     color: #721c24;
     background-color: #f8d7da;
     border-color: #f5c6cb;
 }

 .msg-success {
     color: #155724;
     background-color: #d4edda;
     border-color: #c3e6cb;

 }

 .msg-warning {
     color: #856404;
     background-color: #fff3cd;
     border-color: #ffeeba;
 }
 .banner-topo,
.banner-2 {
    min-height: 375px;
    max-width: 900px;
    margin: auto;
    margin-bottom: 15px;
}