.w428{
	width: 42.8%;
}

.w572{
	width: 57.2%;
}

input,
textarea,
body{
	font-family: 'book', Arial;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-smooth: always;
}

a{
	cursor: pointer;
}

body,
.dib{
	font-size: 14px;
}

body.noscroll{
	overflow-y: hidden;
}

.dib{
	vertical-align: middle;
}

body{
	color: #0071ba;
	overflow-x: hidden;
}

.wp{
	position: relative;
}

.logotipo{
	width: 100%;
	max-width: 420px;
	display: inline-block;
	position: relative;
}

.logo{
	width: 100%;
}

.logo_o{
	position: absolute;
	left: 43.6%;
	top: 18%;
	width: 9.6%;
}

.site{
	display: block;
	position: relative;
}

.in{
	max-width: 1500px;
	position: relative;
	padding-left: 20px;
	padding-right: 20px;
}

.cabecalho{
	padding: 20px 0px;
	box-shadow: 0px 2px 10px rgba(0,0,0,0.2);
	position: relative;
	z-index: 100;
}

.cabecalho_fixo{
	position: fixed;
	top: 0px;
	left: 0;
	right: 0;
	background: white;
	z-index: 1000;
	box-shadow: 0px 4px 8px rgba(0,0,0,0.3);
	height: 65px;
	margin-top: -100px;
}

.logotipo_simples{
	height: inherit;
	position: relative;
	display: inline-block;
	height: 55px;
	margin-top: -5px;
}

.logotipo_simples .logo{
	width: auto;
	position: relative;
	height: 100%;
}

.logotipo_simples .logo_o{
	width: 28.2%;
	left: 30.2%;
}

.menu_fixo .cabecalho_fixo{
	margin-top: 0px;
}

.cabecalho_fixo .cab_e,
.cabecalho_fixo .cab_c{
	vertical-align: top;
	height: 45px;
	margin-top: 10px;
}


.cab_c{
	font-size: 0px;
	text-align: center;
}

.bt_menu{
	display: inline-block;
	position: relative;
}

.bt_menu_i{
	font-size: 70px;
}

.cabecalho_fixo .bt_menu_i{
	font-size: 60px;
}

.bt_menu_txt{
	font-family: bold;
	padding-right: 10px;
}

.wp_slider{
}

.slide{
	padding-top: 50px;
	padding-bottom: 50px;
	text-align: center;
}

.sl_est_img img{
	max-width: 100%;
}

.sl_est_selo{
	position: relative;
}

.sl_est_img{
	position: relative;
	padding: 30px;
}

.sl_selo_txt{
	position: absolute;
	z-index: 2;
	font-size: 50px;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%) rotate(-6deg);
	color: white;
	text-transform: uppercase;
	font-family: 'Kalam';
	font-weight: 700;
}

.sl_est_script{
	font-family: 'Kalam';
	font-weight: 700;
	font-size: 80px;
	text-transform: uppercase;
	transform: rotate(-6deg);
	padding-top: 100px;
	text-align: right;
}

.dib.sl_est_icons{
	font-size: 0px;
	text-align: left;
}

.sl_est_txt{
	font-size: 25px;
	text-align: left;
	padding-left:  20px;
	font-weight: 700;
}

.sel_est_i_pr{
	position: relative;
}

.sel_est_isp{
	position: absolute;
	font-size: 90px;
}

.sel_est_isp_1{
	left: -90%;
	top: -70%;
	transform: rotate(-30deg);
}

.sel_est_isp_2{
	right: -60%;
	bottom: -120%;
	transform: rotate(60deg);
}

.sl_mininfo{
	font-family: 'medium-it';
	font-size: 18px;
	padding: 40px;
}

.bt_red{
	display: inline-block;
	position: relative;
	color: white;
	cursor: pointer;
}

.bt_red_infos{
	position: relative;
	height: 65px;
	line-height: 65px;
	border-radius: 65px;
	overflow: hidden;
	box-shadow: 0px 2px 8px rgba(0,0,0,0.3);
	z-index: 1;
}

.bt_red_infos_txt,
.bt_red_infos_icon{
	display: inline-block;
	vertical-align: middle;
}

.bt_red_infos_txt{
	position: relative;
	padding-right: 60px;
	padding-left: 100px;
	border-radius: 100%;
}

.bt_red_infos_icon{
	position: absolute;
	right: 0;
	top: 0;
	height: 65px;
	z-index: 0;
	font-size: 30px;
	line-height: 65px;
	background: url('../gfx/bt_fx.png') left center no-repeat;
	background-size: cover;
	width: 55px;
	text-align: center;
	opacity: 0.5;
}

.bt_red_infos_icon i{
	position: relative;
	height: inherit;
	line-height: inherit;
	text-align: center;
	display: block;
	padding-left: 10px;
}

.bt_red_infos_txt{
	font-family: 'medium';
	color: white;
	font-size: 13px;
	line-height: 15px;
	text-align: left;
	height: 65px;
	position: relative;
	z-index: 0;;
}

.bt_red_infos_txt strong{
	display: block;
	font-weight: 700;
	font-size: 18px;
}

.bt_red_infos_txt span{
	display: block;
	position: relative;
	top: 50%;
	transform: translateY(-50%);
}

.bt_red_icon{
	position: absolute;
	height: 85px;
	width: 85px;
	line-height: 85px;
	z-index: 10;
	margin-top: -10px;
	border-radius: 100%;
	box-shadow: 0px 2px 8px rgba(0,0,0,0.4);
}
.bt_red_i{
	position: relative;
	height: inherit;
	width: inherit;
	line-height: inherit;
	font-size: 55px;
	color: white;
}

.bt_red_i_duplo i{
	position: absolute;
	left: 10px;
	top: 0;
	font-size: 45px;
}

.bt_red:hover > .bt_red_icon{
	transform: rotate(-12deg) scale(1.1);
	box-shadow: -2px 8px 8px rgba(0,0,0,0.2);
}
.bt_red:hover{
	transform: scale(1.1);
}

.bt_red:hover > .bt_red_infos{
	box-shadow: 0px 8px 8px rgba(0,0,0,0.2);
}

.bt_red_i_duplo i:last-child{
	right: 0px;
	left: auto;
}

.bt_red:hover > .bt_red_infos .bt_red_infos_icon{
	opacity: 1;
}

.bts_red_el{
	padding: 20px;
}

.wp_timeline{
	z-index: 0;
	margin-top: -150px;
	padding-top: 150px;
}

.wp_slider{
	z-index: 10;
}

.in_timeline{
	padding: 60px 0px 200px 0px;
}

.in_timeline{
	color: white;
}

.tl_i{
	width: 100px;
	height: 100px;
	border-radius: 100%;
	box-sizing: border-box;
	border: 2px solid white;
	text-align: center;
	box-shadow: 0px 4px 8px rgba(0,0,0,0.4);
}

.tl_i i{
	font-size: 70px;
	display: block;
	width: 100%;
	height: 100%;
	line-height: 100px;
	text-align: center;
}
.tl_i .ii i:last-child{
	width: 30px;
	height: 30px;
	line-height: 30px;
	font-size: 30px;
	border:  1px solid white;
	padding: 0px;
	right: 0;
	bottom: 15px;
}

.tl_i_bg{
	background: #0676a8;
}

.timeline_cx{
}

.tl_col{
	vertical-align: top;
	padding-top: 50px;
	width: 40%;
}

.tl_col_d{
	margin-left: 20%;
}

.tl_cont h3{
	background: rgba(0,0,0,0.2);
	display: inline-block;
	height: 70px;
	padding-left: 20%;
	margin-left: -20%;
	padding-right: 30px;
	line-height: 70px;
	font-family: 'bold';
	font-size: 25px;
}

.tl_icon{
	position: relative;
	z-index: 10;
}

.tl_linha{
	position: absolute;
	height: 100%;
	width: 2px;
	background: white;
	left: -25%;
	margin-left: 50px;
	top: 0;
}

.tl_cont{
	position: relative;
	z-index: 0;
	padding: 20px 0px;
}


.tl_cont h4{
	font-size: 18px;
	font-family: bold;
	line-height: 20px;
}

.tl_intervalo{
	margin-top: -20px;
}

.tl_italico{
	font-family: 'medium-it';
	font-size: 16px;
	padding-bottom: 20px;
}

.tl_italico_mini{
	font-size: 14px;
	font-family: book-it;
	padding-top: 20px;
}

.wp_steps{
	z-index: 20;
	text-align: center;
}

.in_steps{
	padding: 70px 0px;
}

.steps{
	position: relative;
}

.steps_pontos{
	padding: 30px 0px;
}

.steps_pontos_in{
	font-size: 0px;
	display: inline-block;
	position: relative;
}

.steps_pontos_cx{
	position: relative;
	z-index: 10;
}

.steps_linha{
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	top: 50%;
}

.step_p_el{
	padding: 10px 70px;
}

.steps_pontos_cx .step_p_el:first-child{
	padding-left: 0px;
}

.steps_pontos_cx .step_p_el:last-child{
	padding-right: 0px;
}

.step_p_bt{
	width: 70px;
	height: 70px;
	border-radius: 100%;
	font-size: 0px;
	background: white;
	cursor: pointer;
}

.step_p_bt i{
	display: block;
	width: 70px;
	height: 70px;
	border-radius: 100%;
	line-height: 70px;
	box-shadow: 0px 4px 8px rgba(0,0,0,0.25);
	color: #00ada6;
	font-size: 40px;
}

.step_p_bt:hover{
	transform: scale(1.1) rotate(12deg);
}

.step_p_bt.aberto:hover{
	transform: scale(1) rotate(0deg);
}

.step_p_el.aberto .step_p_bt{
	transform: scale(1.5,1.5);
	cursor: default;
}

.step_p_el.aberto .step_p_bt i{
	color: white;
}

.step_cont{
	position: relative;
	max-width: 1000px;
	margin:  0px auto;
}

.step_cont{
	padding: 40px 20px 100px 20px;
}

.step_cont h3{
	padding-bottom: 40px;
}

.steps_frames{
	position: relative;
	width: 100%;
	overflow:  hidden;
	white-space: nowrap;
	font-size: 0px;
}

.steps_frame{
	display: inline-block;
	position: relative;
	width: 100%;
	white-space: normal;
	vertical-align: top;
}
.steps_frames_cx{
	position: relative;
	width: 100%;
	left: 0;
}

.steps_circ{
	position: absolute;
	width: 70px;
	height: 70px;
	left: 0;
	top: 40px;
	transform: scale(1.7, 1.7);
	box-sizing: border-box;
	border-radius: 100%;
	border: 1px solid #00b3b4;
	background: rgba(255,255,255,1);
}

.steps_info_controlos{
	padding-top: 30px;
}

.tb_titulo h2{
	font-size: 70px;
	text-align: left;
}

.tb_titulos{
	padding: 150px 0px 50px 0px;
}

.bl_ener_principal strong{
	font-family: 'Kalam';
	font-size: 40px;
	font-weight: 700;
	display: inline-block;
	vertical-align: middle;
}

.tb_titulo_lat{
	text-align: center;
}

.bl_ener{
	display: inline-block;
	position: relative;
}

.bl_ener_principal i{
	font-size: 80px;
	display: inline-block;
	vertical-align: middle;
}

.bl_ener_icon{
	position: absolute;
	left: 50%;
	top: 0;
}

.bl_eletricidade .bl_ener_icon{
	top: 100%;
	margin-top: -20px;
	font-size: 100px;
	transform: rotate(75deg);
}

.bl_gas .bl_ener_icon{
	top: -100%;
	font-size: 100px;
	transform: rotate(-65deg);
	left: 80%;
}

.tb_mininfo{
	font-size: 14px;
	font-family: 'medium-it';
	padding: 15px 0px;
}


.tb_bloco_el{
	vertical-align: top;
	box-sizing: border-box;
}

.tb_bloco_in .tb_bloco_el:first-child{
	padding-right: 50px;
}


.tb_bloco_in .tb_bloco_el:last-child{
	padding-left: 50px;
}

.tb_bloco_gas .tb_bloco_el{
	vertical-align: middle;
}

.in_tabelas{
	padding-bottom: 200px;
}

.in_tri_texto{
	padding: 50px 0px;
}

.bl_txt_e,
.bl_txt_c,
.bl_txt_d{
	vertical-align: bottom;
}

.bloco_txt_in{
	padding: 25px;
}

.tit_script strong{
	display: block;
	font-size: 60px;
	text-align: left;
	transform: rotate(-6deg);
}

.bloco_txt_in .tit_script{
	padding-bottom: 30px;
}

.bl_txt_e .txt{
	font-family: 'medium';
	font-size: 19px;
	padding-right: 20px;
}

.bloco_txt_in .tit_redondo_mini{
	padding-bottom: 20px;
}

.in_bolas{
	padding: 100px 0px;
}

.bolas{
	text-align: center;
}

.bola_bt{
	display: inline-block;
	width: 300px;
	height: 300px;
	box-sizing: border-box;
	text-align: center;
	background: white;
	overflow: hidden;
	border-radius: 100%;
	border: 1px solid #0071ba;
	color: #0071ba;
	box-shadow: 0px 4px 8px rgba(0,0,0,0.25);
	position: relative;
	cursor: pointer;
}

.bola_in{
	position: absolute;
	border-radius: 100%;
	left: 5px;
	top: 5px;
	right: 5px;
	bottom: 5px;
	overflow: hidden;
	z-index: 0;
}

.bola_i{
	height: 40%;
	box-sizing: border-box;
	padding-top:  20px;
}

.bola_ir{
	position: absolute;
	width: 100%;
	bottom: 0;
	height: 25%;
	color: white;
}

.bola_ir span{
	display: block;
	color: white;
	position: relative;
	top: 50%;
	transform: translateY(-60%);
	font-size: 18px;
	font-family: bold;
	padding-left:  20px;
}

.bola_ir span i{
	display: inline-block;
	vertical-align: bottom;
	text-align: right;
	width: 20px;
}

.bola_tit{
	font-family: bold;
	font-size: 40px;
	padding: 0px 20px;
}

.bola_in .ii i:first-child{
	font-size: 80px;
}

.bola_i_isolado{
	font-size: 80px;
}

.bola_bt:hover{
	transform: scale(1.2);
	box-shadow: 0px 16px 16px rgba(0,0,0,0.15);
}

.ii_sup i:last-child{
	bottom: auto;
	top: 0;
	padding: 0px;
}

i.i_vermelho{
	background: red !important;
}

i.bola_i_ver{
	transform: rotate(-75deg) scale(1.4) translateY(-4px) translateX(-3px);
}

.rp_logo{
	padding-left: 30px;
	box-sizing: border-box;
}

.rp_logo img{
	max-width: 120px;
}

.in_rp{
	padding: 30px 0px;
}

.rp_menu{
	box-sizing: border-box;
	border-right: 1px solid rgba(255,255,255,0.5);
	padding: 0px 30px;
	text-align: center;
}

.in_rp .tab .rp_menu:last-child{
	border-right: none;
}

.rp_menu_4{
	text-align: right;
}

.rp_menu ul{
	display: inline-block;
	text-align: left;
	margin-top: -10px;
	margin-bottom: -10px;
}

.rp_menu ul a{
	color: white;
	display: inline-block;
	position: relative;
	z-index: 5;
}

.rp_menu ul a:hover{
	text-shadow: 0px 0px 5px white;
	z-index: 1;
}

.rp_menu ul a::before{
	position: absolute;
	content: "";
	width: 100%;
	padding-top: 100%;
	height: 0px;
	background: white;
	opacity: 0.5;
	top: 0%;
	left: 0%;
	border-radius: 100%;
	transform: translateY(-50%) scale(0);
	margin-top: 10px;
	z-index: -1;
}

.rp_menu ul a:hover::before{
	transform: translateY(-50%) scale(2);
	opacity: 0;
}

.rp_menu ul li{
	display: block;
	padding: 10px;
	font-size: 16px;
	height: 20px;
	line-height: 20px;
	font-family: medium;
}

.rp_menu.rp_menu_leve ul li{
	font-size: 14px;
	font-family: book;
}

.rp_menu.rp_menu_forte ul li{
	font-size: 18px;
	font-family: bold;
}

.rp_fim{
	position: relative;
	background: rgba(0,0,0,0.1);
	color: white;
	position: relative;
}

.copyright{
	font-family: 'medium';
	font-size: 12px;
}

.in_rp_fim{
	padding: 20px 30px;
}

.signed{
	position: absolute;
	right: 30px;
	top: 20px;
	display: block;
}

.signed img{
	width: 50px;
	opacity: 0.5;
}

.oculto_in{
	padding: 50px 0px;
	max-width: 900px;
	margin: 0px auto;
}

.oculto_controlos{
	text-align: center;
	text-transform: uppercase;
	padding: 50px 0px;
}

.fechar_padrao{
	cursor: pointer;
	display: inline-block;
}

.fechar_padrao em,
.fechar_padrao span{
	display: inline-block;
	vertical-align: middle;
}
.fechar_padrao span{
	padding-top: 3px;
	padding-left: 30px;
}

.fechar_padrao i{
	display: inline-block;
	width: 25px;
	height: 25px;
	vertical-align: middle;
	line-height: 25px;
	margin-left: 10px;
	border-radius: 100%;
	box-sizing: border-box;
	border: 1px solid #0071ba;
	opacity: 0.5;
}

.fechar_padrao:hover > em i{
	border-color:  red;
	opacity: 1;
	color: red;
}

.oculto_frame{
	overflow: hidden;
	height: 0px;
	margin: 0;
	top: 0;
}

.oc_icon{
	position: absolute;
	z-index: 100;
	text-align: center;
	width: 100%;
	display: block;
	padding: 0;
	margin: 0;
	height: 0px;
}


.oc_icon i{
	position: absolute;
	font-size: 0px;
	height: 0px;
	display: block;
	margin-top: 0px;
	transform: rotate(-45deg);
	left: 50%;
	margin-left: -40px;
}

.oc_icon i.aberto{
	font-size: 80px;
	height: 80px;
	display: block;
	margin-top: -40px;
	transform: rotate(45deg);
}

.wp_oculto{
}

i.oc_icon_mudar_de_casa{
	left: 28%;
}


.lb{
	position: fixed;
	left: 30px;
	top: 30px;
	right: 30px;
	bottom: 30px;
	z-index: 5000;
	display: none;
	overflow: hidden;
	border-radius: 8px;
}

.lb_in{
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	position: absolute;
	overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

.lb_tab{
	display: table;
	width: 100%;
	height: 100%;
}

.lb_cont{
	padding: 20px;
	position: relative;
	text-align: center;
	display: table-cell;
	vertical-align: middle;
	background: white;
}

.lb_pos{
	max-width: 800px;
	margin: 0px auto;
}

.lb_fx{
	width: 4px;
	height: 4px;
	background: white;
	position: fixed;
	border-radius: 8px;
	z-index: 5001;
	opacity: 0.5;
}

.lb_fx_bg{
	background: black;
	left: 0;
	top: 0;
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 4998;
	opacity: 0;
}

.fecha_lb{
	position: absolute;
	right: 0px;
	top: 0px;
	z-index: 50;
	width: 50px;
	height: 50px;
	cursor: pointer;
}

.fecha_lb i{
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	display: block;
	font-size: 20px;
}

.fecha_lb:hover{
	transform: scale(1.2) rotate(360deg);
}

.txt.txt_faq h2{
	font-family: 'bold';
	font-size: 20px;
	line-height: 30px;
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px dashed rgba(0,0,0,0.2);
}







