:root{
	--cor-escura: #114488;
	--cor-escura-alfa: #114488e0;
	--cor-clara: #449edd;
}

body{
    margin: 0;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 14px;
}
*{
    box-sizing: border-box;
}

a{
	color: var(--cor-escura);
}

.geral{
	width:100%;
	max-width: 1140px;
	margin: 0 auto;
}
.centralizado{
	width: 100%;
	max-width: 1140px;
	margin: 0 auto;
}

.topo_tarja{
	position: relative;
	float:left;
	width:100%;
	background: var(--cor-escura);
	padding: 14px;
	font-size: 15px;
}

.topo_tarja .contato{
	float:left;
	width: auto;
	color: white;
}
.topo_tarja .contato i{
	color: var(--cor-clara);
	margin: 0 5px;
}

.topo_tarja .contato > div{
	float:left;
	width: auto;
}

.topo_tarja .redes_sociais{
	float:right;
	width: auto;
	color: white;
}
.topo_tarja .redes_sociais a{
	color: white;
	padding: 0 10px;
}
.topo-tarja-backdrop{
	position:absolute;
	background: var(--cor-escura);
	top: 0;
	bottom: 0;
	left: calc((100% - 100vw) / 2);
	right: calc((100% - 100vw) / 2);
	z-index: -5;
}

/* menu */
.topo_menu .logo{
	float:left;
	width: auto;
	max-width: 200px;
	padding: 14px 0;
}
.topo_menu .logo img{
	max-width: 100%;
}
.topo_menu .menu{
	float:right;
	width: auto;
}

.topo_menu .menu a{
	float:left;
	padding: 28px 15px;
	font-size: 16px;
	text-transform: uppercase;
	text-decoration: none;
	color: #363636;
	border-bottom: 0px solid var(--cor-clara);
	transition: all 0.4s ease-in-out;
}
.topo_menu .menu a:hover{
	border-bottom: 4px solid var(--cor-clara);
}

/* menu mobile */
.topo_menu .menu_mobile{
	display:none;
	float:right;
	margin-right: 10px;
	padding: 22px 0;
}
.topo_menu .menu_mobile i{
	font-size: 32px;
}

.menu_mobile_side{
	display: none;
	opacity:0;
	position: fixed;
	right: 0;
	top: 0;
	height: 100%;
	width: 0px;
	max-width: 300px;
	background: white;
	padding: 15px;
	z-index: 1;
}
.menu_mobile_side .mobile_side_topo{
	float:left;
	width: 100%;
}
.menu_mobile_side .mobile_side_topo .mobile_side_logo{
	float:left;
	width: auto;
}
.menu_mobile_side .mobile_side_topo .mobile_side_close{
	float:right;
	width: auto;
}
.menu_mobile_side .mobile_side_topo .mobile_side_close i{
	color: black;
	font-size: 18px;
	padding: 10px;
}

.menu_mobile_side .mobile_side_menu{
	float:left;
	width: 100%;
}

.menu_mobile_side .mobile_side_menu a{
	float:left;
	width: 100%;
	font-weight: bold;
	padding: 13px 0px;
	color: #363636;
	text-decoration: none;
	border-bottom: 1px solid #e4e4e4;
	transition: all .3s;
	font-family: 'Open Sans', sans-serif;
	font-size: 0.875rem;
}

.menu_mobile_side a:hover{
	color: var(--cor-escura);
}

/* topo fixo */
.topo_menu.fixed{
	display:none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: white;
	padding: 15px 0;
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
	z-index: 1;
}

/* topo paginas genericas */
.topo_paginas_genericas{
	position: relative;
	float:left;
	width: 100%;
	padding: 70px 0;
	text-align: center;
	color: white;
	height: 340px;
}

.topo_paginas_genericas div.titulo,
.topo_paginas_genericas div.texto{
	z-index: 1;
	position: relative;
}
.topo_paginas_genericas div.titulo{
	font-size: 36px;
	text-transform: uppercase;
	font-family: 'Source Sans Pro', sans-serif;
	font-weight: 700;
}
.topo_paginas_genericas div.texto{
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	padding: 0 5px;
	font-size: 0.875rem;
	font-family: "Open Sans", sans-serif;
	line-height: 2;
	margin-top: 15px;
	
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.topo-genericas-backdrop{
	position:absolute;
	background: url('../../templates/lawstudio/imagens/topo_paginas_genericas.jpg');
	top: 0;
	bottom: 0;
	left: calc((100% - 100vw) / 2);
	right: calc((100% - 100vw) / 2);
	z-index: -5;
}
.topo-genericas-backdrop:before{
	content: '';
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background-color: var(--cor-escura-alfa);
}
/* modulos */
.modules_wrapper{
	font-family: "Open Sans", sans-serif;
	color: #363636;
	font-size: 14px;
	line-height: 2;
}
.modules_wrapper .module .title,
.modules_wrapper .module .module_content{
	float:left;
	width: 100%;
	margin: 0 auto;
}
.modules_wrapper .module{
	padding-bottom: 50px;
}

.modules_wrapper .module.module_banner{
	padding-bottom: 0px;
}
.modules_wrapper .module_banner .content{
	float:none;
	position:absolute;
	top:0;
	bottom:0;
	left: calc((100% - 100vw) / 2);
	right: calc((100% - 100vw) / 2);
}

.modules_wrapper.page-home .module_backdrop.backdrop_odd,
.modules_wrapper.page-others .module_backdrop.backdrop_even{
	background: #f5f6f7;
}
.modules_wrapper .module_backdrop:nth-child(1),
.module_backdrop_banner{
	background: white !important;
}


.modules_wrapper .module_backdrop.module-bgimg-advogados{
	background-image: url(../../templates/lawstudio/imagens/img_advogados.jpg) !important;
}
.modules_wrapper .module_backdrop.module-bgimg-predios{
	background-image: url(../../templates/lawstudio/imagens/img_predios.jpg) !important;	
}
.modules_wrapper .module_backdrop[class*="module-bgimg-"]{
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-position: 50% 50% !important;
}
.modules_wrapper .module_backdrop[class*="module-bgimg-"]:before{
	content: '';
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background-color: var(--cor-escura-alfa);
}
.modules_wrapper .module.module-bgimg-advogados .title,
.modules_wrapper .module.module-bgimg-advogados .module_content,
.modules_wrapper .module.module-bgimg-predios .title,
.modules_wrapper .module.module-bgimg-predios .module_content{
	color: white;
	z-index: 1;
	position: relative;
}

.modules_wrapper .module .title{
	padding-top: 50px;
	text-align: center;
	font-size: 36px;
	text-transform: uppercase;
	font-weight: 700;
}

.modules_wrapper .module .module_content{
	padding-top: 50px;
}
.modules_wrapper .module_banner .module_content{
	padding-top: 0px;
}

.modules_wrapper span.title_part_color{
	color:  var(--cor-clara);
}

.modules_wrapper .module .title .title_gavel{
	position: relative;
	width: 100px;
	margin: 0 auto;
	line-height: 24px;
}
.modules_wrapper .module .title .title_gavel:before{
	content: '';
	position: absolute;
	width: 30px;
	height: 3px;
	background: var(--cor-clara);
	bottom: 14px;
	left: 0;
}
.modules_wrapper .module .title .title_gavel:after{
	content: '';
	position: absolute;
	width: 30px;
	height: 3px;
	background: var(--cor-clara);
	bottom: 14px;
	right: 0;
}

.modules_wrapper .module .title i{
	color: var(--cor-clara);
	font-size: 12px;
	border: 3px solid var(--cor-clara);
	border-radius: 50%;
	width:30px;
	height:30px;
	color: black;
	line-height: 22px;
	background: transparent;
	text-align: center;
}
.modules_wrapper .module[class*="module-bgimg-"] .title i{
	color: white;
}

/* rodape mapa */
.rodape_map{
	float:left;
	width: 100%;
	min-height: 200px;
}

/* rodape */
.rodape{
	position: relative;
	float:left;
	width: 100%;
	min-height: 200px;
	background: var(--cor-escura);
	font-family: "Open Sans", sans-serif;
	padding: 60px 0;
}

.rodape .box_rodape{
	float:left;
	width: 33%;
	padding-right: 40px;
	line-height: 2;
}

.rodape .box_rodape.links_rapidos a{
	color: #fff;
	float:left;
	width: 100%;
	text-decoration: none;
	border-bottom: 1px solid #ddd;
	padding: 10px 0;
	transition: all .3s;
	position: relative;
}
.rodape .box_rodape.links_rapidos a:hover{
	color: var(--cor-clara);
}
.rodape .box_rodape.links_rapidos a:after{
	content:"\f105";
	position: absolute;
	right: 0;
	top: 20px;
	font: var(--fa-font-solid);
}

.rodape .box_rodape .titulo{
	color: #ddd;
	text-transform: uppercase;
	font-size: 1.5rem;
	font-weight: 700;
	margin-bottom: 20px;
}
.rodape .box_rodape .conteudo{
	color: #ddd;
}

.rodape-backdrop{
	position: absolute;
	top:0;
	bottom:0;
	left: calc((100% - 100vw) / 2);
	right: calc((100% - 100vw) / 2);
	background: var(--cor-escura);
	z-index:-5;
}
/* rodape credito */
.rodape_creditos{
	position:relative;
	float:left;
	width: 100%;
	font-family: "Open Sans", sans-serif;
	text-align: center;
	padding: 60px 0;
	border-top: 1px solid var(--cor-clara);
	background: var(--cor-escura);
	color:white;
}

.rodape_creditos a.vocatus_link{
	text-decoration: none;
	color: white;
	text-transform: uppercase;
	font-size: 18px;
	font-weight: bold;
}
.rodape_creditos a.vocatus_link span{
	color: #da2223;
}

.rodape-creditos-backdrop{
	position: absolute;
	top:-1px;
	bottom:0;
	left: calc((100% - 100vw) / 2);
	right: calc((100% - 100vw) / 2);
	background: var(--cor-escura);
	border-top: 1px solid var(--cor-clara);
	z-index:-5;
}
/* mensagem de sucesso, aviso e erro */
.confirmMessage{
    float: left;
    width: 100%;
    padding: 12px;
    background: #4bbf99;
    color: white;
    border-radius: 5px;
    margin: 3px 0;
}
.warningMessage{
    float: left;
    width: 100%;
    padding: 12px;
    background: #dbac65;
    color: white;
    border-radius: 5px;
    margin: 3px 0;
}
.errorMessage{
    float: left;
    width: 100%;
    padding: 12px;
    background: #db4620;
    color: white;
    border-radius: 5px;
    margin: 3px 0;
}