@charset "utf-8";

/**********************************************************************************************
						ESTRUTURA
/**********************************************************************************************/
html { height: 100%; }
body { min-height: 100%; display: flex; flex-direction: column; margin: 0; padding: 0; font-family: Open Sans, Lato, Verdana, Arial; font-weight: normal; text-rendering: auto; -webkit-font-smoothing: antialiased; }
* { outline: none; word-break: break-word; -webkit-tap-highlight-color: rgba(0,0,0,0); }
*, :after, :before { box-sizing: border-box; }
/* .trans { display: none !important; } */
.trans { width: 0 !important; height: 0 !important; line-height: 0 !important; display: inline !important; font-size: .001px !important; color: rgba(0,0,0,.001) !important; padding: 0 !important; margin: 0 !important; overflow: hidden  !important;  position: absolute  !important; }
.swfa { line-height: inherit; }
input, select, textarea, option, select { font-family: Lato, Open Sans, Verdana, Arial; font-weight: normal; border-radius: 0; /*-webkit-appearance: none; appearance: none;*/ }
option { padding: 10px; }

/* #################################### SW REVELAR ####################################  */
/* @media (min-width: 1001px) { */
	[data-revelar] { opacity: 0; transition: .6s ease !important; pointer-events: none; will-change: transform !important; }
	[data-revelar="transition"] { transform: translate(0,0) scale(1); opacity: 1; }
	[data-revelar="top"] { transform: translateY(-100px); }
	[data-revelar="bottom"] { transform: translateY(100px); }
	[data-revelar="left"] { transform: translateX(-100px); }
	[data-revelar="right"] { transform: translateX(100px); }
	[data-revelar="opacity"] { opacity: 0; }
	[data-revelar="scale"] { transform: scale(.6); }
/* }
@media (max-width: 1000px) {
	[data-revelar] { overflow: hidden; }
	[data-revelar]>* { opacity: 0; transition: .6s ease !important; pointer-events: none; will-change: transform !important; }
	[data-revelar="transition"]>* { transform: translate(0,0) scale(1); opacity: 1; }
	[data-revelar="top"]>* { transform: translateY(-100px); }
	[data-revelar="bottom"]>* { transform: translateY(100px); }
	[data-revelar="left"]>* { transform: translateX(-100px); }
	[data-revelar="right"]>* { transform: translateX(100px); }
	[data-revelar="opacity"]>* { opacity: 0; }
	[data-revelar="scale"]>* { transform: scale(.6); }
} */
/* INFO REVELAR ELEMENTOS */
.sw_info_revelar { max-width: 200px; position: fixed; bottom: 0; left: 0; right: 0; z-index: 990; margin: auto; padding: 10px; text-align: center; cursor: pointer; font-size: 12px; color: #04365d; font-weight: 600; background: rgba(255,255,255,.85); transition: .3s ease, opacity .3s .3s ease; }
.sw_info_revelar:hover { background: rgba(255,255,255,.95); }
.sw_info_revelar .swfa { height: 32px; width: 15px; display: block; margin: auto; margin-top: 5px; border: solid 1px #04365d; border-radius: 40px; font-size: 16px; }
.sw_info_revelar .swfa:before { display: block; animation: sw_info_revelar .8s ease infinite; }
.sw_info_revelar.scroll { opacity: .25; pointer-events: none; transition-delay: 0s; }
.sw_info_revelar.hide { transform: translateY(100%); transition: .5s ease; }
@keyframes sw_info_revelar {
	50% { transform: translateY(100%); }
}
@media(max-width: 600px) {
	.sw_info_revelar { max-width: none; }
}
/* #################################### FIM SW REVELAR ####################################  */

/* ESCONDER / EXIBIR MÓDULOS DA CAPA */
.sw_capa_exibicao_desktop { display: block; }
.sw_capa_exibicao_mobile { display: none; }

@media (max-width: 1000px) {
    .sw_capa_exibicao_mobile { display: block; }
    .sw_capa_exibicao_desktop { display: none; }
}

/* RESET */
a, li, ol, ul, h1, h2, h3, h4, h5, h6 { border: none; text-decoration: none; list-style: none; font-size: inherit; color: inherit; font-weight: inherit; font-style: normal; margin: 0; padding: 0; }
a:active, a:link, a:hover, a:focus { text-decoration: inherit; outline: solid 1px rgba(0,0,0,.0001) !important; }
/* a:hover, a:focus { border: solid 1px red; } */

/* RESETS BANNER ROTATIVO PARA DISPOSITIVOS MUITO PEQUENOS */
@media (max-width: 480px){
	div.ws-title-wrapper, div.ws_bullets, div.ws_cover, div.ws_effect, a.ws_next, a.ws_prev, a.ws_pause, a.ws_fullscreen { display: none !important; }	
}

/* UNSELECT */
.unselect *::selection { background: transparent; color: inherit; }

/* TRANSIÇÃO ZERADA */
.transition0s, .transition0s:before, .transition0s:after, .transition0s *, .transition0s *:before, .transition0s *:after { transition: 0s !important; animation: none !important; }

/* OVERFLOW HIDDEN */
.ovfhidden { overflow: hidden !important; width: 100%; min-height: 100%; }

/* IMAGENS */
img { border: 0; margin: 0; }
.imgcentraliza { width: 100%; height: 100%; object-fit: cover; object-position: center; }

/* DEFININDO CONTEÚDO INTERNO */
.conteudo_interno { width: 100%; max-width: 1200px; display: table; margin: 0 auto; }

/* CONTEÚDO MÓDULOS */
#swe_main { overflow: hidden; }
main { flex: 1; }
.conteudo_modulo { padding: 20px 0; margin:.5% 0; }
.swe_capa:first-child > .conteudo_modulo { margin-top: 0 !important; }
.swe_capa:last-child > .conteudo_modulo { margin-bottom: 0 !important; }
.conteudo_modulo > .conteudo_interno { padding: 0 20px; }

/* SWEET ALERTS */
.swal-overlay { z-index: 99999; }
.swal-overlay--show-modal .swal-modal { will-change: auto; }

/* SW MODAL */
.sw_modal { width: 100vw; height: 100vh; position: fixed; top: 0; left: 0; z-index: 99999; opacity: 0; visibility: hidden; pointer-events: none; background: rgba(0,0,0,.85); padding: 0 10px; overflow-y: auto; transition: .1s .1s ease; }
.sw_modal .sw_cont_modal { max-width: 100%; max-height: 95vh; display: -webkit-flex; flex-flow: column wrap; flex-wrap: inherit; margin: auto; position: relative; top: 25%; transform: translateY(-50%); opacity: 0; visibility: hidden; background: #fff; border-radius: 8px; overflow: hidden; transition: .4s ease; }
.sw_modal .sw_cont_modal .sw_topo_modal { padding: 15px; border-bottom: solid 1px #e6e9ed; letter-spacing: -.025em; }
.sw_modal .sw_cont_modal .sw_topo_modal .sw_titulo_modal { font-size: 16px; color: #47474b; font-weight: 600; }
.sw_modal .sw_cont_modal .sw_topo_modal .sw_subtitulo_modal { font-size: 13px; color: #56565b; }
.sw_modal .sw_cont_modal .sw_topo_modal .sw_btn_fechar_modal { width: 30px; height: 30px; line-height: 30px; text-align: center; position: absolute; top: 12px; right: 12px; font-size: 16px; color: #999; background: rgba(0,0,0,.085); border-radius: 100%; transition: .1s ease; }
.sw_modal .sw_cont_modal .sw_topo_modal .sw_btn_fechar_modal:hover { background: #bf424e; color: #fff; cursor: pointer; }
.sw_modal .sw_cont_modal .sw_conteudo_modal { height: 500px; flex: 1; padding: 10px; overflow-y: auto; }
/* SW MODAL SHOW */
.sw_modal.show { opacity: 1; visibility: visible; pointer-events: all; transition-delay: 0s; }
.sw_modal.show .sw_cont_modal { -webkit-transform: translateY(-24%) translateZ(0); transform: translateY(-24%) translateZ(0); opacity: 1; visibility: visible; }

/* REDES SOCIAIS */
.rede_social { text-align: center; overflow: hidden; position: relative; display: inline-block; vertical-align: top; }
.rede_social img,
.rede_social .icone_rede_social { width: 100%; height: 100%; position: absolute; top: 0; left: 0; transition: inherit; }
.rede_social .icone_rede_social .swfa { width: inherit; height: inherit; line-height: inherit; transition: inherit; }


/* VÍNCULOS */
.vinc_area_vinculos { font-size: 0; padding: 20px; }
.vinc_area_vinculos:last-child { padding-bottom: 0; }
.vinc_titulo_vinculos { background: #f0f2f4; clear: both; border-radius: 4px; margin-bottom: 15px; }
.vinc_titulo_vinculos .swfa { width: 40px; height: 40px; line-height: 40px; display: inline-block; vertical-align: middle; text-align: center; background: #0f65a2; border-radius: inherit; font-size: 18px; color: #fff; margin-right: 12px; }
.vinc_titulo_vinculos span { line-height: 40px; font-size: 17px; color: #333; font-weight: 600; letter-spacing: -.4px; vertical-align: middle; }


/* **************************** SW SLIDER **************************** */
/* SETAS */
.sw_slider_seta { z-index: 50; width: 40px; height: 40px; line-height: 37px; position: absolute; top: 50%; font-size: 0; color: #3a89f2; background: rgba(255, 255, 255, 0.95); border: solid 1px rgba(54,61,75,.125); border-radius: 100%; overflow: hidden; cursor: pointer; text-align: center; transition: .2s ease; }
.sw_slider_seta .swfa { font-size: 16px; line-height: inherit; }
.sw_slider_seta:hover { opacity: 1; transition: 0.1s; }
.sw_slider_seta:active { background: #3a89f2; color: #fff; }
.sw_slider_seta.sw_slider_anterior { left: 0; padding-right: 2px; box-shadow: 4px 0 5px rgba(54,61,75,.15); }
.sw_slider_seta.sw_slider_posterior { right: 0; padding-left: 2px; box-shadow: -4px 0 5px rgba(54,61,75,.15); }
.sw_slider_lmt.limit_l .sw_slider_anterior,
.sw_slider_lmt.limit_r .sw_slider_posterior { opacity: .35; cursor: default; background: rgba(255, 255, 255, 0.95); }
.sw_slider_lmt.limit_l.limit_r .sw_slider_seta { opacity: 0; visibility: hidden; }

/* SLIDER LIMITADO */
.sw_slider.sw_slider_lmt { display: block; }
.sw_slider_lmt { width: 100%; position: relative; }
.sw_slider_lmt .sw_content_slider_lmt { position: relative; overflow: hidden; }
.sw_slider_lmt .sw_cont_slider_lmt { height: 100%; position: absolute; top: 0; left: 0; will-change: left, top; z-index: 0; text-align: center; white-space: nowrap; font-size: 0; transition: .3s ease-in-out; }
.sw_slider_lmt:not(.limit_l.limit_r) .sw_cont_slider_lmt { cursor: grab; }
.sw_slider_lmt:not(.limit_l.limit_r) .sw_cont_slider_lmt:active,
.sw_slider_lmt:not(.limit_l.limit_r) .sw_cont_slider_lmt:active * { cursor: grabbing; }
.sw_slider_lmt .sw_cont_slider_lmt .sw_item_slide { width: 100%; display: inline-block; vertical-align: top; position: relative; text-align: left; white-space: normal; }
/* THUMBNAILS */
.sw_slider_lmt .sw_area_thumbnails { text-align: center; padding: 10px; position: relative; z-index: 1;}
.sw_slider_lmt .sw_area_thumbnails, .sw_slider_lmt .sw_area_thumbnails *::selection { background: transparent; color: inherit; }
.sw_slider_lmt .sw_area_thumbnails .sw_thumbnail { width: 8px; height: 8px; display: inline-block; vertical-align: middle; background: #ccc; border-radius: 100%; margin: 5px; transition: .1s; }
.sw_slider_lmt .sw_area_thumbnails .sw_thumbnail:hover { transform: scale(1.25); cursor: pointer; }
.sw_slider_lmt .sw_area_thumbnails .sw_thumbnail_ativo { background: #2196f3; transform: scale(1.25); }
/* **************************** FIM SW SLIDER **************************** */


/* **************************** BARRA DE NOTIFICAÇÕES **************************** */
.sw_barra_notificacoes { width: 100%; position: fixed; bottom: 0; left: 0; z-index: 99999999; background: rgba(25,25,25,.95); transform: translateY(100%); visibility: hidden; transition: .8s cubic-bezier(0.32, 0.28, 0, 0.93); }
.sw_barra_notificacoes.show { transform: translateY(0); visibility: visible; }
.sw_barra_notificacoes, .sw_barra_notificacoes * { box-sizing: border-box; }
.sw_barra_notificacoes .sw_cont_barra_notificacoes { width: 100%; max-width: 1200px; display: table; padding: 10px; position: relative; margin: auto; }
.sw_barra_notificacoes .sw_notificacao { padding: 20px 10px; font-size: 13px; color: #fff; line-height: 1.75; border-top: solid 1px #333; position: relative }
.sw_barra_notificacoes .sw_notificacao:first-child { border-top: 0; }
/* CONTRASTE */
.contraste .sw_barra_notificacoes { background: rgba(25,25,25,.98) !important; }

/* POLÍTICA DE PRIVACIDADE */
.sw_politica_privacidade .sw_info_politica_privacidade { margin-right: 115px; }
.sw_politica_privacidade .sw_info_politica_privacidade a span { color: #fff; text-decoration: underline; }
.sw_politica_privacidade .sw_info_politica_privacidade a:hover span { color: #6ac0f7; }
.sw_politica_privacidade .sw_btn_politica_privacidade { width: 100px; height: 40px; line-height: 40px; position: absolute; top: 50%; right: 10px; margin-top: -20px; font-size: 13px; color: #fff; text-align: center; background: #0164a4; border-radius: 3px; cursor: pointer; }
.sw_politica_privacidade .sw_btn_politica_privacidade:hover { background: #0070bb; }
/* CONTRASTE */
.contraste .sw_politica_privacidade .sw_btn_politica_privacidade { background: #444 !important; }

/* **************************** FIM BARRA DE NOTIFICAÇÕES **************************** */


/* MENSAGENS PADRÃO */
.sw_msg { padding: 15px; border: solid 1px transparent; border-radius: 4px; font-size: 13px; font-weight: 600; text-align: center; flex: 100%; }
.sw_msg span { display: inline; vertical-align: middle; }
.sw_msg .swfa { width: 36px; height: 36px; line-height: 36px; display: inline-block; margin-right: .5em; border-radius: 100%; }
/* INFO */
.sw_msg_info { background: #f8efe2; border-color: #f3e6d3; color: #804a37; }
.sw_msg_info .swfa { background: #f3e6d3; }
/* ERRO */
.sw_msg_erro { background: #f8d0d3; border-color: #f5c1c5; color: #90131c; }
.sw_msg_erro .swfa { background: #f5c1c5; }
/* SUCESSO */
.sw_msg_sucesso { background: #c8efca; border-color: #b5e6b7; color: #0b790f; }
.sw_msg_sucesso .swfa { background: #b5e6b7; }


/* SW INFO LISTAGEM */
.sw_area_info_listagem .area_info_listagem { display: table; width: 100%; margin-top: 5px; border: solid 0 #ddd; border-top-width: 1px; padding-top: 10px; padding-bottom: 5px; }
.sw_area_info_listagem .area_info_listagem.borderb { border-width: 0; border-bottom-width: 1px; padding-bottom: 10px; padding-top: 5px; }
.sw_area_info_listagem .area_info_listagem .info_listagem { width: 100%; display: table-cell; vertical-align: middle; font-size: 11px; font-weight: 600; color: #47474b; text-transform: uppercase; }
.sw_area_info_listagem .area_info_listagem .info_listagem span { min-width: 24px; height: 24px; line-height: 24px; background: #ff6600; color: #fff; display: inline-block; vertical-align: baseline; text-align: center; padding: 0 2px; border-radius: 12px; margin-right: 5px; }

/* SWE FILTRO */
.sw_filtro { width: 250px; height: 30px; display: inline-block; vertical-align: middle; background: #fff; border-radius: 3px; padding-left: 30px; position: relative; box-shadow: 0 0 2px rgba(0,0,0,.2); }
.sw_filtro label { width: 30px; height: 30px; line-height: 30px; position: absolute; top: 0; left: 0; font-size: 16px; color: #61646b; text-align: center; }
.sw_filtro select { width: 100%; height: 20px; margin-top: 5px; border: 0; border-left: solid 1px #eee; border-radius: 0; background: #fff; padding: 0 5px; font-size: 13px; color: #666; cursor: pointer; }
.sw_filtro:focus-within { box-shadow: 0 0 10px -2px rgba(0,0,0,.2); }
.sw_filtro:focus-within label { color: #3780e2; }

/* TXT EDITOR */
.sw_txteditor { line-height: 1.4; }
.sw_txteditor ol, .sw_txteditor ul, .sw_txteditor li { list-style: disc; margin-left: 10px; padding-left: 5px; margin-bottom: 10px; font: inherit; }
.sw_txteditor ol, .sw_txteditor ol li { list-style: decimal; }
.sw_txteditor ol, .sw_txteditor ul { margin-bottom: 25px; }
.sw_txteditor * { color: inherit; }
.sw_txteditor img { height: auto !important; max-width: 100%; }
.sw_txteditor > table { width: 100% !important; }
.sw_txteditor > table table { width: auto !important; max-width: 100% !important; min-width: 30%; }
.sw_txteditor td { word-break: normal; word-wrap: normal; }
.sw_txteditor blockquote { border-left: solid 4px #ccc;  padding-left: 15px; font-style: italic; }
.sw_txteditor strong { font-weight: bold; }
.sw_txteditor iframe { max-width: 100%; }


/* RECAPTCHA */
.sw_area_captcha { background: #f6f7f9; padding: 15px 0; border-radius: 5px; margin-top: 10px; flex: 100%; }
.sw_captcha { width: 100%; max-width: 230px; height: 60px; overflow: hidden; margin: auto; }
.sw_captcha .sw_recaptcha { transform: scale(.76); transform-origin: top left; }

/* FORMULÁRIOS */
.sw_form { font-size: 0; text-align: left; }
.sw_form .sw_area_info_formulario_vinculado { padding: 5px; }
.sw_form .sw_data_form { font-size: 10px; color: #0777d0; letter-spacing: .5px; margin: 5px 0; } 
.sw_form .sw_titulo_form { font-size: 18px; color: #353535; font-weight: 600; } 
.sw_form .sw_descricao_form { font-size: 14px; color: #64676B; line-height: 1.4; margin-top: 10px; } 
.sw_form .asterisco { font-size: 8px; color: #b80000; position: relative; top: -3px; }
.sw_form .sw_info_form { padding: 15px; background: #f6f7f9; border-radius: 5px; font-size: 13px; color: #444; text-align: center; margin: 15px 5px; /*border: solid 1px #ecf0f3;*/ } 
/* FORMULÁRIO */
.sw_form .sw_area_campos_form { max-width: inherit; display: -webkit-flex; flex-wrap: wrap; font-size: 0; }
.sw_form .sw_area_campos_form .sw_campos_form { min-width: 120px; display: -webkit-flex; flex-wrap: wrap; flex: auto; gap: 0 5px; justify-content: center; align-items: center; align-self: end; text-align: left; padding: 5px; }
.sw_form .sw_area_campos_form .sw_campos_form label { display: block; flex: 100%; font-size: 13px; color: #47474b; line-height: 1.7; font-weight: 800; font-family: "Lato"; cursor: pointer; }
.sw_form .sw_area_campos_form .sw_campos_form .swfa { margin-left: 6px; }
/* CAMPOS */
.sw_form .sw_campos_form input,
.sw_form .sw_campos_form select,
.sw_form .sw_campos_form textarea,
.sw_form .sw_campos_form .sw_input_file,
.sw_form .sw_campos_form .sw_input_checkbox,
.sw_form .sw_campos_form .sw_input_radio { width: 100%; height: 40px; line-height: 40px; display: block; flex: auto; padding: 0 10px; background: #f9fafb; border: solid 1px #e6e9ed; border-radius: 2px; font-size: 13px; color: #47474b; font-weight: 500; }
.sw_form .sw_campos_form textarea { min-height: 100px; resize: vertical; flex: auto; }
/* HOVER */
.sw_form .sw_campos_form input:hover,
.sw_form .sw_campos_form select:hover,
.sw_form .sw_campos_form textarea:hover,
.sw_form .sw_campos_form .sw_input_file:hover,
.sw_form .sw_campos_form .sw_input_checkbox:hover,
.sw_form .sw_campos_form .sw_input_radio:hover { border-color: #ccc; cursor: pointer; }
/* FOCUS */
.sw_form .sw_campos_form input:focus,
.sw_form .sw_campos_form select:focus,
.sw_form .sw_campos_form textarea:focus,
.sw_form .sw_campos_form .sw_input_file:focus-within,
.sw_form .sw_campos_form .sw_input_checkbox:focus-within,
.sw_form .sw_campos_form .sw_input_radio:focus-within { background: #fff; border-color: #999; cursor: text; }
/* DISABLED */
.sw_form .sw_campos_form input:disabled,
.sw_form .sw_campos_form select:disabled,
.sw_form .sw_campos_form textarea:disabled { border-color: #dbdee1; background: #f0f2f4; color: #666; user-select: none; }
/* INPUT FILE */
.sw_form .sw_campos_form .sw_input_file { position: relative; flex: auto; }
.sw_form .sw_campos_form .sw_input_file input[type="file"] { width: 0; height: 0; font-size: 0; padding: 0; }
.sw_form .sw_campos_form .sw_input_file label { width: 100%; height: 100%; line-height: inherit; position: absolute; top: 0; left: 0; padding: 0 5px; padding-left: 50px; overflow: hidden; border-radius: 1px; font-size: 13px; color: #47474b; font-weight: 500; background: inherit; word-break: break-all; }
.sw_form .sw_campos_form .sw_input_file label:after { content: "\f382"; width: 40px; height: 100%; position: absolute; top: 0; left: 0; background: #0f65a2; font-size: 17px; color: #fff; font-family: "Font Awesome 5 Free"; font-weight: 900; text-align: center; }
/* INPUT CHECKBOX / RADIO */
.sw_form .sw_campos_form .sw_input_checkbox,
.sw_form .sw_campos_form .sw_input_radio { height: auto; line-height: 28px; font-size: 0; padding: 5px 0; flex: auto; }
.sw_form .sw_campos_form .sw_input_checkbox .sw_checkbox,
.sw_form .sw_campos_form .sw_input_radio .sw_radio { display: inline-flex; vertical-align: middle; align-items: center; position: relative; font-size: 0; }
.sw_form .sw_campos_form .sw_input_checkbox .sw_checkbox input,
.sw_form .sw_campos_form .sw_input_radio .sw_radio input { width: 0; height: 0; border: 0; opacity: 0; position: absolute; }
.sw_form .sw_campos_form .sw_input_checkbox .sw_checkbox label,
.sw_form .sw_campos_form .sw_input_radio .sw_radio label { width: 100%; display: inline-flex; vertical-align: middle; font-size: 0; color: #47474b; font-weight: 500; position: relative; cursor: pointer; gap: 7px; align-items: center; }
.sw_form .sw_campos_form .sw_input_checkbox .sw_checkbox label span,
.sw_form .sw_campos_form .sw_input_radio .sw_radio label span { font-size: 13px; vertical-align: middle; }
.sw_form .sw_campos_form .sw_input_checkbox .sw_checkbox label:before,
.sw_form .sw_campos_form .sw_input_radio .sw_radio label:before { content: ""; width: 20px; height: 20px; flex-shrink: 0; background: #e6e9ed; border: solid 1px #ddd; border-radius: 2px; }
.sw_form .sw_campos_form .sw_input_radio .sw_radio label:before { content: ""; width: 18px; height: 18px; border-radius: 100%; }
.sw_form .sw_campos_form .sw_input_checkbox .sw_checkbox label:after,
.sw_form .sw_campos_form .sw_input_radio .sw_radio label:after { content: "\2713"; width: 20px; height: 20px; line-height: 20px; font-size: 14px; color: #fff; font-weight: bold; text-align: center; position: absolute; top: 50%; left: 0; margin-top: -10px; visibility: hidden; transform: scale(.5); opacity: 0; will-change: transform; transition: .15s ease; }
.sw_form .sw_campos_form .sw_input_radio .sw_radio label:after { content: ""; width: 10px; height: 10px; border-radius: 100%; background: #fff; left: 4px; margin-top: -5px; }
.sw_form .sw_campos_form .sw_input_checkbox .sw_checkbox input:hover ~ label:before,
.sw_form .sw_campos_form .sw_input_radio .sw_radio input:hover ~ label:before { border-color: #ccc; }
.sw_form .sw_campos_form .sw_input_checkbox .sw_checkbox input:focus ~ label:before,
.sw_form .sw_campos_form .sw_input_radio .sw_radio input:focus ~ label:before { border-color: #999; }
.sw_form .sw_campos_form .sw_input_checkbox .sw_checkbox input:checked ~ label,
.sw_form .sw_campos_form .sw_input_radio .sw_radio input:checked ~ label { font-weight: bold; }
.sw_form .sw_campos_form .sw_input_checkbox .sw_checkbox input:checked ~ label:before,
.sw_form .sw_campos_form .sw_input_radio .sw_radio input:checked ~ label:before { background: #0f65a2; border-color: #0f65a2; }
.sw_form .sw_campos_form .sw_input_checkbox .sw_checkbox input:checked ~ label:after,
.sw_form .sw_campos_form .sw_input_radio .sw_radio input:checked ~ label:after { visibility: visible; transform: scale(1); opacity: 1; }

/* BOTÃO */
.sw_form .sw_btn_submit { width: 100%; max-width: 220px; height: 70px; display: block; margin: 10px auto; background: #0f65a2; border: 0; border-radius: 4px; font-size: 15px; color: #fff; font-weight: 900; text-transform: uppercase; cursor: pointer; transition: .1s ease; }
.sw_form .sw_btn_submit:hover { background: #0a5890; }
.sw_form .sw_btn_submit:active { padding-top: 5px; transition: 0s; }

/* HELP */
.sw_help { width: 18px; height: 18px; line-height: 18px; display: inline-block; vertical-align: text-bottom; text-align: center; background: #2675c5; background: linear-gradient(to bottom, #499df1, #2675c5); font-size: 0; color: #fff; border-radius: 100%; margin-left: 5px; position: relative; }
.sw_help .swfa { line-height: inherit; font-size: 10px; margin: 0 !important; }
.sw_help:before { content: attr(data-title); width: 160px; position: absolute; top: 100%; left: 50%; z-index: 9999; transform: translate(-50%, 20px); opacity: 0; visibility: hidden; background: #555;; background: rgba(0,0,0,.85); padding: 7px 10px; border-radius: 4px; font-family: "Open Sans"; font-size: 13px; font-weight: 600; color: #fff; letter-spacing: -.025em; margin-top: 15px; pointer-events: none; transition: .4s ease; }
.sw_help:after { content: ""; width: 18px; border: solid 8px transparent; border-bottom-color: #555; border-bottom-color: rgba(0,0,0,.85); position: absolute; top: 100%; left: 50%; z-index: 9999; transform: translate(-50%, 20px); opacity: 0; visibility: hidden; margin-top: -1px; pointer-events: none; transition: .4s ease; }
.sw_help:hover:after,
.sw_help:hover:before { transform: translate(-50%, 0); opacity: 1; visibility: visible; transition: .4s .25s cubic-bezier(.26,.46,.04,1.76); }


/* SW LISTA DETALHES */
.sw_lista_detalhes { display: block; clear: both; border: solid 1px #e6e9ed; border-radius: 5px; font-size: 0; transition: .2s ease; }
.sw_lista_detalhes:hover { background: #f3f5f6; }
.sw_lista_detalhes .sw_linha_detalhe { border-top: inherit; transition: inherit; }
.sw_lista_detalhes:hover .sw_linha_detalhe:hover { background: #fff; }
.sw_lista_detalhes .sw_linha_detalhe:first-child { border-top: 0; }
.sw_lista_detalhes .sw_linha_detalhe > div { padding: 15px; display: inline-block; vertical-align: top; text-align: left; }
.sw_lista_detalhes .sw_linha_detalhe .sw_titulo { width: 30%; font-size: 13px; color: #47474b; font-weight: bold; letter-spacing: -.5px; }
.sw_lista_detalhes .sw_linha_detalhe .sw_detalhe { width: 60%; font-size: 15px; color: #56565b; font-weight: normal; }


/* CARREGAMENTO DINÂMICO */
.sw_carrega_elemento { opacity: 0 !important; visibility: hidden !important; transform: translateX(-20%) !important; transition: 0s !important; }
.sw_carrega_elemento_show { opacity: 1 !important; visibility: visible !important; transform: translateX(0) !important; transition: .4s ease !important; will-change: transform; }

/* CARREGANDO */
.sw_carregando { width: 90%; height: 80px; line-height: 80px; margin: 20px 5%; text-align: center; clear: both; border-radius: 6px; position: relative; z-index: 900; overflow: hidden; font-size: 12px; color: #47474b; letter-spacing: .2em; text-transform: uppercase; box-shadow: 0 0 10px rgba(0,0,0,.05); background: rgba(255,255,255,.1); user-select: none; }
.sw_carregando span { position: relative; z-index: 1; }
.sw_carregando::before { content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 0; background: linear-gradient(-75deg, transparent 33%, rgba(0,0,0,.02) 34%, rgba(0,0,0,.02) 67%, transparent 68%) repeat-x; background-size: 60px 80px; background-position: top left 0; animation: sw_carregando 8s linear infinite; }
@keyframes sw_carregando { to { background-position: top left 100%;} }

/* CARREGANDO FULL SCREEN */
.sw_carregando_fs { width: 100vw; height: 100vh; position: fixed; top: 0; left: 0; z-index: 99999; background: rgba(255,255,255,.9); }
.sw_carregando_fs div { width: 90%; height: 80px; line-height: 80px; margin: 0 5%; text-align: center; clear: both; border-radius: 6px; position: relative; top: 50%; margin-top: -40px; z-index: 900; overflow: hidden; font-size: 12px; color: #47474b; letter-spacing: .2em; text-transform: uppercase; box-shadow: 0 0 10px rgba(0,0,0,.05); background: rgba(255,255,255,.1); user-select: none; }
.sw_carregando_fs div span { position: relative; z-index: 1; }
.sw_carregando_fs div::before { content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 0; background: linear-gradient(-75deg, transparent 33%, rgba(0,0,0,.02) 34%, rgba(0,0,0,.02) 67%, transparent 68%) repeat-x; background-size: 60px 80px; background-position: top left 0; animation: sw_carregando 8s linear infinite; }


/* #################################### SW CALENDÁRIO #################################### */
.sw_calendario { position: relative; font-size: 0; }
.sw_calendario ul, .sw_calendario li { list-style:  none; padding: 0; margin: 0; font-size: 0; }
.sw_calendario li { display: inline-block; vertical-align: middle; }

/* NAVEGAÇÃO */
.sw_calendario .sw_navegacao_calendario { border: solid 1px #ddd; padding: 10px; text-align: center; position: relative; }
.sw_calendario .sw_navegacao_calendario .sw_cont_navegacao { display: none; }
.sw_calendario .sw_navegacao_calendario .sw_mes_calendario { font-size: 16px; color: #353535; font-weight: bold;}
.sw_calendario .sw_navegacao_calendario .sw_ano_calendario { font-size: 16px; color: #333; margin-left: .35em; }
.sw_calendario .sw_navegacao_calendario label { display: none; }
/* BUTTON */
.sw_calendario .sw_navegacao_calendario.sw_nav_button .sw_area_botoes_navegacao { display: block; }
.sw_calendario .sw_navegacao_calendario.sw_nav_button .sw_area_botoes_navegacao button { width: 50px; height: 100%; position: absolute; top: 0; font-size: 16px; color: #555; border: 0; background: none; cursor: pointer; transition: .15s ease; }
.sw_calendario .sw_navegacao_calendario.sw_nav_button .sw_area_botoes_navegacao button:active { transform: scale(.9); transition: 0s; }
.sw_calendario .sw_navegacao_calendario.sw_nav_button .sw_area_botoes_navegacao .sw_btn_anterior { left: 0; }
.sw_calendario .sw_navegacao_calendario.sw_nav_button .sw_area_botoes_navegacao .sw_btn_posterior { right: 0; }
/* SELECT */
.sw_calendario .sw_navegacao_calendario.sw_nav_select .sw_area_select_navegacao { display: block; }
.sw_calendario .sw_navegacao_calendario.sw_nav_select select { padding: 5px 10px; margin: 2px; cursor: pointer; border: solid 1px #d7d7d7; border-radius: 2px; font-family: inherit; }

/* DIAS */
.sw_calendario .sw_area_dias_calendario li { width: 14.28%; height: 40px; line-height: 40px; text-align: center; }
/* SEMANA */
.sw_calendario .sw_dias_semana_calendario { background: #ddd; padding: 5px; }
.sw_calendario .sw_dias_semana_calendario .sw_dia_semana { font-size: 14px; color: #333; font-weight: 900; text-transform: uppercase; }
.sw_calendario .sw_dias_mes_calendario { background: #eee; padding: 5px; }
/* DIA */
.sw_calendario .sw_dias_mes_calendario .sw_dia { font-size: 15px; color: #444; cursor: default; position: relative; z-index: 1 }
.sw_calendario .sw_dias_mes_calendario .sw_dia span { min-width: 34px; display: inline-block; line-height: inherit; }
.sw_calendario .sw_dias_mes_calendario .sw_dia span:before { width: 34px; height: 34px; position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: -1; margin: auto; border-radius: 50%; transition: .1s ease; }
.sw_calendario .sw_dias_mes_calendario .sw_dia_atual { font-weight: 900; color: #0082de; }
.sw_calendario .sw_dias_mes_calendario .sw_dia_atual span:before { content: ""; background: rgba(0,0,0,0.05); }
.sw_calendario .sw_dias_mes_calendario .sw_dia_nulo { opacity: .25; }
.sw_calendario .sw_dias_mes_calendario .sw_dia_postagem span { color: #fff; cursor: pointer; font-weight: bold; }
.sw_calendario .sw_dias_mes_calendario .sw_dia_postagem span:before { content: ""; background: #0f65a2; }
.sw_calendario .sw_dias_mes_calendario .sw_dia_postagem span:hover:before,
.sw_calendario .sw_dias_mes_calendario .sw_dia_postagem.active span:before { background: #0081d6; }
.sw_calendario .sw_dias_mes_calendario .sw_dia_postagem span:active:before { transform: scale(.9); }
/* CARREGANDO */
.sw_calendario .sw_carregando_calendario { width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 100; background: rgba(245, 245, 245, 0.95); text-align: center; visibility: hidden; opacity: 0; transition: .25s ease; }
.sw_calendario .sw_carregando_calendario div { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 13px; color: #56565b; font-weight: bold; }
.sw_calendario .sw_carregando_calendario div .swfa { font-size: 80px; display: block; margin-bottom: 20px; }
/* SHOW */
.sw_calendario .sw_carregando_calendario.show { visibility: visible; opacity: 1; }

/* LISTAGEM LINKS */
.sw_calendario .sw_listagem_calendario { width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 100; background: rgba(240, 240, 240, 0.95); text-align: center; display: flex; flex-flow: column; align-items: center; padding: 20px; opacity: 0; visibility: hidden; pointer-events: none; transition: .25s ease; }
.sw_calendario .sw_listagem_calendario .sw_btn_fechar { width: 30px; height: 30px; line-height: 30px; text-align: center; position: absolute; top: 20px; right: 20px; background: #d30f36; font-size: 14px; color: #fff; border-radius: 3px; cursor: pointer; transform: translateX(100%); transition: .3s ease; }
.sw_calendario .sw_listagem_calendario .sw_descricao_data_calendario { font-size: 17px; font-weight: 900; padding: 15px; transform: translateY(100%); transition: .3s ease; }
.sw_calendario .sw_listagem_calendario .sw_cont_listagem_calendario { width: 100%; max-width: 300px; margin: 0 auto; overflow-y: auto; align-self: center; transform: translateY(100%); transition: .3s ease; }
/* SHOW */
.sw_calendario .sw_listagem_calendario.show { opacity: 1; pointer-events: all; visibility: visible; }
.sw_calendario .sw_listagem_calendario.show .sw_btn_fechar { transform: translateX(0); }
.sw_calendario .sw_listagem_calendario .sw_btn_fechar:active { transform: scale(.95); transition: 0s; }
.sw_calendario .sw_listagem_calendario.show .sw_descricao_data_calendario { transform: translateY(0); }
.sw_calendario .sw_listagem_calendario.show .sw_cont_listagem_calendario { transform: translateY(0); }

/* TOOLTIP */
.sw_calendario .sw_tooltip_calendario { position: absolute; top: 100%; left: 50%; z-index: 100; background: none !important; padding-top: 10px; visibility: hidden; transform: translateX(-50%); pointer-events: none; transition: 0s .1s; }
.sw_calendario .sw_tooltip_calendario .sw_cont_tooltip_calendario { width: 160px; max-width: 80vw; border-radius: 4px; padding: 5px; background: #075892; position: relative; text-align: center; transform: translateY(10px); opacity: 0; transition: .1s ease; }
.sw_calendario .sw_tooltip_calendario .sw_cont_tooltip_calendario:before { content: ""; width: 10px; height: 10px; position: absolute; top: -5px; left: 50%; z-index: -1; margin-left: -5px; background: inherit; transform: rotate(-45deg); transition: 0s }
/* L/R */
.sw_calendario .sw_tooltip_calendario.tooltip_l { transform: translateX(-20px); }
.sw_calendario .sw_tooltip_calendario.tooltip_l .sw_cont_tooltip_calendario:before { left: 20px; }
.sw_calendario .sw_tooltip_calendario.tooltip_r { transform: translateX(-100%); margin-left: 13px; }
.sw_calendario .sw_tooltip_calendario.tooltip_r .sw_cont_tooltip_calendario:before { left: auto; right: 10px; }
/* SHOW */
.sw_calendario .sw_tooltip_calendario.show { visibility: visible; transition-delay: 0s; pointer-events: all; }
.sw_calendario .sw_tooltip_calendario.show .sw_cont_tooltip_calendario { transform: translateY(0); opacity: 1; }

/* LINK CALENDÁRIO */
.sw_calendario .sw_link_calendario { width: 100%; padding: 10px; background: #0f65a2; border-radius: 4px; margin-top: 5px; font-size: 13px; color: #fff; text-decoration: none; transition: .15s ease; }
.sw_calendario .sw_link_calendario:hover { background: #0572c0; }
.sw_calendario a:first-child .sw_link_calendario { margin-top: 0; }
.sw_calendario .sw_link_calendario .sw_periodo { display: table; margin: auto; margin-top: 7px; background: #0081d6; font-size: 10px; color: #fff; padding: 2px 10px; border-radius: 50px; text-transform: uppercase; font-weight: 500; }
/* #################################### FIM SW CALENDÁRIO #################################### */



/**********************************************************************************************
						PÁGINAS INTERNAS
/**********************************************************************************************/

/* CONTEÚDO PÁGINAS INTERNAS */
.conteudo_pgi { padding: 20px 0; }
.conteudo_pgi > .conteudo_interno { padding: 0 20px; }


/* COMPARTILHAMENTO */
.area_compartilhar { margin-top: 20px; background: #f0f2f4; padding: 7px; border-radius: 4px; font-size: 0; }
.area_compartilhar a { float: none !important; margin: 0; padding: 0; line-height: normal; }
.area_compartilhar .btn_compartilhar { height: 30px; line-height: 30px; display: inline-block; vertical-align: top; border-radius: 4px; text-align: center; margin: 1px; cursor: pointer; transition: .1s; }
.area_compartilhar .btn_compartilhar .swfa { display: inline-block; line-height: inherit; vertical-align: middle; }
.area_compartilhar .btn_compartilhar:active { transform: scale(.9); transition: .1s; }
/* BOTÃO COMPARTILHAR (GERAL) */
.area_compartilhar .btn_compartilhar_geral { min-width: 140px; font-size: 11px; color: #869198; letter-spacing: .5px; padding-top: 1px; }
.area_compartilhar .btn_compartilhar_geral .swfa { margin-left: 5px; }
.area_compartilhar .btn_compartilhar_geral:hover { background: rgba(255,255,255,.45); }
/* BOTÕES REDE SOCIAL */
.area_compartilhar .btn_compartilhar_rede_social { min-width: 30px; padding: 0 5px; font-size: 14px; color: #fff; }
.area_compartilhar .btn_compartilhar_rede_social .swfa { width: 20px; height: 30px; line-height: inherit; font-size: 14px; float: left; transition: .2s; }
.area_compartilhar .btn_compartilhar_rede_social .txt_botao { max-width: 0; height: 30px; line-height: inherit; float: left; text-transform: uppercase; font-size: 10px; letter-spacing: .5px; overflow: hidden; white-space: nowrap; transition: .4s ease-in-out; }
.area_compartilhar .btn_compartilhar_rede_social:hover .txt_botao { max-width: 200px; padding: 0 5px; }
.area_compartilhar .btn_compartilhar_facebook { background: #2675c5; }
.area_compartilhar .btn_compartilhar_messenger { background: #3290f0; }
.area_compartilhar .btn_compartilhar_twitter { background: #60c9ff; }
.area_compartilhar .btn_compartilhar_whatsapp { background: #40d277; }
.area_compartilhar .btn_compartilhar_mais { background: #ff943e; }
.area_compartilhar .btn_compartilhar_newsletter { background: #ef3c55; }


/* SW CATEGORIAS */
.sw_area_categorias { display: grid; width: 100%; }
.sw_cont_categorias { display: flex; white-space: nowrap; overflow-y: auto; padding: 5px; border: solid 1px #ddd; background: rgba(255,255,255,.5); border-width: 1px 0; font-size: 0; margin: 0 10px; }
.sw_categoria { height: 28px; line-height: 28px; padding: 0 10px; margin: 5px; background: #505a69; overflow: visible; border-radius: 4px; position: relative; z-index: 1; font-weight: 600; text-transform: uppercase; display: inline-block; vertical-align: middle; }
.sw_categoria:before { content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: -1; background: #d8dbdf; border-radius: 2px; opacity: 1; visibility: visible; transition: .1s ease; }
.sw_categoria span { line-height: inherit; font-size: 10px; color: #454545; text-transform: uppercase; vertical-align: middle; transition: .1s; }
.sw_categoria .swfa { font-size: 13px; margin-right: 4px; }
.sw_categoria:hover { border-radius: 2px; }
.sw_categoria:hover:before { opacity: 0; visibility: hidden; }
.sw_categoria:hover span { color: inherit; }
/* SELECIONADA */
.sw_categoria.selecionada { border-radius: 2px; }
.sw_categoria.selecionada:before { opacity: 0; visibility: hidden; }
.sw_categoria.selecionada span { color: inherit; }



/**********************************************************************************************
						MEDIAS
/**********************************************************************************************/
@media (max-width: 1000px) {

	/* ESTILO DAS BARRAS DE ROLAGEM */
	body *::-webkit-scrollbar { width: 4px !important; height: 4px !important; }

	/* COMPARTILHAMENTO */
	.area_compartilhar .btn_compartilhar_rede_social .txt_botao { display: none; }
}

@media (max-width: 600px) {

	/* SW LISTA DETALHES */
	.sw_lista_detalhes .sw_linha_detalhe .sw_titulo { width: auto; display: block; padding: 10px; padding-bottom: 2px; }
	.sw_lista_detalhes .sw_linha_detalhe .sw_detalhe { width: auto; display: block; padding: 10px; padding-top: 2px; }
	
	/* VÍNCULOS */
	.vinc_area_vinculos { padding: 20px 10px; }

	/* CONTEÚDO PÁGINAS INTERNAS */
	.conteudo_pgi { padding: 15px 0; }
	.conteudo_pgi > .conteudo_interno { padding: 0 10px; }
	
	/* SW INFO LISTAGEM */
	.sw_area_info_listagem .area_info_listagem .info_listagem { display: block; width: 100%; margin-bottom: 10px; }

	/* SWE FILTRO */
	.sw_area_info_listagem .area_info_listagem .sw_filtro { width: auto; display: block; margin-bottom: 2px; }
	
	/* COMPARTILHAMENTO */	
	.area_compartilhar { text-align: center; }
	/* BOTÃO COMPARTILHAR */
	.area_compartilhar .btn_compartilhar_geral { width: auto; height: 50px; line-height: 50px; display: block; background: #e0e2e3; margin: 0; }
	/* BOTÕES REDE SOCIAL */
	.area_compartilhar .btn_compartilhar_rede_social { width: 40px; height: 40px; line-height: 40px; padding: 0; margin: 5px 1px; margin-top: 10px; }
	.area_compartilhar .btn_compartilhar_rede_social .swfa { width: inherit; height: inherit; line-height: inherit; float: none; }

}

@media (max-width: 480px) {

	/* SW FORM */
	.sw_form .sw_area_campos_form .sw_campos_form { flex: 100% !important;}
}