/*******************************************************/
/* Componente */
/*******************************************************/
/* Definindo cor padrao das bordas dos elementos com focus */
input:focus,
select:focus,
textarea:focus,
.select2-selection.select2-selection--single:focus
{
	outline: #087480 auto 1px;
}

input:disabled
{
	background-color:#eee;
}

[type=search]
{
	outline-offset: 0px;
}

.componente
{
	position: relative;
	font-size: 14px;
	min-width: 1px; /*Corrigi problemas de layout do combo*/
}

.componente .campoTexto,
.componente .campoFile,
.componente .campoSenha
{
	width: 100%;
	border-radius: 3px;
	border: 1px solid rgb(160, 160, 160);
	height: 30px;
	padding-left: 5px;
	padding-right: 5px;
}

.componente .campoSenha
{
	text-security:disc;
	-webkit-text-security:disc;
	-mox-text-security:disc;
}

.componente .campoSenha.passoff
{
	text-security:unset;
	-webkit-text-security:unset;
	-mox-text-security:unset;
}

.componente.right .campoTexto,
.componente.right .campoFile
{
	text-align: right;
}

.componente .icone
{
	font-size: 14px;
	color: rgb(160, 160, 160);
	width: 28px;
	top: 8px;
	padding: 0;
	text-align: center;
}

.componente.icone-right > .icone
{
	position: absolute;	
	right: 0;
	border-left: 1px solid rgb(160, 160, 160);
}

.componente > .iconeLimpar
{
	position: absolute;
	top: 8px;
	color: rgb(160, 160, 160);
	right: 8px;
	cursor: pointer;
}

.componente.icone-right > .iconeLimpar
{
	position: absolute;
	color: rgb(160, 160, 160);
	right: 35px;
	cursor: pointer;
}

.componente input:disabled ~ .iconeLimpar
{
	opacity:0;
	pointer-events:none;
}

.componente input:read-only ~ .iconeLimpar
{
	opacity:0;
	pointer-events:none;
}

.componente input.campoFile:read-only ~ .iconeLimpar
{
	opacity:1.0;
	pointer-events:all;
}

.componente.icone-left > .icone
{
	position: absolute;
	left: 0;
	border-right: 1px solid rgb(160, 160, 160);
}

.componente.icone-right > .campoTexto,
.componente.icone-right > .campoSenha
{
	padding-right: 31px;
	padding-left: 5px;
}

.componente.icone-right > .campoFile
{
	padding-right: 50px;
	padding-left: 5px;
}

.componente.icone-left > .campoTexto,
.componente.icone-left > .campoFile,
.componente.icone-left > .campoSenha
{
	padding-left: 34px;
}

.componente .simboloMoeda.esconder ~ .campoTexto 
{
	padding-left: 5px;
}

.componente .campoTexto::placeholder,
.componente .campoTexto::placeholder,
.componente .campoSenha::placeholder
{
	color: rgb(216, 216, 216);	
}

.textUpper
{
	text-transform: uppercase;
}

button.atomicClick:focus,
button.atomicClick:hover,
button.atomicClick
{
	pointer-events: none;
	cursor: default;
	background-color: gray;
	border-color: gray;
	outline:none;
	box-shadow: none;
}

/*******************************************************/
/* Componente Composto */
/*******************************************************/
.componenteComposto
{
	display: flex;
	align-items: center;
}

.componenteComposto .componenteCompostoGlue
{ /* Usado no componente de Periodo */
	height: 30px;
	min-width: 28px;
	border: 1px solid rgb(160,160,160);
	display: flex;
	align-items: center;
	justify-content: center;
}

.componenteComposto.intervalo .componenteCompostoGlue
{ /* Usado no componente de Intervalo */
	height: 30px;
	min-width: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: fit-content;
	padding-left: 5px;
	padding-right: 5px;
	/* border: none;*/
}

.componenteComposto .componenteCompostoGlue.desabilitado
{
	background-color: rgb(235, 235, 228);
}

.componenteComposto .componenteCompostoGlue i
{ /* Usado no componente de Periodo */
	font-size: 16px;
	color: rgb(160, 160, 160);
}

.componenteComposto.intervalo .componenteCompostoGlue i
{
	margin-top: 3px;
}

.componenteComposto > .componente
{
	width: 100%;
}

.componenteComposto.error .componenteCompostoGlue i
{
	display: none;
}

.componenteCompostoGlue.dataRangeButton
{
	cursor:pointer;
}

.componenteCompostoGlue.dataRangeButton:hover
{
	background-color: rgb(245 245 245);
}

.componenteCompostoPopup
{
	position: absolute;
    top: 0;
    left: 0;
    padding: 7px;
    background-color: white;
    border: 1px solid rgba(0,0,0,0.15);
    border-radius: 0.25rem;
    box-shadow: 1px 1px 8px -3px black;
	display: flex;
    flex-direction: column;
    z-index: 500; /* 500 devido ao .customDialog do ctLista */
}

.componenteCompostoPopup:before
{
	content: '';
    display: inline-block;
    position: absolute;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #ccc;
    border-bottom-color: rgba(0,0,0,0.2);
    top: -7px;
    left: 7px;
}

.componenteCompostoPopup:after
{
	content: '';
    display: inline-block;
    position: absolute;
   	border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid white;
    top: -6px;
    left: 8px;
}

.componenteCompostoPopup > .linhaTiposHeader,
.componenteCompostoPopup > .linhaTipos
{
	display: flex;
    align-items: center;
    justify-content: space-between;
}

.componenteCompostoPopup > .linhaTipos:hover
{
	background-color: rgb(245, 245, 245);
}

.componenteCompostoPopup > .linhaTiposHeader
{
	border-bottom: 1px solid #999999;
    padding-bottom: 3px;
}

.componenteCompostoPopup > .linhaTiposHeader > .tituloPeriodo
{
	font-size: 14px;
}

.componenteCompostoPopup > .linhaTipos:not(:first-child)
{
	margin-top: 7px;
}

.componenteCompostoPopup > .linhaTipos > .lbPeriodoPreset
{
	border-radius: 3px;
	border: 1px solid #bdbdbd;
	padding: 3px 3px 3px 3px;
	font-size: 12px;
	cursor:pointer;
	text-align: center;
	background-color: white;
	flex: 1;
}

.componenteCompostoPopup > .linhaTipos > .lbPeriodoPreset:hover
{
	background-color: rgba(17, 159, 143, 0.2);
}

.componenteCompostoPopup > .linhaTipos > .lbPeriodoPreset:nth-child(2)
{
	margin-left: 10px;
    margin-right: 10px;
    font-weight: bold;
    font-size: 14px;
    width: 80px;
    flex: unset;
}

/*******************************************************/
/* Label - Componente */
/*******************************************************/
.label-componente
{
	display: flex;
	align-items: flex-start;
	flex-direction: column;
}

.label-componente > .componente:not(.switch):not(.checkbox)
{
	width: 100%;
}

.label-componente > label:not(.componente)
{
	margin-bottom: 2px;
}

.label-componente > label:not(.componente) > sup
{
	margin-right: 5px;
}

.label-componente.right
{
	display: flex;
	align-items: flex-end;
	flex-direction: column;
}

.label-componente.center
{
	display: flex;
	align-items: center;
	flex-direction: row;
}

.label-componente.center > label:not(.componente)
{
	margin-right: 10px;
	white-space: nowrap;
	margin-bottom: 0px
}

.label-componente.center-right
{
	display: flex;
	align-items: center;
	flex-direction: row-reverse;
	justify-content: flex-end;
}

.label-componente.center-right-right
{
	display: flex;
	align-items: center;
	flex-direction: row;
	justify-content: flex-end;
}

.label-componente.center-right-right > div.componente:not(.switch):not(.checkbox)
{
	width: unset;
	margin-left: 10px;
}

.label-componente.center-right > label:not(.componente)
{
	margin-left: 10px;
}

/*******************************************************/
/* Label - ComponenteComposto */
/*******************************************************/
.label-componenteComposto
{
	display: flex;
	align-items: flex-start;
	flex-direction: column;
}

.label-componenteComposto > .componenteComposto,
.label-componenteComposto > .componenteComposto > .componente
{
	width: 100%;
}

.label-componenteComposto.right
{
	display: flex;
	align-items: flex-end;
	flex-direction: column;
}

.label-componenteComposto.center
{
	display: flex;
	align-items: center;
	flex-direction: row;
}

.label-componenteComposto.center > label:not(.componenteComposto)
{
	margin-right: 10px;
}

.label-componenteComposto.center-right
{
	display: flex;
	align-items: center;
	flex-direction: row-reverse;
	justify-content: flex-end;
}

.label-componenteComposto.center-right > label:not(.componenteComponente)
{
	margin-left: 10px;
}

/*******************************************************/
/* Textarea */
/*******************************************************/
.componente .campoTextoArea
{
	width: 100%;
	border-radius: 3px;
	border: 1px solid rgb(160, 160, 160);
	padding-top: 5px;
	padding-bottom: 0;
	padding-left: 5px;
	padding-right: 5px;
	white-space: pre-wrap;
}
.componente .campoTextoArea.autoBreakLineOff
{
	white-space: pre;
}

/*******************************************************/
/* Date-Picker */
/*******************************************************/
.bootstrap-datetimepicker-widget table td,
.bootstrap-datetimepicker-widget table th
{
	padding: 0px;
}

.bootstrap-datetimepicker-widget table td.old,
.bootstrap-datetimepicker-widget table td.new
{
	color: rgb(140, 140, 140);
}

.bootstrap-datetimepicker-widget table td.today:before
{
	border-bottom-color: rgba(255, 0, 0, 0.7);
	border-width: 0 0 5px 5px;
	border-radius: 5px;
}

.bootstrap-datetimepicker-widget table td.disabled, 
.bootstrap-datetimepicker-widget table td.disabled:hover
{
	color: rgb(220, 220, 220);
	background-color: unset !important;
}

.bootstrap-datetimepicker-widget.dropdown-menu
{
	width: 15em;
	box-shadow: 1px 1px 8px -3px black;
}

.bootstrap-datetimepicker-widget table th
{
	font-weight: bold;
	font-size: 12px;
}

.bootstrap-datetimepicker-widget .picker-switch td span, 
.bootstrap-datetimepicker-widget .picker-switch td i
{
	line-height: 1.5;
	height: 1.5em;
}

.bootstrap-datetimepicker-widget table td span, 
.bootstrap-datetimepicker-widget table td i
{
	height: 35px;
	line-height: 35px;
}

.bootstrap-datetimepicker-widget .picker-switch.accordion-toggle table tr td i
{
	 background-color: rgb(248, 249, 250);
}

.bootstrap-datetimepicker-widget .picker-switch.accordion-toggle table tr td i:hover,
.bootstrap-datetimepicker-widget table td span:hover,
.bootstrap-datetimepicker-widget table td i:hover
{
	background-color: rgba(155, 241, 190, 0.3);
}

.bootstrap-datetimepicker-widget table td.active,
.bootstrap-datetimepicker-widget table td.active:hover,
.bootstrap-datetimepicker-widget table td span.active,
.bootstrap-datetimepicker-widget table td i.active
{
	color: rgb(11, 212, 0);
}

.bootstrap-datetimepicker-widget table td.active.today:before
{
	border: unset;
}

.bootstrap-datetimepicker-widget .timepicker-picker table i
{
	color: rgb(100, 100, 100);
}

.bootstrap-datetimepicker-widget table td.day:hover
{
	background: rgb(217, 232, 247);
}

/*******************************************************/
/* Componente Composto - Periodo */
/*******************************************************/
.componenteComposto .componente:first-child .campoTexto
{
	border-right: none;
	border-bottom-right-radius: 0px;
	border-top-right-radius: 0px;
}

.componenteComposto .componente:last-child .campoTexto
{
	border-left: none;
	border-bottom-left-radius: 0px;
	border-top-left-radius: 0px;
}

/*******************************************************/
/* Componente HTML Editor */
/*******************************************************/
.componente .note-editor
{
	z-index: 0;	
}

.autoAbaComponente.row.alturaMax > .col > .componente.editorHTML.alturaMax
{
	height: 50px; /*Apenas para corrigir o flex 1 1 auto*/
}

body.mobile .autoAbaComponente.row.alturaMax > .col > .componente.editorHTML.alturaMax
{
	height: unset;
}

.componente .note-editable i
{
	font-style: italic;
}

.componente .note-editor.note-frame.codeview .note-editing-area .note-codable, 
.componente .note-editor.note-airframe.codeview .note-editing-area .note-codable
{
	height: 100% !important;
}

.componente .note-editable.card-block,
.componente .note-editing-area,
.componente .note-editor.note-frame
{
	height: 100%;
}

.componente .note-editor.note-frame .note-editing-area
{
	overflow: auto;
}

.campoEditorHTML.error ~ .note-editor
{
	border-color: red;
}

.campoEditorHTML.error ~ label.error.errorIcone
{
	bottom: 16px;
	top: unset;
}

.componente .note-editor .modal-body  label
{
	min-height: 20px;
}

.componente .note-editor.note-frame .note-editing-area .note-editable
{
	font-family: "Open Sans";
	font-size: 16px;
}

.componente .note-editor.note-frame .note-editing-area .note-editable > p:not(:first-child)
{
	margin-top: 5px;
}

.componente .note-editor .note-toolbar button.note-btn.btn-sm
{
	padding: 0px 5px 3px 5px;
}

.componente .note-editor .note-toolbar button.note-btn.btn-sm i
{
	font-size: 12px;
}

/*******************************************************/
/* ColorPicker - Spectrum */
/*******************************************************/
.componente .sp-replacer.sp-light
{
	border-radius: 3px;
	width: 100%;
	border-color: rgb(160, 160, 160);
	background-color: white;
	height: 30px;
}

.componente .sp-replacer.sp-light .sp-dd
{
	display: none;
}

.componente .sp-replacer.sp-light .sp-preview
{
	width: 100%;
	height: 100%;
	border: none;
}

/* Dropdown */
.sp-container.sp-light
{
	border: 1px solid #a0a0a0;
	box-shadow: 1px 1px 8px -3px black;
	border-radius: 3px;
}

.sp-container.sp-light .sp-picker-container
{
	background-color: white;
}

.sp-container.sp-light .sp-button-container.sp-cf
{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 8px;
}

.sp-container.sp-light .sp-button-container.sp-cf .sp-choose
{
	background: white;
	border: 1px solid #a0a0a0;
	text-shadow: none;
	border-radius: 3px;
	padding: 5px;
	margin-left: auto;
	font-size: 14px;
	font-family: sans-serif;
}

.sp-container.sp-light .sp-button-container.sp-cf .sp-cancel
{
	background: white;
	border: 1px solid #a0a0a0;
	text-shadow: none;
	border-radius: 3px;
	padding: 5px;
	margin: 0px;
	font-size: 13px;
	line-height: 14px;
	color: black !important;
	font-family: sans-serif;
	text-decoration: none;
}

.sp-container.sp-light .sp-button-container.sp-cf .sp-cancel:hover,
.sp-container.sp-light .sp-button-container.sp-cf .sp-choose:hover
{
	background: rgb(243, 243, 243);
}

/*******************************************************/
/* Combobox - Select2 */
/*******************************************************/
.componente .select2-container--default
{
	min-width: 1px; /*corrige o calculo de largura 100%*/
}

.componente .select2-container--default .select2-selection--single
{
	height: 30px;
}

.componente .select2-container--default .select2-selection--single .select2-selection__rendered
{
	user-select: text;
	line-height: 28px;
	color: black;
}

.componente .select2-container--default .select2-selection--single .select2-selection__rendered .select2-selection__placeholder
{
	line-height: 2.1;
	color: rgb(218, 218, 226);
}

.componente .select2-container--default .select2-selection--single .select2-selection__arrow
{
	height: 30px;
}

.componente .select2-container--default .select2-selection--multiple
{
	min-height: 30px;
	border: solid rgb(160, 160, 160) 1px;
}

.componente .select2-container--default .select2-selection--multiple .select2-selection__clear
{
	margin-right: 0px;
	line-height: 0.8;
}

.componente .select2-container--default .select2-selection--multiple .select2-selection__choice__remove
{
	border-right: 1px solid rgba(0,0,0,0.1);
    padding-right: 3px;
	margin-right: 5px;
	margin-left: -3px;
	margin-top: -12px;
	font-size: 18px;
	vertical-align: -webkit-baseline-middle;
	font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
}

.componente .select2-container--default .select2-selection--multiple .select2-selection__rendered
{
	padding-bottom: 0px;
}

.componente .select2-container--default .select2-selection--multiple .select2-selection__choice
{
	margin: 3px 5px 0px 0px;
	background-color: rgba(8,116,128,0.1);
    border: 1px solid rgba(8,116,128,0.6);
	padding: 3px 7px 3px 6px;
	text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    max-width: calc(100% - 30px);
}

.anexosMultiplos .componente .select2-container--default .select2-selection--multiple .select2-selection__choice
{
	cursor: pointer;
}

.anexosMultiplos .componente .select2-container--default .select2-selection--multiple .select2-selection__choice:hover
{
	text-decoration: underline;
}

.componente .select2-container .select2-search--inline .select2-search__field
{
	margin-top: 0;
	padding-top: 5px;
	padding-left: 2px;
}

.componente .select2-container .select2-search--inline .select2-search__field::placeholder
{
	color: rgb(218, 218, 226);
}

.componente .select2-selection__clear
{
	user-select: none;
	line-height: 30px;
	font-size: 22px;
	color: rgb(160, 160, 160);
	font-family: sans-serif;
}

.componente .comboTagIcone
{
	position: absolute;
	top: 6px;
	right: 7px;
	color: rgb(152, 152, 152);
	font-size: 13px;
}

.select2 .select2-selection__clear ~ .select2-search .comboTagIcone
{
	display: none;
}
	

/* Dropdown */
.select2-container.select2-container--default .select2-results__option
{
	font-size: 12px;
	font-family: sans-serif;
}

.select2-container--default .select2-results__option--highlighted[aria-selected]
{
	background-color:rgba(8, 116, 128, 0.8);
}

.select2-container.select2-container--default .select2-search--dropdown .select2-search__field
{
	font-size: 14px;
	padding: 1px 1px 1px 4px;
	border-radius: 3px;
	min-width: 5px;
}

/*******************************************************/
/* Botoes - Bootstrap */
/*******************************************************/
.btn
{
	font-size: 14px;
	padding: .25rem .6rem;
	min-height: 31px;
}

.btn i
{
	font-size: 14px;
}

.btn i ~ span
{
	margin-left: 4px;
}

.btn.btn-light
{
	border: 1px solid rgba(160, 160, 160, 0.5);
}

.btn.btn-gold
{
	background-color: #a77d28;
    border-color: #a77d28;
    color:white;
}

.btn.btn-gold:hover
{
	background-color: #936f26;
    border-color: #a77d28;
}

.btn.btn-gold:focus 
{
    box-shadow: 0 0 0 0.2rem rgba(167, 125, 40, 0.5);
}

.btn-tabela
{
	padding: 0px 6px 0px 6px;
	min-height: 0px;
	font-size: 10px;
}

.btn-tabela i
{
	font-size: 10px;
}

.atomicButton span
{
	pointer-events: none;
}

/*******************************************************/
/* CheckBox - w3schools */
/*******************************************************/
label.componente.checkbox
{
	min-height: 22px;
	min-width: 22px;
}

label.componente.checkbox .campoCheck 
{
	position: absolute;
	opacity: 0;
	height: 0;
	width: 0;
}

.campoTabela label.componente.checkbox .campoCheck
{
	display:none;
}

label.componente.checkbox .checkmark
{
	position: absolute;
	top: 0;
	left: 0;
	height: 22px;
	width: 22px;
	background-color: white;
	cursor: pointer;
	border-radius: 3px;
	border: 1px solid rgb(160, 160, 160);
}

label.componente.checkbox:hover .campoCheck:not(:checked) ~ .checkmark
{
	background-color: rgb(245, 245, 245);
}

label.componente.checkbox .campoCheck:checked ~ .checkmark
{
	background-color: rgb(76, 187, 126);
}

label.componente.checkbox .checkmark:after 
{
	content: "";
	position: absolute;
	display: none;
}

label.componente.checkbox .campoCheck:checked ~ .checkmark:after 
{
	display: block;
}

label.componente.checkbox .checkmark:after 
{
	left: 5px;
	top: 1px;
	width: 9px;
	height: 13px;
	border: solid white;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

label.componente.checkbox .campoCheck:disabled ~ .checkmark,
label.componente.checkbox:hover .campoCheck:disabled ~ .checkmark
{
	background-color: rgb(210, 210, 210);
	cursor: default;
}

label.componente.checkbox.mini
{
	min-height: 15px;
	min-width: 15px;
}
label.componente.checkbox.mini > span
{
	height: 15px;
	width: 15px;
}
label.componente.checkbox.mini > span:after
{
	left: 4px;
	top: 1px;
	width: 5px;
	height: 9px;
}


/*******************************************************/
/* InputFile - Anexo */
/*******************************************************/
.componente .icone.fileSelecionado
{
	color: rgb(56, 183, 61);
}

/*******************************************************/
/* Switch - w3schools */
/*******************************************************/
label.componente.switch 
{
	position: relative;
	display: inline-block;
	min-width: 40px;
	width: 40px;
	min-height: 20px;
}

label.componente.switch .campoCheck 
{
	opacity: 0;
	width: 0;
	height: 0;
}

label.componente.switch .slider 
{
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: 34px;
	background-color: #ccc;
	-webkit-transition: .2s;
	transition: .2s;
}

label.componente.switch .slider:before 
{
	position: absolute;
	content: "";
	height: 16px;
	width: 16px;
	left: 2px;
	bottom: 2px;
	background-color: white;
	border-radius: 50%;
	-webkit-transition: .2s;
	transition: .2s;
}

label.componente.switch .campoCheck:checked + .slider 
{
	background-color: rgb(76, 187, 126);
}

label.componente.switch .campoCheck:checked + .slider:before 
{
	-webkit-transform: translateX(20px);
	-ms-transform: translateX(20px);
	transform: translateX(20px);
}

/*******************************************************/
/* TabPane */
/*******************************************************/
.tabs
{
	display: flex;
	flex-direction: column;
	width: 100%;
}

.tab 
{
	display: flex;
	min-height: auto; /*30px*/
	max-height: 60px;
}

.tab button.tablinks.disabled
{
	background-color: #f3f3f3;
	pointer-events: none;
	color: #717171;
}

.tab button.tablinks.disabled.active
{
	border-top: 1px solid;
}

.tab button 
{
	background-color: inherit;
	border: none;
	outline: none;
	cursor: pointer;
	transition: 0.2s;	
	border-bottom: 1px solid #ddd;
	border-right: 1px solid #bbb;
	border-top: 1px solid #c3c3c3;
	border-top-left-radius: 3px;
	border-top-right-radius: 3px;
	color: #000000;
	width: 100%;
	padding-bottom: 3px;
	text-overflow: ellipsis;
	white-space: pre-wrap;
	overflow: hidden;
}

.tab button:first-child
{
	border-left: 1px solid #bbb;
}

.tab button:hover 
{
	background-color: rgb(240, 240, 240);
}

.tab button.active 
{
	color: black;
	border-top: 3px solid rgb(13, 193, 93);
	border-bottom: 1px solid #fff;
	border-left: 1px solid rgb(200, 200, 200);
	border-right: 1px solid rgb(200, 200, 200);
}

.tabcontent
{
	display: none;
	animation: tabFadeEffect 0.4s;
	border-left: 1px solid rgb(200, 200, 200);
	border-right: 1px solid rgb(200, 200, 200);
	border-bottom: 1px solid rgb(200, 200, 200);
}

.tabcontent.disabled
{
	opacity:0;	
	pointer-events: none;
}

@keyframes tabFadeEffect 
{
	from	{opacity: 0;}
	to		{opacity: 1;}
}

/*******************************************************/
/* Dialog Legenda */
/*******************************************************/
.divLegendaItem
{
	display: flex;
	width: 100%;
	margin-bottom: 5px;
}

.divLegendaItem .legendaItemCor
{
	margin-right: 5px;
	text-shadow: 1px 1px 0px black;
}

.divLegendaItem .legendaItemLabel
{
	margin-right: 5px;
	font-weight: bold;
}

.divLegendaItem .legendaItemLabel ~ .legendaItemTexto
{
	line-break: anywhere;
}


i.botaoLegendaPainel
{
	position: absolute; 
	top: 2px; 
	right: 10px; 
	cursor: pointer; 
	font-size: 15px;
}

/*******************************************************/
/* Dialog Modal - Bootstrap */
/*******************************************************/
.modal .modal-dialog.modal-full
{
	width: 98%;
	max-width: unset;
}

.modal .modal-dialog.modal-85
{
	width: 85%;
	max-width: unset;
}

/*******************************************************/
/* ScrollBar - Bootstrap */
/*******************************************************/
.scrollBarPadrao::-webkit-scrollbar 
{
	width: 8px;
	height: 8px;
}

.scrollBarPadrao::-webkit-scrollbar-thumb 
{
	background: #666;
	border-radius: 3px;
}

.scrollBarPadrao::-webkit-scrollbar-track 
{
	background: #ddd;
	border-radius: 3px;
}

/*******************************************************/
/* Accordion - w3schools */
/*******************************************************/
.accordion .accordionlink
{
	background-color: white;
	color: #444;
	cursor: pointer;
	padding: 7px;
	width: 100%;
	text-align: left;
	border: none;
	outline: none;
	border: 1px solid #a0a0a0;
	font-size: 14px;
}

.accordion .accordionlink:hover
{
	background-color: #ccc;
}

.accordion .accordionlink.active 
{
	font-weight: bold;
	background-color: rgba(105, 220, 156, 0.7);
}

.accordion .accordionlink:first-child
{
	border-radius: 3px 3px 0px 0px;
}

.accordion .accordioncontent
{
	background-color: white;
	max-height: 0px;
	overflow: hidden;
	border: 1px solid rgb(220, 220, 220);
	border-top: none;
	transition: max-height 0.2s ease-out;
}

/*******************************************************/
/* Painel */
/*******************************************************/
.painel
{
	border: 1px solid rgb(160, 160, 160);
	border-top: 0px solid transparent;
	border-radius: 3px;
	font-family: sans-serif;
	display: flex;
	flex-direction: column;
}

.painel > .painel-content 
{
	position: relative;
	font-size: 14px;
	flex: 1 1 auto;
	height: 100%; /* Corrige a altura no safari */
	display: flex;
	flex-direction: column;
}

.painel > .painel-content > .painelDisabled
{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(128, 111, 8, 0.1);
	z-index:2;
}

.painel > header
{
	position: relative;
	padding-left: 10px;
	padding-right: 10px;
	background-color: rgb(8, 116, 128);
	color: white;
	font-size: 12px;
	font-weight: bold;
	box-shadow: 0px 1px 2px -1px rgba(0, 0, 0, 0.5);
	min-height: 20px;
	display: flex;
	align-items: center;
	border-top-left-radius: 3px;
	border-top-right-radius: 3px;
	flex: 0 1 auto;
}

/*******************************************************/
/* Tabela - dataTables */
/*******************************************************/
table.dataTable
{
	table-layout: fixed;
}
.tableFixedOff table.dataTable
{
	table-layout: unset;
}

.dt-container
{
	width: 100%;
	height: 100%;
	flex:1 1 auto;
	display: flex;
	flex-direction: column;
}

.dt-container .dt-scroll
{
	display: flex;
    flex-direction: column;
}

div.dt-container.dt-empty-footer .dt-scroll-body
{
	border-bottom: 1px solid rgb(112, 112, 112);
}

div.dt-container div.dt-layout-row
{
	margin:0;
}

tr.odd td,
tr.even td
{
	background-color: transparent;
}

body div.dts div.dt-scroll-body
{
	background: white; /* Retirando background zebrado padrao do datatable */
}

table.campoTabela.dataTable.hover tbody tr:hover, 
table.campoTabela.dataTable.display tbody tr:hover
{
	background-color: rgba(206, 227, 230, 0.8);
}

.dt-container table.dataTable th, 
.dt-container table.dataTable td
{
	box-sizing: content-box;
}

.dt-container > .dt-scroll
{
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	height: calc(100% - 300px); /* Nao e o tamanho real, com o flex: 1 1 auto, segura no 100% */
}

.dt-container table.dataTable thead>tr>th div.dt-column-header span.dt-column-title:empty
{
	display:block;
}

.autoAbaComponente.alturaMax > .ctTabelaCustom > .componente > .registrosLista > .dt-container > .dt-scroll
{
	height: 30px; /* Nao e o tamanho real, com o flex: 1 1 auto, segura no 100% */
}

.autoAbaComponente.alturaMax > .ctTabelaCustom,
.autoAbaComponente.alturaMax > .ctTabelaCustom > .componente
{
	height: 100%;
	flex: 1 1 auto;
}

.customDialogContent.formCampos > .row.alturaMax
{
	height: 100px;  /* Nao e o tamanho real, com o flex: 1 1 auto, segura no 100% foi incluido para resolver na tela de necessidade de mateiral as tabelas na dialog*/
}

.dt-container > .dataTables_divBottom
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex: 0 1 auto;
}

.dt-container .dt-scroll > .dt-scroll-head
{
	flex: 0 1 auto;
	overflow:unset !important;
}

.dt-container .dt-scroll > div.dt-scroll-body
{
	flex: 1 1 auto;
	height: 100% !important;
	padding-bottom: 3px;
	overflow-x: hidden !important;
}

.dt-container.horizontalScroll .dt-scroll div.dt-scroll-body
{
	overflow-x: auto !important;
}

.dt-container .dt-info
{
	float:left;
	flex: 0 1 auto;
	padding-top: 5px;
}

.dt-container .dt-length
{
	margin-right: auto;
}

.dt-container .dt-search
{
	float:right;
}

.dt-container table.dataTable > tbody > tr > th, 
.dt-container table.dataTable > tbody > tr > td
{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	padding: 5px 4px 5px 4px;
	font-size: 12px;
}

.dt-container.horizontalScroll .dt-scroll > .dt-scroll-head
{
	overflow: hidden !important;
}

.quebraLinhas .dt-container tbody > tr > td
{
	overflow: unset;
	text-overflow: unset;
	white-space: unset;
}

.dt-container tbody > tr > td.quebraLinhas
{
	overflow: unset;
	text-overflow: unset;
	white-space: unset;
}

.dt-container tbody > tr > td.quebraLinhasWord
{
	overflow: unset;
	text-overflow: unset;
	white-space: unset;
	word-break: break-all;
}

.dt-container.modoMini table.dataTable > tbody > tr > td
{
	padding: 1px 3px 1px 3px;
	font-size: 10px;
}

.dt-container.modoMini thead > tr > th
{
	font-size: 10px;
}

.dt-container.modoMicro tbody > tr > td
{
	padding: 3px 1px 3px 1px;
	font-size: 9px;
}

.dt-container.modoMicro thead > tr > th
{
	padding: 5px 6px 5px 1px;
	font-size: 9px;
}

/*micro*/
/* TODO tabela 
table.dataTable thead .sorting, 
table.dataTable thead .sorting_asc, 
table.dataTable thead .sorting_desc, 
table.dataTable thead .sorting_asc_disabled, 
table.dataTable thead .sorting_desc_disabled
{
	background-position: calc(100% + 5px) 80%;
}
*/

.dt-container.verticalGrid .dt-scroll div.dt-scroll-body > table > tbody > tr > td
{
	border-left: 1px solid #acacac;
}

.dt-container.noTextOverflow .dt-scroll div.dt-scroll-body > table > tbody > tr > td
{
	text-overflow: unset;
}

.dt-container.noTextOverflow .dt-scroll div.dt-scroll-body > table > tbody > tr > td.quebraPalavra
{
	line-break: anywhere;
}

.dt-container.noTextOverflow table > thead > tr > th
{
	text-overflow: unset;
}

.dt-container .dt-info .select-info .select-item
{
	display:none;
}

/* Layout */
.dt-container table.dataTable > thead > tr > th
{
	padding: 3px 3px 3px 3px;
	border-bottom: none;
	border-top: none;
	outline: none !important;
}

.dt-container table.dataTable > thead > tr > th.THheaderBusca
{
	padding: 4px 8px 4px 5px;
}

.dt-container table.dataTable > thead > tr > th.dt-orderable-asc,
.dt-container table.dataTable > thead > tr > th.dt-orderable-desc
{
	padding: 3px 5px 4px 5px;
}

.dt-container thead > tr > th .dt-column-title
{
	font-size: 12px;
	padding-top: 2px; /* para aparecer acentos e sobreescritos */
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	vertical-align: middle;
}

.dt-container.modoMini thead > tr > th .dt-column-title
{
	font-size: 10px;
}

.dt-container thead > tr > th
{
	vertical-align: bottom;
}

.dt-container thead > tr > th.celBotoes:not(.dt-orderable-none)
{
	vertical-align: bottom;
}

.dt-container thead > tr > th.celBotoes .dt-column-order
{
	margin-bottom: 1px;
}

.dt-container thead > tr > th.dt-orderable-none
{
	padding: 5px 5px 5px 5px;
}

.dt-container .dt-scroll-headInner, 
.dt-container:not(.scrollerMode) .dataTable thead tr th
{
	border-bottom: 1px solid rgb(112, 112, 112);
	border-top: 1px solid rgb(112, 112, 112);
}

.dt-container .dt-search
{
	margin-bottom: 5px;
	margin-top: 0;
}

.dt-container .dt-search input.dt-input
{
	border-radius: 3px;
	border: 1px solid rgb(160, 160, 160);
	height: 20px;
	padding-left: 5px;
	padding-right: 5px;
}

.dt-container .dt-search input.dt-input::placeholder 
{ 
	color: rgb(208, 208, 208); 
}

div.dt-container .dt-length select.dt-input
{
	border-radius: 3px;
	border: 1px solid rgb(160, 160, 160);
	height: 20px;
	padding-left: 5px;
	padding-right: 5px;
	background-color: white;
	padding-bottom: 2px;
	padding-top: 0px;
	font-size: 12px;
}

body div.dt-container .dt-paging .dt-paging-button
{
	padding: 2px;
    margin-top: 3px;
    outline: none;
    min-width: 20px;
}

body div.dt-container .dt-paging .dt-paging-button:hover
{
	border-color: #a3a3a3;
}

body div.dt-container .dt-paging .dt-paging-button.current,
body div.dt-container .dt-paging .dt-paging-button.current:hover
{
	background: #4c8591;
    border-color: #777777;
    color:white;
}

body div.dt-container .dt-paging .dt-paging-button:hover
{
	background: linear-gradient(to bottom, rgba(230, 230, 230, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%);
	color:black !important;
}

.dt-container div.dt-processing
{
    z-index: 1;
    height: 100%;
    top: 0;
    background: rgb(0, 0, 0, 0.6);
    padding: 0;
    margin: 0;
    left: 0;
    border-radius: 3px;
    width: 100%;
}

.dt-container div.dt-processing > div:first-child
{
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    width: 100%;
    font-size: 22px;
}

.dt-container div.dt-processing > div:last-child
{
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 1px;
    width: 80px;
}

.dt-container div.dt-processing > div:last-child > div
{
	background: rgb(37, 137, 157);
}

.dt-container .dt-info
{
	margin-left: 5px;
}

table.dataTable.stripe tbody > tr.odd.selected, 
table.dataTable.stripe tbody > tr.odd > .selected, 
table.dataTable.display tbody > tr.odd.selected, 
table.dataTable.display tbody > tr.odd > .selected 
{
	background-color: rgb(206, 227, 230) !important;
}

table.dataTable.stripe tbody > tr.even.selected, 
table.dataTable.stripe tbody > tr.even > .selected, 
table.dataTable.display tbody > tr.even.selected, 
table.dataTable.display tbody > tr.even > .selected 
{
	background-color: rgb(206, 227, 230) !important;
}
/* TODO tabela
table.dataTable.stripe tbody > tr.odd.selected td, 
table.dataTable.stripe tbody > tr.odd > .selected td, 
table.dataTable.display tbody > tr.odd.selected td, 
table.dataTable.display tbody > tr.odd > .selected td
{
	border-top: 1px solid rgba(8, 116, 128, 0.7);
	border-bottom: 1px solid rgba(8, 116, 128, 0.7);
	box-sizing: border-box;
}

table.dataTable.stripe tbody > tr.even.selected td, 
table.dataTable.stripe tbody > tr.even > .selected td,
table.dataTable.display tbody > tr.even.selected td,
table.dataTable.display tbody > tr.even > .selected td
{
	border-top: 1px solid rgba(8, 116, 128, 0.7);
	border-bottom: 1px solid rgba(8, 116, 128, 0.7);
	box-sizing: border-box;
}
*/
.dt-container table.dataTable.hover>tbody>tr.selected:hover>*, 
.dt-container table.dataTable.display>tbody>tr.selected:hover>*,
.dt-container table.dataTable > tbody > tr.selected > *
{
	border-top: 1px solid rgba(8, 116, 128, 0.7);
	border-bottom: 1px solid rgba(8, 116, 128, 0.7);
	background-color: rgb(206, 227, 230) !important;
	box-shadow:unset !important;
	color:black;
}

.dt-scroll,
.dt-layout-cell.dt-layout-full,
.dt-layout-row.dt-layout-table
{
	height: 100%;
	min-height: 1px; /* Desbuga layout */
}

/*Componentes tabela*/
/* TODO tabela
table.dataTable.campoTabela.orderUnset thead .sorting_asc,
table.dataTable.campoTabela.orderUnset thead .sorting_desc,
table.dataTable.campoTabela.orderUnset thead .sorting
{
	background-image: unset;
	pointer-events: none;
}
*/

.dt-container.verticalGrid .dt-scroll div.dt-scroll-body > table > tbody > tr > td.celBorderLeft,
table.dataTable.campoTabela .celBorderLeft
{
	border-left: 2px solid black;
}

table.campoTree .celCenter,
table.dataTable.campoTabela .celCenter
{
	text-align: center;
}
table.dataTable.campoTabela .celCenter > .componente.checkbox
{
	margin-left: auto;
	margin-right: auto;
	width: 15px;
}
table.campoTree .celBotoes
{
	text-align: center;
}

table.dataTable.campoTabela .celBotoes.celBotoesLeft
{
	text-align: left;
}

table.campoTree .tabelaBotao i,
table.dataTable.campoTabela .tabelaBotao i
{
	font-size: 16px;
	cursor:pointer;
}

.dt-container.modoMini table.campoTree .tabelaBotao i,
.dt-container.modoMini table.dataTable.campoTabela .tabelaBotao i
{
	font-size: 12px;
}

.dt-container.modoMicro table.campoTree .tabelaBotao i,
.dt-container.modoMicro table.dataTable.campoTabela .tabelaBotao i
{
	font-size: 11px;
}

table.campoTree .tabelaBotao i.ccBotaoDesabilitado,
table.dataTable.campoTabela .tabelaBotao i.ccBotaoDesabilitado
{
	cursor: default;
	color: rgb(210, 210, 210) !important;
}

table.campoTree .tabelaBotao i.ccBotaoRetiraClick,
table.dataTable.campoTabela .tabelaBotao i.ccBotaoRetiraClick
{
	cursor: default;
}

table.campoTree .tabelaBotao:not(:first-child),
table.dataTable.campoTabela .tabelaBotao:not(:first-child)
{
	margin-left: 3px;
}

table.campoTree .tabelaBotao i:not(:first-child),
table.dataTable.campoTabela .tabelaBotao i:not(:first-child)
{
	margin-left: 7px;
}

table.campoTree .celRight,
table.dataTable.campoTabela .celRight
{
	text-align: right;
}

table.campoTree .celLeft,
table.dataTable.campoTabela .celLeft
{
	text-align: left;
}

table.campoTree .celBold,
table.dataTable.campoTabela .celBold
{
	font-weight: bold;
}

table.campoTree .celVCenter,
table.dataTable.campoTabela .celVCenter
{
	vertical-align: middle;
}

table.dataTable.campoTabela tr td.dt-empty
{
	pointer-events: none;
	user-select: none;
}

table.dataTable.campoTabela > thead > tr > th.checkBoxSelecionadoCelula
{
	text-align: center;
}

table.dataTable.campoTabela > thead > tr > th.checkBoxSelecionadoCelula label.componente.checkbox
{
	min-height: 15px;
	min-width: 15px;
	margin-left: auto;
	margin-right: auto;
	width: 15px;
}

table.dataTable.campoTabela > thead > tr > th.checkBoxSelecionadoCelula label.componente.checkbox .checkmark
{
	height: 15px;
	width: 15px;
}

table.dataTable.campoTabela > thead > tr > th.checkBoxSelecionadoCelula label.componente.checkbox .checkmark:after
{
	left: 3px;
	width: 6px;
	height: 9px;
}

/* Header de busca em colunas */
.dt-container thead > tr > th.THheaderBusca
{
	white-space: nowrap;
	vertical-align: bottom;
}

.dt-container thead > tr > th.THheaderBusca .divTHheaderBuscaInput
{
	width: calc(100% - 2px);
}

.dt-container thead > tr > th.THheaderBusca .divTHheaderBuscaInput > .THheaderBuscaDivInput
{
	width: 100%;
	border-radius: 3px;
	border: 1px solid rgba(201, 201, 201, 0.7);
	outline: none;
	padding: 0px 3px 0px 3px;
	cursor: text;
	font-size: 12px;
	font-weight: normal;
	overflow: hidden;
	min-height: 14px;
}

.dt-container table.dataTable thead>tr>th.dt-orderable-asc span.dt-column-order
{
	height: 13px;
	margin-right: -11px;
}

.dt-container table.dataTable thead>tr>th div.dt-column-header
{
	flex-direction:row;
	gap: 0;
}

.dt-container table.dataTable thead>tr>th.THheaderBusca div.dt-column-header
{
	flex-wrap: wrap;
}

.dt-container div.dt-button-collection .dt-button-active:after
{
	display:none;
}

table.dataTable thead>tr>th div.dt-column-header .dt-column-title
{
	width: 100%;
}

.dt-container table.dataTable thead>tr>th.dt-orderable-asc span.dt-column-order:before, 
.dt-container table.dataTable thead>tr>th.dt-orderable-asc span.dt-column-order:after, 
.dt-container table.dataTable thead>tr>th.dt-orderable-desc span.dt-column-order:before, 
.dt-container table.dataTable thead>tr>th.dt-orderable-desc span.dt-column-order:after, 
.dt-container table.dataTable thead>tr>th.dt-ordering-asc span.dt-column-order:before, 
.dt-container table.dataTable thead>tr>th.dt-ordering-asc span.dt-column-order:after, 
.dt-container table.dataTable thead>tr>th.dt-ordering-desc span.dt-column-order:before, 
.dt-container table.dataTable thead>tr>th.dt-ordering-desc span.dt-column-order:after
{
	line-height: 7px;
    font-size: .6em;
}

.dt-container .dt-scroll div.dt-scroll-body > table > tbody > tr > td
{
	vertical-align: middle;
}

table.dataTable thead>tr>th.THheaderBusca div.dt-column-header .dt-column-title
{
	width: 100%;
}

/* Botoes de Impressao */
.dt-container div.dt-buttons
{
	float: right;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap:wrap;
	margin-bottom: 5px;
}

.dt-container div.dt-buttons .buttons-colvis,
.dt-container div.dt-buttons .dropdown-toggle
{
	border-radius: 3px;
	color: rgb(121, 121, 121);
	height: 20px;
	padding: 0px 5px 0px 5px;
	cursor: pointer;
	margin-left: 5px;
	border: 1px solid rgb(160, 160, 160);
	background-color: white;
	line-height: 1.1;
}

.dt-container div.dt-buttons .colvisTabela ~ .dt-button-collection
{
	left:unset !important;
	right:0;
	padding: 4px;
}

.dt-container button.dt-button.buttons-colbreakline:focus,
.dt-container button.dt-button.buttons-colbreakline:hover,
.dt-container button.dt-button.buttons-colbreakline:active,
.dt-container button.dt-button.buttons-colbreakline:active:hover,
.dt-container div.dt-buttons .buttons-colbreakline
{
	width: 25px;
	
	border-radius: 3px;
	color: rgb(121, 121, 121);
	height: 20px;
	padding: 0px 3px 0px 4px;
	cursor: pointer;
	margin-left: 6px;
	border: 1px solid rgb(160, 160, 160) !important;
	background-color: white !important;;
	line-height: 1.1;
}

.dt-container div.dt-buttons .buttons-colbreakline:active,
.dt-container div.dt-buttons .buttons-colbreakline:hover,
.dt-container div.dt-buttons .buttons-colbreakline:focus,
.dt-container div.dt-buttons .buttons-colbreakline:active:hover,
.dt-container div.dt-buttons .buttons-colbreakline
{
	width: 26px;
	text-align: center;
}

.dt-container div.dt-buttons .buttons-colbreakline.quebrarLinhas
{
	background-color: #ecffec !important;;
}

.dt-button-background
{
	opacity:0.1;
}

.dt-container div.dt-buttons .dropdown-toggle i
{
	margin-top: 1px;
}

.dt-container div.dt-buttons .dt-button.buttons-collection.buttons-colbreakline:not(.dt-button-multilinha):hover,
.dt-container div.dt-buttons .dropdown-toggle:hover
{
	background-color: rgb(240, 240, 240) !important;
}

.dt-container div.dt-buttons .dropdown-toggle:focus,
.dt-container div.dt-buttons>.dt-button:focus:not(.disabled), 
.dt-container div.dt-buttons>div.dt-button-split .dt-button:focus:not(.disabled)
{
	outline: 1px solid rgb(8 116 128);
}

.dt-container div.dt-buttons .dropdown-toggle:after
{
	display: none;
}

.dt-container div.dt-buttons .dropdown-menu
{
	padding: 0px;
	min-width: 100px;
}

.dt-container div.dt-buttons .dropdown-menu .tableControlMenu
{
	display: flex;
	flex-direction: column;
}

.dt-container button.dt-button
{
	background: unset;
	border: unset;
	font-size: 12px;
	font-family: "Open Sans";
	margin: 0px;
	text-align: left;
	padding: 5px;
}

.dt-container button.dt-button:focus,
.dt-container button.dt-button:active,
.dt-container button.dt-button:hover,
.dt-container button.dt-button:active:hover
{
	border: unset !important;
	background: unset !important;
	background-color: rgba(8, 116, 128, 0.2) !important;
	box-shadow: unset !important;
}

.dt-container button.dt-button span i
{
	font-size: 16px;
	color: rgb(160, 160, 160);
	padding-right:5px;
}

.dt-container button.dt-button.buttons-colvis:focus,
.dt-container button.dt-button.buttons-colvis:active,
.dt-container button.dt-button.buttons-colvis:hover,
.dt-container button.dt-button.buttons-colvis:active:hover
{
	background-color: rgb(240, 240, 240) !important;
	border-radius: 3px !important;
	border: 1px solid rgb(160, 160, 160) !important;
}

.dt-container div.dt-button-collection .dt-button.buttons-columnVisibility
{
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

.dt-container div.dt-button-collection .dt-button.buttons-columnVisibility,
.dt-container div.dt-button-collection .dt-button.buttons-columnVisibility.dt-button-active
{
	padding: 1px 0px 2px 2px;
	background: unset;
	box-shadow: unset;
	margin-bottom: 0px;
	border-radius: 3px;
	outline: none;
}

.dt-container div.dt-button-collection .dt-button.buttons-columnVisibility .iconeInvisivel
{
	color: rgb(233, 233, 233);
}

.dt-container div.dt-button-collection .dt-button.buttons-columnVisibility .iconeVisivel
{
	color: rgb(0, 110, 0);
}

.dt-container div.dt-button-collection .dt-button.buttons-columnVisibility.dt-button-active .iconeInvisivel,
.dt-container div.dt-button-collection .dt-button.buttons-columnVisibility .iconeVisivel
{
	display:none;
}

.dt-container div.dt-button-collection .dt-button.buttons-columnVisibility .iconeInvisivel,
.dt-container div.dt-button-collection .dt-button.buttons-columnVisibility.dt-button-active .iconeVisivel
{
	display:inline-block;
}

.dt-container div.dt-buttons .buttons-colbreakline.dt-button-multilinha
{
	padding-left: 3px;
}

.dt-container .tableControlesSuperiores
{
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex: 0 1 auto;
}

.dt-container .tableControlesSuperioresRight
{
	display: flex;
}

.dt-container .tableControlesSuperiores.tableControlesSuperioresFlexEnd
{
	flex: 0 1 auto;
	justify-content: flex-end;
}

.dt-container.quebrarLinhasHeader .dataTable thead > tr > th .dt-column-title,
.dt-container.quebrarLinhas .dataTable tbody td
{
	white-space: normal;
	text-overflow: unset;
	word-break: break-word;
}

table.quebrarLinhas.nowrap tbody td,
table.quebrarLinhas tbody td
{
	white-space: normal;
	text-overflow: unset;
}

/* Pagina de impressao html */
.dt-print-view
{
	background-color:white;
}

.dt-print-view > h1
{
	margin:0;
}

.dt-print-view > table thead tr
{
	background-color: rgba(250, 250, 250, 1);
}

.dt-print-view > table thead tr th
{
	padding: 5px 5px 5px 5px;
}

.dt-print-view > table tbody tr td
{
	padding: 4px 5px 4px 5px;
}

div.dt-button-info /* Dialog de apresentacao da copia de arquivos */
{
	border: 1px solid #111;
	width: unset;
	border-radius: 5px;
}

div.dt-button-info h2
{
	padding: 20px;
	border-radius: 5px 5px 0px 0px;
	font-size: 16px;
}

div.dt-button-info div
{
	padding: 10px;
}

.dt-button.buttons-colwrap-header.quebrarLinhas,
.dt-button.buttons-colwrap-line.quebrarLinhas
{
	background-color: rgb(206 237 241);
    font-weight: bold;
}

/* Rowreorder */
table.dt-rowReorder-float tbody > tr > td
{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 0px;
	padding: 5px 5px;
	font-size: 12px;
}

table.dataTable tr.dt-rowReorder-moving 
{
	outline:2px solid #555;
	outline-offset:-2px;
	background-color:rgb(118, 201, 214) !important;
}

table.dataTable td.reorder 
{
	text-align:center;
	cursor:move;
}


/* Layout para modo scroller */
.dt-container.scrollerMode .tableControlesSuperiores
{
	justify-content: flex-end;
}
div.dts.dt-container.scrollerMode
{
	display:flex !important;
}

.dt-container.scrollerMode .dataTables_processing
{
	width: 80%;
	margin-left: -40%;
}

.ctTabela.error .dt-scroll-head
{
	background-color: rgba(160, 0, 0, 0.1);
}

@media (max-width: 550px)
{
	.dt-container .dt-info
	{
		font-size: 10px;
		margin-top: -6px;
	}
}

/*******************************************************/
/* Notificacao */
/*******************************************************/
.notificaDialog
{
	position: relative;
	background-color: rgba(0,0,0,0.5);
	display: flex;
	width: 300px;
	flex-direction: column;
	max-height: 150px;
	margin-right: 3px;
	border-radius: 5px;
	box-shadow: 2px 2px 8px -5px black;
	color: white;
}

.notificaDialog.success
{
	background-color: rgb(223, 239, 216);
	border: 1px solid #bfdcb3;
	color: rgb(60, 118, 61);
}

.notificaDialog.success .notificaDialogProgress .progress-bar
{
	background-color: rgb(223, 239, 216);
}

.notificaDialog.danger
{
	background-color: rgb(241, 222, 222);
	border: 1px solid rgb(245, 186, 186);
	color: #a94442;
}

.notificaDialog.danger .notificaDialogProgress .progress-bar
{
	background-color: rgb(241, 222, 222);
}

.notificaDialog.info
{
	background-color: rgb(217, 236, 246);
	border: 1px solid rgb(175, 211, 230);
	color: #31708f;
}

.notificaDialog.info .notificaDialogProgress .progress-bar
{
	background-color: rgb(217, 236, 246);
}

.notificaDialog.warning
{
	background-color: rgb(252, 248, 227);
	border: 1px solid rgb(236, 215, 170);
	color: #8a6d3b;
}

.notificaDialog.warning .notificaDialogProgress .progress-bar
{
	background-color: rgb(252, 248, 227);
}

.notificaDialog .notificaDialogFechar
{
	position: absolute;
	top: 2px;
	right: 4px;
	color: rgba(88, 88, 88, 0.2);
	cursor: pointer;
}

.notificaDialog .notificaDialogMaisInformacoes
{
	position: absolute;
    top: 4px;
    right: 22px;
    color: rgba(88, 88, 88, 0.2);
    cursor: pointer;
    font-size: 12px;
}

.notificaDialog .notificaDialogProgress
{
	height: 4px;
	margin-bottom: 2px;
	margin-left: 5px;
	margin-right: 5px;
	box-shadow: unset;
	border-radius: 5px;
	background-color: rgba(183, 183, 183, 0.2);
}

.notificaDialog .notificaDialogProgress .progress-bar
{
	background-color: rgb(127, 127, 127);
}

.notificaDialog .notificaDialogContent
{
	display: flex;
	align-items: center;
	margin-right: 2px;
}

.notificaDialog .notificaDialogContent .notificaDialogScroll
{
	display: flex;
	align-items: center;
	overflow: auto;
	max-height: 100px;
	margin-top: 12px;
	margin-bottom: 5px;
	height: 100%;
	width: 100%;
	min-height: 40px;
}

.notificaDialog .notificaDialogContent label
{
	line-height: 1.3;
	font-size: 14px;
	word-break: break-word;
	margin: auto;
}

.notificaDialog .notificaDialogContent i
{
	margin-left: 10px;
	margin-right: 10px;
	font-size: 24px;
	margin-top: 5px;
	margin-bottom: 5px;
}

/*******************************************************/
/* Dialog de confirmacao */
/*******************************************************/
.loadingDialog
{
	position: fixed;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;	
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-color: rgba(0, 0, 0, 0.8);
	opacity: 0;
	z-index: -9999;
}

.loadingDialog.aberto
{
	z-index: 501;
	opacity: 1;
	display: flex;
	transition: opacity 0.2s linear;
}

.loadingDialog.loadingDialogAbsoluta
{
	position: absolute;
}

.loadingLabel
{
	margin-top: 20px;
	font-size: 26px;
	font-family: sans-serif;
	color: white;
	text-align: center;
}

.loadingDialog .progress
{
	width: 35%;
	height: 13px;
	margin-top: 20px;
	background-color: rgba(233, 236, 239, 0.6);
}

.loadingContent
{
	position: relative;
	height: 50px;
	width: 50px;
}

.loadingDialog .loadingIconeAcao
{
	display:none;
	color: rgb(255 255 255 / 0.2);
	position: absolute;
	top: 19px;
	right: 20px;
	font-size: 12px;
}

.loadingDialog.acao .loadingIconeAcao
{
	display:block;
}

.loadingCirculoExterno 
{
	position: absolute;
	top: 0;
	left: 0;
	width: 50px;
	height: 50px;
	background-color: rgba(0,0,0,0);
	border: 5px solid rgba(0,183,229,0.9);
	opacity: .9;
	border-right: 5px solid rgba(0,0,0,0);
	border-left: 5px solid rgba(0,0,0,0);
	border-radius: 50px;
	box-shadow: 0 0 35px #2187e7;
	-moz-animation: animacaoCirculoExterno 1s infinite ease-in-out;
	-webkit-animation: animacaoCirculoExterno 1s infinite linear;
}

.loadingCirculoInterno 
{
	position: absolute;
	top: 10px;
	left: 10px;
	width: 30px;
	height: 30px;
	background-color: rgba(0,0,0,0);
	border: 5px solid rgba(0,183,229,0.9);
	opacity: .9;
	border-left: 5px solid rgba(0,0,0,0);
	border-right: 5px solid rgba(0,0,0,0);
	border-radius: 50px;
	box-shadow: 0 0 15px #2187e7;
	-moz-animation: animacaoCirculoInterno 1s infinite linear;
	-webkit-animation: animacaoCirculoInterno 1s infinite linear;
}

@-webkit-keyframes animacaoCirculoExterno 
{
	0% 
	{
		-webkit-transform: rotate(160deg);
		opacity: 0;
		box-shadow: 0 0 1px #2187e7;
	}
	50%
	{
		-webkit-transform: rotate(145deg);
		opacity: 1;
	}
	100% 
	{
		-webkit-transform: rotate(-320deg);
		opacity: 0;
	}
}
@-webkit-keyframes animacaoCirculoInterno
{
	0%		{ -webkit-transform: rotate(0deg); }
	100%	{ -webkit-transform: rotate(360deg); }
}

@-moz-keyframes animacaoCirculoExterno
{
	0% 
	{
	-moz-transform: rotate(160deg);
	opacity: 0;
	box-shadow: 0 0 1px #2187e7;
}
50% 
{
	-moz-transform: rotate(145deg);
	opacity: 1;
}
100%
{
	-moz-transform: rotate(-320deg);
	opacity: 0;
}
}
@-moz-keyframes animacaoCirculoInterno 
{
	0%		{ -moz-transform: rotate(0deg); }
100%	{ -moz-transform: rotate(360deg); }
}

/*******************************************************/
/* Dialog de confirmacao */
/*******************************************************/
.impressaoDialog,
.confirmaDialog
{
	position: fixed;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;	
	background-color: rgba(0,0,0,0.5);
	display: flex;
	opacity: 0;
	align-items: center;
	justify-content: center;
	z-index: -9999;
}

.impressaoDialog.aberto,
.confirmaDialog.aberto
{
	z-index: 501;
	opacity: 1;
	display: flex;
	transition: opacity 0.2s linear;
}

.impressaoDialog .impressaoDialogPainel,
.confirmaDialog .confirmaDialogPainel
{
	display: flex;
	max-width: 60%;
	max-height: 80%;
	flex-direction: column;
	box-shadow: 1px 1px 4px 0px rgba(0,0,0,0.75);
	animation-duration: 0.5s;
	border-radius: 3px;
}

.impressaoDialog .impressaoDialogPainel
{
	min-width: 50%;
}

@media only screen and (max-width: 600px)
{
	.impressaoDialog .confirmaDialogPainel,
	.confirmaDialog .confirmaDialogPainel
	{
		max-width: 95%;
	}
}

.impressaoDialog .impressaoDialogPainel header,
.confirmaDialog .confirmaDialogPainel header
{
	background-color: #17a2b8;
	padding: 10px;
	border-radius: 5px 5px 0px 0px;
}

.impressaoDialog .impressaoDialogPainel header i
{
	color: white;
	margin-right: 8px;
}

.impressaoDialog .impressaoDialogPainel header span,
.confirmaDialog .confirmaDialogPainel header span
{
	color: white;
}

.impressaoDialog .impressaoDialogPainel .impressaoDialogPainelContent
{
	background-color: white;
	border-radius: 0px 0px 2px 2px;
	display: flex;
	padding: 15px;
	overflow: auto;
	flex-direction: column;
}

.impressaoDialog .impressaoDialogPainel .impressaoDialogPainelContent > .impressaoDialogLabel
{
	margin-bottom: 10px;
}

.impressaoDialog .impressaoDialogPainel .impressaoDialogPainelContent > .impressaoDialogLabelInfoAdicionais
{
	margin-bottom: 10px;
}

.impressaoDialog .impressaoDialogPainel .impressaoDialogPainelContent > .impressaoDialogSelect
{
	outline: none;
	min-height:150px;
}

.impressaoDialog .impressaoDialogPainel .impressaoDialogPainelContent > .impressaoDialogSelect option:checked,
.impressaoDialog .impressaoDialogPainel .impressaoDialogPainelContent > .impressaoDialogSelect:focus option:checked
{
	color:white;
	background: rgb(23, 162, 184) linear-gradient(0deg, rgb(23, 162, 184) 0%, rgb(23, 162, 184) 100%);
}

.confirmaDialog .confirmaDialogPainel .confirmaDialogPainelContent
{
	background-color: white;
	border-radius: 0px 0px 2px 2px;
	display: flex;
	padding: 15px;
	overflow: auto;
}

.confirmaDialog .confirmaDialogPainel .confirmaDialogPainelContent > i
{
	font-size: 36px;
	color: #17a2b8;
}

.confirmaDialog .confirmaDialogPainel .confirmaDialogPainelContent .confirmaDialogDescricao
{
	display: flex;
	flex-direction: column;
}

.confirmaDialog .confirmaDialogPainel .confirmaDialogPainelContent .confirmaDialogDescricao .confirmaDialogMensagem
{
	padding-left: 15px;
	white-space: pre-wrap;
	word-break: break-word;
}

.confirmaDialog .confirmaDialogPainel .confirmaDialogPainelContent .confirmaDialogDescricao .confirmaDialogItem
{
	padding-left: 16px;
	padding-top: 4px;
	font-weight: bold;
}

.impressaoDialog .impressaoDialogPainel footer,
.confirmaDialog .confirmaDialogPainel footer
{
	padding: 10px 15px 10px 15px;
	background-color: white;
	border-top: 1px solid #dadada;
	border-radius: 0px 0px 2px 2px;
}

.impressaoDialog .impressaoDialogPainel footer .float-right,
.confirmaDialog .confirmaDialogPainel footer .float-right
{
	margin-left: 10px;
}

.confirmaDialog .confirmaDialogPainelDuploCheck
{
	display: flex;
	flex-direction: column;
	margin-top: -6px;
}

.confirmaDialog .confirmaDialogPainelDuploCheck span
{
	font-family: sans-serif;
	font-size: 12px;
}

.confirmaDialog .confirmaDialogPainelDuploCheck span b
{
	color: red;
}

.confirmaDialog .confirmaDialogPainelDuploCheck input
{
	font-size: 14px;
	border: 1px solid rgba(160, 160, 160, 1);
	border-radius: 3px;
	padding-left: 5px;
}

.confirmaDialog.confirmaDialogErro .confirmaDialogPainelContent > i
{
	color: #cf0000;
}
.confirmaDialog.confirmaDialogWarn .confirmaDialogPainelContent > i
{
	color: #c3a200;
}
.confirmaDialog.confirmaDialogInfo .confirmaDialogPainelContent > i
{
	color: #17a2b8;
}
.confirmaDialog.confirmaDialogSucesso .confirmaDialogPainelContent > i
{
	color: #15c300;
}

.confirmaDialog.confirmaDialogErroMaisInformacoes .confirmaDialogPainel 
{
	max-width: 90%;
}
.confirmaDialog.confirmaDialogErroMaisInformacoes .confirmaDialogMensagem 
{
	font-size:12px;
}

.confirmaDialog .confirmaDialogIconeStackTrace
{
	position: absolute;
    top: 10px;
    right: 10px;
    color: rgb(0 0 0 / 40%);
    cursor: pointer;
}

/*******************************************************/
/* Dialog Custom */
/*******************************************************/
.customDialog
{
	position: fixed;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;	
	background-color: rgba(0,0,0,0.5);
	display: none;
	opacity: 0;
	align-items: center;
	justify-content: center;
	z-index: -9999;
}
.customDialog.posicaoAbsoluta
{
	position: absolute;
}

.customDialog.aberto
{
	z-index: 500;
	opacity: 1;
	display: flex;
	transition: opacity 0.2s linear;
}

.customDialog .customDialogPainel
{
	display: flex;
	max-width: 60%;
	max-height: 95%;
	flex-direction: column;
	box-shadow: 1px 1px 4px 0px rgba(0,0,0,0.75);
	animation-duration: 0.5s;
	border-radius: 3px;
}

.customDialog.drag .customDialogPainel .customDialogPainelHeader
{
	filter: brightness(1.3);
}

.customDialog.flutuante
{
	pointer-events: none;
	background-color: unset;
}

.customDialog.flutuante > .customDialogPainel
{
	pointer-events: auto;
}

@media only screen and (max-width: 600px)
{
	.customDialog .customDialogPainel
	{
		max-width: 95%;
		max-height: 95%;
	}
	
	.customDialog .customDialogPainel .customDialogContent
	{
		flex: unset;
	}
}

.customDialog .customDialogPainel header
{
	background-color: rgb(19, 136, 154);
	padding: 5px 10px 5px 10px;
	border-radius: 3px 3px 0px 0px;
	flex: 0 1 auto;
}

.customDialog .customDialogPainel header span
{
	color: white;
}

.customDialog .customDialogPainel .customDialogContent
{
	background-color: white;
	overflow: auto;
	padding: 10px 10px 10px 10px;
	flex: 1 1 auto;
}

.customDialog .customDialogPainel footer
{
	padding: 10px 15px 10px 15px;
	background-color: white;
	border-top: 1px solid #dadada;
	border-radius: 0px 0px 2px 2px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex: 0 1 auto;
}

/***********************************/
/* JQUERY VALIDATE */
/**********************************/
.componente label.error 
{
	position: absolute;
	top: 0;
	right: 0;
	font-size: 11px;
	font-family: sans-serif;
	border: none;
	margin-top: -11px;
	margin-right: 3px;
}

.componente label.error,
.ctTabela .error,
.ctArvore .error
{
	color: rgb(228, 0, 0);
}

.componente label.error.errorIcone
{
	top: 21px;
	right: 2px;
	z-index: 1;
	cursor: help;
}

.label-componenteComposto > label.error.errorIcone
{
	position: absolute;
	top: 22px;
	right: calc(50% - 8px);
	z-index: 1;
	cursor: help;
	color: rgb(228, 0, 0);
}

.componenteComposto.error > .componente input,
.componenteComposto.error > .componenteCompostoGlue 
{
	border: 1px solid #c10000;
}

.componente .error
{
	border: 1px solid #c10000;
}

.componente .error:focus
{
	border-color: #ea0000;
	box-shadow: 0 0 0 0.14rem rgba(255, 0, 0, 0.25);
	outline: 0;
}

.componente .select2-hidden-accessible.error ~ .select2.select2-container.select2-container--default .select2-selection.select2-selection--single,
.componente .select2-hidden-accessible.error ~ .select2-container--default .select2-selection--multiple
{
	border: 1px solid #c10000;
}

.componente .select2-hidden-accessible.error ~ .select2.select2-container.select2-container--default .select2-selection.select2-selection--single:focus
{
	border-color: #ea0000;
	box-shadow: 0 0 0 0.17rem rgba(255, 0, 0, 0.25);
	outline: 0;
}

.componente input.campoTexto.error.errorResumido
{
	padding-right: 20px;
}

.componente input.error ~ .sp-replacer.sp-light
{
	border: 1px solid #c10000;
}

.painel.ctLista.error
{
	border: 1px solid rgb(193, 0, 0);
}

.painel.ctLista.error > header
{
	background-color: rgba(200, 41, 41, 0.8);
}

.painel.ctLista.error > label.error
{
	position: absolute;
	top: 4px;
	right: 10px;
	color: rgb(140, 0, 0);
}

.painel.ctLista.error.painelOff > label.error
{
	top: -4px;
}

/*
.tooltip
{
	pointer-events: none;
}
*/

.tooltip.tooltipDeltaValidator
{
	opacity: 1.0;
}
.tooltip.tooltipDeltaValidator .tooltip-inner
{
	background-color: rgb(161, 31, 31);
	white-space:pre-wrap;
	max-width: 300px;
	text-align: left;
	padding: 5px 10px 7px 10px;
}
.tooltip.tooltipDeltaValidator.bs-tooltip-top .arrow:before
{
	border-top-color: rgb(161, 31, 31);
}
.tooltip.tooltipDeltaValidator.bs-tooltip-left .arrow:before
{
	border-left-color: rgb(161, 31, 31);
}
.tooltip.tooltipDeltaValidator.bs-tooltip-bottom .arrow:before
{
	border-bottom-color: rgb(161, 31, 31);
}
.tooltip.tooltipDeltaValidator.bs-tooltip-right .arrow:before
{
	border-right-color: rgb(161, 31, 31);
}

/* Esconde os elementos dos componentes para nao sobrepor com o icone de validacao */
/* .error.errorIcone ~ .campoFileIcone */
.error.errorIcone + .select2.select2-container .select2-selection__arrow,
.error.errorIcone + i.icone.far.fa-calendar,
.error.errorIcone + i.icone.far.fa-clock
{
	display: none;
}

.autoAbaComponente.error .comboTagIcone /*Combo multiplo com erro*/
{
	display:none
}

.componente .campoFile + .error.errorIcone
{
	right: 24px;
}

.componente .campoFile.hasFile + .error.errorIcone
{
	right: 2px;
	border-left: 1px solid #ababab;
	padding-left: 4px;
}

.autoAbaComponente.error .fileSelecionado
{
	display:none;
}

.campoFile + .error.errorIcone ~ .campoFileIcone
{
	color: rgb(220, 80, 80);
}

.ctCodigoBarra .error.errorIcone
{
	display: none;
}
.ctCodigoBarra .error.errorIcone ~ .icone
{
	color: rgb(220, 80, 80);
}

.ctArvoreGrid.error table.campoTree thead tr
{
	background-color: rgba(160, 0, 0, 0.1);
}

.ctTabela.error .errorIcone
{
	position: absolute;
	top: 6px;
	right: 5px;
	z-index: 1;
}

.ctArvoreSimples.error label.error.errorIcone
{
	position: absolute;
	top: 15px;
	right: 2px;
	z-index: 1;
	font-size: 14px;
}

.ctArvoreSimples.error
{
	border: 1px solid rgba(255, 0, 0, 0.7);
	border-radius: 4px;
}

.ctArvoreGrid.error label.error.errorIcone
{
	position: absolute;
	top: 16px;
	right: 2px;
	z-index: 1;
	font-size: 14px;
}



/*******************************************************/
/* AutoJasper Seletor */
/*******************************************************/
.componenteAutoJasperSeletor
{
	display: flex;
	width: 100%;
}

.componenteAutoJasperSeletor .componente
{
	width: calc(100% - 30px);
}

.componenteAutoJasperSeletor .componente .select2-selection.select2-selection--single
{
	border-top-right-radius: 0px;
	border-bottom-right-radius: 0px;
	border-right: 0px;
}

.componenteAutoJasperSeletorEditor .autoJasperSeletorSwitch,
.componenteAutoJasperSeletor .autoJasperSeletorSwitch
{
	border: 1px solid rgb(160, 160, 160);
	position: relative;
	display: inline-block;
	width: 30px;
	min-width: 30px;
	height: 30px;
	border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
}

.componenteAutoJasperSeletorEditor .autoJasperSeletorSwitch
{
	width: 25px;
	min-width: 25px;
	border-right: none;
	border-top-right-radius: unset;
	border-bottom-right-radius: unset;
}

.componenteAutoJasperSeletorEditor .autoJasperSeletorSwitch .campoCheck,
.componenteAutoJasperSeletor .autoJasperSeletorSwitch .campoCheck 
{
	opacity: 0;
	width: 0;
	height: 0;
}

.componenteAutoJasperSeletorEditor .autoJasperSeletorSwitch .slider,
.componenteAutoJasperSeletor .autoJasperSeletorSwitch .slider 
{
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	-webkit-transition: .2s;
	transition: .2s;
}

.componenteAutoJasperSeletorEditor .autoJasperSeletorSwitch .slider:before,
.componenteAutoJasperSeletor .autoJasperSeletorSwitch .slider:before 
{
	position: absolute;
	content: "";
	height: 10px;
	width: 100%;
	left: 0px;
	top: 0px;
	background-color: rgb(212, 212, 212);
	-webkit-transition: .2s;
	transition: .2s;
	border: 3px solid rgb(160, 160, 160);
	z-index: 1;
}

.componenteAutoJasperSeletorEditor .autoJasperSeletorSwitch .campoCheck:checked ~ .xls,
.componenteAutoJasperSeletor .autoJasperSeletorSwitch .campoCheck:checked ~ .xls
{
	opacity: 1.0;
}

.componenteAutoJasperSeletorEditor .autoJasperSeletorSwitch .campoCheck:checked ~ .pdf,
.componenteAutoJasperSeletor .autoJasperSeletorSwitch .campoCheck:checked ~ .pdf
{
	opacity: 0.0;
}

.componenteAutoJasperSeletorEditor .autoJasperSeletorSwitch .pdf,
.componenteAutoJasperSeletor .autoJasperSeletorSwitch .pdf
{
	font-size: 11px;
	bottom: 4px;
	position: absolute;
	width: 100%;
	text-align: center;
	z-index: 0;
	user-select: none;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
	left: 0px;
	pointer-events:none;
}

.componenteAutoJasperSeletorEditor .autoJasperSeletorSwitch .xls,
.componenteAutoJasperSeletor .autoJasperSeletorSwitch .xls
{
	opacity: 0.0;
	font-size: 11px;
	top: 3px;
	position: absolute;
	width: 100%;
	text-align: center;
	z-index: 0;
	user-select: none;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
	left: 0px;
	pointer-events:none;
}

.componenteAutoJasperSeletorEditor .autoJasperSeletorSwitch .campoCheck:checked + .slider:before,
.componenteAutoJasperSeletor .autoJasperSeletorSwitch .campoCheck:checked + .slider:before
{
	-webkit-transform: translateY(18px);
	-ms-transform: translateY(18px);
	transform: translateY(18px);
}

/*******************************************************/
/* AutoJasper Seletor Editor */
/*******************************************************/
.componenteAutoJasperSeletorEditor
{
	display: flex;
	width: 100%;
}

.componenteAutoJasperSeletorEditor .componente
{
	width: calc(100% - 46px);
}

.componenteAutoJasperSeletorEditor .componente .select2-selection.select2-selection--single
{
	border-top-right-radius: 0px;
	border-bottom-right-radius: 0px;
	border-right: 0px;
}

.componenteAutoJasperSeletorEditor .autoJasperSeletorEditorConfigurar
{
	border: 1px solid rgb(160, 160, 160);
	position: relative;
	display: flex;
	width: 30px;
	min-width: 30px;
	height: 30px;
	border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	cursor: pointer;
	color: rgb(160, 160, 160);
}

.componenteAutoJasperSeletorEditor .autoJasperSeletorEditorSalvarFiltros
{
	border-left: 1px solid rgb(160, 160, 160);
    border-top: 1px solid rgb(160, 160, 160);
    border-bottom: 1px solid rgb(160, 160, 160);
	position: relative;
	display: flex;
	width: 30px;
	min-width: 30px;
	height: 30px;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	cursor: pointer;
	color: rgb(160, 160, 160);
}

.componenteAutoJasperSeletorEditor .autoJasperSeletorEditorSalvarFiltros:hover,
.componenteAutoJasperSeletorEditor .autoJasperSeletorEditorConfigurar:hover
{
	background-color: rgb(245, 245, 245);
}

.componenteAutoJasperSeletorEditor .autoJasperSeletorEditorSalvarFiltros.comFiltros
{
	background-color: #b8fade;
    color: #a0a0a0;
}

/* AutoJasper IFrame */
.divIframePerfilAutoJasper
{
	position: fixed;
	top: 0;
	height: 100%;
	width: 100%;
	left: 0;
	z-index: 501;
	padding: 8px;
	background-color: rgba(0, 0, 0, 0.3);
}

.divIframePerfilAutoJasper > iframe
{
	border-radius:3px;
	box-shadow: 0px 0px 3px black;
}

/*******************************************************/
/* Arvore */
/*******************************************************/
ul.fancytree-container,
ul.fancytree-container:focus,
table.campoTree:focus
{
	border: none;
	outline: none;
}

.campoTree
{
	overflow: auto;
	width: calc(100% - 1px); /* Dependendo da largura aparece um scroll de 1px usado para corrigir */
}

.componenteArvore.alturaMax .campoTree
{
	flex: 1 1 auto;
	height: 200px; /* para o flex: 1 1 auto */
}

.fancytree-plain.fancytree-container.fancytree-treefocus span.fancytree-focused span.fancytree-title
{
	border-color: transparent;
}

table.fancytree-ext-table tbody tr.fancytree-focused span.fancytree-title
{
	outline: none;
}

table.campoTree.fancytree-ext-table tbody tr.fancytree-active 
{
	background-color: rgba(8, 116, 128, 0.2);
	border: 2px solid rgba(8, 116, 128, 0.7);
	border-left: 3px solid rgba(8, 116, 128, 0.7);
}

table.campoTree thead tr
{
	background-color: white;
}

table.campoTree thead tr th
{
	padding:5px;
	font-weight: bold;
	font-size: 12px;
	
	box-shadow: inset 0px 1px 0px 0px rgb(112, 112, 112), inset 0px -1px 0px 0px rgb(112, 112, 112);
	/* border-bottom: 1px solid rgb(112, 112, 112);
	border-top: 1px solid rgb(112, 112, 112); Usamos o box-shadow como bordas para que o sticky funcione*/
	background-color: white;
	z-index: 1;
	position: sticky;
	top: 0;
}

table.campoTree tbody tr td
{
	padding:0px 5px 0px 5px;
	vertical-align: middle;
}

.campoTreeControls
{
	display: flex;
	align-items: center;
	flex: 0 1 auto;
	min-height:21px;
}

.componenteArvore
{
	width: 100%;
}

.componenteArvore .divTreeContainer
{
	width: 100%;
	margin-top:5px;
	position: relative;
	overflow:auto;
}

.componenteArvore .btTreeSelectColumns > i
{
	font-size: 12px;
}

.componenteArvore .dropdown-menu .dropdown-menu-itens
{
	display: flex;
	flex-direction: column;
}

.componenteArvore .dropdown-menu
{
	padding-left: 10px;
	padding-right: 10px;
}

.componenteArvore .treeColumnHideItem
{
	display: flex;
	cursor: pointer;
	font-size: 12px;
	align-items: center;
	margin-bottom: 2px;
}

.componenteArvore .treeColumnHideItem:hover
{
	background-color:rgba(8, 116, 128, 0.2);
}

.componenteArvore .showColumn
{
	display:block;
}

.componenteArvore .iconeVisivel
{
	color: rgb(0, 110, 0);
	margin-right: 5px;
	font-size: 16px;
}

.componenteArvore .iconeInvisivel
{
	color: rgb(233, 233, 233);
	margin-right: 5px;
	font-size: 16px;
}

.componenteArvore .dropdown-toggle::after
{
	display:none;
}

.componenteArvore.error.errorResumido + .error.errorIcone
{
	position: absolute;
	right: 10px;
	top: 42px;
	color: red;
}

.componenteArvore.error
{
	border: 1px solid red;
    border-radius: 3px;
}
.campoTreeControls input
{
	width: 100%;
	border-radius: 3px;
	border: 1px solid rgb(160, 160, 160);
	height: 20px;
	padding-left: 5px;
	padding-right: 5px;
}

.campoTreeControls input::placeholder 
{ 
	color: rgb(208, 208, 208); 
}

.campoTreeControls button
{
	margin-left: 5px;
	padding: 0px 0px 0px 0px;
	min-height: 20px;
	height: 20px;
	width: 30px;
}

.campoTreeControls button.btTreeExpandColapseAll.colapsed i.colapseIcon,
.campoTreeControls button.btTreeExpandColapseAll i.expandIcon
{
	display:none;
}

.campoTreeControls button.btTreeExpandColapseAll.colapsed i.expandIcon,
.campoTreeControls button.btTreeExpandColapseAll i.colapseIcon
{
	display:block;
}

.campoTreeControls button.btTreeSelectAll.selectAll i.checkAllIcon,
.campoTreeControls button.btTreeSelectAll i.checkNoneIcon
{
	display:none;
}

.campoTreeControls button.btTreeSelectAll.selectAll i.checkNoneIcon,
.campoTreeControls button.btTreeSelectAll i.checkAllIcon
{
	display:block;
}

.campoTreeControls button.btTreeSelectMode.multiHier i.selectModeSingle,
.campoTreeControls button.btTreeSelectMode i.selectModeMultiHier
{
	display:none;
}

.campoTreeControls button.btTreeSelectMode.multiHier i.selectModeMultiHier,
.campoTreeControls button.btTreeSelectMode i.selectModeSingle
{
	display:block;
}

.campoTreeControls button.btTreeSearchHidePais.on,
.campoTreeControls button.btTreeAutoCollapse.on
{
	background-color: #b8f1b8
}

.componenteArvore.esconderPaisPesquisa .campoTree .fancytree-submatch
{
	display:none;
}

.componenteArvore
{
	display: flex;
	flex-direction: column;
	height: 100%;
}

.componente.componenteArvore.mini table.campoTree tbody tr td
{
	font-size:10px;
}

.componente.componenteArvore.mini table.campoTree thead tr th
{
	font-size:10px;
}
