/* reset css */
* { position:relative; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; }
html, body { margin:0; padding:0; line-height:1; font-family: 'Montserrat Alternates', sans-serif; font-weight:normal; font-size:16px; color:#5f5f5f; }
a { color:inherit; }
figure, fieldset, textarea { margin:0; padding:0; }
div, main, section, article, aside, header, footer, figure, picture { display:block; }
embed, object, video, iframe, fieldset { max-width:100%; height:auto; border:none; vertical-align:top; }
img { max-width:100%; height:auto !important; border:none; vertical-align:top; }
input, button, select, option, optgroup, textarea { margin:0; padding:0; font-family: 'Montserrat Alternates', sans-serif; font-weight:600; font-size:18px; color:#adadad; outline:none; border:none; }
[type="submit"], [type="button"], [type="file"] { cursor:pointer; }

input:focus::-moz-placeholder { opacity:0 !important; }
input:focus:-moz-placeholder { opacity:0 !important; }
input:focus:-ms-input-placeholder { opacity:0 !important; }
input:focus::-webkit-input-placeholder { opacity:0 !important; }

textarea:focus:-moz-placeholder { opacity:0 !important; }
textarea:focus::-moz-placeholder { opacity:0 !important; }
textarea:focus:-ms-input-placeholder { opacity:0 !important; }
textarea:focus::-webkit-input-placeholder { opacity:0 !important; }

:-moz-placeholder { opacity:1 !important; font-weight:600; color:#adadad; }
::-moz-placeholder { opacity:1 !important; font-weight:600; color:#adadad; }
:-ms-input-placeholder { opacity:1 !important; font-weight:600; color:#adadad; }
::-webkit-input-placeholder { opacity:1 !important; font-weight:600; color:#adadad; }

/* geral */
.central { margin:0 auto; padding:0 10px; max-width:1020px; }
.clear { clear:both; }

.campo-concordo label { margin:10px 0; line-height:24px; cursor:pointer; } 
.campo-concordo label a { text-decoration:underline; }
.campo-concordo input[type="checkbox"] { display:none; }
.campo-concordo input[type="checkbox"] + label:before { content:"\00a0"; width:20px; height:17px; margin:0 10px 0 0; border-radius:5px; line-height:1; border:2px solid #6f6f6f; text-align:center; font-weight:600; vertical-align:middle; display:inline-block; }
.campo-concordo input[type="checkbox"]:checked + label:before { content:"\2713"; background:#440f51; color:#ffffff; }

.sucesso { margin:0; padding:0px 10px; line-height:1.50; font-size:18px; font-weight:700; color:#66b34e; background-color:#ffffff; }
.retorno { margin:20px 0 0; padding:0px 10px; color:#F00; font-weight:600; clear:both; background-color:#ffffff; }
.erro:focus { color:#534f4f; border:1px solid #c00; background-color:#f7cece; }

/* topo */
#topo { position:fixed; width:100%; top:0; left:0; padding:12px 0; background:#ffffff; z-index:9999; display:block; }
#topo .logo { float:left; }
#topo .logo img { max-height:50px; }
#topo .menu { padding:5px 0; float:right; }
#topo .menu .links { position:fixed; width:100%; max-width:256px; height:100%; top:0; right:0; padding:20px 15px; background:#ffffff; font-weight:400; font-size:18px; -webkit-transform:translateX(256px); transform:translateX(256px); }
#topo .menu .links a { margin-bottom:20px; text-decoration:none; color:#f07d00; vertical-align:middle; display:inline-block; }
#topo .menu .links a:hover { text-decoration:underline; }
#topo .menu .links .ativo { color:#3b5abc; }
#topo .menu .links .redes-sociais { vertical-align:middle; display:inline-block; }
#topo .menu .links .redes-sociais a { margin-left:5px; margin-right:0; vertical-align:middle; display:inline-block; }
#topo .menu .links .redes-sociais a:first-child { margin-left:0; }
#topo .menu .links .fechar { position:absolute; top:20px; right:15px; width:18px; height:18px; background:url('../img/ico-fechar.png') center no-repeat; cursor:pointer; }
#topo .menu .menu-sanduiche { width:40px; height:40px; background:#4e4e4e url('../img/ico-menu-sanduiche.png') no-repeat center; cursor:pointer; }

.sanduiche-aberto { overflow:hidden; }
.sanduiche-aberto #topo .menu .links { overflow-x:hidden; overflow-y:auto; -webkit-transform:translateX(0); transform:translateX(0); -webkit-transition:all .3s linear; transition:all .3s linear; z-index:9999; }

main { padding-top:74px; }

/* index */
.bloco-banner .cycle-slideshow { overflow:hidden; }
.bloco-banner .cycle-slideshow picture { position:relative; width:100%; height:285px; }
.bloco-banner .cycle-slideshow picture img { position:absolute; top:0px; left:50%; margin-left:-384px; width:auto; max-width:768px; height:285px; }
.bloco-banner .cycle-slideshow picture a { position:absolute; top:0px; width:100%; height:100%; }
.bloco-banner #paginacao-banners { margin:20px auto; width:100%; max-width:1020px; height:20px; text-align:center; }
.bloco-banner #paginacao-banners span { display:inline-block; vertical-align:top; margin-left:10px; width:20px; height:20px; font-size:0px; text-align:left; background-color:#3b5abc; cursor:pointer; }
.bloco-banner #paginacao-banners span:nth-child(1) ~ span { margin-left:20px; }
.bloco-banner #paginacao-banners span.cycle-pager-active { background-color:#f07d00; cursor:default; }

.bloco-cadastre-se { padding:35px 0px 45px 0; }
.bloco-cadastre-se .matriculas-abertas { margin-bottom:30px; }
.bloco-cadastre-se .matriculas-abertas h1 { margin:0px; font-weight:800; font-size:32px; letter-spacing:-3px; color:#f07d00; }
.bloco-cadastre-se .matriculas-abertas h2 { margin:15px 0px 20px; font-weight:600; font-size:24px; letter-spacing:-1px; color:#f07d00; }
.bloco-cadastre-se .matriculas-abertas p { margin:0; line-height:1.50; font-weight:600; font-size:20px; letter-spacing:-1px; color:#9c9c9c; }
.bloco-cadastre-se .matriculas-abertas .pontilhado { display:none; }
.bloco-cadastre-se .formulario .campo { margin-bottom:20px; }
.bloco-cadastre-se .formulario .campo input { width:100%; height:50px; padding:0 25px; border:2px solid #6f6f6f; border-radius:50px; background:#ffffff; }
.bloco-cadastre-se .formulario .campo-concordo { margin-bottom:25px; color:#000; }
.bloco-cadastre-se .formulario .campo-enviar input { height:50px; margin:0 auto; padding:0 40px; border-radius:50px; background:#3b5abc; font-weight:800; font-size:26px; letter-spacing:-1px; line-height:1; color:#ffffff; display:block; }
.bloco-cadastre-se .formulario .campo-enviar input:hover { background:#f07d00; -webkit-transition:all .30s linear; transition:all .30s linear; }

.bloco-o-colegio { padding:35px 0px 45px 0; border-top:11px solid #f07d00; border-bottom:11px solid #f07d00; background: url('../img/fundo-o-colegio.jpg') top center repeat-y; }
.bloco-o-colegio h2 { margin:0px; font-weight:800; font-size:32px; line-height:48px; letter-spacing:-3px; color:#f07d00; }
.bloco-o-colegio h2 span { display:block; font-size:39px; }
.bloco-o-colegio p { margin:25px 0px; font-size:20px; line-height:1.50; font-weight:600; color:#ffffff; }
.bloco-o-colegio .galeria { margin:40px auto 0px; width:100%; max-width:726px; overflow: hidden; }
.bloco-o-colegio .galeria figure { margin-right: 3.03030303030303%; width: 48.48484848484849%; float:left; }
.bloco-o-colegio .galeria figure:nth-child(2n) { margin-right:0%; }
.bloco-o-colegio .galeria figure:nth-child(2n) ~ figure { margin-top:22px; }
.bloco-o-colegio .galeria figure figcaption { padding:6px 8px; font-size:18px; font-weight:700; color:#ffffff; background-color:#f07d00; }

.bloco-contato { padding:30px 0; text-align:center; }
.bloco-contato .titulo { margin:0 0 20px; font-weight:900; font-size:32px; letter-spacing:-3px; color:#f07d00; }
.bloco-contato .sub-titulo { margin:15px 0px 20px; font-weight:600; font-size:19px; letter-spacing:-1px; color:#f07d00; }
.bloco-contato .informacoes-contato { display:inline-block; vertical-align:middle; padding:19px 29px; color:#f07d00; border-radius:30px; background:#3b5abc; }
.bloco-contato .informacoes-contato p { margin:0px; font-weight:600; font-size:24px; letter-spacing:-1px; line-height:1; color:#ffffff; }
.bloco-contato .informacoes-contato p a { color:#ffffff; text-decoration:none; }

.bloco-contato .localizacao { padding-top: 30px; }
.bloco-contato .localizacao address { font-style:normal; line-height:24px; }
.bloco-contato .localizacao address span { display:block; margin:15px 0px 20px; font-weight:900; font-size:32px; letter-spacing:-1px; color:#f07d00; }
.bloco-contato .localizacao .mapa { position:relative; margin-top: 30px; width:100%; height:400px; overflow:hidden; }
.bloco-contato .localizacao .mapa iframe { position:absolute; top:0px; left:0px; width:100%; height:400px; border:0px; }

/* politica de privacidade / termos de uso */
.pagina-conteudo { margin:30px 0; }
.pagina-conteudo h1 { font-size:2em; }
.pagina-conteudo .texto { line-height:1.50; }
.pagina-conteudo p a { color: #5f5f5f; }
.pagina-conteudo p span { text-transform:uppercase; font-weight:700; }
.pagina-conteudo ul { padding:0; }
.pagina-conteudo ul li { margin:0 0 0 20px; }

/* 404 */
#page-404 { text-align:center; }

/* aviso privacidade */
#aviso-privacidade { position:fixed; width:100%; bottom:0; left:0; padding:5px 0; background-color:rgba(0,0,0,0.75); text-align:center; z-index:9999; }
#aviso-privacidade p { margin:5px 0; line-height:1.50; font-size:14px; color:#ffffff; }
#aviso-privacidade p a { color:#ffffff; }
#aviso-privacidade .botao-privacidade { margin:5px 0; padding:10px 20px; border-radius:50px; border:1px solid #f07d00; background:#f07d00; text-transform:uppercase; font-weight:800; font-size:14px; color:#ffffff; cursor:pointer; vertical-align:middle; display:inline-block; }
#aviso-privacidade .botao-privacidade:hover { border-color:#3b5abc; background:#3b5abc; color:#ffffff; -webkit-transition:all .30s linear; transition:all .30s linear; }

/* rodape */
#rodape { padding:20px 0px 18px 0px; background:#dcdcdc; text-align:center; color:#3b5abc; }
#rodape .copyright p { margin:0; font-weight:600; }
#rodape .copyright p a { text-decoration:underline; color:#3b5abc; }