:root {
    --primaryColor: #1a1a1a;
    --secondaryColor: #333;
    --textGrey: #474747;
    --callToAction: #0CCAA1;
    --headerHeight: 60px;
}

body {height:100vh; font-family:'Poppins', sans-serif;}
input, textarea, select, label, button {font-family: 'Poppins', sans-serif;}

::selection {background-color:var(--primaryColor); color:#fff; text-shadow:none;}
::-moz-selection {background-color:var(--primaryColor); color:#fff; text-shadow:none;}

.botao {width:180px; height:46px; font-size:18px; border:0; border-radius:4px; background-color:var(--primaryColor); color:#fff; font-weight:bold;}
.botao-call {background-color:var(--callToAction);}
.botao-call:hover {background-color:#18DEB3;}
.botao-centralizado {position:relative; left:50%; transform:translateX(-50%);}

.texto-padrao {color:var(--textGrey); text-align:justify;}
figcaption {text-align:center; color:#aaa; font-size:13px;}

.cabecalho {width:100%; height:var(--headerHeight); position:fixed; top:0; left:0; background-color:#fff; box-shadow:0 0 15px rgba(0,0,0,.2); display:flex; justify-content:space-between; z-index:3000; transition:all 150ms linear;}
.logo {width:140px; margin-left:15px; transition:all 150ms linear;}
.logo h1 {display:none;}
.cabecalho-container {width:100%; height:var(--headerHeight); position:relative; top:0; left:0;}

.cabecalho-abaixo {transition:all 150ms linear;}
.cabecalho-abaixo .logo {width:80px; height:80px;}
.cabecalho-abaixo .menu ul li ul>li {line-height:60px;}

.menu ul {padding-left:0;}
.menu ul li {list-style:none; display:inline-block; position:relative;}
.menu ul li a {line-height:var(--headerHeight); padding:0 10px; float:left; color:var(--primaryColor); text-decoration:none; transition:all 150ms linear;}
.menu ul li a:hover {background-color:#eee;}
.menu ul li.menu-item-ativo>a {font-weight:bold;}
.menu ul li.menu-item-ativo>a::after {content:""; width:calc(100% - 20px); height:4px; position:absolute; left:10px; bottom:0; background-color:var(--callToAction); border-radius:4px 4px 0 0; box-shadow:0 -1px 6px rgba(12,202,161,.35);}

.menu-lista {display:block;}
.menu-principal-conteudo {margin-right:28px;}
.menu ul li a.menu-telefone-botao {height:38px; line-height:38px; margin-top:11px; margin-bottom:10px; padding:0 16px; border-radius:20px; background-color:var(--callToAction); color:#fff; font-weight:bold;}
.menu ul li a.menu-telefone-botao:hover {background-color:#18DEB3; color:#fff;}

.menu-overlay {width:100%; height:100%; position:fixed; top:0; left:0; background:transparent; z-index:1000; border:0; visibility:hidden; opacity:0;}
.overlay-aberto {visibility:visible; opacity:1;}

.menu-principal-container {display:flex; justify-content:space-between; margin-left:25px;}

/* Menu Responsivo */
.menu-botao-responsivo {width:64px; height:64px; position:fixed; top:10px; right:10px; border-radius:50%; background-color:var(--primaryColor); opacity:0; visibility:hidden; cursor:pointer; border:2px solid #fff; z-index:8700;}
.menu-hamburguer {width:28px; float:left; position:relative; left:50%; top:14px; transform:translateX(-50%);}
.menu-hamburguer p {color:#242424; text-transform:uppercase; font-size:9px; margin:0; text-align:center;}
.icone-barra {width:28px; height:3px; margin:2px 0; float:left; background-color:#fff; transition:all 150ms linear;}
.menu-texto {width:100%; text-align:center; position:absolute; top:28px; font-size:14px; color:#fff;}
.menu-texto p {font-size:12px; color:#fff; font-weight:normal; margin: 6px 0 0; text-transform:uppercase;}

/* Barras do menu hamburguer */
.menu-botao-responsivo .icone-barra {transition:all 200ms linear;}
.menu-botao-responsivo .top-bar {transform:rotate(45deg); transform-origin:10% 10%; margin-left:5px;}
.menu-botao-responsivo .middle-bar {opacity:0; margin-left:5px;}
.menu-botao-responsivo .bottom-bar {transform:rotate(-45deg); transform-origin:10% 90%; margin-left:5px;}
.menu-botao-responsivo.colapsado .top-bar {transform:rotate(0); margin-left:0;}
.menu-botao-responsivo.colapsado .middle-bar {opacity:1; margin-left:0;}
.menu-botao-responsivo.colapsado .bottom-bar {transform: rotate(0); margin-left:0;}

/* Submenu */
.menu ul li ul {position:absolute; top:100%; right:0; z-index:1000; padding-left:0; padding-right:0; float:left; /*min-width:160px;*/ text-align:left; visibility:hidden; opacity:0; background:#fff; box-shadow:0 0 15px rgba(0,0,0,.3); list-style:none; transform:translate(-10px,0); transition:all 200ms linear;}
.menu ul li:hover>ul,
.menu ul li:focus-within>ul {visibility:visible; opacity:1; transform:translate(0,0);}
.menu ul li ul>li {width:100%; float:left; overflow:hidden; line-height:60px;}
.menu ul li ul>li>a {height:auto; background:#fff; line-height:50px; display:block; padding:0 10px; float:left; clear:both; width:100%; color:#242424; text-shadow:none; white-space:nowrap;}
.menu ul li ul>li>a::after {content:""; width:0; height:0;}
.menu ul li ul>li>a:hover {background-color:var(--primaryColor); color:#fff;}
.menu ul li ul>li>a:hover::after {width:0; height:0;}


.banner {width:100%; height:700px; background-image:url(../img/banners/banner-fundo.png); background-size:cover; background-repeat:no-repeat; background-position:center; position:relative;}
.banner::before {content:""; width:100%; height:100%; position:absolute; top:0; left:0; background:rgba(0,0,0,.4);}
.banner .container, .banner .row, .banner .colw {height:100%;}
.banner-texto {width:50%; position:relative; top:50%; transform:translateY(-50%); z-index:200;}
.banner-texto h2 {margin:0; color:#fff; font-size:38px; line-height:120%;}
.banner-texto p {color:#fff;}

.modulo {width:100%; padding:60px 0; position:relative;}
.modulo-titulo h2, .modulo-titulo h3 {text-transform:uppercase; font-size:38px; line-height:120%; margin-top:0;}

.home-sobre {background-image:url(../img/mvm-fundo.png); background-repeat:no-repeat; background-position:center;}
.home-sobre-texto .texto-padrao {margin-top:0;}

.home-atuacao {background-color:#f3f3f3;}
.home-atuacao-container {display:flex; justify-content:center; gap:30px; flex-wrap:wrap;}
.home-atuacao-item {width:calc(25% - 30px); text-align:center; margin:15px 0;}
.home-atuacao-icone {width:100%;}
.home-atuacao-icone img {width:90px;}
.home-atuacao-item p {font-size:18px; margin-bottom:0;}
.home-atuacao-item a {text-decoration:none; color:var(--textGrey);}
.home-atuacao-item a:hover {text-decoration:underline;}

.home-equipe-container {display:flex; gap:15px; justify-content:center; flex-wrap:wrap; margin:0 7px;}
.home-equipe-imagem{width: calc(100% - 15px); position: relative; cursor: pointer;}
.home-equipe-imagem img {filter: grayscale(1); transition:all 150ms linear;}
.home-equipe-imagem:hover img {filter: grayscale(0);}

.home-equipe-item {width:calc(25% - 15px); position:relative; cursor:pointer;}
.home-equipe-item img {filter: grayscale(1); transition:all 150ms linear;}
.home-equipe-item:hover img {filter: grayscale(0);}
.home-equipe-item-descricao {display:none;}
.home-equipe-item-texto {width:100%; position:absolute; bottom:0; left:0; padding:120px 15px 15px; background:linear-gradient(to top, rgba(0,0,0,1), rgba(0,0,0,0));}
.home-equipe-item-texto h3 {margin:0; color:#fff;}
.home-equipe-item-texto p {margin:0; color:#fff;}
.home-equipe-item-texto a {color:var(--callToAction); text-decoration:none;;}
.equipe-saiba {
    display: inline-block;
    margin-top: 10px;
}
.rodape {width:100%; padding:60px 0; background-color:var(--primaryColor); position:relative; background-image:url(../img/logo_mvm.png); background-repeat:no-repeat; background-position:right bottom; background-size:auto 100%;}
.rodape h3 {margin-top:0; color:#fff;}
.rodape p {color:#fff;}
.rodape ul {padding-left:0;}
.rodape ul li {list-style:none; margin:10px 0;}
.rodape ul li a {color:#fff; text-decoration:none;}
.rodape ul li a:hover {text-decoration:underline;}
.rodape-sociais ul li {display:inline-block;}
.rodape-sociais ul li a {width:40px; height:40px; float:left; text-align:center; background-color:#fff; color:var(--primaryColor); line-height:40px; border-radius:50%; font-size:20px; transition:all 150ms linear;}
.rodape-sociais ul li a:hover {background-color:#555; color:#fff; transform:scale(1.1);}
.rodape-sub p {font-size:13px; margin:20px 15px; padding:15px 0 40px;}

.pagina-titulo {width:100%; padding:20px 0; background-color:var(--primaryColor);}
.pagina-titulo h1, .pagina-titulo h2 {text-align:center; color:#fff; font-size:58px; margin:0; line-height:110%; margin-left:15px; margin-right:15px;}
.breadcrumb {text-align:center; margin-top:10px;}
.breadcrumb a {color:#fff; text-decoration:none;}
.breadcrumb a:hover {text-decoration:underline;}
.breadcrumb p {color:#fff; font-size:13px; margin:0;}

.pagina-conteudo {margin:30px 0;}
.pagina-conteudo-titulo {margin:0 15px;}
.pagina-conteudo-titulo h1, .pagina-conteudo-titulo h2 {color:var(--primaryColor); line-height:115%;}
.pagina-conteudo-texto {margin:15px 0; text-align:justify;}
.erro-404-imagem {display:block; width:min(90%, 640px); height:auto; margin:20px auto;}

.blog-list {display:flex; flex-wrap:wrap; gap:0; margin-top:20px; text-align:left;}
.blog-list .blog-card {width:33.333333%; flex:0 0 33.333333%; max-width:33.333333%; background:#fff; min-width:0;}
.blog-card-image-link {display:block; width:100%; aspect-ratio:1 / 1; background:#f1f1f1; overflow:hidden; text-decoration:none;}
.blog-card-image {display:block; width:100%; height:100%; object-fit:cover;}
.blog-card-content {padding:34px 30px 28px; min-height:250px;}
.blog-card-content h2 {margin:0 0 28px; color:#333; font-size:24px; line-height:1.28; font-weight:700; text-align:left;}
.blog-card-readmore {display:inline-block; color:#333; font-size:13px; font-weight:700; line-height:1; text-transform:uppercase; text-decoration:none;}
.blog-card-readmore:hover {color:var(--primaryColor); text-decoration:underline;}
.blog-pagination {margin:36px 0 10px; text-align:center;}
.blog-pagination ul {display:inline-flex; gap:6px; align-items:center; justify-content:center; margin:0; padding:0;}
.blog-pagination li {list-style:none;}
.blog-pagination a,
.blog-pagination span {display:block; min-width:36px; height:36px; padding:0 10px; border:1px solid #ddd; color:#333; line-height:34px; text-align:center; text-decoration:none; box-sizing:border-box;}
.blog-pagination a:hover,
.blog-pagination .active span {background:var(--primaryColor); border-color:var(--primaryColor); color:#fff;}
.blog-pagination .disabled span {color:#aaa; background:#f5f5f5;}

/* Página de contato */
.form-container .error {color:red;}

/* Botão de WhatsApp */
.whatsapp-container {position:fixed; right:15px; bottom:75px; z-index:6000; opacity:0; visibility:hidden; transform:translateY(12px); transition:all 150ms linear;}
.whatsapp-container a {text-decoration:none;}

.whatsapp-botao {width:46px; height:46px; background-color:#25D366; cursor:pointer; position:relative; border-radius:50%; transition:all 150ms linear; box-shadow:0 0 0 0 rgba(37,211,102,.55); animation:whatsapp-pulse 1.8s infinite;}
.whatsapp-botao::before {content:""; position:absolute; inset:-8px; border:2px solid rgba(37,211,102,.55); border-radius:50%; animation:whatsapp-pulse-ring 1.8s infinite; pointer-events:none;}
.whatsapp-botao:hover {background:#128C7E; animation-play-state:paused;}
.whatsapp-botao-icone {width:46px; height:46px; color:#fff; font-size:28px; text-align:center; line-height:48px;}
.whatsapp-botao-conteudo {display:none;}
.whatsapp-container-visivel {opacity:1; visibility:visible; transform:translateY(0);}
.botao-whatsapp-elevado {bottom:75px;}

.whatsapp-dialogo {width:250px; position:absolute; bottom:calc(100% + 10px); right:0; opacity:1; visibility:visible; background-color:#fff; padding:10px; border-radius:5px; box-shadow:0 0 15px rgba(0,0,0,.1); transform:translateY(0); transition:all 150ms linear;}
.whatsapp-dialogo p {margin:0; font-size:14px; color:#777;}
.whatsapp-dialogo-fechar {width:40px; height:40px; background-color:#fff; color:red; font-size:20px; cursor:pointer; border-radius:50%; text-align:center; line-height:40px; position:absolute; bottom:calc(100% + 5px); right:0; transition:all 150ms linear;}
.whatsapp-dialogo-fechar:hover {background-color:red; color:#fff;}

.dialogo-oculto {opacity:0; visibility:hidden; transform:translateY(60px);}

.go-top-botao {width:46px; height:46px; position:fixed; right:15px; bottom:15px; z-index:6000; border:0; border-radius:50%; background:var(--primaryColor); color:#fff; font-size:18px; cursor:pointer; opacity:0; visibility:hidden; transform:translateY(12px); transition:all 150ms linear; box-shadow:0 8px 20px rgba(0,0,0,.18);}
.go-top-botao:hover {background:var(--secondaryColor); transform:translateY(8px);}
.go-top-botao-visivel {opacity:1; visibility:visible; transform:translateY(0);}

.modal {width:100%; height:100%; position:fixed; top:0; left:0; z-index:5000; opacity:0; visibility:hidden; transition:all 150ms linear;}
.modal-overlay {width:100%; height:100%; background:rgba(0,0,0,.9); z-index:5001;}
.modal-close {position:absolute; top:15px; right:30px; color:#fff; font-size:48px; cursor:pointer;}
.modal-content {width:728px; height:400px; position:absolute; padding:15px; top:50%; left:50%; transform:translate(-50%, -50%); overflow-y:scroll;}
.modal-content::-webkit-scrollbar {width:8px;}
.modal-content::-webkit-scrollbar-track {border-radius:0;}
.modal-content::-webkit-scrollbar-thumb {background:rgba(255,255,255,0.3); border-radius:8px;}
.modal-content h2, .modal-content h3 {color:#fff; font-size:38px; margin-top:0; line-height:110%;}
.modal-content p {color:#fff; text-align:justify;}
.modal-open {opacity:1; visibility:visible;}

/* Loader */
.loader-container {position:relative; width:30px; height:30px; top:6px; left:50%; transform:translateX(-50%); z-index:6000;}
.loader-oculto {display:none;}
.loader-circle {width:30px; height:30px; border:3px solid var(--secondaryColor); border-top:5px solid transparent; border-radius:50%; position:absolute; top:50%; left:50%; margin-top:-15px; margin-left:-15px; animation:spin 1s linear infinite;}
@keyframes spin {0% {transform:rotate(0deg);} 100% {transform: rotate(360deg);}}
@keyframes whatsapp-pulse {0% {box-shadow:0 0 0 0 rgba(37,211,102,.55);} 70% {box-shadow:0 0 0 14px rgba(37,211,102,0);} 100% {box-shadow:0 0 0 0 rgba(37,211,102,0);}}
@keyframes whatsapp-pulse-ring {0% {opacity:.8; transform:scale(.92);} 70% {opacity:0; transform:scale(1.18);} 100% {opacity:0; transform:scale(1.18);}}

#formulario-parceiro-status {margin-top:6px;}
#formulario-parceiro-status p {color:#0BB37B; font-size:20px; text-align:center; margin:4px 0;}

/* Aviso de cookie */
.cookie-aviso {width:1180px; padding:20px; box-sizing:border-box; background-color:#fff; position:fixed; bottom:60px; left:50%; transform:translateX(-50%); z-index:2000; border-radius:8px; box-shadow:0 0 15px rgba(0,0,0,.1);}
.cookie-aviso p {margin:0; font-size:14px;}
.cookie-aviso a {color:var(--primaryColor); text-decoration:none;}
.cookie-aviso a:hover {text-decoration:underline;}
.cookie-aviso-container {width:calc(100% - 240px); float:left;}
.cookie-aviso-botao {width:220px; float:right;}
.cookie-aviso-aceite {width:100%; height:40px; background:var(--primaryColor); border:0; color:#fff; font-size:18px; border-radius:3px;}
.cookie-aviso-aceite:hover {background:#34BA43;}
.cookie-aviso-aceite:focus {outline:none;}

.contato-mapa {width:100%; height:500px; margin-top:60px;}
.contato-mapa iframe {width:100%; height:100%;}

/* Media Queries */
@media (max-width:1370px){
.banner {height:550px;}
}

@media (max-width:1300px){
.cookie-aviso {width:calc(100% - 40px); left:20px; transform:translateX(0);}
}

@media (max-width:1180px){
.banner-texto {width:75%;}
.home-equipe-item {width:calc(33.3333% - 15px);}
}

@media (max-width:989px){
.menu-botao-responsivo {opacity:1; visibility:visible;}
.menu-lista {width:220px; height:100%; visibility:hidden; opacity:0; position:fixed; top:46px; right:-220px; background-color:var(--primaryColor); transition:all 150ms linear;}
.menu-aberto {visibility:visible; opacity:1; right:0; z-index:7000;}
.menu-principal-conteudo {margin-top:40px; margin-right:0;}
.menu-lista ul li {width:100%; position:relative;}
.menu-lista ul li a {width:100%; color:#fff; line-height:32px; text-align:right; font-size:15px; font-weight:bold; padding:10px 20px; box-sizing:border-box;}
.menu-lista ul li a:hover {background-color:var(--secondaryColor); color:#fff;}
.menu-lista ul li.menu-item-ativo>a::after {width:4px; height:calc(100% - 20px); left:auto; right:8px; top:10px; bottom:auto;}
.menu-lista ul li a.menu-telefone-botao {height:auto; line-height:32px; margin-top:0; border-radius:0; background-color:var(--callToAction); color:#fff;}
.cabecalho-abaixo .menu ul li a {line-height:unset;}
.menu-lista {overflow-y:auto;}
.menu-lista ul li ul {position:relative; top:auto; right:auto; width:100%; max-height:0; overflow:hidden; box-shadow:none; background:var(--secondaryColor); transform:none; transition:max-height 200ms linear, opacity 150ms linear; visibility:hidden; opacity:0;}
.menu-lista ul li:hover>ul,
.menu-lista ul li:focus-within>ul,
.menu-lista ul li.submenu-aberto>ul {max-height:700px; visibility:visible; opacity:1; transform:none;}
.menu-lista ul li ul>li {line-height:normal;}
.menu-lista ul li ul>li>a {line-height:22px; padding:9px 28px 9px 20px; white-space:normal; background:var(--secondaryColor); color:#fff; font-size:14px;}
.menu-lista ul li ul>li>a:hover,
.menu-lista ul li ul>li>a:focus {background-color:#444; color:#fff;}
.margem-padrao {padding-left:0; padding-right:0;}
.menu-principal-container {display:block; margin-left:0;}
.home-atuacao-item {width:calc(50% - 30px);}
.home-equipe-item {width:calc(50% - 15px);}
.pagina-titulo h1, .pagina-titulo h2 {font-size:42px;}
.blog-list .blog-card {width:50%; flex-basis:50%; max-width:50%;}
}

@media (max-width:768px){
.cabecalho, .cabecalho-container {height:calc(var(--headerHeight) - 10px);}
.logo {width:80px;}
.banner-texto {width:100%;}
.banner-texto h2, .modulo-titulo h2, .modulo-titulo h3 {font-size:28px;}
.rodape {background-image:none;}
.rodape-bloco {text-align:center; margin:30px 0;}
.rodape ul li {margin:15px 0;}
.pagina-titulo {padding:40px 0;}
.pagina-titulo h1, .pagina-titulo h2 {font-size:38px;}
.modal-content {width:100%; height:calc(100% - 160px); top:80px; left:15px; transform:translate(0,0);}
.modal-content h2, .modal-content h3 {font-size:28px;}
.cookie-aviso-container {width:100%; float:left; text-align:center;}
.cookie-aviso-botao {width:100%; float:left; margin-top:20px;}
.cookie-aviso-aceite {width:220px; float:left; position:relative; left:50%; transform:translateX(-50%); font-weight:bold;}
.blog-list .blog-card {width:100%; flex-basis:100%; max-width:100%;}
.blog-card-content {min-height:auto; padding:26px 20px 34px;}
.blog-card-content h2 {font-size:22px;}
}

@media (max-width:480px){
.home-equipe-container {margin:0 15px;}
.home-equipe-item {width:100%;}
}
