:root {
    --primaryColor: #0B1874;
    --secondaryColor: #FC730A;
    --thirdColor: #D9D9D9;
    --fourthColor: #0B121A;
    --successColor: #00C9A1;
    --gradientDarkerColor: #0C131A;
    --gradientLighterColor: #07419F;
    --primaryColorRGB: 11, 24, 116;
    --secondaryColorRGB: 252, 115, 10;
    --textColor: #6a7483;
    --whatsappColor: #25D366;
    --module: 70px 0;
}

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

html, body {height:100vh; scrollbar-gutter: stable;}
body {overflow-x:hidden;}

::selection {color:#fff; background-color:var(--secondaryColor); text-shadow:none;}
::-moz-selection {color:#fff; background-color:var(--secondaryColor); 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:var(--module); position:relative;}

/* Botões */
.botao {width:220px; height:54px; font-size:20px; font-weight:bold; background-color:var(--primaryColor); color:#fff; border:2px solid var(--primaryColor); border-radius:27px; display:flex; justify-content:center; align-items:center; gap:7.5px; cursor:pointer; position:relative;}

.botao-principal {background-color:var(--primaryColor); color:#fff; box-shadow:0 0 0 var(--secondaryColor); border:2px solid var(--primaryColor); transition:all 150ms linear;}
.botao-principal:hover {}

.botao-secundario {background-color:var(--secondaryColor); color:#fff; box-shadow:0 0 0 var(--primaryColor); border:2px solid var(--secondaryColor); transition:all 150ms linear;}
.botao-secundario:hover {}

.botao-sucesso {background-color:var(--successColor); color:#fff; border:2px solid var(--successColor); transition:all 150ms linear;}
.botao-sucesso:hover {}

.botao-vazado-principal {background-color:transparent; border:2px solid var(--primaryColor); color:var(--primaryColor); transition:all 150ms linear;}
.botao-vazado-principal:hover {background-color:var(--primaryColor); color:#fff;}
.botao-vazado-secundario {background-color:transparent; border:2px solid var(--secondaryColor); color:var(--secondaryColor); transition:all 150ms linear;}
.botao-vazado-secundario:hover {background-color:var(--secondaryColor); color:#fff;}
.botao-vazado-branco {background-color:transparent; border:2px solid #fff; color:#fff; transition:all 150ms linear;}
.botao-vazado-branco:hover {background-color:#fff; color:var(--primaryColor);}

.botao-maior {width:280px; font-size:18px;}
.botao-total {width:100%;}
.botao-centralizado {left:50%; transform:translateX(-50%);}
.botao-container {margin-top:30px;}
.link-ancora {position:absolute; top:-50px; left:0; width:1px; height:1px; background:transparent; border:0;}

/* Cabeçalho */
.cabecalho {width:100%; height:60px; background-color:#fff; position:fixed; z-index:4000; transition:all 150ms linear;}
.cabecalho-container {display:flex; justify-content:space-between;}
.logo {width:150px; height:150px; background-image:url(../img/logo@2x.png); margin:10px 0; float:left; background-repeat:no-repeat; background-size:cover; transition:all 150ms linear;}
.logo:hover {transform:scale(0.95);}
.logo h1 {display:none;}
.cabecalho-fix {width:100%; height:60px; position:relative; background-color:#fff;}

.cabecalho-abaixo {height:50px; top:0; transition:all 150ms linear; background-color:rgba(255,255,255,.8);}
.cabecalho-abaixo .cabecalho-fix {height:50px;}
.cabecalho-abaixo .logo {width:90px; height:90px;}
.cabecalho-abaixo .menu-principal ul li a {line-height:50px;}
.cabecalho-abaixo .menu-principal ul li ul>li>a {line-height:20px !important;}

/* 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:var(--primaryColor); text-decoration:none; font-size:18px; padding:0 10px; line-height:60px; float:left; position:relative; transition:all 150ms linear;}
.menu-principal ul li a::after {content:""; width:0; height:2px; background-color:#fff; position:absolute; top:0; left:0; transition:all 150ms linear;}
.menu-principal ul li a:hover::after {width:100%;}
.menu-principal ul li.menu-destaque a {background-color:var(--secondaryColor); color:var(--primaryColor);}
.menu-principal ul li.current-menu-item a::after {content:""; width:100%; height:2px; background-color:var(--primaryColor); position:absolute; top:0; left:0; transition:all 150ms linear;}

.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:10px; right:10px; border-radius:50%; background-color:var(--primaryColor); opacity:0; visibility:hidden; cursor:pointer; 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;}

/* Submenu */
.menu-principal ul li ul {position:absolute; top:100%; left: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-principal ul li:hover ul {visibility:visible; opacity:1; transform:translate(0,0);}
.menu-principal ul li ul>li {width:100%; float:left; overflow:hidden;}
.menu-principal ul li ul>li>a {height:auto; background:#fff; line-height:normal; display:block; padding:10px; float:left; clear:both; width:100%; color:var(--primaryColor); text-shadow:none; white-space:nowrap;}
.menu-principal ul li ul>li>a::after {display:none;}
.menu-principal ul li ul>li>a:hover {background-color:var(--primaryColor); color:#fff;}
.menu-principal ul li ul>li.current-menu-item::after {content:""; width:0; height:0;}
.menu-principal ul li ul>li.current-menu-item a {background-color:#fff; color:var(--primaryColor);}
.menu-principal ul li ul>li.current-menu-item a:hover {color:var(--primaryColor);}

/* Banner */
.banner {width:100%; position:relative; padding-top:70px; display:flex; justify-content:center; background-color:var(--primaryColor); background-image:linear-gradient(135deg, var(--gradientLighterColor), var(--gradientDarkerColor));}
.banner-container {width:100%; max-width:1200px; display:flex; align-items:center; gap:30px; padding-left:15px; padding-right:15px;}
.banner-texto {margin-top:-35px;}
.banner-texto h2 {font-size:56px; color:#fff; font-weight:bold; line-height:calc(100% + 5px); margin:0;}
.banner-texto-destaque {color:var(--secondaryColor);}
.banner-texto p {color:#fff; font-size:16px; margin-top:15px;}
.banner-filiais {margin:15px 0 20px; font-size:22px;}
.banner-filiais ul {padding-left:0; display:flex; flex-wrap:wrap; gap:20px;}
.banner-filiais ul li {list-style:none; display:flex; align-items:center; gap:5px; color:#fff;}
.banner-botoes {display:flex; flex-wrap:wrap; gap:15px;}
.banner-filial-link {color:#fff; text-decoration:none;}

.banner-play {position:relative;}
.banner-play-container {width:380px; max-height:550px; position:relative; overflow:hidden; border-top-left-radius:15px; border-top-right-radius:15px; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all 150ms linear;}
.banner-play-container::after {content:""; width:100%; height:100%; position:absolute; top:0; left:0; z-index:10; background-image:linear-gradient(135deg, rgba(var(--secondaryColorRGB),0), rgba(var(--secondaryColorRGB),0.6))}
.banner-play-container img {width:100%; height:100%; object-fit:contain;}
.banner-play-botao {width:70px; height:70px; background-color:var(--secondaryColor); color:#fff; display:flex; justify-content:center; align-items:center; font-size:42px; border-radius:50%; position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); z-index:15; cursor:pointer; transition:all 150ms linear;}
.banner-play:hover .banner-play-botao {width:80px; height:80px; font-size:52px;}

/* Banner pesquisa */
.banner-pesquisa {width:100%; max-width:800px; position:absolute; left:50%; bottom:-45px; transform:translateX(-50%); z-index:50; padding-left:15px; padding-right:15px;}
.banner-pesquisa-container {position:relative;} 
.banner-pesquisa-input {width:100%; height:90px; border-radius:45px; border:0; font-size:36px; text-indent:30px; box-shadow:0 0 15px rgba(0,0,0,.3); color:#484848;}
.banner-pesquisa-input:focus {outline:0;}
.banner-pesquisa-input::placeholder {color:#BFBFBF;}
.banner-pesquisa-botao {width:90px; height:90px; position:absolute; right:0; top:0; width:90px; border-top-right-radius:45px; border-bottom-right-radius:45px; background-color:#fff; color:#444; border:0; display:flex; justify-content:center; align-items:center; font-size:40px; transition:all 150ms linear;}

/* Modal Video */
.video-modal {position:fixed; inset:0; width:100%; height:100vh; background:rgba(0,0,0,.9); display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition:.25s ease; z-index:9999;}
.video-modal.active {opacity:1; visibility:visible;}
.video-modal-player {width:100%; height:100%; object-fit:contain; background:#000;}
.video-modal-close {position:absolute; top:20px; right:20px; width:50px; height:50px; font-size:28px; border:0; border-radius:50%;background:rgba(255,255,255,.15); color:#fff; cursor:pointer; z-index:2; transition:all 150ms linear;}
.video-modal-close:hover {transform:scale(1.05); background-color:red;}

/* Rodapé */
.rodape {width:100%; background-color:var(--fourthColor); position:relative; padding:70px 0;}
.rodape-container {max-width:1170px; margin:0 auto; padding-left:15px; padding-right:15px; box-sizing:border-box; width:100%; display:flex; justify-content:center; gap:60px; flex-wrap:wrap;}
.rodape-logo {width:120px; height:120px; margin-top:30px; position:relative; background-image:url(../img/logo.png); background-repeat:no-repeat; background-size:cover; transition:all 150ms linear;}
.rodape-item {max-width:360px; position:relative;}
.rodape-item h3 {font-size:22px; color:#fff; margin-top:0;}

.rodape-item p {font-size:15px; color:#fff;}
.rodape-filiais-endereco, .rodape-filiais-contato {display:flex; gap:10px; align-items:center;}
.rodape-filiais-endereco-icone {color:var(--gradientLighterColor); font-size:48px;}
.rodape-filiais-contato-icone {color:var(--gradientLighterColor); font-size:28px;}
.rodape-filiais-endereco h3 {margin:0;}
.rodape-filiais-endereco p {margin:0;}

.rodape-filial:not(:last-child) {border-bottom:1px solid #fff; padding-bottom:12px; margin-bottom:20px;}
 
.rodape ul {padding-left:0;}
.rodape ul li {list-style:none; padding:3px 0;}
.rodape ul li a {color:#fff; font-size:14px;}
.rodape ul li a:hover {text-decoration:underline;}

.rodape-sociais ul {padding-left:0;}
.rodape-sociais ul li {list-style:none; display:inline-block;}
.rodape-sociais ul li a {width:54px; height:54px; background-color:var(--gradientLighterColor); color:#fff; font-size:32px; border-radius:50%; display:flex; justify-content:center; align-items:center; transition:all 150ms linear;}
.rodape-sociais ul li a:hover {text-decoration:none; transform:scale(1.1);}

.rodape-assinatura {text-align:center; padding:30px 0;}
.rodape-assinatura p {font-size:14px; margin:0; color:var(--textColor);}
.rodape-assinatura a {color:#00BAC4;}
.rodape-assinatura a:hover {text-decoration:underline;}

.whatsapp a {color:var(--primaryColor);}

/* Título módulo */
.titulo-modulo {padding-bottom:30px;}
.titulo-modulo h2, .titulo-modulo h3 {color:#484848; margin:0; margin-bottom:10px; font-size:38px; text-align:center; line-height:calc(100% + 5px);}
.titulo-modulo p {color:var(--textColor); text-align:center; margin:0;}

/* Grid de Cursos */
.cursos {background-color:#fff; background-image:url(../img/elemento_vertical.png); background-repeat:repeat-y; background-position:right top; padding-top:120px;}
.cursos-container {width:100%; max-width:1200px; margin:0 auto; padding:0 15px; display:grid; grid-template-columns:repeat(3, 1fr); gap:30px; justify-content:center;}
.cursos-container-grid {padding-left:0; padding-right:0;}
.curso-box {max-width:380px; padding:15px; border-radius:10px; background-color:#fff; box-shadow:0 0 7.5px rgba(0,0,0,.15); transition:all ease 250ms;}
.curso-box h3 {font-size:22.5px; color:#484848; letter-spacing:-1px; margin:10px 0; line-height:calc(100% + 5px);}
.curso-box ul {padding-left:0; margin:0 0 15px;}
.curso-box ul li {list-style:none; color:#484848; font-size:14px;}
.curso-box:hover {transform:scale(1.03); box-shadow:0 0 15px rgba(0,0,0,.2);}

.modulo-botao {padding-top:45px;}

/* Título página */
.titulo-pagina {width:100%; background-color:var(--fourthColor); background-image:linear-gradient(135deg, var(--gradientLighterColor), var(--gradientDarkerColor)); position:relative; display:flex; justify-content:center; align-items:center; overflow:hidden;}
.titulo-pagina h1, .titulo-pagina h2 {margin:0; color:#fff; padding:40px 0; font-size:68px; line-height:105%; text-align:center; z-index:5;}
.titulo-pagina-links {position:absolute; bottom:15px; left:50%; transform:translateX(-50%);}
.titulo-pagina-links ul {padding-left:0;}
.titulo-pagina-links ul li {display:inline-block; margin:0 5px;}
.titulo-pagina-links ul li a {color:#fff; font-size:24px;}

/* Quem somos */
.quem-somos {width:100%; background-color:var(--gradientLighterColor); display:flex; justify-content:center;}
.quem-somos-container {width:100%; max-width:1200px; display:flex; gap:30px; padding-left:15px; padding-right:15px;}
.quem-somos-imagem {flex:0.7;}
.quem-somos-texto {flex:1.3;}
.quem-somos h2 {color:#fff; font-size:34px; margin:0;}
.quem-somos p {color:#fff;}

/* Depoimentos */
.depoimentos {width:100%; background-color:var(--fourthColor); background-image:url(../img/aspas.png); background-repeat:no-repeat; background-position:center top;}
.depoimentos .titulo-modulo h2, .depoimentos .titulo-modulo p {color:#fff;}
.depoimentos-container {width:100%; max-width:1200px; margin:0 auto; padding:0 15px; display:flex; justify-content:center; flex-wrap:wrap; gap:30px;}
.depoimento-item {width:100%; max-width:320px; aspect-ratio:9/16; border-radius:15px; position:relative; overflow:hidden;}
.depoimento-item video {width:100%; height:100%; display:block; object-fit:cover; cursor:pointer;}
.depoimento-item:hover .banner-play-botao {width:80px; height:80px; font-size:52px;}
.depoimento-item.playing .banner-play-botao {opacity:0; visibility:hidden;}

/* Sedes */
.sedes {background-color:#fff;}
.sedes-container {width:100%; max-width:1200px; padding-left:15px; padding-right:15px; margin:0 auto; display:flex; justify-content:center; gap:30px;}
.sede-item {flex:1; margin-top:30px;}
.sede-titulo h2, .sede-titulo h3 {font-size:26px; margin:0 0 10px;}
.sede-item:nth-child(odd) .sede-titulo h2, .sede-item:nth-child(odd) .sede-titulo h3 {color:var(--primaryColor);}
.sede-item:nth-child(even) .sede-titulo h2, .sede-item:nth-child(even) .sede-titulo h3 {color:var(--secondaryColor);}
.sede-info {position:relative; border-radius:15px; overflow:hidden;}
.sede-info img {width:100%; height:100%; object-fit:cover;}
.sede-info-conteudo {width:100%; height:auto; padding:15px; position:absolute; left:0; bottom:0; z-index:20; color:#fff;}
.sede-telefone p {font-size:22px; margin:0; font-weight:bold;}
.sede-funcionamento p {margin:0;}
.sede-info::after {content:""; width:100%; height:75%; position:absolute; left:0; bottom:0; background-image:linear-gradient(to top, rgba(0,0,0,.8), rgba(0,0,0,0))}

.sede-endereco {display:flex; gap:15px; margin-top:20px;}
.sede-endereco-texto {flex:1;}
.sede-endereco-texto h4 {margin:0 0 10px; font-size:19px;}
.sede-endereco-texto p {font-size:15px; margin:0;}
.sede-endereco-video {width:100%; max-width:300px; aspect-ratio:9/16; flex:1; border-radius:15px; position:relative; overflow:hidden;}
.sede-endereco-video video {width:100%; height:100%; display:block; object-fit:cover; cursor:pointer;}

.js-video-player {position: relative;}
.js-video-player.playing .banner-play-botao {opacity:0; visibility:hidden;}

/* Página */
.pagina {margin:30px 0;}
.pagina-conteudo-imagem-destacada {width:100%;}
.pagina-conteudo-imagem-destacada img {width:100%;}

/* Barra lateral curso */
.cursos-sidebar-container {display:flex; flex-wrap:wrap; gap:30px;}

/* Single Curso */
.curso-container {width:100%; max-width:1200px; margin:0 auto; padding:0 15px; display:grid; grid-template-columns:minmax(0, 65%) minmax(320px, 35%); gap:30px; align-items:start;}
.curso-main {min-width:0;}

.curso-sidebar {align-self:start; position:sticky; top:130px; margin-bottom:30px; border-radius:7.5px; overflow:hidden; background:#fff; box-shadow:0 10px 30px rgba(0,0,0,.08); opacity:1; visibility:visible; transition:all 150ms ease}
.curso-contato {width:100%; min-height:200px; padding:15px;}
.curso-contato p {margin:0; color:var(--textColor);}
.curso-contato-botoes {margin-top:15px; display:flex; flex-direction:column; gap:10px;}

.curso-banner {position:relative; padding:150px 0 100px;}
.curso-banner::before {content:''; position:absolute; top:0; bottom:0; left:-100vw; right:-100vw; background:var(--fourthColor); z-index:-1;}
.curso-textos h1 {color:#fff; font-size:56px; margin:0; line-height:100%;}
.curso-textos p {color:#fff;}

.curso-infos {width:100%; padding:15px 30px; display:flex; justify-content:space-between; align-items:center; gap:15px; flex-wrap:wrap; background-color:#fff; box-shadow:0 0 15px rgba(0,0,0,.2); margin-top:-50px; border-radius:7.5px; color:#444;}
.curso-infos p {margin:0; font-size:13px; color:#444;}
.curso-infos p:nth-of-type(2) {font-size:26px; font-weight:bold; line-height:100%;}
.curso-infos-avaliacao i {color:#F5BC00;}

.curso-icones {display:flex; justify-content:center; gap:20px; flex-wrap:wrap; margin:50px 0;}
.curso-icones-item {width:30%; text-align:center; color:#444;}
.curso-icone-simbolo {font-size:52px;}
.curso-icones-item p {font-size:14px; margin-top:5px;}

.curso-subtitulo h3 {margin-top:0; font-size:26px; color:#444;}

.curso-aprendera {width:100%; padding:20px 25px 30px; border:1px solid #E4E4E4; border-radius:15px; margin:50px 0;}
.curso-aprendera-container {display:flex; gap:30px; flex-wrap:wrap;}
.curso-aprendera-item {width:46%;}
.curso-aprendera-item p {margin:0;}

.curso-galeria {width:100%; margin:50px 0;}
.curso-galeria-card {width:100%; aspect-ratio:200/355; display:block; position:relative; overflow:hidden; border-radius:10px; cursor:pointer;}
.curso-galeria-card img {width:100%; height:100%; object-fit:cover; display:block; transition:.3s;}
.curso-galeria-card video {width:100%; height:100%; object-fit:cover; display:block; transition:.3s;}
.curso-galeria-card:hover img {transform:scale(1.05);}
.curso-galeria-card:hover video {transform:scale(1.05);}
.curso-galeria-play {width:70px; height:70px; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); border-radius:50%; background:rgba(0,0,0,.55); display:flex; align-items:center; justify-content:center; backdrop-filter:blur(4px); pointer-events:none;}
.curso-galeria-play i {color:#fff; font-size:34px;}
body.glightbox-open .curso-sidebar {opacity:0; visibility:hidden; pointer-events:none; transition:opacity 0.2s ease, visibility 0.2s ease;}
.curso-galeria .owl-galeria {position:relative}
.curso-galeria .owl-galeria .owl-nav {position:absolute; top:50%; left:0; right:0; display:flex; justify-content:space-between; transform:translateY(-50%); z-index:10; pointer-events:none;}
.curso-galeria .owl-galeria .owl-nav button {color:#fff; font-size:70px; pointer-events:auto;}
.curso-galeria .owl-galeria .owl-nav.disabled {display:none !important;}

.curso-faq {padding:40px 0; position:relative;}
.curso-faq::before {content:''; position:absolute; top:0; bottom:0; left:-100vw; right:-100vw; background:#f3f3f3; z-index:-1;}

.curso-texto-juridico {margin:50px 0;}
.curso-texto-juridico p {font-size:14px; color:#888;}

.curso-outros {width:100%; padding-bottom:30px;}
.curso-outros-container {display:flex; gap:30px;}

/* Configuração do Overlay (Fundo) */
.overlay-modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.6); backdrop-filter: blur(5px); display: flex; justify-content: center; align-items: center; z-index: 9500; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; }

/* Quando o modal estiver ativo (via JS) */
.overlay-modal.ativo { opacity: 1; visibility: visible; }

/* Container do Modal (Centro) */
.modal-container { background: #fff; padding: 30px; border-radius: 12px; max-width: 450px; width: 90%; position: relative; text-align: center; box-shadow: 0 10px 30px rgba(0,0,0,0.5); transform: scale(0.7); transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
.modal-container h3 {margin-top:0; color:#333;}
.overlay-modal.ativo .modal-container { transform: scale(1); }
.modal-fechar { position: absolute; top: 15px; right: 15px; background: none; border: none; font-size: 48px; cursor: pointer; color: #fff; line-height: 1; }
.modal-fechar:hover { color: #ff0000; }
.modal-botoes-unidades { margin-top: 25px; display: flex; flex-direction: column; gap: 12px; }
.botao-filial-whats { display: flex; align-items: center; justify-content: center; gap: 10px; background-color: var(--successColor); color: #fff; padding: 14px 20px; text-decoration: none; border-radius: 6px; font-weight: bold; font-size: 16px; transition: background-color 0.2s ease, transform 0.1s ease; }
.botao-filial-whats:hover { background-color: #128C7E; transform: translateY(-2px); }

/* Página de listagem de cursos */
.cursos-sidebar {width:100%;}
.cursos-sidebar h3 {margin:0 0 10px; font-size:22px; color:#333;}
.sidebar-search-group {width:100%; margin-bottom:30px; position:relative; overflow:hidden;}
.sidebar-search-input {width:100%; height:48px; padding:0; background-color:#fff; border:0; color:#242424; text-indent:0; border-radius:24px; border:1px solid #ddd; text-indent:15px;}
.sidebar-search-button {width:48px; height:48px; border-top-right-radius:24px; border-bottom-right-radius:24px; background-color:var(--gradientLighterColor); color:#fff; border:0; position:absolute; right:0; top:0; display:flex; justify-content:center; font-size:18px; align-items:center; transition:all 150ms linear;}
.sidebar-widget ul {padding-left:0;}
.sidebar-widget ul li {list-style:none; padding:3px 0;}
.sidebar-widget ul li a {color:#444; transition:all 150ms linear;}
.sidebar-widget ul li a:hover {text-decoration:underline;}

/* Busca dos cursos */
.search-term-header h2 {margin:0; font-size:34px; color:#333;}
.search-term-header p {margin:0; color:#888;}

/* Página de contato */
.pagina-contato {padding-bottom:60px;}

/* Barra lateral */
.barra-lateral {width:100%;}
.barra-lateral-titulo {margin-top:0; font-size:18px; color:#242424; text-transform:uppercase; line-height:110%;}
.barra-lateral-titulo h2, .barra-lateral-titulo h3, .barra-lateral-titulo h4 {margin-top:0;}

/* Barra Lateral Pesquisa */
.barra-lateral-pesquisa {position:relative;}
.barra-lateral-pesquisa input {width:100%; height:48px; padding:0; background-color:#fff; border:0; border-bottom:2px solid var(--primaryColor); color:#242424; text-indent:0;}
.barra-lateral-pesquisa input:hover {background-color:#fff;}
.barra-lateral-pesquisa input:focus {background-color:#fff; border-bottom:2px solid var(--primaryColor); outline:none;}
.barra-lateral-pesquisa-botao {width:50px; height:50px; background:#fff; border:0; color:var(--primaryColor); position:absolute; border-bottom:2px solid var(--primaryColor); top:0; right:-2px; border-radius:0; font-size:18px; transition:all 150ms linear;}
.barra-lateral-pesquisa-botao:hover {background:var(--primaryColor); color:#fff;}

/* Barra Lateral Blog */
.barra-lateral-blog {width:100%;}
.barra-lateral-blog a {color:var(--primaryColor); text-decoration:none; transition:all 150ms linear;}
.barra-lateral-blog a:hover {color:var(--secondaryColor);}
.barra-lateral-blog p {line-height:110%;}
.barra-lateral-blog-imagem {float:left; margin-right:10px;}

.barra-lateral-categorias ul {padding-left:0;}
.barra-lateral-categorias ul li {list-style:none; display:inline-block; margin-bottom:12px;}
.barra-lateral-categorias ul li a {background-color:var(--primaryColor); color:#fff; text-decoration:none; font-size:14px; padding:5px 8px; transition:all 150ms linear;}
.barra-lateral-categorias ul li a:hover {background-color:var(--fourthColor);}

.barra-lateral-produtos {width:100%;}
.barra-lateral-produtos ul {padding-left:0;}
.barra-lateral-produtos ul li {list-style:none; padding:3px 0;}
.barra-lateral-produtos ul li a {color:var(--primaryColor); font-size:18px;}
.barra-lateral-produtos ul li a:hover {text-decoration:underline;}

/* FAQ */
.faq {background-color:#efefef;}
.faq-container {width:100%; max-width:1200px; padding-left:15px; padding-right:15px; margin:0 auto;}
.faq-item {width:100%; position:relative; margin:10px 0;}
.faq-item p {margin:0;}
.faq-question {padding:15px 30px 15px 15px; cursor:pointer; border-bottom:1px solid #ddd; font-size:20px; color:var(--textColor); font-weight:bold; position:relative; background-color:#fff; border-radius:5px;}
.faq-question::after {content:""; position:absolute; right:10px; top:47%; transform:translateY(-50%) rotate(45deg); display:inline-block; border-right:2px solid var(--primaryColor); border-bottom:2px solid var(--primaryColor); width:10px; height:10px; transition:all 150ms linear;}
.faq-open .faq-question::after  {transform:translateY(-50%) rotate(-135deg);}
.faq-answer {display:none; padding:25px 15px 15px; margin:-10px 1px 0; background-color:var(--primaryColor); border-bottom-left-radius:5px; border-bottom-right-radius:5px;}
.faq-answer p {color:var(--primaryColor); font-size:16px; font-weight:thin; color:#fff;}

.wp-block-column iframe {border:0; width:100%;}



/* Paginação */
.paginacao {padding:0; margin:0; margin-bottom:30px;}
.page-numbers {padding-left:0; border:0; margin-top:30px;}
.page-numbers li {height:47px; margin-bottom:5px; display:inline-block; margin-left:0; margin-right:3px;}
.page-numbers a {padding:14px 20px; background:#fff; border:1px solid var(--primaryColor); text-decoration:none; font-size:14px; color:var(--primaryColor); transition:all 200ms linear;}
.page-numbers a:hover, .page-numbers .next:hover, .page-numbers .prev:hover {background:var(--primaryColor); color:#fff; text-decoration:none;}
.page-numbers .current {padding:14px 20px; background:var(--primaryColor); border:1px solid var(--primaryColor); color:#fff; font-size:14px;}

/* Single */
.pagina-single {padding-bottom:60px;}
.pagina-single-titulo h1 {font-size:38px; color:#333; line-height:105%; margin-top:0;}
.pagina-single-compartilhamento {width:100%; position:relative; left:50%; padding-top:30px; transform:translateX(-50%); z-index:2;}
.pagina-single-compartilhamento p {margin-top:0; font-size:13px; text-align:center; color:#888;}
.pagina-single-compartilhamento ul {padding-left:0; text-align:center;}
.pagina-single-compartilhamento ul li {list-style:none; width:50px; height:50px; border-radius:50%; margin-bottom:5px; display:inline-block; transition:all 120ms linear;}
.pagina-single-compartilhamento ul li a {width:50px; height:50px; color:#fff; text-align:center; line-height:52.5px; float:left; font-size:26px;}
.pagina-single-compartilhamento ul li:hover {transform:scale(1.1);}
.compartilha-facebook {background:#3C5A98;}
.compartilha-twitter {background:#01aaef;}
.compartilha-whatsapp {background:#00A859;}

.video-container {overflow:hidden; padding-top:56.25%; position:relative; margin-top:20px; margin-bottom:30px;}
.video-container iframe {border:0; height:100%; left:0; position:absolute; top:0; width:100%;}

/* Página de erro 404 */
.pagina-conteudo-404 h3 {font-size:220px; line-height:100%; text-align:center; color:var(--secondaryColor); margin:0; text-align:center;}
.pagina-conteudo-404 p {text-align:center; color:var(--primaryColor);}

/* Página de contato */
.pagina-contato .wpcf7-list-item {margin-left:0;}
.pagina-contato .wpcf7-list-item a {color:var(--primaryColor); font-weight:bold;}
.pagina-contato .wpcf7-list-item a:hover {text-decoration:underline;}
input.form-contato, textarea.form-contato, select.form-contato {border:0; padding-left:0; padding-right:0; border-radius:10px; background-color:#fff; box-shadow:5px 5px 10px rgba(0,0,0,.1);}
.form-contato-contagem {margin-top:0; font-size:13px; color:#777;}
.form-container {margin:15px 0;}

/* Status Formulário */
form.sent .wpcf7-response-output  {font-family:'Montserrat', sans-serif; text-align:center; background:#CEECCD; color:#5C8A5C; padding:15px; border:none;}
div.wpcf7-mail-sent-ng {font-family:'Montserrat', sans-serif; text-align:center; background:#F3C8C8; color:#A43C3B; padding:15px; border:none;}
form.invalid .wpcf7-response-output {font-family:'Montserrat', sans-serif; text-align:center; background:#FCF0B8; color:#AF8576; padding:15px; border:none;}
div.wpcf7-response-output {margin:1em 0 0 !important;}
.wpcf7-spinner {position:absolute; margin-top:10px; margin-left:-17px;}

/* Modal */
.modal {width:100%; height:100%; position:fixed; top:0; left:0; z-index:8000; opacity:0; visibility:hidden; transition:all 150ms linear;}
.modal-aberto {opacity:1 !important; visibility:visible !important;}
.modal-fechar {width:60px; height:60px; font-size:38px; color:#fff; position:absolute; top:15px; right:15px; cursor:pointer; display:flex; justify-content:center; align-items:center; transition:all 150ms linear;}
.modal-fechar:hover {transform:rotate(90deg);}
.modal-overlay {width:100%; height:100%; background:rgba(var(--thirdColorRGB),.85);}
.modal-conteudo {width:100%; max-width:800px; height:auto; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); background-color:#fff; transition:all 150ms linear;}
.modal-conteudo h3 {color:#333; margin-bottom:15px;}
.modal-conteudo label {font-size:16px;}
.modal-conteudo input {width:100%; height:40px; font-size:18px; border:0; text-indent:0; border-bottom:2px solid #cc0000;}
.modal-conteudo input[type=checkbox] {width:20px; height:20px; margin:0 10px 0 0; position:relative; top:5px;}
.modal-conteudo input::placeholder {color:#aaa;}
.modal-conteudo iframe {width:100%; height:600px; margin-bottom:-7px;}
.form-container-checkbox label {cursor:pointer;}
.form-container-checkbox a {color:var(--primaryColor); font-weight:bold;}
.form-container-checkbox a:hover {text-decoration:underline;}
.form-container label.error {color:#CC0000;}

.modal-download {width:100%; height:100%; position:fixed; top:0; left:0; z-index:8001; opacity:0; visibility:hidden; transition:all 150ms linear;}
.modal-download .modal-conteudo {padding:30px;}

.modal-formulario-loader {position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(255,255,255,.9); opacity:0; visibility:hidden;}
.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);
    }
} 

/* Botão de WhatsApp */
.whatsapp-flutuante-wrapper { position: fixed; right: 15px; bottom: 15px; z-index: 8000; }
.whatsapp-flutuante { width: 64px; height: 64px; border: none; border-radius: 50%; background: var(--successColor); display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; transition: .3s; }
.whatsapp-flutuante:hover { transform: scale(1.05); }
.whatsapp-direto { position: fixed; right: 15px; bottom: 15px; z-index: 9999; }
.whatsapp-icone { position: absolute; display: flex; align-items: center; justify-content: center; transition: .3s; color: #fff; font-size: 30px; }
.whatsapp-icone-close { color: #fff; font-size: 30px; font-weight: 300; transform: rotate(45deg) scale(0); }
.whatsapp-filiais { position: absolute; right: 0; bottom: 70px; display: flex; flex-direction: column; gap: 5px; opacity: 0; visibility: hidden; transform: translateY(10px); transition: .3s; }
.whatsapp-filial { background: #FFF; color: #333; text-decoration: none; padding: 14px 18px; border-radius: 14px; white-space: nowrap; font-size: 14px; font-weight: 600; box-shadow: 0 10px 30px rgba(0,0,0,.12); transition: .2s; }
.whatsapp-filial:hover { transform: translateX(-4px); background: var(--successColor); color: #fff; }
.whatsapp-flutuante-wrapper.active .whatsapp-filiais { opacity: 1; visibility: visible; transform: translateY(0); }
.whatsapp-flutuante-wrapper.active .whatsapp-icone-open { transform: rotate(180deg) scale(0); opacity: 0; }
.whatsapp-flutuante-wrapper.active .whatsapp-icone-close { transform: rotate(90deg) scale(1); }

/* Aviso de cookie */
.cookie-aviso {width:1180px; padding:20px; box-sizing:border-box; background-color:#fff; position:fixed; bottom:30px; 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:linear-gradient(to right, var(--primaryColor), var(--secondaryColor)); border:0; color:#fff; font-size:18px; border-radius:3px;}
.cookie-aviso-aceite:hover {background:var(--primaryColor);}
.cookie-aviso-aceite:focus {outline:none;}


@media (max-width:1440px){
.cookie-aviso {width:calc(100% - 40px); left:20px; transform:translateX(0);}
.titulo-pagina h1, .titulo-pagina h2 {font-size:62px;}
}

@media (max-width:1280px){
.titulo-pagina-container {padding:0 15px;}
.sobre::before {width:199.12px; height:600px;}
.rodape-container {justify-content:flex-start;}
.cursos {background-image:none;}
}


@media (max-width:990px){
.banner {padding-top:100px;}
.banner-texto {margin-top:0; text-align:center;}
.banner-texto h2 {font-size:38px;}
.banner-filiais {margin:30px 0 40px;}
.banner-filiais ul, .banner-botoes {justify-content:center;}
.banner-container {flex-direction:column;}
.menu-botao-responsivo {opacity:1; visibility:visible;}
.menu-lista {width:225px; height:100%; visibility:hidden; opacity:0; position:fixed; top:60px; right:-225px; background-color:var(--secondaryColor); background-image:linear-gradient(to top, var(--primaryColor), var(--secondaryColor)); transition:all 150ms linear;}
.cabecalho-abaixo .menu-lista {top:60px;}
.menu-aberto {visibility:visible; opacity:1; right:0; z-index:8600;}
.menu-principal-conteudo {margin-top:40px;}
.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;}
.titulo-pagina h1, .titulo-pagina h2 {font-size:48px;}
.cursos-container {grid-template-columns:repeat(2, 1fr);}

.curso-container {grid-template-columns:1fr;}
.curso-sidebar {position:relative; top:0; margin-top:30px; margin-bottom:30px;}
.curso-banner {padding:100px 0 60px;}
.curso-textos h1 {font-size:44px;}
.curso-contato-botoes {position:fixed; bottom:15px; left:15px; z-index:9000; width:calc(100% - 100px);}
}

@media (max-width:768px){
.cabecalho, .cabecalho-fix {height:50px;}
.menu-principal ul li a:after {line-height:60px;}
.cabecalho-abaixo .menu-lista, .menu-lista {top:50px;}
.logo, .cabecalho-abaixo .logo {width:90px; height:90px;}
.quem-somos-container {width:100%; flex-direction:column-reverse;}
.quem-somos-imagem {margin-top:40px;}
.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;}
.rodape {text-align:center;}
.rodape-container {justify-content:center;}
.rodape-item {width:100%; max-width:100%;}
.rodape-logo {left:50%; transform:translateX(-50%);}
.rodape-filiais-endereco-conteudo {text-align:left;}
.sedes-container {flex-direction:column;}
.cursos {padding-top:80px;}
.cursos-sidebar {margin:-30px 0 30px;}
.banner-pesquisa-input {height:60px; border-radius:30px; border:0; font-size:22px;}
.banner-pesquisa-botao {width:60px; height:60px; font-size:22px;} 
.barra-lateral {margin-top:60px;}
.curso-banner::before, .curso-faq::before {width:100%; left:-15px; padding-left:15px; padding-right:15px;}
.rodape-assinatura {text-align:center; padding:30px 0 100px;}
}

@media (max-width:480px){
.menu-principal ul li a:after {line-height:55px;}
.sistema-icone-item {width:100%;}
.inicial-icone-item {width:100%;}
.cabecalho-abaixo .menu-lista, .menu-lista {top:50px;}
.cursos-container {grid-template-columns:repeat(1, 1fr);}
:root {--module: 40px 0;}
.depoimentos-container {display:block;}
.sede-titulo {text-align:center;}
.sede-endereco {flex-direction:column; align-items:center; text-align:center;}
.curso-infos {justify-content:flex-start; gap:30px;}
.curso-aprendera-item {width:100%;}
.curso-outros-container {flex-direction:column;}
.titulo-pagina h1, .titulo-pagina h2 {font-size:36px;}
}

@media (max-width:420px){
.banner-play-container {width:100%;}
.curso-icones-item {width:50%;}
}