:root {
    --primaryColor: #33885B;
    --secondaryColor: #A6C640;
    --thirdColor: #FFED26;
    --primaryColorRGB: 51, 136, 91;
    --secondaryColorRGB: 166, 198, 64;
    --thirdColorRGB: 255, 237, 38;
    --textColor: #6a7483;
}

h1, h2, h3, h4, h5, h6, p, a, span, input, textarea, select, li, label, table, button, mark, .breadcrumbm, #resultado {font-family: 'Montserrat', sans-serif;}

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

.cor-principal {color:var(--primaryColor) !important;}
.cor-secundario {color:var(--secondaryColor) !important;}
.cor-branco {color:#fff !important;}

.modulo {width:100%; padding:60px 0; position:relative;}
.ancora {position:absolute; top:-65px; left:0; width:1px; height:1px; border:0; background:transparent;}

/* Botões */
.botao {width:200px; height:54px; font-size:20px; font-weight:normal; border-radius:27px; background-color:var(--primaryColor); color:#fff;  cursor:pointer; position:relative; border:0; font-weight:bold;}
.botao-principal {background-color:var(--primaryColor); color:#fff; transition:all 150ms linear;}
.botao-principal:hover {background-color:var(--secondaryColor);}
.botao-secundario {background-color:var(--secondaryColor); color:#fff; box-shadow:0 0 0 var(--primaryColor); transition:all 150ms linear;}
.botao-secundario:hover {background-color:var(--thirdColor);}

.botao-maior {width:260px; height:60px; font-size:18px; border-radius:30px;}
.botao-centralizado {left:50%; transform:translateX(-50%);}
.botao-container {margin-top:30px;}

.cabecalho {width:100%; position:fixed; z-index:5000; transition:all 150ms linear;}
.cabecalho-container {max-width:100%; margin:0 15px; padding:15px; display:flex; justify-content:space-between; align-items:center; gap:30px; }
.logo {width:141.32px; height:140px; background-image:url(../img/logo_tmw@2x.png); background-repeat:no-repeat; background-size:cover; position:absolute; top:15px; left:15px; transition:all 150ms linear;}
.logo h1 {display:none;}

.cabecalho-abaixo {background:var(--primaryColor);}
.cabecalho-abaixo .logo {width:90.85px; height:90px;}

/* Menu */
.menu-principal {position:relative;}
.menu-principal ul {padding-left:0;}
.menu-principal ul li {list-style:none; display:inline-block; position:relative;}
.menu-principal ul li a {color:#fff; text-decoration:none; font-weight:bold; font-size:16px; padding:4px 10px 0; float:left; position:relative; transition:all 150ms linear;}
.menu-principal ul li a:hover {color:var(--secondaryColor);}

.menu-lista {display:block;}

.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 Responsivo */
.menu-botao-responsivo {width:64px; height:64px; position:fixed; top:12px; right:10px; border-radius:50%; background-color:var(--primaryColor); opacity:0; visibility:hidden; cursor:pointer; border:2px solid #fff; z-index:8700; transition:all 150ms linear;}
.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;}

.ancora {width:1px; height:1px; background:none; border:0; position:absolute; top:-50px; left:0;}

.banner {width:100%; height:770px; background-image:url(../img/banner_fundo_foto.png); background-position:center; background-size:cover; position:relative; background-repeat:no-repeat; overflow:hidden;}
.banner-overlay {width:100%; height:100%; position:absolute; top:0; left:0; background-image:linear-gradient(90deg, rgba(var(--secondaryColorRGB),.5), rgba(var(--thirdColorRGB),.5));}
.banner-video {width:100%; height:100%; position:absolute;}
.banner-video iframe, .banner-video video {min-width:100%; height:56.25vw; min-height:100%; left:50%; transform:translate(-50%, -50%); position:absolute; top:50%; width: 177.77777778vh;}
.banner-container {max-width:1170px; width:100%; height:100%; margin:0 auto; display:flex; gap:15px; align-items:center; padding-left:15px; padding-right:15px; position:relative;}
.banner-textos h2 {color:#fff; font-size:54px; font-weight:bold; line-height:100%; margin:0 0 10px;}
.banner-textos p {color:#fff; font-size:18px; font-weight:normal; line-height:calc(100% + 5px); margin:0 0 20px;}

.banner-formulario {width:100%; background-color:#fff; border-radius:10px; padding:20px; position:relative;}
.banner-formulario h2 {color:var(--secondaryColor); font-size:32px; margin:0;}
.banner-formulario p {color:var(--textColor); margin:0 0 15px; font-size:14px;}
.banner-formulario .botao {margin-top:15px;}

.banner-formulario input, .banner-formulario textarea {border:1px solid #888; padding:5px 0;}

.modal-formulario-loader {position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(255,255,255,.9); opacity:0; visibility:hidden; z-index:3000;}
.loader {width:48px; height:48px; border:5px solid var(--primaryColor); border-bottom-color:var(--secondaryColor); border-radius:50%; display:inline-block; box-sizing:border-box; animation:rotation 1s linear infinite; position:absolute; top:50%; left:50%; margin:-24px 0 0 -24px;}
.loader-block {opacity:1; visibility:visible;}
#resultado {color:#009938; font-size:17px; font-weight:bold; margin-top:20px;}

@keyframes rotation {
    0% {
		transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
} 

.form-container-checkbox label {cursor:pointer; font-size:14px;}
.form-container-checkbox .link_politica {color:var(--secondaryColor); cursor:pointer; font-size:14px;}
.form-container-checkbox .link_politica:hover {text-decoration:underline;}
.link_politica, .link_ambiental {cursor:pointer;}

.titulo-modulo {margin-bottom:50px;}
.titulo-modulo h2, .titulo-modulo h3 {color:var(--primaryColor); font-weight:bold; font-size:42px; margin:0 0 15px; line-height:100%;}
.titulo-modulo p {font-size:16px; margin:0; color:#777;}

.destaque-item {text-align:center;}
.destaque-item img {max-width:90px;}
.destaque-item h3 {color:#333; margin-bottom:5px;}
.destaque-item p {color:#777; font-size:15px;}
.destaque-item .destaque-saiba {color:var(--primaryColor); font-weight:bold; cursor:pointer; transition:all 150ms linear;}
.destaque-item .destaque-saiba:hover {color:var(--secondaryColor);}

.projetos {background-image:url(../img/elemento_fundo.png); background-repeat:no-repeat; background-position:right top; position:relative;}
.projeto {width:calc(100% - 30px); margin:15px; background-color:var(--primaryColor); border-radius:15px; padding:30px;}
.projeto-container {width:100%; max-width:1170px; margin:0 auto;}
.projeto-numeros {display:flex; flex-wrap:wrap; gap:30px; justify-content:center; margin-top:60px;}
.numero-item {width:calc(25% - 25px); text-align:center;}
.numero-item p {color:#fff; margin:0; font-size:14px;}
.numero-item h4 {color:#fff; margin:5px 0; font-size:42px; line-height:100%;}

.projetos-info {width:100%; max-width:768px; margin:0 auto; padding:0 15px; margin-top:60px;}
.projetos-info p {color:#fff;}
.projetos-info-container {display:flex; gap:30px;}
.projetos-info-container p {width:calc(33.3333% - 25px);}

.projetos-execucao {margin:60px 0;}
.execucao-container {width:100%; max-width:1170px; margin:0 auto; padding:0 15px; display:flex; flex-wrap:wrap; gap:20px;}
.execucao-item {width:calc(20% - 16px); background-color:var(--primaryColor); border-radius:12px; padding:15px;}
.execucao-item p {font-size:14px; margin:0; line-height:100%; color:#fff;}
.execucao-item span.cidade {font-size:24px; font-weight:bold; line-height:100%; min-height:80px; display:block; color:#fff;}
.execucao-item .potencia {font-size:28px; font-weight:bold; line-height:100%; color:#fff;}

.usinas {width:100%; height:600px; background-color:var(--primaryColor); position:relative; display:flex; align-items:center; gap:15px; background-image:url(../img/foto_usina_flutuante.jpg); background-repeat:no-repeat; background-size:cover; background-attachment:fixed;}
.usinas::after {content:""; width:100%; height:100%; position:absolute; top:0; left:0; background-image:linear-gradient(90deg, rgba(0,0,0,.8), transparent); z-index:5;}
.usinas-container {width:100%; max-width:1170px; margin:0 auto; position:relative; z-index:10;}
.usinas-textos {max-width:585px;}
.usinas-textos h2 {color:#fff; font-size:42px; line-height:120%; margin:0 0 10px;}
.usinas-textos p {color:#fff;}

.galeria .owl-carousel .owl-nav {width:46px; position:absolute; top:50%; transform:translateY(-50%); left:28px;}
.galeria .owl-carousel .owl-nav button {width:46px; height:46px; border-radius:50%; background-color:var(--primaryColor); color:#fff; font-size:36px; margin:2px 0;}
.galeria .owl-carousel .owl-nav button:hover {background-color:var(--secondaryColor);}
.galeria .owl-carousel .owl-nav button span {position:relative; top:-5px;}

.royalfic {width:100%; height:600px; background-color:var(--primaryColor); position:relative; display:flex; align-items:center; gap:15px; background-image:url(../img/imagem_royal_fic.png); background-repeat:no-repeat; background-size:cover; background-attachment:fixed;}
.royalfic::after {content:""; width:100%; height:100%; position:absolute; top:0; left:0; background-image:linear-gradient(90deg, rgba(0,0,0,.8), transparent); z-index:5;}
.royalfic-container {width:100%; max-width:1170px; margin:0 auto; padding:0 15px; position:relative; z-index:10;}
.royalfic-textos {max-width:585px;}
.royalfic-textos h2 {color:#fff; font-size:42px; line-height:120%; margin:0 0 10px;}
.royalfic-textos p {color:#fff;}

.contato {width:100%; padding-bottom:90px !important;}
.contato-container {width:100%; max-width:768px; margin:0 auto; padding-left:15px; padding-right:15px;}
.form-container label.error, .form-container-checkbox label.error {color:red;}
input.form-contato, textarea.form-contato {font-size:22px; text-indent:0; border:0; border-bottom:2px solid var(--primaryColor); font-style:italic;}
input.form-contato:hover, input.form-contato:focus, textarea.form-contato:hover, textarea.form-contato:focus {border-bottom:2px solid var(--secondaryColor);}
.form-alinha {display:flex; gap:30px; justify-content:space-between;}
.form-alinha .form-container {width:50%;}

.rodape {width:100%; padding:90px 0 60px; background-color:var(--primaryColor); position:relative;}
.rodape-logo-completo {width:80.76px; height:80px; background-image:url(../img/logo_tmw@2x.png); background-repeat:no-repeat; background-size:cover; position:absolute; top:-40px; left:50%; transform:translateX(-50%); z-index:20;}
.rodape-container {max-width:1170px; margin:0 auto; padding-left:15px; padding-right:15px; display:flex; justify-content:center; flex-wrap:wrap; gap:80px;}
.rodape-logo {width:90px; height:45.75px; background-image:url(../img/rodape-logo.png); background-repeat:no-repeat; background-size:cover; margin-bottom:15px;}
.rodape-item {max-width:320px;}
.rodape-item h3 {color:#fff; margin-top:0; font-size:26px;}
.rodape-item h4 {color:#fff; margin-bottom:0; font-size:18px;}
.rodape-item p {color:#fff; margin-top:0;}
.rodape-menu ul {padding-left:0;}
.rodape-menu ul li {list-style:none; padding:0 0 7px;}
.rodape-menu ul li a {color:#fff;}
.rodape-menu ul li a:hover {text-decoration:underline;}
.rodape-sociais ul {padding-left:0;}
.rodape-sociais ul li {display:inline-block;}
.rodape-sociais ul li a {width:46px; height:46px; border-radius:50%; float:left; font-size:24px; background-color:#fff; color:var(--primaryColor); display:flex; justify-content:center; align-items:center; transition:all 150ms linear;}
.rodape-sociais ul li a:hover {background-color:var(--secondaryColor); color:#fff;}

.rodape-sub {width:100%; padding:15px 15px 80px; background-color:#fff; text-align:center;}
.rodape-sub p {color:#333; font-size:14px; margin-bottom:0;}
.rodape-sub-assinatura p {font-size:13px; margin-top:5px;}
.rodape-sub-assinatura a {color:var(--primaryColor); font-weight:bold;}
.rodape-sub-assinatura a:hover {text-decoration:underline;}

.barra {width:100%; background-color:var(--primaryColor); position:fixed; left:0; bottom:0; z-index:1000; display:flex; justify-content:center; align-items:center;}
.barra span {display:flex; align-items:center;}
.barra p {color:#fff; margin:0 15px; padding:10px 0; font-size:14px; text-align:center; display:flex; justify-content:center; align-items:center;}
.barra a {color:#fff; margin-left:5px;}
.barra a:hover {text-decoration:underline;}
.barra img {max-height:25px; margin:0 10px;}

.modal {width:100%; height:100%; position:fixed; top:0; left:0; opacity:0; visibility:hidden; z-index:3000; transition:all 150ms linear;}
.modal h2 {margin:0; font-size:26px; color:var(--primaryColor);}
.modal h4 {margin:0 0 15px; font-size:18px; color:var(--secondaryColor);}
.modal-overlay {width:100%; height:100%; background:rgba(0,0,0,.75); position:absolute; top:0; left:0; z-index:3010;}
.modal-fechar {width:40px; height:40px; background-color:red; color:#fff; position:absolute; top:-20px; right:-20px; display:flex; justify-content:center; align-items:center; font-size:22px; border-radius:50%; cursor:pointer;}
.modal-fechar:hover {background-color:#ff4040;}
.modal-conteudo {width:100%; max-width:740px; background-color:#fff; z-index:3020; padding:30px; border-radius:10px; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);}
.modal-conteudo-texto {width:100%; max-height:380px; overflow-y:scroll; margin-top:20px; padding-right:15px;}
.modal-conteudo-texto p, .modal-conteudo-texto li {font-size:14px;}
.modal-conteudo-texto::-webkit-scrollbar {width:10px;}
.modal-conteudo-texto::-webkit-scrollbar-track {background:#f3f3f3; border-radius:5px; overflow:hidden;}
.modal-conteudo-texto::-webkit-scrollbar-thumb {background:var(--primaryColor); border-radius:5px;}
.modal-conteudo-texto::-webkit-scrollbar-thumb:hover {background:#555; }

.modal-aberto {opacity:1; visibility:visible;}

.whatsapp {position:fixed; bottom:60px; right:15px; z-index:5000;}
.whatsapp_botao {width:60px; height:60px; background-color:#25D366; color:#fff; border-radius:50%; font-size:28px; display:flex; justify-content:center; align-items:center; transition:all 150ms linear;}
.whatsapp_botao:hover {transform:scale(1.1);}


@media (max-width:1080px){
.numero-item {width:calc(33.3333% - 25px);}
.execucao-item {width:calc(25% - 16px);}
}

@media (max-width:989px){
.logo {width:90.85px; height:90px;}
.banner {height:600px}
.banner-textos h2 {font-size:42px;}
.usinas, .royalfic {height:auto; padding:100px 0;}
.usinas::after, .royalfic::after {background-image:linear-gradient(90deg, rgba(0,0,0,.7), rgba(0,0,0,.7));}
.usinas-container {padding:0 15px;}
.rodape-container {flex-direction:column; align-items:flex-start; gap:40px;}
.rodape-item {width:100%; max-width:100%;}
.rodape-logo {display:none;}
.menu-botao-responsivo {opacity:1; visibility:visible;}
.menu-lista {width:205px; height:100%; visibility:hidden; opacity:0; position:fixed; top:0; right:-220px; background:linear-gradient(to right, transparent, var(--primaryColor), var(--primaryColor)); transition:all 150ms linear;}
.menu-aberto {visibility:visible; opacity:1; right:0; z-index:8600;}
.menu-principal-conteudo {margin-top:100px;}
.menu-lista ul li {width:100%; position:relative;}
.menu-lista ul li a {width:100%; color:#fff; text-align:right; font-size:20px; line-height:28px; font-weight:bold; padding:10px 20px; box-sizing:border-box;}
.cabecalho-abaixo .menu-lista ul li a {line-height:28px;}
.menu-principal ul li ul>li>a {font-size:16px;}
.menu-principal ul li a::after {display:none;}
.numero-item {width:calc(50% - 25px);}
.execucao-item {width:calc(33.3333% - 14px);}
.cabecalho-abaixo {background:transparent;}
}

@media (max-width:768px){
.banner-item {width:100%;}
.modulo {padding:40px 0;} 
.titulo-modulo h2, .titulo-modulo h3 {font-size:24px;} 
.modal-conteudo {width:calc(100% - 40px);}
.destaque-item {margin:15px 0;}
.form-container {margin:15px 0;}
.form-alinha {flex-direction:column; gap:0;}
.form-alinha .form-container {width:100%;}
.projetos-info-container {flex-direction:column; gap: 0;}
.projetos-info-container p {width:100%; margin-left:20px;}
.projeto-numeros {margin-top:30px; gap:50px;}
.execucao-item {width:calc(50% - 10px);}
}

@media (max-width:480px){
.barra p {flex-direction:column;}
.numero-item {width:100%;}
.execucao-container {gap:10px;}
.execucao-item {width:calc(50% - 5px);}
.execucao-item span.cidade {min-height:50px;}
.execucao-item span.cidade, .execucao-item .potencia {font-size:18px;}
.rodape-sub {padding:15px 15px 100px;}
}