/*
 * CONTENT AREAS!
 */

.ca {
	position: relative;
	text-align: left;
	font-size: 16px;
}

.layout-xs .ca {
	font-size: 14px;
}

.ca .fa-edit {
	color: #000;
}

#page .content_body .ca a {
	/* so that it doesn't interfere
	   with the newly-placed underlines
	   in the content links...
	   Thanks, Obama.
	*/
	text-decoration: none;
}

/* table stuff */

.ca .table-container {
	position: relative;
}

.ca .table-container .table {
	position: relative;
	table-layout: fixed;
	margin-top: 0px; /* to cancel the rule in c.page.css! */
	min-width: 480px;
	max-width: 100%;
}

.layout-xs .ca .table-container {
	overflow: hidden;
}

.layout-xs .ca .table-scroller {
	overflow-x: scroll;
	overflow-y: hidden;
	margin-bottom: 22px;
}

.layout-xs .ca .table-scroller .table {
	margin-bottom: 0px;
	/*word-wrap: break-word;*/
}

.layout-xs .ca .table-scroller-gradient {
	position: absolute;
	bottom: 22px;
	right: 0px;
	top: 0px;
	width: 20px;

	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&amp;0+0,1+100 */
	background: -moz-linear-gradient(left,  rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,0)), color-stop(100%,rgba(255,255,255,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(left,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(left,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(left,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* IE10+ */
	background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 ); /* IE6-9 */
}

.layout-xs .ca .table-scroller-gradient:after {
	position: absolute;
	content: ' ';
	right: 5px;
	top: 100px;
	width: 16px;
	height: 16px;
	opacity: 0.5;

	border-top: 3px solid #666;
	border-right: 3px solid #666;

	-webkit-transform: rotateZ(45deg);
	-moz-transform: rotateZ(45deg);
	-ms-transform: rotateZ(45deg);
	-o-transform: rotateZ(45deg);
	transform: rotateZ(45deg);
}





/* tabela_com_subopcoes */

.ca.tabela_com_subopcoes .titulo,
.ca.tabela_com_subopcoes .item {
	width: 100%;
	margin: 1px 0px 0px;
}

.ca.tabela_com_subopcoes .firstcol,
.ca.tabela_com_subopcoes .secondcol {
	display: table-cell;
	float: none;
	vertical-align: middle;
}

.ca.tabela_com_subopcoes .titulo {
	background-color: #efefef;
	font-size: 0.938em;
	padding: 7px 40px;
	position: relative;
}

.ca.tabela_com_subopcoes .titulo .rowlink {
	display: table;
	width: 100%;
}

.ca.tabela_com_subopcoes .titulo .firstcol {
	color: #606060;
}

.ca.tabela_com_subopcoes .titulo .secondcol {
	font-size: 0.875em;
	color: #404040;
	font-weight: 700;
	text-align: center;
}

.ca.tabela_com_subopcoes .item {
	display: table;
	color: #a3a3a3;
	font-size: 1em;
	padding: 7px 40px 7px 40px;
	position: relative;
}

.ca.tabela_com_subopcoes .item .firstcol {
	padding-left: 35px;
}

.ca.tabela_com_subopcoes .item .secondcol {
	font-size: 0.875em;
	font-weight: 700;
	text-align: center;
}

.ca.tabela_com_subopcoes .item:first-child { margin-top: 10px; }
.ca.tabela_com_subopcoes .item:last-child { margin-bottom: 10px; }

.ca.tabela_com_subopcoes .item .tooltip-icon {
	left: 36px;
}





/* tabela_opcoes_titulo */

.ca.tabela_opcoes_titulo .onlyonecol,
.ca.tabela_opcoes_titulo .firstcol,
.ca.tabela_opcoes_titulo .secondcol {
	display: table-cell;
	vertical-align: middle;
	float: none;
}

.ca.tabela_opcoes_titulo .onlyonecol { text-align: center; width: 100%; }
.ca.tabela_opcoes_titulo .firstcol { text-align: left; }
.ca.tabela_opcoes_titulo .secondcol { text-align: right; }

.ca.tabela_opcoes_titulo .destaque {
	display: table;
	width: 100%;
	padding: 10px 0;
	font-size: 0.875em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.175em;
	color: #616161;
	min-height: 25px;
}

.ca.tabela_opcoes_titulo .destaque .firstcol { padding-left: 0px; }
.ca.tabela_opcoes_titulo .destaque .secondcol { padding-right: 0px; }

.ca.tabela_opcoes_titulo .item {
	display: table;
	width: 100%;
	color: #7a7a7a;
	background: #efefef;
	margin-bottom: 1px;
	padding: 5px 0px;
	min-height: 34px;
}

.ca.tabela_opcoes_titulo .item .firstcol {
	padding-left: 20px;
}

.ca.tabela_opcoes_titulo .item .secondcol {
	padding-right: 20px;
	font-size: 0.875em;
	font-weight: bold;
}





/* tabela_coberturas_produtos */

.ca.tabela_coberturas_produtos .collapsable {
	position: relative;
	cursor: pointer;
}

.ca.tabela_coberturas_produtos .tooltip-icon {
	position: relative;
	margin-right: 4px;
	left: 0;
	top: -1px;
}

.layout-xs .ca.tabela_coberturas_produtos .tooltip-icon {
	margin-right: 2px;
	top: 0px;
}

.ca.tabela_coberturas_produtos th,
.ca.tabela_coberturas_produtos td {
	border: none;
	vertical-align: middle;
}

.ca.tabela_coberturas_produtos th {
	background: #fff !important;
}

.ca.tabela_coberturas_produtos td {
	position: relative;
	text-align: center;
	border-left: 1px solid #fff;
}

.ca.tabela_coberturas_produtos td:first-child {
	text-align: left;
	border-left: 0px;
}

.ca.tabela_coberturas_produtos tr.row-level-2 td:first-child { border-left: 50px solid #fff; }
.ca.tabela_coberturas_produtos tr.row-level-3 td:first-child { border-left: 100px solid #fff; }

.layout-xs .ca.tabela_coberturas_produtos tr.row-level-2 td:first-child { border-left-width: 25px; }
.layout-xs .ca.tabela_coberturas_produtos tr.row-level-3 td:first-child { border-left-width: 50px; }

.ca.tabela_coberturas_produtos .header-label {
	width: 40%; /* width of first column! */
	text-align: left;
}

.ca.tabela_coberturas_produtos .header-title {
	min-width: 110px;
	text-align: center;
	vertical-align: middle;
	padding-top: 2px;
	padding-bottom: 2px;
	border-right: 1px solid #d4d9ec;
	color: #acacac;
	font-weight: 700;
	font-size: 0.875em;
	letter-spacing: 0.175em;
}

.layout-sm .ca.tabela_coberturas_produtos .header-title {
	font-size: 0.750em;
	padding-top: 1px;
	padding-bottom: 1px;
}

.layout-xs .ca.tabela_coberturas_produtos .header-title {
	font-size: 0.643em;
	padding-top: 0px;
	padding-bottom: 0px;
}

.ca.tabela_coberturas_produtos .header-title:first-child,
.ca.tabela_coberturas_produtos .header-title:last-child {
	border-right: 0px;
}

.ca.tabela_coberturas_produtos .parent {
	border-bottom: 0px;
	color: #616161;
	font-size: 0.875em;
	font-weight: 700;
	letter-spacing: 0.175em;

	/*
	 * FIX FOR BORDERS NOT SHOWING ON FIREFOX!
	 * http://stackoverflow.com/questions/7517127/borders-not-shown-in-firefox-with-border-collapse-on-table-position-relative-o
	 */
	-moz-background-clip: padding-box;
	background-clip: padding-box;
}

.ca.tabela_coberturas_produtos .parent td {
	padding-top: 10px;
	padding-bottom: 10px;
}

.ca.tabela_coberturas_produtos .parent.collapsed td {
	border-bottom: 1px solid #efefef;
}

.ca.tabela_coberturas_produtos .parent.collapsed td:last-child {
	border-right: 1px solid rgba(0, 0, 0, 0); /* no border on last-child fix for IE/Edge! */
}

.ca.tabela_coberturas_produtos .item td {
	border-bottom: 1px solid #fff;
	background: #efefef;
	font-size: 0.938em;

	/*
	 * FIX FOR BORDERS NOT SHOWING ON FIREFOX!
	 * http://stackoverflow.com/questions/7517127/borders-not-shown-in-firefox-with-border-collapse-on-table-position-relative-o
	 */
	-moz-background-clip: padding-box;
	background-clip: padding-box;
}

.ca.tabela_coberturas_produtos .item td:first-child {
	padding-left: 20px;
}

.layout-xs .ca.tabela_coberturas_produtos .item td:first-child {
	padding-left: 12px;
}

.ca.tabela_coberturas_produtos .subtitle {
	position: relative;
}

.ca.tabela_coberturas_produtos .subtitle .item_sub {
	display: inline-block;
	padding: 0 10px;
}

.ca.tabela_coberturas_produtos .subtitle .symbol {
	position: relative;
	top: -1px;
	padding-right: 3px;
}





/* tabela_merged_cells */

.ca.tabela_merged_cells .tooltip-icon {
	position: relative;
	margin-right: 4px;
	left: 0;
	top: -1px;
}

.ca.tabela_merged_cells th,
.ca.tabela_merged_cells td {
	border: none;
	vertical-align: middle;
}

.ca.tabela_merged_cells th {
	background: #fff !important;
}

.ca.tabela_merged_cells td {
	position: relative;
	text-align: center;
	border-left: 1px solid #fff;

	/*
	 * FIX FOR BORDERS NOT SHOWING ON FIREFOX!
	 * http://stackoverflow.com/questions/7517127/borders-not-shown-in-firefox-with-border-collapse-on-table-position-relative-o
	 */
	-moz-background-clip: padding-box;
	background-clip: padding-box;
}

.ca.tabela_merged_cells td:first-child {
	text-align: left;
	border-left: 0px;
}

.ca.tabela_merged_cells .header-label {
	width: 40%; /* width of first column! */
	text-align: left;
	vertical-align: middle;
	padding-top: 2px;
	padding-left: 20px;
	padding-bottom: 2px;
	color: #acacac;
	font-weight: 700;
	font-size: 0.875em;
	letter-spacing: 0.175em;
}

.ca.tabela_merged_cells .header-title {
	text-align: center;
	vertical-align: middle;
	padding-top: 2px;
	padding-bottom: 2px;
	border-right: 1px solid #d4d9ec;
	color: #acacac;
	font-weight: 700;
	font-size: 0.875em;
	letter-spacing: 0.175em;
}

.layout-xs .ca.tabela_merged_cells .header-title {
	font-size: 0.643em;
	padding-top: 0px;
	padding-bottom: 0px;
}

.ca.tabela_merged_cells .header-title:first-child,
.ca.tabela_merged_cells .header-title:last-child {
	border-right: 0px;
}

.ca.tabela_merged_cells .item {
	border-top: 1px solid #fff;
}

.ca.tabela_merged_cells .item td {
	background: #efefef;
	font-size: 0.938em;

	/*
	 * FIX FOR BORDERS NOT SHOWING ON FIREFOX!
	 * http://stackoverflow.com/questions/7517127/borders-not-shown-in-firefox-with-border-collapse-on-table-position-relative-o
	 */
	-moz-background-clip: padding-box;
	background-clip: padding-box;
}

.ca.tabela_merged_cells .item td.column-first {
	padding-left: 20px;
}

.layout-xs .ca.tabela_merged_cells .item td.column-first {
	padding-left: 12px;
}

.ca.tabela_merged_cells .item.child { border-top: none; }
.ca.tabela_merged_cells .item.child td:first-child { padding-left: 50px; }
.layout-xs .ca.tabela_merged_cells .item.child td:first-child { padding-left: 25px; }