/** 
 * Estilos utilizados nos componentes HTML das Páginas do Site da FEUSP com Bootstrap
 * Data Criação: 27/09/2016
 * Autor da Criação: Fernando Faria
 * Data Última Alteração: 05/06/2018
 * Autor da Alteração: Fernando Faria
 * Versão: 3
 */

/**
 * Estilos personalizados para uso na página
 **/
.titulo {
	color: #1976bc;
	font-size: 16px;
	font-weight: bold;
	line-height: 22px;
	text-decoration: none;
	vertical-align:middle;
}

.subtitulo {
	color: #1976bc;
	font-size: 14px;
	font-weight: bold;
	line-height: 18px;
	text-decoration: none;
	vertical-align:middle;
}

.subtitulo2 {
	color: #1976bc;
	font-size: 13px;
	font-weight: bold;
	line-height: 18px;
	text-decoration: none;
	vertical-align:middle;
}

.Titulo_Pagina {
	color: #1976bc;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	font-weight: bold;
	text-decoration: none;
}

.impressao_descricao {
	color: #1976bc;
	font-weight: bold;
}

.impressao_campo {
	font-weight: bold;
}

.cinza {
	color: #A6A6A6;
}

.vermelho {
	color: #d71921;
}

/* Remove the navbar's default rounded borders and increase the bottom margin */ 
body {
	font-family: "Open Sans",sans-serif;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 {
	font-weight: 600;
	margin-top: 0px;
	margin-bottom: 0px;
	padding-top: 7px;
	padding-bottom: 7px;
}

h1, .h1 {
	font-size: 24px;
	padding-top: 14px;
}

h2, .h2 {
	font-size: 18px;	
}

h3, .h3 {
	font-size: 17px;	
}

h4, .h4 {
	font-weight: bold;
	font-size: 15px;
}

h5, .h5 {
	font-weight: bold;
	font-size: 14px;	
}

/* Remove the jumbotron's default bottom margin */ 
 .jumbotron {
  margin-bottom: 0;
}

/* Add a gray background color and some padding to the footer */
footer {
  background-color: #f2f2f2;
  padding: 25px;
}

/** Componente navbar - Menu **/
.navbar {
  margin-bottom: 0px;
  border-radius: 0;
}

.navbar-inverse {
	background-color: #000;
	background-image: linear-gradient(to bottom, #3c3c3c 0%, #000 100%);
}

.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:focus, .navbar-inverse .navbar-nav > .active > a:hover {
	background-color: #303030;	
}

.nav > li > a {
	font-weight: 600;
	padding-top: 8px;
	padding-bottom: 8px;
}

.nav-tabs.centered {
	margin-bottom: 7px;
}

.nav-tabs.centered > li, .nav-pills.centered > li {
    float:none;
    display:inline-block;
    *display:inline; /* ie7 fix */
    zoom:1; /* hasLayout ie7 trigger */
}

.nav-tabs.centered, .nav-pills.centered {
    text-align:center;
}

.dropdown-menu > li > a {
	font-weight: 600;
}

.nav > li.item_icone {
	padding-left: 35px;
}

span.icone {
	position:absolute;
	font-size:26px;
	margin-top:-4px;
	margin-left:-35px;
}

.texto-logo {
	color: #fff;
	font-size: 14px;
	font-weight: 600;
}

/** Componente breadcrumb - Barra de Navegação no Sistema **/
.breadcrumb {
	color: #333333;
	font-weight: 600;
	margin-bottom: 0px;
}

.breadcrumb a, .breadcrumb a:hover, .breadcrumb a:focus {
	color: #333333;
}

/** Componente label **/
.form-horizontal .control-label {
	/*text-align: justify;*/
}

/** Componente BootStrap Dialog **/
.modal-footer {
    padding: 16px;
}

.modal-footer .bootstrap-dialog-footer-buttons {
    margin-top: 8px;
	margin-bottom: 8px;
    text-align: right;
}

.modal-footer .bootstrap-dialog-footer-buttons .btn {
    margin-top: -8px;
	margin-bottom: -8px;
	margin-left: 16px;
	margin-right: 0px;
}

/** Componente tooltip **/
.tooltip {
	font-family: "Open Sans",sans-serif;
	font-size: 14px;
	font-weight: 600;
}

.tooltip-calendario + .tooltip > .tooltip-inner {
	background-color: #b94a48 !important;
}

.tooltip-calendario + .tooltip > .tooltip-arrow {
	border-top-color: #b94a48 !important;
}

.tooltip.tooltip-vermelho .tooltip-inner {
	background-color: #D40407;
}

.tooltip.tooltip-vermelho .tooltip-arrow {
	border-top-color: #D40407;
}

/** Componente ui-grid - Tabelas de Pesquisa **/
.ui-grid { 
	width:100% !important; 
}

.ui-jqgrid .ui-jqgrid-titlebar-close {
	display: none;
}

.ui-jqgrid .ui-jqgrid-titlebar, .ui-jqgrid .ui-jqgrid-hdiv, .ui-jqgrid .ui-priority-secondary {
	background-color: #efefef;
}

.ui-jqgrid .ui-jqgrid-titlebar {
	width: 100%;	
}

.ui-jqgrid .ui-jqgrid-titlebar, .ui-jqgrid .ui-jqgrid-htable .ui-th-div, .ui-jqgrid .ui-jqgrid-btable tbody tr.jqgrow td {
	font-size:14px;	
}

.ui-jqgrid .ui-jqgrid-pager .ui-pg-div span, .ui-jqgrid .ui-jqgrid-toppager .ui-pg-div span {
	font-size:13px;	
}

.ui-jqgrid .ui-pager-control .ui-pager-table td {
	font-size:13px;
}

.ui-jqgrid .ui-jqgrid-titlebar, .ui-jqgrid .ui-jqgrid-htable .ui-th-div {
	text-align: center;	
}

.ui-jqgrid .ui-jqgrid-pager {
	/*overflow-x:scroll;*/	
}

.ui-jqgrid .ui-jqgrid-btable tbody tr.jqgrow td {
	white-space: pre-wrap;
}

/** Componente botão **/
.btn-file {
	position: relative;
	overflow: hidden;
}

.btn-file input[type=file] {
	position: absolute;
	top: 0;
	right: 0;
	min-width: 100%;
	min-height: 100%;
	font-size: 100px;
	text-align: right;
	filter: alpha(opacity=0);
	opacity: 0;
	outline: none;
	background: white;
	cursor: inherit;
	display: block;
}

/** Componente table **/
.table-striped > tbody > tr:nth-of-type(2n+1) {
	background-color: #efefef;
}

.table-bordered > thead > tr > th, .table-bordered > thead > tr > td {
	background-color: #efefef;
}

.table > thead > tr > th {
	font-size: 14px;
	font-weight: bold;
	vertical-align: middle;
	padding-left: 8px;
	padding-right: 8px;
	margin-top: 8px;
	margin-bottom: 8px;
}

.table-bordered > thead > tr > th > h1, 
.table-bordered > thead > tr > th > h2, 
.table-bordered > thead > tr > th > h3, 
.table-bordered > thead > tr > th > h4, 
.table-bordered > thead > tr > th > h5, 
.table-bordered > thead > tr > th > h6 {
	padding-top: 0px;
	padding-bottom: 0px;
	padding-left: 8px;
	padding-right: 8px;
	margin-top: 0px;
	margin-bottom: 0px;
}

.table-bordered > tbody > tr > td {
	font-size: 14px;
	vertical-align: middle;
	padding-left: 8px;
	padding-right: 8px;
	margin-top: 8px;
	margin-bottom: 8px;
}

.table-bordered > tbody > tr > td > button, .table-bordered > tbody > tr > td > select {
	padding-left: 0px;
	padding-right: 0px;
	margin-top: 0px;
	margin-bottom: 0px;
}

/** Componente datepicker **/
.datepicker table tr td {
	width: auto;
	height: auto;
}

.datepicker .table-condensed > thead > tr > th, 
.datepicker .table-condensed > tbody > tr > th, 
.datepicker .table-condensed > tfoot > tr > th, 
.datepicker .table-condensed > thead > tr > td, 
.datepicker .table-condensed > tbody > tr > td, 
.datepicker .table-condensed > tfoot > tr > td {
	padding: 2px;
}

.datepicker table tr td, 
.datepicker table tr th {
	font-size: 14px;
}

/** Componente input-group **/
.input-group-addon, .input-group-btn, .input-group .form-control {
	margin-top: 8px;
}

/** Componente form-control **/
.form-control {
	padding-left: 8px;
	padding-right: 8px;
}

select.form-control {
	padding-left: 4px;
	padding-right: 8px;
}

/** Componente panel **/
.panel {
	margin-bottom: 8px;
}

.panel-header {
	background-color: #dfdfdf;
}

.panel-body {
	padding: 0px 8px;
}

/** Componente checkbox **/
.form-horizontal .checkbox {
	/*
	margin-left: -8px;
	margin-right: -8px;
	*/
	padding-left: 26px;
	padding-right: 8px;
	padding-top: 0px;
	padding-bottom: 0px;
}

.checkbox label {
	display: block;
	position: relative;
	font-weight: bold;
	padding-left: 8px;
	padding-top: 8px;
	padding-right: 0px;
	margin-bottom: 0px;
}

.checkbox label::before {
	content: "";
	display: inline-block;
	position: absolute;
	width: 17px;
	height: 17px;
	left: 0;
	margin-top: 1px;
	margin-left: -17px;
	border: 1px solid #cccccc;
	border-radius: 3px;
	background-color: #fff;
	-webkit-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
	-o-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
	transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
}

.checkbox label::after {
	/*
	display: inline-block;
	position: absolute;
	width: 17px;
	height: 17px;
	left: 0;
	top: 0;
	margin-left: -17px;
	padding-left: 3px;
	padding-top: 1px;
	font-size: 11px;
	color: #555555;
	*/
}

.checkbox input[type="checkbox"] {
	opacity: 0;
}

.checkbox input[type="checkbox"]:focus + label::before, .checkbox input[type="checkbox"]:focus + div + label::before {
	outline: thin dotted;
	outline: 5px auto -webkit-focus-ring-color;
	outline-offset: -2px;
}

/* checked */
.checkbox input[type="checkbox"]:checked + label::before, .checkbox input[type="checkbox"]:checked + div + label::before {
	font-family: 'Font Awesome 5 Solid';
	font-size: 11px;
	content: "\f00c";
	padding-left: 2px; 
}

.checkbox input[type="checkbox"]:disabled + label, .checkbox input[type="checkbox"]:disabled + div + label {
	opacity: 0.65;
}

.checkbox input[type="checkbox"]:disabled + label::before, .checkbox input[type="checkbox"]:disabled + div + label::before {
	background-color: #eeeeee;
	cursor: not-allowed;
}

.checkbox.checkbox-circle label::before {
	border-radius: 50%;
}

.checkbox.checkbox-inline {
	margin-top: 0px;
}

.checkbox-primary input[type="checkbox"]:checked + label::before, .checkbox-primary input[type="checkbox"]:checked + div + label::before {
	background-color: #428bca;
	border-color: #428bca;
}

.checkbox-primary input[type="checkbox"]:checked + label::before, .checkbox-primary input[type="checkbox"]:checked + div + label::before {
	color: #fff;
}

.checkbox-danger input[type="checkbox"]:checked + label::before, .checkbox-danger input[type="checkbox"]:checked + div + label::before {
	background-color: #d9534f;
	border-color: #d9534f;
}

.checkbox-danger input[type="checkbox"]:checked + label::before, .checkbox-danger input[type="checkbox"]:checked + div + label::before {
	color: #fff;
}

.checkbox-info input[type="checkbox"]:checked + label::before, .checkbox-info input[type="checkbox"]:checked + div + label::before {
	background-color: #5bc0de;
	border-color: #5bc0de;
}

.checkbox-info input[type="checkbox"]:checked + label::before, .checkbox-info input[type="checkbox"]:checked + div + label::before {
	color: #fff;
}

.checkbox-warning input[type="checkbox"]:checked + label::before, .checkbox-warning input[type="checkbox"]:checked + div + label::before {
	background-color: #f0ad4e;
	border-color: #f0ad4e;
}

.checkbox-warning input[type="checkbox"]:checked + label::before, .checkbox-warning input[type="checkbox"]:checked + div + label::before {
	color: #fff;
}

.checkbox-success input[type="checkbox"]:checked + label::before, .checkbox-success input[type="checkbox"]:checked + div + label::before {
	background-color: #5cb85c;
	border-color: #5cb85c;
}

.checkbox-success input[type="checkbox"]:checked + label::before, .checkbox-success input[type="checkbox"]:checked + div + label::before {
	color: #fff;
}

/** Componente radio **/
.form-horizontal .radio {
	/*
	margin-left: -8px;
	margin-right: -8px;
	*/
	padding-left: 26px;
	padding-right: 8px;
	padding-top: 0px;
	padding-bottom: 0px;
}

.radio label {
	display: block;
	position: relative;
	font-weight: bold;
	padding-left: 8px;
	padding-top: 8px;
	padding-right: 8px;
	margin-bottom: 0px;
}


.radio label::before {
	content: "";
	display: inline-block;
	position: absolute;
	width: 17px;
	height: 17px;
	left: 0;
	margin-top: 1px;
	margin-left: -17px;
	border: 1px solid #cccccc;
	border-radius: 50%;
	background-color: #fff;
	-webkit-transition: border 0.15s ease-in-out;
	-o-transition: border 0.15s ease-in-out;
	transition: border 0.15s ease-in-out;
}

.radio label::after {
	display: inline-block;
	position: absolute;
	content: " ";
	width: 11px;
	height: 11px;
	left: 3px;
	top: 12px;
	margin-left: -17px;
	border-radius: 50%;
	background-color: #555555;
	-webkit-transform: scale(0, 0);
	-ms-transform: scale(0, 0);
	-o-transform: scale(0, 0);
	transform: scale(0, 0);
	-webkit-transition: -webkit-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
	-moz-transition: -moz-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
	-o-transition: -o-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
	transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
}

.radio input[type="radio"] {
	opacity: 0;
}

.radio input[type="radio"]:focus + label::before, .radio input[type="radio"]:focus + div + label::before {
	outline: thin dotted;
	outline: 5px auto -webkit-focus-ring-color;
	outline-offset: -2px;
}

.radio input[type="radio"]:checked + label::after, .radio input[type="radio"]:checked + div + label::after {
	-webkit-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	-o-transform: scale(1, 1);
	transform: scale(1, 1);
}

.radio input[type="radio"]:disabled + label, .radio input[type="radio"]:disabled + div + label {
	opacity: 0.65;
}

.radio input[type="radio"]:disabled + label::before, .radio input[type="radio"]:disabled + div + label::before {
	cursor: not-allowed;
}

.radio.radio-inline {
	margin-top: 0;
}

.radio-primary input[type="radio"] + label::after, .radio-primary input[type="radio"] + div + label::after {
	background-color: #428bca;
}

.radio-primary input[type="radio"]:checked + label::before, .radio-primary input[type="radio"]:checked + div + label::before {
	border-color: #428bca;
}

.radio-primary input[type="radio"]:checked + label::after, .radio-primary input[type="radio"]:checked + div + label::after {
	background-color: #428bca;
}

.radio-danger input[type="radio"] + label::after, .radio-danger input[type="radio"] + div + label::after {
	background-color: #d9534f;
}

.radio-danger input[type="radio"]:checked + label::before, .radio-danger input[type="radio"]:checked + div + label::before {
	border-color: #d9534f;
}

.radio-danger input[type="radio"]:checked + label::after, .radio-danger input[type="radio"]:checked + div + label::after {
	background-color: #d9534f; 
}

.radio-info input[type="radio"] + label::after, .radio-info input[type="radio"] + div + label::after {
	background-color: #5bc0de; 
}

.radio-info input[type="radio"]:checked + label::before, .radio-info input[type="radio"]:checked + div + label::before {
	border-color: #5bc0de;
}

.radio-info input[type="radio"]:checked + label::after, .radio-info input[type="radio"]:checked + div + label::after {
	background-color: #5bc0de;
}

.radio-warning input[type="radio"] + label::after, .radio-warning input[type="radio"] + div + label::after {
	background-color: #f0ad4e;
}

.radio-warning input[type="radio"]:checked + label::before, .radio-warning input[type="radio"]:checked + div + label::before {
	border-color: #f0ad4e; 
}

.radio-warning input[type="radio"]:checked + label::after, .radio-warning input[type="radio"]:checked + div + label::after {
	background-color: #f0ad4e;
}

.radio-success input[type="radio"] + label::after, .radio-success input[type="radio"] + div + label::after {
	background-color: #5cb85c;
}

.radio-success input[type="radio"]:checked + label::before, .radio-success input[type="radio"]:checked + div + label::before {
	border-color: #5cb85c;
}

.radio-success input[type="radio"]:checked + label::after, .radio-success input[type="radio"]:checked + div + label::after {
	background-color: #5cb85c;
}

/** Componente Modal Dialog para Imagens **/
/* The Modal (background) */
.modaldialog_image {
	display: none; /* Hidden by default */
	position: fixed; /* Stay in place */
	z-index: 3; /* Sit on top */
	padding-top: 80px; /* Location of the box */
	left: 0;
	top: 0;
	width: 100%; /* Full width */
	height: 100%; /* Full height */
	overflow: auto; /* Enable scroll if needed */
	background-color: rgb(0,0,0); /* Fallback color */
	background-color: rgba(0,0,0,0.9); /* Black w/ opacity */
}

/* Caption of Modal Image */
.modaldialog_image .modaldialog_image_caption {
	margin: auto;
	display: block;
	max-width: 100%;
	text-align: center;
	/*color: #ccc;*/
	color: #fff;
	padding: 10px 0;
	height: 150px;
}

/* Add Animation */
.modaldialog_image .bloco, .modaldialog_image img, .modaldialog_image .modaldialog_image_caption {
	-webkit-animation-name: zoom;
	-webkit-animation-duration: 0.6s;
	animation-name: zoom;
	animation-duration: 0.6s;
}

@-webkit-keyframes zoom {
	from {-webkit-transform:scale(0)} 
	to {-webkit-transform:scale(1)}
}

@keyframes zoom {
	from {transform:scale(0)} 
	to {transform:scale(1)}
}

/* The Close Button */
.modaldialog_image .modaldialog_image_close {
	position: absolute;
	top: 15px;
	right: 35px;
	color: #fff;
	font-size: 40px;
	font-weight: bold;
	transition: 0.3s;
	opacity: 0.9;
	filter: alpha(opacity=90);
}

.modaldialog_image .modaldialog_image_close:hover, .modaldialog_image .modaldialog_image_close:focus {
	color: #ccc;
	text-decoration: none;
	cursor: pointer;
}

.modaldialog_image img {
	display: block;
	max-width: 100%;
	max-height: 56.25%;
	height: auto;
	margin: auto;
	align-content: center;
}

/** Estilos para os Links **/
a.seta_azul {
	 background: url('../imagens/tela/seta_azul.png') no-repeat right center;
	 padding-right: 12px;
	 vertical-align: middle;
}

/** Estilos para o span **/
span.campo.form-control {
    height: auto;
    min-height: 34px;
    padding-bottom: 12px;
}

span.campo_form {
    height: auto;
    min-height: 34px;
    padding-top: 7px;
    display: inline-block;
    max-width: 100%;
    width: 100%;
    position: relative;
}

/** Estilos para Tabelas e Telas de formulários **/
.linha_alt0 {
	background-color: transparent;
}

.linha_alt1 {
	background-color: #efefef;
}

.linha_alt0.linha_verde {
	background-color: #f5fff5;
}

.linha_alt1.linha_verde {
	background-color: #dfefdf;
}

.linha_alt0.linha_vermelha {
	background-color: #ffefef;
}

.linha_alt1.linha_vermelha {
	background-color: #ffd8d8;
}

.linha_alt0.linha_laranja, .linha_alt1.linha_laranja {
	background-color: #facfaf;
}

@media (min-width: 480px) {
	.texto-logo {
		color: #fff;
		font-size: 18px;
		font-weight: 600;
	}
}

@media (max-width: 767px) {
	.div-desktop {
		display: none;
	}
	
	.div-mobile {
		display: block;
	}
	
	.formulario_titulo {
		margin-bottom: 0px;
	}
	
	/* Componente button **/
	.div_botao_center, .div_botao_full, .div_botao_full_center, .div_botao_full_center_center {
		text-align: center;
	}
	
	.div_botao_center button, .div_botao_full button, .div_botao_full_center, .div_botao_full_center_center button {
		min-width: 100%;
        width: auto;
	}
	
	/** Componente table **/
	.table-responsive {
		margin-bottom: 0px;	
	}
	
	/** Componente ui-grid - Tabelas de Pesquisa **/
	.ui-jqgrid .ui-jqgrid-pager-left {
		width: 40px;
	}
	
	.ui-jqgrid .ui-jqgrid-pager-right {
		width: 200px;
	}
	
	/** Componente label **/
	.control-label {
		padding-top: 8px;
	}
}

@media (min-width: 768px) {
	.div-desktop {
		display: block;
	}
	
	.div-mobile {
		display: none;
	}
	
	.texto-logo {
		color: #fff;
		font-size: 20px;
		font-weight: 600;
	}
	
	/* Componente button **/
	.div_botao_center, .div_botao_full_center {
		text-align: center;
	}
	
	.div_botao_center button {
		min-width: 50%;
	}
	
	.div_botao_full {
		text-align: justify;
	}
	
	.div_botao_full button {
		min-width: 100%;
	}
    
    .div_botao_full_center button, .div_botao_full_center_center button {
		min-width: 50%;
	}
	
	.formulario_titulo {
		margin-bottom: 0px;
	}
	
	/** Componente ui-grid - Tabelas de Pesquisa **/
	.ui-jqgrid .ui-jqgrid-pager-left {
		width: 200px;
	}
	
	.ui-jqgrid .ui-jqgrid-pager-right {
		width: 200px;
	}
	
	/** Componente label **/
	.control-label {
		padding-top: 8px;	
	}
}

@media (min-width: 992px) {
	.texto-logo {
		font-size: 22px;
	}
    
    .div_botao_full_center button {
		min-width: 100%;
	}
}

@media (min-width: 1200px) {
	.texto-logo {
		font-size: 24px;
	}
	
	.div_botao_full_center_center button {
		min-width: 100%;
	}
	
	.div_botao_center button {
		min-width: 40%;
	}
}