/* -------------------------------------------------------------------------- 

  2023 - Font-face

-------------------------------------------------------------------------- */

button, input, optgroup, select, textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}
input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active  {
    -webkit-box-shadow: 0 0 0 30px rgba(255, 255, 255, 1) inset !important;
}
input:-webkit-autofill {
    -webkit-text-fill-color: rgba(70, 80, 90, 1) !important;
}
svg {
    transition: all .2s ease-in;
}
figcaption {
    visibility: hidden;
    display: none;
}




/* --------------------------------------------------------------------------

    2023 - HEADER > PRODUCT > SEARCH
    
-------------------------------------------------------------------------- */

.ui-inputgroup {
    position: relative;
}
    .ui-inputgroup .ui-autocomplete {
        width: 100%;
    }
    .ui-inputgroup .ui-autocomplete-input,
    .ui-inputgroup>.ui-autocomplete:not(:last-child)>.ui-autocomplete-input {
        border: 1px solid rgba(70, 80, 90, .2);
        border-radius: .3rem ;
        padding: .375rem 2.8rem .375rem .85rem;
        width: 100%;
    }
    .ui-inputgroup .ui-button {
        margin: 1px;
        padding: 0;
        border-radius: .3rem;
        z-index: 1;
        position: absolute !important;
        background-color: transparent;
        right: 0;
        height: calc(100% - 1px);
        width: 2.4rem;
        box-shadow: none;
    }
.ui-inputgroup.icon-left button {
    left: 0;
}
    .ui-inputgroup.icon-left input {
        padding-right: .85rem !important;
        padding-left: 2.25rem !important;
    }
        .ui-inputgroup .ui-button span {
            top: 3px;
            margin: 0;
        }
        .ui-inputgroup .ui-button-text {
            display: none;
        }

.ui-autocomplete-panel.ui-widget-content.ui-input-overlay {
    background-color: rgba(255, 255, 255, 1);
    border: 1px solid rgba(0, 0, 0, .175);
    border-radius: .2rem;
    box-shadow: 0 0 0 1px rgba(0,0,0,.01), 0 0 0 5px rgba(0,0,0,.03) !important;
    z-index: 99999 !important;
}

    .ui-autocomplete-panel table th, .ui-autocomplete-panel table td {
        border: none !important;
        margin: 0 !important;
        padding: .7rem .5rem .7rem 0 !important;
        background-color: transparent;
        color: rgb(33, 37, 41);
        line-height: .95rem; 
    }

    .ui-autocomplete-panel table td.icon {
        width: 1px;
        padding-top: .7rem !important;
        padding-left: .6rem !important;
    }
        .ui-autocomplete-panel .ui-autocomplete-list {
            padding: 0;
            border: 0 none;
            background-color: transparent;
        }
        .ui-autocomplete-panel .ui-autocomplete-list-item {
            margin: 0;
            padding: .7rem .85rem;
            background-color: transparent;
        }
            .ui-autocomplete-panel .ui-autocomplete-list-item::before {
                font-family: 'Font Awesome 5 Pro';
                content: "\f002";
                color: rgba(70, 80, 90, .2);
                margin-right: .85rem;
            }
            .ui-autocomplete-panel .ui-autocomplete-list-item.ui-state-highlight,
            .ui-autocomplete-panel table .ui-state-highlight {
                background-color: #f8f9fa;
                color: rgba(0, 109, 255, 1);
            }
	.ui-autocomplete-panel table td.footer {
        padding-top: .7rem !important;
        padding-bottom: .7rem !important;
        position: relative;
	}
	    .ui-autocomplete-panel table td.footer strong {
	       font-weight: bold;
	    }


#header-product .search input {
	width: 186px !important;
	background-color: rgba(0, 0, 0, .1);
	color: #fff;
}
	#header-product .search input::placeholder {
		color: #fff !important;
		opacity: 1;
	}
	#header-product .search input:focus,
	#header-product .search input:not(:placeholder-shown) {
		width: 220px !important;
		background-color: #fff;
		transition: all .2s;
		color: #212529;
		transition: all .2s;
	}
		#header-product .search input:focus::placeholder {
			color: rgba(0, 0, 0, .5) !important;
			opacity: 1 !important;
		}
	body #header-product .search:has(input:not(:placeholder-shown)) {
		background-color: transparent !important;
	}
		body #header-product .search:has(input:not(:placeholder-shown)) button {
			color: #fff !important;
		}
		body #header-product .search:has(input:focus) button {
			color: rgba(0, 109, 255, 1) !important;
		}


.search-offcanvas input,
.search-offcanvas.ui-inputgroup .ui-autocomplete-input, 
.search-offcanvas.ui-inputgroup>.ui-autocomplete:not(:last-child)>.ui-autocomplete-input {
	font-size: 1.25rem;
	padding: .7rem 1rem .7rem 3.2rem !important;
}







/* -------------------------------------------------------------------------- 

    2023 - HEADER > PRODUCT > AREA USER
    
-------------------------------------------------------------------------- */

#header-product .area-user .dropdown-menu .register-perfil .avatar {
	width: 60px;
	height: 60px;
}
	#header-product .area-user .dropdown-menu .register-perfil .avatar img {
		width: 60px;
	    height: 60px;
	}


/* -------------------------------------------------------------------------- 

    2023 - Login / Cadastro / Minha Conta

-------------------------------------------------------------------------- */

.portal-services--no-top {
    border-top: 10px solid rgb(0, 109, 255);
}

/*
.page-account main {
	height: 100%;
}
*/

.page-account .avatar {
	width: 128px;
	height: 128px;
}

.page-signup #tipoPessoa .ui-g {
	display: inline-block;
}

.page-troca-senha h3 {
	color: #006dff;
	text-transform: uppercase;
}

.page-troca-senha .orientacoes {
	background-color: #F1F1F1;
	color: #000;
	margin: 0 20px;
	padding: 15px 21px 3px;
	border-radius: 5px;
}


/* -------------------------------------------------------------------------- 

    2023 - Generic

-------------------------------------------------------------------------- */

.icon-material-xxsm {
	zoom: .36;
}

.portal-services .accordion .accordion-button:after {
    padding: 0.4rem 0.55rem !important;
}


/* -------------------------------------------------------------------------- 

    2023 - Serviço

-------------------------------------------------------------------------- */

.page-service-description .service--like:hover i,
.page-service-description .service--like .active i {
	font-weight: bold;
	color: rgba(220, 53, 69, 1);
	animation: pulse 1s 2;
 	animation-timing-function: linear;
}
@keyframes pulse {
  0% { transform: scale(.9); }
  33% { transform: scale(1); }
  66% { transform: scale(1.1); }
  100% { transform: scale(1); }
}
.page-service-description .service--like:hover .active i,
.page-service-description .service--like .active:hover i {
	font-weight: normal;
	animation: pulse 1s 2;
}



.page-service-description .details a {
	color: #212529;
}
.page-service-description .details-main > h4:first-of-type {
	border-top: none !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
}


/* --------------------------------
    
    2023 - MOBILES
    
-------------------------------- */

@media (max-width: 1119px) {
    .page-os .card .table-edit table {
        width: auto;
        margin: 0;
    }
    
    .account .avatar {
		width: 96px;
		height: 96px;
	}
}


@media (max-width: 768px) {
	.ui-autocomplete-panel table th, .ui-autocomplete-panel table td {
	    font-size: .85rem;
	    line-height: 1rem;
	}
	
	.account .avatar {
		width: 80px;
		height: 80px;
	}
}

@media (max-width: 640px) {
    
    .page-os .card .table-edit table {
        width: 100%;
    }
    
    .ui-datatable-reflow .ui-datatable-data td[role="gridcell"]:not(.ui-helper-hidden) {
        /* width: 100% !important;
        padding: 0 0 10px 0; */
    }
    
    .ui-fileupload-buttonbar .ui-button .ui-button-text {
        display: block;
    }
    
    .account .avatar {
		width: 64px;
		height: 64px;
	}
}


/* --------------------------------
    
    CONTEÚDO > BORDAS
    
-------------------------------- */

.border-right {
    border-right: 1px solid rgba(237, 237, 237, 1) !important;
}
.border-bottom {
    border-bottom: 1px solid rgba(237, 237, 237, 1) !important;
}
.border-left {
    border-left: 1px solid rgba(237, 237, 237, 1) !important;
}


/* --------------------------------
    
    CONTEÚDO > BOTÕES
    
-------------------------------- */

.btn[href] {
    cursor: pointer;
}

.btn-xxsm, .btn-group-xxsm > .btn {
    padding: .25rem .3rem;
    font-size: .6875rem;
    line-height: 1;
    border-radius: .2rem;
}

.btn-xsm, .btn-xsm.btn, .btn-group-xsm > .btn {
    padding: .3rem .55rem;
    font-size: .75rem;
    line-height: 1.2;
    border-radius: .2rem;
}

.btn-xlg, .btn-group-xlg > .btn {
    padding: 1rem 2rem;
    font-size: 1.2rem;
    line-height: 1.5;
    border-radius: .3rem;
}

.btn-xsm.btn-block{
	display: block;
}

.btn-xsm.mb-1, .btn-xsm.my-1{
	margin-bottom: .25rem!important;
}

.btn-xsm.mt-1, .btn-xsm.my-1{
	margin-top: .25rem!important;
}

.text-muted.text-xxsm{
	color: rgba(70, 80, 90, .6) !important;
	font-size: 0.75rem !important;
}

span.text-muted{
	color: rgba(70, 80, 90, .6) !important;
}

.close:not(:disabled):not(.disabled):focus, 
.close:not(:disabled):not(.disabled):hover {
    outline: none;
}


/* --------------------------------
    
    CONTEÚDO > TABELAS
    
-------------------------------- */

/* --------------------------------
    CONTEÚDO > TABELAS > BASICAS
-------------------------------- */

table, .ui-datatable table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 1rem;
    background-color: transparent;
    color: rgba(70, 80, 90, 1);
}

th {
    text-align: inherit;
}

.table-bordered,
.table-bordered td, 
.table-bordered th {
    border: 1px solid rgba(237, 237, 237, 1);
}

.table td, .ui-datatable td,
.table th,  .ui-datatable th {
    padding: 1rem;
    vertical-align: top;
    border-top: 1px solid rgba(237, 237, 237, 1);
}

.table th, .ui-datatable th {
    font-weight: 600;
}

.table thead th, .ui-datatable thead th {
    border-bottom: 2px solid rgba(237, 237, 237, 1);
    padding-top: .75rem;
    padding-bottom: .75rem;
    font-size: .75rem;
    text-transform: none;
    letter-spacing: 0;
    background-color: transparent;
    border-bottom-width: 1px;
    line-height: 1.1;
}

.table td, .ui-datatable tbody td,
.table th, .ui-datatable tbody th {
    font-size: .8125rem;
    /*white-space: nowrap;*/
}


/* --------------------------------
    CONTEÚDO > TABELAS > ESCURAS
-------------------------------- */

.table.table-dark thead th, .table .thead-dark th {
    background-color: rgba(50, 60, 90, 1);
    color: rgba(255, 255, 255, .8);
    border-color: rgba(50, 60, 90, 1);
}

.table-dark tbody+tbody, .table-dark td, .table-dark th, .table-dark thead th {
    border-color: rgba(255, 255, 255, .2);
}

.table-dark td, .table-dark th, .table-dark thead th {
    border-color: rgba(50, 60, 90, 1);
}

.table-dark {
    color: rgba(255, 255, 255, .85);
    background-color: rgba(40, 50, 70, 1);
}


/* --------------------------------
    CONTEÚDO > TABELAS > CARDS
-------------------------------- */

.table-cards tbody td, .table-cards tbody th, .table-cards thead td, .table-cards thead th {
    border: 0 !important;
    padding: 1rem;
    position: relative;
    background-color: transparent;
}

.table-cards tbody tr:not(.table-divider) {
    border-radius: .2rem;
    -webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);
}

.table-cards tbody td, .table-cards tbody th, .table-cards thead td, .table-cards thead th {
    border: 0 !important;
    padding: 1rem;
    position: relative;
    background-color: transparent;
}

.table-cards tbody tr th, .table-cards tbody tr th:after {
    border-radius: .2rem 0 0 .2rem;
}

.table-cards tbody tr td, .table-cards tbody tr th {
    background-color: rgba(255, 255, 255, 1);
}

.table-cards tbody tr td:after, .table-cards tbody tr th:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    pointer-events: none;
}

.table-cards tbody tr td:last-child {
    border-radius: 0 .2rem .2rem 0;
}

.table-cards tr.table-divider {
    height: 1rem;
}


/* --------------------------------
    CONTEÚDO > TABELAS > OUTRAS
-------------------------------- */

.table .thead-light th {
    color: rgba(70, 80, 90, .8);
    background-color: rgba(250, 250, 250, 1);
    border-color: rgba(237, 237, 237, 1);
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(250, 250, 250, 1);
}

.table-dark, .table-dark>td, .table-dark>th {
    background-color: rgba(50, 60, 90, 1);
}

.table-responsive, .ui-datatable-resizable table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.table.table-bordered table,
.table.table-borderless table {
	margin-bottom: 0;
}

.table-responsive table {
    table-layout: auto;
}


/* --------------------------------
    
    CONTEÚDO > BADGES 
    
-------------------------------- */

.badge {
    font-weight: normal;
}
.badge-primary {
    background-color: /*azul aberto: rgba(55, 125, 255, 1);*/ rgba(30, 115, 211, 1);
}
.badge-secondary {
    background-color: rgba(150, 150, 150, 1);
    color: rgba(255, 255, 255, 1);
}
.badge-success {
    background-color: rgba(0, 166, 80, 1);
}
.badge-danger {
    background-color: rgba(242, 61, 79, 1);
}
.badge-warning {
    background-color: rgba(255, 119, 51, 1);
    color: rgba(255, 255, 255, 1);
}
.badge-info {
    background-color: rgba(0, 184, 217, 1);
}
.badge-light {
    background-color: rgba(220, 220, 220, 1);
    color: rgba(70, 80, 90, 1);
}
.badge-dark {
    background-color: rgba(0, 0, 0, .6);
}


/* --------------------------------
    
    CONTEÚDO > CARDS > LISTS
    
-------------------------------- */

.list-group-item {
    border-color: rgba(237, 237, 237, 1);
}

.list-group-item-action {
    color: rgba(70, 80, 90, 1);
}

/*.list-group-item-action:hover {
    color: rgba(55, 125, 255, 1);
}*/

.list-group-united .list-group-item {
    border: 0;
}

.list-group-item-action:focus, 
.list-group-item-action:hover {
    z-index: 1;
    text-decoration: none;
    color: rgba(55, 125, 255, 1);
    box-shadow: inset 3px 0px 0px rgba(55, 125, 255, 1);
}

.card {
    background-color: rgba(255, 255, 255, 1);
    border: 1px solid rgba(237, 237, 237, 1);
    border-radius: .3rem;
    margin-bottom: 20px;
}
.card-header {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    border-color: rgba(237, 237, 237, 1);
}
    .card-header:first-child {
        border-radius: .3rem .3rem 0 0;
    }

.card-footer {
    padding: 1.25rem 1.5rem;
    background-color: transparent;
    border-color: rgba(237, 237, 237, 1);
}
    .card-footer:last-child {
        border-radius: 0 0 .3rem .3rem;
    }

.card .table td, 
.card .table th {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.card-fluid {
    height: calc(100% - 20px);
}

.card>.list-group:first-child .list-group-item:first-child {
    border-top-left-radius: .2rem;
    border-top-right-radius: .2rem;
}
.card>.list-group:last-child .list-group-item:last-child {
    border-bottom-right-radius: .2rem;
    border-bottom-left-radius: .2rem;
}


.rounded,
.ui-messages.alert-success, ui-messages.alert-success {
    border-radius: .3rem !important;
}
.rounded-top {
    border-top-left-radius: .3rem !important;
    border-top-right-radius: .3rem !important;
}
.rounded-right {
    border-top-right-radius: .3rem !important;
    border-bottom-right-radius: .3rem !important;
}
.rounded-bottom {
    border-bottom-right-radius: .3rem !important;
    border-bottom-left-radius: .3rem !important;
}
.rounded-left {
    border-top-left-radius: .3rem !important;
    border-bottom-left-radius: .3rem !important;
}

.shadow {
    box-shadow: 0 0.75rem 1.5rem rgba(18, 38, 63, .03) !important;
}



.divider {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    opacity: .5;
}
    .divider > span:not(:first-child):not(:last-child) {
        padding: 0 1rem;
    }
    .divider > span:first-child,
    .divider > span:last-child {
        width: 100%;
        height: 1px;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        background: rgba(0, 0, 0, .15);
        display: inline-block;
    }




/* --------------------------------
    
    CONTEÚDO > FORMULÁRIOS
    
-------------------------------- */

.form-control, .content-form-control input {
	min-width: auto !important;
    display: block;
    width: 100%;
    font-size: 1rem;
    line-height: 1.5;
    background-color: rgba(255, 255, 255, 1);
    background-clip: padding-box;
    border: 1px solid rgba(70, 80, 90, .2);
    border-radius: .3rem;
    padding: .375rem .85rem;
    height: /*calc(2.25rem + 2px);*/ auto;
    color: rgba(70, 80, 90, 1);
    background-clip: padding-box;
    box-shadow: none;
    transition: all .2s ease;
}

.form-control-lg {
    height: calc(2.875rem + 2px);
    padding: .6rem 1rem;
    font-size: 1.1rem;
    line-height: 1.5;
    border-radius: .3rem;
}
.form-control-sm {
    height: calc(1.8125rem + 2px);
    padding: .25rem .5rem;
    font-size: .875rem;
    line-height: 1.5;
    border-radius: .2rem;
}

.form-control:focus {
    border: 1px solid rgba(55, 125, 255, 1);
    outline: none;
    box-shadow: none;
}

.form-control-noLabel {
	padding-top: 2.15rem;
}

::-webkit-input-placeholder {
    opacity: .6;
    transition: inherit;
}



.input-group {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    width: 100%;
}

/*
.row .form-check {
    padding-left: 0;
}

.form-group-field {
    position: relative;
    width: 100%;
    margin-top: 32px;
}

.form-group-field .form-control {
    height: calc(1em + 1rem);
    border: none;
    border-bottom: 1px solid rgba(70, 80, 90, .2);
    border-radius: 0;
    background: none;
    padding: 1px 0;
}

.form-group-field .form-control:focus {
    color: rgba(70, 80, 90, 1);
    border-bottom: 2px solid rgba(55, 125, 255, 1);
    box-shadow: none;
    padding-bottom: 0px;
    outline: none;
}

.form-group-field label {
	font-size: 1rem;
	position: absolute;
	pointer-events: none;
	top: 3px;
	transition: 0.2s ease all;
    cursor: pointer;
    color: rgba(70, 80, 90, .6);
    padding: 0;
    margin: 0;
}

.form-group-field .form-control:focus ~ label, 
.form-group-field .form-control:valid ~ label {
	top: -20px;
	font-size: 0.875rem !important;
}

*/
.control-group .form-control::placeholder {
    color: rgba(70, 80, 90, .6);
}
.control-group .form-control:-ms-input-placeholder {
    color: rgba(70, 80, 90, .6);
} 
.control-group .form-control::-ms-input-placeholder {
    color: rgba(70, 80, 90, .6);
}
.control-group .form-control:focus::-webkit-input-placeholder {
    color: rgba(70, 80, 90, .6);
}


.form-group-material {
  position: relative;
  top: 50%;
  margin-top: 50px;
  margin: 22px auto;
}
.form-group-material label {
	position: absolute;
	pointer-events: none;
	top: -5px;
	transition: 0.2s ease all;
    cursor: pointer;
    color: rgba(70, 80, 90, .6);
    padding: 0;
    margin: 0;
}
.form-group-material ::-webkit-input-placeholder {
  color: transparent;
}
.form-group-material ::-moz-placeholder {
  color: transparent;
}
.form-group-material :-ms-input-placeholder {
  color: transparent;
}
.form-group-material :-moz-placeholder {
  color: transparent;
}

.form-group-material .form-control {
    height: calc(1em + 1rem) !important;
    border: none;
    border-bottom: 1px solid rgba(70, 80, 90, .2);
    border-radius: 0;
    background: none;
    padding: 0;
}

.form-group-material .form-control:placeholder-shown + label {
  transform: translateY(30%);
}
.form-group-material .form-control:not(:placeholder-shown) {
    border-bottom: 1px solid rgba(70, 80, 90, .2);
    padding-bottom: 1px;
}
.form-group-material input.form-control:disabled,
.form-group-material .form-control.disabled:not(:placeholder-shown) {
    background-image: -webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.2)),color-stop(50%,rgba(0,0,0,.2)),color-stop(50%,transparent));
    background-image: -webkit-linear-gradient(left,rgba(0,0,0,.2),rgba(0,0,0,.2) 50%,transparent 0);
    background-image: linear-gradient(90deg,rgba(0,0,0,.2) 0,rgba(0,0,0,.2) 50%,transparent 0);
    background-position: 0 101%;
    -webkit-background-size: 6px 1px;
    background-size: 6px 1px;
    background-repeat: repeat-x;
    background-color: transparent;
    border-color: transparent;
    color: rgba(70, 80, 90, .6);
}
.form-group-material .form-control:not(:placeholder-shown) + label {
    font-size: .75rem;
    transform: translateY(-65%);
}
.form-group-material .form-control:focus {
    color: rgba(70, 80, 90, 1);
    border-bottom: 2px solid rgba(55, 125, 255, 1);
    box-shadow: none;
    padding-bottom: 0px;
    outline: none;
    transition: .5s ease all; 
    -moz-transition: .5s ease all; 
    -webkit-transition: .5s ease all;
}
.form-group-material .form-control:focus:placeholder-shown {
    outline: none;
}
.form-group-material .form-control:focus: + label {
    font-size: .75rem;
    font-size: 0.875rem !important;
    transform: translateY(-65%);
}
.form-group-material .form-control:focus:placeholder-shown + label {
    font-size: .75rem;
    transform: translateY(-65%);
}

.form-group-material .bar { 
    position: relative; 
    display: block; 
    width: 100%; 
}
    .form-group-material .bar:before {
      content:'';
      height: 2px; 
      width: 0;
      bottom: 0; 
      position: absolute;
      background: rgba(55, 125, 255, 1); 
      transition: 0.25s ease all; 
      -moz-transition: 0.25s ease all; 
      -webkit-transition: 0.25s ease all;
      left: 0;
    }
    .form-group-material .form-control:focus ~ .bar:before {
      width: 100%;
    }

.form-group-material .form-control:focus ~ label, 
.form-group-material .form-control:valid ~ label {
	top: -6px;
	/*font-size: 0.875rem !important;*/
}


/* --------------------------------
    
    CONTEÚDO > BORDER
    
-------------------------------- */

.border-dashed {
   border: 1px dashed rgba(0, 0, 0, .2) !important;
}


/* --------------------------------
    
    CONTEÚDO > ERROS
    
-------------------------------- */

.spinner-border {
    border-width: .25em;
    color: rgba(55, 125, 255, 1);
}

.loader-page {
    background: rgba(255, 255, 255, .6);
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 999;
    text-align: center;
    overflow: hidden;
    cursor: wait;
    display: none;
    transition: opacity .15s linear;
}
.loader-page .spinner-border {
    width: 3rem;
    height: 3rem;
    position: absolute;
    top: calc(50vh - 1.5rem);
    top: -webkit-calc(50vh - 1.5rem);
    top: -moz-calc(50vh - 1.5rem);
    margin-left: -1.5rem;
}

.modal-backdrop {
    background-color: rgba(0, 0, 0, .2);
}
.modal-backdrop.show {
    opacity: 1;
}

.modal-header {
    padding: 1rem;
    border-bottom: 1px solid rgba(237, 237, 237, 1);
}
.modal-content {
    background-color: rgba(255, 255, 255, 1);
    border: 1px solid rgba(237, 237, 237, 1);
    border-radius: .3rem;
    box-shadow: 0 0.75rem 1.5rem rgba(18, 38, 63, .03);
}
.modal-footer {
    padding: 1rem;
    border-top: 1px solid rgba(237, 237, 237, 1);
}
.modal-footer div, 
.ui-dialog .ui-dialog-footer div {
    margin-bottom: 0;
}

.spinner-input {
    position: absolute;
    top: 27px;
    right: -10px;
}

.ui-message.ui-message-error, .ui-message.ui-message-info, .ui-message.ui-message-warn, .ui-message.ui-message-fatal, .ui-messages .ui-message-error, .ui-messages .ui-message-info, .ui-messages .ui-message-warn, .ui-messages .ui-message-fatal {
    position: relative;
    padding: .49rem 1rem;
    margin: 0;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: .3rem;
    line-height: 1.5;
    font-size: 1rem;
}

.ui-messages-info, .ui-message-info {
    color: rgba(255, 255, 255, 1);
    background-color: rgba(0, 109, 255, 1);
    border-color: transparent;
}
.alert-success .ui-messages-info, .alert-success .ui-message-info {
    color: rgba(255, 255, 255, 1);
    background-color: rgba(25, 135, 84, 1);
    border-color: transparent;
}
.ui-messages-error, .ui-message-error {
    color: rgba(255, 255, 255, 1);
    background-color: rgba(220, 53, 69, 1);
    border-color: transparent;
}
.ui-messages-warn, .ui-message-warn {
    color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 193, 7, 1);
    border-color: transparent;
}
.ui-messages-fatal, .ui-message-fatal {
    color: rgba(255, 255, 255, 1);
    background-color: rgba(110, 110, 110, 1);
    border-color: rgba(110, 110, 110, 1);
}
.alert a, 
.ui-message-error-detail a, .ui-message-info-detail a, .ui-message-warn-detail a, .ui-message-fatal-detail a, 
.ui-messages-error-detail a, .ui-messages-info-detail a, .ui-messages-warn-detail a, .ui-messages-fatal-detail a, 
.ui-messages-error-summary a, .ui-messages-info-summary a, .ui-messages-warn-summary a, .ui-messages-fatal-summary a {
    color: rgba(255, 255, 255, 1);
    border-bottom: 1px dotted rgba(255, 255, 255, .5);
}

button.close {
    padding: 0;
    background-color: transparent;
    border: 0;
    -webkit-appearance: none;
}

.close {
    color: rgba(70, 80, 90, 1);
}
    .close:hover {
        color: rgba(70, 80, 90, 1);
    }

.alert-dismissible {
    padding-left: 3.5rem;
}
    .alert-dismissible .close {
        height: 100%;
        text-align: center;
        padding: 0;
        background-color: transparent;
        border-radius: 0;
        opacity: 1;
        margin: 0 1.2rem;
        font-size: 1.25rem;
        font-weight: 600;
        line-height: 1;
        left: 0;
        text-shadow: none;
    }
        .alert-dismissible .close span {
            height: 20px;
            width: 20px;
            text-align: center;
            color: transparent;
            display: block;
        }
            .alert-dismissible .close span::before {
                font-family: 'Font Awesome 5 Pro';
                content: "\f057";
                display: block;
                color: rgba(255, 255, 255, 1);
            }
            .alert-dismissible .close.info span::before {
                content: "\f05a";
            }
            .alert-dismissible .close.check span::before {
                content: "\f058";
            }
            .alert-secondary .close span::before,
            .alert-light  .close span::before {
                color: rgba(55, 125, 255, 1);
            }

.alert.text-sm {
    padding: .6rem .8rem;
}
.alert-dismissible.text-sm {
    padding-left: 2.6rem;
}
.alert.text-sm .close {
    margin: 0 .8rem;
}

.alert.text-xsm {
    padding: .4rem .6rem;
}
.alert-dismissible.text-xsm {
    padding-left: 2.4rem;
}
.alert.text-xsm .close {
    margin: 0 .6rem;
}
.text-xxsm{
	font-size: 0.75rem !important;
}
.badge.badge-warning.text-xxsm{
	display: inline-block;
    padding: .25em .4em;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25rem;
}
.alert.text-xxsm {
    padding: .3rem .45rem;
}
.alert-dismissible.text-xxsm {
    padding-left: 1.5rem;
}
.alert.text-xxsm .close {
    margin: 0 .4rem;
    padding-top: 1px;
}
.lh-130 {
    line-height: 1.3 !important;
}
.text-md {
    font-size: 1rem !important;
}
.form-group .alert {
    margin-top: .5rem;
    margin-bottom: 0;
}

/* --------------------------------
    
    PAGES > BUSCA
    
-------------------------------- */

.page-search .tab-content .card:first-child {
	border-top: none !important;
}


/* --------------------------------
    
    PAGES > INDICE
    
-------------------------------- */

.indice-list .card:first-child {
	border-top: none !important;
}

.indice-list .card:first-of-type {
	border-top: 0 !important;
}

.indice--image {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    height: 150px;
}
	.indice--image::before {
	    content: "";
	    position: absolute;
	    top: 0;
	    right: 0;
	    bottom: 0;
	    left: 0;
	    background: inherit;
	    background-size: cover;
	    transform-origin: center;
	    transition: transform .5s ease-in-out;
	}
	.indice--image:focus::before, .indice--image:hover::before {
	    transform: scale(1.1);
	}


/* --------------------------------
    
    CONTEÚDO > WIZARD / ABAS
    
-------------------------------- */

.steps {
    display: block;
}    
    .steps ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        border-bottom: 1px solid rgba(0, 0, 0, .15);
        padding: 0;
        font-size: 1.125rem;
        height: 60px;
        margin: 1rem 0;
    }
        .steps ul li {
            position: relative;
            list-style-type: none;
            text-align: center;
        } 
        .steps ul li.current a {
            border-bottom: 2px solid rgba(55, 125, 255, 1);
        }
            .steps ul li a {
                color: rgba(70, 80, 90, 1);
                text-decoration: none;
                padding: 1rem 2rem;
            }
            .steps ul .current a, 
            .steps ul li a:hover {
                color: rgba(55, 125, 255, 1);
            }

.wizard {
    line-height: 1.4rem;
    padding: 0 0 10px 0;
}
.wizard > .wizard-step {
    padding: 0;
    position: relative;
    list-style-type: none;
}
.wizard > .wizard-step .wizard-stepnum {
    margin-bottom: 5px;
}
.wizard > .wizard-step > .wizard-dot {
    position: absolute;
    width: 24px;
    height: 24px;
    display: block;
    top: 43px;
    left: 50%;
    margin-top: -12px;
    margin-left: -12px;
    border-radius: 50%;
}
.wizard > .wizard-step > .wizard-dot:after {
    content:' ';
    width: 16px;
    height: 16px;
    background-color: rgba(255, 255, 255, 1);
    border-radius: 50px;
    position: absolute;
    top: 4px;
    left: 4px;
    border: 1px solid rgba(0, 0, 0, .1);
}
.wizard > .wizard-step.complete > .wizard-dot {
    border-color: transparent !important;
    background-color: transparent !important;
}
.wizard > .wizard-step.complete > .wizard-dot:after {
    background-color: rgba(55, 125, 255, 1) !important;
    border: 2px solid rgba(255, 255, 255, 1) !important;
}
.wizard > .wizard-step.now > .wizard-dot,
.wizard > .wizard-step:first-child > .wizard-dot {
    background-color: rgba(255, 255, 255, 1);
    border: 2px solid rgba(55, 125, 255, 1);
}
.wizard > .wizard-step.now > .wizard-dot:after,
.wizard > .wizard-step:first-child > .wizard-dot:after {
    background-color: rgba(55, 125, 255, 1);
    width: 14px;
    height: 14px;
    top: 3px;
    left: 3px;
    border-color: transparent;
}
.wizard > .wizard-step > .progress {
    position: relative;
    border-radius: 0;
    height: 1px;
    box-shadow: none;
    margin: 20px 0;
    left: 50%;
    width: 100%;
}
.wizard > .wizard-step.complete > .progress {
    height: 2px;
}
.wizard > .wizard-step > .progress > .progress-bar {
    width: 0;
    box-shadow: none;
}
.wizard > .wizard-step.complete > .progress > .progress-bar {
    width: 100%;
}
.wizard > .wizard-step:last-child > .progress {
    width: 0;
}




/* --------------------------------
    
    Internet Explorer
    
-------------------------------- */

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .form-group-material .form-control:focus ~ label, 
    .form-group-material .form-control:valid ~ label {
        transform: translateY(-65%);
    }
}


/* --------------------------------
    
    CONTEÚDO > ORDEM DE SERVIÇO
    
-------------------------------- */

.page-os .ui-selectoneradio {
    width: auto;
    margin: 0;
}

/*.page-os .d-none {
    display: inline-block !important;
}*/


/* --------------------------------
    
    CONTEÚDO > ACCORDION
    
-------------------------------- */

[aria-expanded=true] .icon-rotate {
    transform: rotate(-180deg);
}


/* --------------------------------
    
   CONTEÚDO > AGENDAMENTO
    
-------------------------------- */

.calendar {
    /* max-width: 15rem; */
}
    .calendar::before, .calendar::after {
        content: "";
        border: 2px solid rgba(255, 255, 255, 1);
        width: 10px;
        height: 30px;
        background-color: rgba(230, 230, 230, 1);
        border-radius: .15rem;
        position: absolute;
        top: -15px;
    }
        .calendar::before {
            left: 15%;
        }
        .calendar::after {
            right: 15%;
        }
    .calendar .day {
        font-size: 5rem;
        line-height: 1;
    }
.page-agenda-ok .map-iframe {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -20px;
    margin-left: -20px;
}




/* --------------------------------
    
   CONTEÚDO > TIMELINE
    
-------------------------------- */

.timeline dd:first-of-type .col-top {
    border: none !important;
}
.timeline dd:last-of-type .col-bottom {    
    border: none !important;
}



/* --------------------------------
    
   OVERLAY
    
-------------------------------- 

#header-overlay, .header-innerlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    background: rgba(0, 0, 0, 1);
    transition: all .5s,z-index 0ms;
    visibility: hidden;
    z-index: 99;
    opacity: 0;
}
#header-overlay.active, #header-overlay.active2 {
    opacity: .15;
    visibility: visible;
}
.filter-blur {
    -webkit-filter: blur(2px);
    filter: blur(2px);
}

@media (max-width: 1119px) {
    #header-overlay.active {
        visibility: hidden;
    }
}




 --------------------------------
    
   CONTEÚDO > SIZING
    
-------------------------------- */

.w-5 {width: 5%;}
.w-10 {width: 10%;}
.w-20 {width: 20%;}
.w-30 {width: 30%;}
.w-40 {width: 40%;}
.w-60 {width: 60%;}
.w-65 {width: 65%;}
.w-70 {width: 70%;}
.w-75 {width: 75%;}
.w-80 {width: 80%;}
.w-90 {width: 90%;}


/* --------------------------------
    
   CONTEÚDO > CURSOR
    
-------------------------------- */

.cursor-alias {cursor: alias;}
.cursor-all-scroll {cursor: all-scroll;}
.cursor-auto {cursor: auto;}
.cursor-cell {cursor: cell;}
.cursor-context-menu {cursor: context-menu;}
.cursor-col-resize {cursor: col-resize;}
.cursor-copy {cursor: copy;}
.cursor-crosshair {cursor: crosshair;}
.cursor-default {cursor: default;}
.cursor-e-resize {cursor: e-resize;}
.cursor-ew-resize {cursor: ew-resize;}
.cursor-grab {cursor: -webkit-grab; cursor: grab;}
.cursor-grabbing {cursor: -webkit-grabbing; cursor: grabbing;}
.cursor-help {cursor: help;}
.cursor-move {cursor: move;}
.cursor-n-resize {cursor: n-resize;}
.cursor-ne-resize {cursor: ne-resize;}
.cursor-nesw-resize {cursor: nesw-resize;}
.cursor-ns-resize {cursor: ns-resize;}
.cursor-nw-resize {cursor: nw-resize;}
.cursor-nwse-resize {cursor: nwse-resize;}
.cursor-no-drop {cursor: no-drop;}
.cursor-none {cursor: none;}
.cursor-not-allowed {cursor: not-allowed;}
.cursor-pointer {cursor: pointer;}
.cursor-progress {cursor: progress;}
.cursor-row-resize {cursor: row-resize;}
.cursor-s-resize {cursor: s-resize;}
.cursor-se-resize {cursor: se-resize;}
.cursor-sw-resize {cursor: sw-resize;}
.cursor-text {cursor: text;}
.cursor-w-resize {cursor: w-resize;}
.cursor-wait {cursor: wait;}
.cursor-zoom-in {cursor: zoom-in;}
.cursor-zoom-out {cursor: zoom-out;}



/* --------------------------------
    
   IMPRESSÃO
    
-------------------------------- */

@media print {
    * {
        background: transparent !important;
        color: #000 !important;
        text-shadow: none !important;
        filter: none !important;
        -ms-filter: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    
    body {
        margin: 0;
        padding: 0;
        line-height: 1.4em;
        font: 12pt Georgia, "Times New Roman", Times, serif;
        color: #000;
    }
    
    main[role=main] {
        min-height: 100%;
        padding:  0;
    }
    
    @page {
        margin: .5cm;
    }
    
    #menu-product .logo-product {
        zoom: normal;
        font-weight: 900;
    }
    
    .logo-product strong {
        display: inline-block;
        font-size: inherit;
    }
    
    nav, footer, video, audio, object, embed, #hat-sefaz, 
    .cd-dropdown-wrapper, .footer-product, .alert-dismissible .close { 
        display: none; 
        visibility: hidden;
    }
    
    img {
        max-width: 100%;
    }

    p a {
        word-wrap: break-word;
    }
    
    p {
        widows: 3;
        orphans: 3;
    }

/* --------------------------------
   CONTEÚDO > AGENDAMENTO
-------------------------------- */
    
    #header-top, 
    .page-agenda-ok iframe {
        display: none;
        visibility: hidden;
    }
    
    .page-agenda-ok .calendar {
        background-color: transparent !important;
        width: 300px;
    }
    
    .page-agenda-ok .qr-code,
    .page-agenda-ok .watchword {
        width: 300px;
    }
    
}


/* --------------------------------
    
   CONTEÚDO > HOME-PREFEITURAS
    
-------------------------------- */

	.home-perfil-01 {
		/*background: rgba(55, 125, 255, 1) url(../img/header-top-filter.png) repeat center center;
        background: rgba(55, 125, 255, 1) url("/javax.faces.resource/img/header-top-filter.png.faces") repeat center center;*/
	}

	.home-perfil-01 .alert a{
		color: rgba(70, 80, 90, 1);
		border-bottom: 0px;
	}

	#header-product .area-user .register figure img.flag {
		/*display: block;
		margin: 0 -27%;
		width: 150%;
		max-width: 150%;*/
		width: 100%;
	    height: 100%;
    	margin: 0 auto;
    	object-fit: cover;
	}
	
	.heading-prefeitura {
    color: #2967b1 !important;
    font-weight: 600;
	}

	/*tabela com dados dos gráficos*/
	.bg-graph-depositado, .table-graph-depositado thead tr th{
		background-color:#00cccc;
	}

	.bg-graph-contribuicao, .table-graph-contribuicao thead tr th{
		background-color:#c2f0f0;
	}

	.bg-graph-bloqueio, .table-graph-bloqueio thead tr th{
		background-color:#ffc2b3;
	}

	.tab-sm-prime tbody tr td{
		font-size: 0.55rem
	}
	.repasse-sem-info{
		min-height: 252px;
	}
	.container4, .container5{
		margin: -4px;
	}
	.repasse-ipm{
		height: 84px;
	}

	/* --------------------------------
	    
	   lista - bullet
	    
	-------------------------------- */
	ul {
	    list-style: none;
	}
	
	ul.list-bullet-group {
	    list-style: disc;
	    margin-left: 0px;
	    padding-left: 1rem;
	}
	
	ul.list-bullet-group li {
	    padding-bottom: .5rem;
	}


/* -------------------------------------------------------------------------- 

    2023 - Contraste

-------------------------------------------------------------------------- */


body.contrast .ui-autocomplete-panel,
body.contrast .ui-selectonemenu-panel,
body.contrast .ui-selectcheckboxmenu-panel {
	background-color: rgba(0, 0, 0, 1) !important;
	color: rgba(255, 255, 255, 1) !important;
	border-color: rgba(255, 255, 255, 1) !important;
}

body.contrast .ui-autocomplete-panel *,
body.contrast .ui-selectcheckboxmenu .ui-icon,
body.contrast .input-group-text,
body.contrast .ui-inputgroup button {
	background-color: transparent !important;
	color: rgba(255, 255, 255, 1) !important;
}

body.contrast .btn-primary,
body.contrast form .ui-selectonemenu,
body.contrast form .ui-selectcheckboxmenu {
	background-color: rgba(255, 255, 255, .1);
	border-color: rgba(255, 255, 255, 1) !important;
}

body.contrast .nav-underline .nav-item .nav-link.active:before {
	background-color: rgba(255, 255, 255, 1);
}
body.contrast .ui-dialog {
	background-color: rgba(0, 0, 0, 1);
}

body.contrast #header-product div .search:has(input:focus) *, 
body.contrast #header-product div .search:has(input:not(:placeholder-shown)) * {
	background: none !important;
}

/* -------------------------------------------------------------------------- 

    Acessibilidade

-------------------------------------------------------------------------- */
#accessibilityBar {
    transition: all .5s ease-in-out !important;
    z-index: 9999 !important;
    position: fixed !important;
    top: 40% !important;
    right: 0 !important;
    transform: translate(100%, -50%) !important;
    border-radius: .5rem 0 0 .5rem !important;
    box-shadow: 0 5px 30px #2220 !important;
}

#accessibilityBar * {
    box-sizing: border-box;
}

#accessibilityBar.active {
    transform: translateY(-50%) !important;
    box-shadow: 0 5px 30px #22222280
}

#accessibilityBar button {
    outline: none !important;
    box-shadow: none !important;
    cursor: pointer;
}

#accessibilityBar button#universalAccessBtn {
    transition: all .3s ease-in-out !important;
    font-size: 24px !important;
    font-size: 1.5rem !important;
    line-height: 1 !important;
    color: #fff !important;
    background-color: #006dff !important;
    width: 2.5rem !important;
    height: 2.5rem !important;
    padding: 0 !important;
    border-radius: 50% !important;
    border: none !important;
    position: absolute !important;
    top: 50% !important;
    transform: translate(-110%, -50%) !important;
    cursor: pointer;
}

#accessibilityBar button#universalAccessBtn span {
    transition: all .3s ease-in-out !important;
    font-size: 16px !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    text-align: right !important;
    font-weight: 700 !important;
    color: #fff !important;
    background-color: #006dff !important;
    box-shadow: 0 10px 30px #6666661a !important;
    height: 100% !important;
    padding: 0 1rem !important;
    border-radius: .25rem !important;
    display: flex !important;
    align-items: center !important;
    position: absolute !important;
    top: 50% !important;
    right: 120% !important;
    transform: translateY(-50%);
}

#accessibilityBar button#universalAccessBtn.collapsed span {
    opacity: 0 !important;
    right: 50%;
}

#accessibilityBar button#universalAccessBtn:hover span {
    opacity: 1 !important;
    right: 120%;
}

#accessibilityBar button.setAccessibility {
    font-size: 12px !important;
    font-size: .75rem !important;
    transition: all .3s ease-in-out !important;
    color: #222 !important;
    font-weight: 700 !important;
    background-color: #eee !important;
    width: 100% !important;
    padding: .1rem .2rem !important;
    border-radius: .25rem !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    margin: .25rem;
}

#accessibilityBar button.setAccessibility:hover {
    background-color: #fff;
}

#accessibilityBar button.setAccessibility strong {
    color: #fff !important;
    background-color: #006dff !important;
    width: 2.5rem !important;
    height: 2.5rem !important;
    border-radius: .2rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: .25rem;
}

@media (max-width: 576px) {
    #accessibilityBar {
        position: fixed !important;
        top: initial !important;
        bottom: 5rem !important;
        transform: translate(100%) !important;
    }

    #accessibilityBar.active {
        transform: translate(0);
    }

    #accessibilityBar #universalAccessBtn {
        top: initial !important;
        transform: translate(-120%) !important;
        bottom: 16px !important;
        border-radius: 50%;
    }
}

body.contrast #accessibilityBar button[data-accessibility=contrast] {
    background-color: #006dff;
}

body.darkmode #accessibilityBar button[data-accessibility=dark],
body.accessibility_readingLine #accessibilityBar button[data-accessibility=readingLine],
body.accessibility_markerLine #accessibilityBar button[data-accessibility=markerLine] {
    background-color: #006dff !important;
    color: #fff !important;
}

/** {
    font-family: "Proxima Nova", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Roboto, "Segoe UI", Arial, sans-serif !important;
    box-sizing: border-box
}*/


.offcanvas,
 .offcanvas-xxl,
 .offcanvas-xl,
 .offcanvas-lg,
 .offcanvas-md,
 .offcanvas-sm {
     --bs-offcanvas-zindex: 1045;
     --bs-offcanvas-width: 400px;
     --bs-offcanvas-height: 30vh;
     --bs-offcanvas-padding-x: 1rem;
     --bs-offcanvas-padding-y: 1rem;
     --bs-offcanvas-color: var(--bs-body-color);
     --bs-offcanvas-bg: var(--bs-body-bg);
     --bs-offcanvas-border-width: var(--bs-border-width);
     --bs-offcanvas-border-color: var(--bs-border-color-translucent);
     --bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075);
     --bs-offcanvas-transition: transform 0.3s ease-in-out;
     --bs-offcanvas-title-line-height: 1.5
 }
 
 @media(max-width: 575.98px) {
     .offcanvas-sm {
         position: fixed;
         bottom: 0;
         z-index: var(--bs-offcanvas-zindex);
         display: flex;
         flex-direction: column;
         max-width: 100%;
         color: var(--bs-offcanvas-color);
         visibility: hidden;
         background-color: var(--bs-offcanvas-bg);
         background-clip: padding-box;
         outline: 0;
         transition: var(--bs-offcanvas-transition)
     }
 }
 
 @media(max-width: 575.98px)and (prefers-reduced-motion: reduce) {
     .offcanvas-sm {
         transition: none
     }
 }
 
 @media(max-width: 575.98px) {
     .offcanvas-sm.offcanvas-start {
         top: 0;
         left: 0;
         width: var(--bs-offcanvas-width);
         border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
         transform: translateX(-100%)
     }
 
     .offcanvas-sm.offcanvas-end {
         top: 0;
         right: 0;
         width: var(--bs-offcanvas-width);
         border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
         transform: translateX(100%)
     }
 
     .offcanvas-sm.offcanvas-top {
         top: 0;
         right: 0;
         left: 0;
         height: var(--bs-offcanvas-height);
         max-height: 100%;
         border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
         transform: translateY(-100%)
     }
 
     .offcanvas-sm.offcanvas-bottom {
         right: 0;
         left: 0;
         height: var(--bs-offcanvas-height);
         max-height: 100%;
         border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
         transform: translateY(100%)
     }
 
     .offcanvas-sm.showing,
     .offcanvas-sm.show:not(.hiding) {
         transform: none
     }
 
     .offcanvas-sm.showing,
     .offcanvas-sm.hiding,
     .offcanvas-sm.show {
         visibility: visible
     }
 }
 
 @media(min-width: 576px) {
     .offcanvas-sm {
         --bs-offcanvas-height: auto;
         --bs-offcanvas-border-width: 0;
         background-color: rgba(0, 0, 0, 0) !important
     }
 
     .offcanvas-sm .offcanvas-header {
         display: none
     }
 
     .offcanvas-sm .offcanvas-body {
         display: flex;
         flex-grow: 0;
         padding: 0;
         overflow-y: visible;
         background-color: rgba(0, 0, 0, 0) !important
     }
 }
 
 @media(max-width: 767.98px) {
     .offcanvas-md {
         position: fixed;
         bottom: 0;
         z-index: var(--bs-offcanvas-zindex);
         display: flex;
         flex-direction: column;
         max-width: 100%;
         color: var(--bs-offcanvas-color);
         visibility: hidden;
         background-color: var(--bs-offcanvas-bg);
         background-clip: padding-box;
         outline: 0;
         transition: var(--bs-offcanvas-transition)
     }
 }
 
 @media(max-width: 767.98px)and (prefers-reduced-motion: reduce) {
     .offcanvas-md {
         transition: none
     }
 }
 
 @media(max-width: 767.98px) {
     .offcanvas-md.offcanvas-start {
         top: 0;
         left: 0;
         width: var(--bs-offcanvas-width);
         border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
         transform: translateX(-100%)
     }
 
     .offcanvas-md.offcanvas-end {
         top: 0;
         right: 0;
         width: var(--bs-offcanvas-width);
         border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
         transform: translateX(100%)
     }
 
     .offcanvas-md.offcanvas-top {
         top: 0;
         right: 0;
         left: 0;
         height: var(--bs-offcanvas-height);
         max-height: 100%;
         border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
         transform: translateY(-100%)
     }
 
     .offcanvas-md.offcanvas-bottom {
         right: 0;
         left: 0;
         height: var(--bs-offcanvas-height);
         max-height: 100%;
         border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
         transform: translateY(100%)
     }
 
     .offcanvas-md.showing,
     .offcanvas-md.show:not(.hiding) {
         transform: none
     }
 
     .offcanvas-md.showing,
     .offcanvas-md.hiding,
     .offcanvas-md.show {
         visibility: visible
     }
 }
 
 @media(min-width: 768px) {
     .offcanvas-md {
         --bs-offcanvas-height: auto;
         --bs-offcanvas-border-width: 0;
         background-color: rgba(0, 0, 0, 0) !important
     }
 
     .offcanvas-md .offcanvas-header {
         display: none
     }
 
     .offcanvas-md .offcanvas-body {
         display: flex;
         flex-grow: 0;
         padding: 0;
         overflow-y: visible;
         background-color: rgba(0, 0, 0, 0) !important
     }
 }
 
 @media(max-width: 991.98px) {
     .offcanvas-lg {
         position: fixed;
         bottom: 0;
         z-index: var(--bs-offcanvas-zindex);
         display: flex;
         flex-direction: column;
         max-width: 100%;
         color: var(--bs-offcanvas-color);
         visibility: hidden;
         background-color: var(--bs-offcanvas-bg);
         background-clip: padding-box;
         outline: 0;
         transition: var(--bs-offcanvas-transition)
     }
 }
 
 @media(max-width: 991.98px)and (prefers-reduced-motion: reduce) {
     .offcanvas-lg {
         transition: none
     }
 }
 
 @media(max-width: 991.98px) {
     .offcanvas-lg.offcanvas-start {
         top: 0;
         left: 0;
         width: var(--bs-offcanvas-width);
         border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
         transform: translateX(-100%)
     }
 
     .offcanvas-lg.offcanvas-end {
         top: 0;
         right: 0;
         width: var(--bs-offcanvas-width);
         border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
         transform: translateX(100%)
     }
 
     .offcanvas-lg.offcanvas-top {
         top: 0;
         right: 0;
         left: 0;
         height: var(--bs-offcanvas-height);
         max-height: 100%;
         border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
         transform: translateY(-100%)
     }
 
     .offcanvas-lg.offcanvas-bottom {
         right: 0;
         left: 0;
         height: var(--bs-offcanvas-height);
         max-height: 100%;
         border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
         transform: translateY(100%)
     }
 
     .offcanvas-lg.showing,
     .offcanvas-lg.show:not(.hiding) {
         transform: none
     }
 
     .offcanvas-lg.showing,
     .offcanvas-lg.hiding,
     .offcanvas-lg.show {
         visibility: visible
     }
 }
 
 @media(min-width: 992px) {
     .offcanvas-lg {
         --bs-offcanvas-height: auto;
         --bs-offcanvas-border-width: 0;
         background-color: rgba(0, 0, 0, 0) !important
     }
 
     .offcanvas-lg .offcanvas-header {
         display: none
     }
 
     .offcanvas-lg .offcanvas-body {
         display: flex;
         flex-grow: 0;
         padding: 0;
         overflow-y: visible;
         background-color: rgba(0, 0, 0, 0) !important
     }
 }
 
 @media(max-width: 1199.98px) {
     .offcanvas-xl {
         position: fixed;
         bottom: 0;
         z-index: var(--bs-offcanvas-zindex);
         display: flex;
         flex-direction: column;
         max-width: 100%;
         color: var(--bs-offcanvas-color);
         visibility: hidden;
         background-color: var(--bs-offcanvas-bg);
         background-clip: padding-box;
         outline: 0;
         transition: var(--bs-offcanvas-transition)
     }
 }
 
 @media(max-width: 1199.98px)and (prefers-reduced-motion: reduce) {
     .offcanvas-xl {
         transition: none
     }
 }
 
 @media(max-width: 1199.98px) {
     .offcanvas-xl.offcanvas-start {
         top: 0;
         left: 0;
         width: var(--bs-offcanvas-width);
         border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
         transform: translateX(-100%)
     }
 
     .offcanvas-xl.offcanvas-end {
         top: 0;
         right: 0;
         width: var(--bs-offcanvas-width);
         border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
         transform: translateX(100%)
     }
 
     .offcanvas-xl.offcanvas-top {
         top: 0;
         right: 0;
         left: 0;
         height: var(--bs-offcanvas-height);
         max-height: 100%;
         border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
         transform: translateY(-100%)
     }
 
     .offcanvas-xl.offcanvas-bottom {
         right: 0;
         left: 0;
         height: var(--bs-offcanvas-height);
         max-height: 100%;
         border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
         transform: translateY(100%)
     }
 
     .offcanvas-xl.showing,
     .offcanvas-xl.show:not(.hiding) {
         transform: none
     }
 
     .offcanvas-xl.showing,
     .offcanvas-xl.hiding,
     .offcanvas-xl.show {
         visibility: visible
     }
 }
 
 @media(min-width: 1200px) {
     .offcanvas-xl {
         --bs-offcanvas-height: auto;
         --bs-offcanvas-border-width: 0;
         background-color: rgba(0, 0, 0, 0) !important
     }
 
     .offcanvas-xl .offcanvas-header {
         display: none
     }
 
     .offcanvas-xl .offcanvas-body {
         display: flex;
         flex-grow: 0;
         padding: 0;
         overflow-y: visible;
         background-color: rgba(0, 0, 0, 0) !important
     }
 }
 
 @media(max-width: 1399.98px) {
     .offcanvas-xxl {
         position: fixed;
         bottom: 0;
         z-index: var(--bs-offcanvas-zindex);
         display: flex;
         flex-direction: column;
         max-width: 100%;
         color: var(--bs-offcanvas-color);
         visibility: hidden;
         background-color: var(--bs-offcanvas-bg);
         background-clip: padding-box;
         outline: 0;
         transition: var(--bs-offcanvas-transition)
     }
 }
 
 @media(max-width: 1399.98px)and (prefers-reduced-motion: reduce) {
     .offcanvas-xxl {
         transition: none
     }
 }
 
 @media(max-width: 1399.98px) {
     .offcanvas-xxl.offcanvas-start {
         top: 0;
         left: 0;
         width: var(--bs-offcanvas-width);
         border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
         transform: translateX(-100%)
     }
 
     .offcanvas-xxl.offcanvas-end {
         top: 0;
         right: 0;
         width: var(--bs-offcanvas-width);
         border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
         transform: translateX(100%)
     }
 
     .offcanvas-xxl.offcanvas-top {
         top: 0;
         right: 0;
         left: 0;
         height: var(--bs-offcanvas-height);
         max-height: 100%;
         border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
         transform: translateY(-100%)
     }
 
     .offcanvas-xxl.offcanvas-bottom {
         right: 0;
         left: 0;
         height: var(--bs-offcanvas-height);
         max-height: 100%;
         border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
         transform: translateY(100%)
     }
 
     .offcanvas-xxl.showing,
     .offcanvas-xxl.show:not(.hiding) {
         transform: none
     }
 
     .offcanvas-xxl.showing,
     .offcanvas-xxl.hiding,
     .offcanvas-xxl.show {
         visibility: visible
     }
 }
 
 @media(min-width: 1400px) {
     .offcanvas-xxl {
         --bs-offcanvas-height: auto;
         --bs-offcanvas-border-width: 0;
         background-color: rgba(0, 0, 0, 0) !important
     }
 
     .offcanvas-xxl .offcanvas-header {
         display: none
     }
 
     .offcanvas-xxl .offcanvas-body {
         display: flex;
         flex-grow: 0;
         padding: 0;
         overflow-y: visible;
         background-color: rgba(0, 0, 0, 0) !important
     }
 }
 
 .offcanvas {
     position: fixed;
     bottom: 0;
     z-index: var(--bs-offcanvas-zindex);
     display: flex;
     flex-direction: column;
     max-width: 100%;
     color: var(--bs-offcanvas-color);
     visibility: hidden;
     background-color: var(--bs-offcanvas-bg);
     background-clip: padding-box;
     outline: 0;
     transition: var(--bs-offcanvas-transition)
 }
 
 @media(prefers-reduced-motion: reduce) {
     .offcanvas {
         transition: none
     }
 }
 
 .offcanvas.offcanvas-start {
     top: 0;
     left: 0;
     width: var(--bs-offcanvas-width);
     border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
     transform: translateX(-100%)
 }
 
 .offcanvas.offcanvas-end {
     top: 0;
     right: 0;
     width: var(--bs-offcanvas-width);
     border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
     transform: translateX(100%)
 }
 
 .offcanvas.offcanvas-top {
     top: 0;
     right: 0;
     left: 0;
     height: var(--bs-offcanvas-height);
     max-height: 100%;
     border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
     transform: translateY(-100%)
 }
 
 .offcanvas.offcanvas-bottom {
     right: 0;
     left: 0;
     height: var(--bs-offcanvas-height);
     max-height: 100%;
     border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
     transform: translateY(100%)
 }
 
 .offcanvas.showing,
 .offcanvas.show:not(.hiding) {
     transform: none
 }
 
 .offcanvas.showing,
 .offcanvas.hiding,
 .offcanvas.show {
     visibility: visible
 }
 
 .offcanvas-backdrop {
     position: fixed;
     top: 0;
     left: 0;
     z-index: 1040;
     width: 100vw;
     height: 100vh;
     background-color: #000
 }
 
 .offcanvas-backdrop.fade {
     opacity: 0
 }
 
 .offcanvas-backdrop.show {
     opacity: .5
 }
 
 .offcanvas-header {
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)
 }
 
 .offcanvas-header .btn-close {
     padding: calc(var(--bs-offcanvas-padding-y)*.5) calc(var(--bs-offcanvas-padding-x)*.5);
     margin-top: calc(-0.5*var(--bs-offcanvas-padding-y));
     margin-right: calc(-0.5*var(--bs-offcanvas-padding-x));
     margin-bottom: calc(-0.5*var(--bs-offcanvas-padding-y))
 }
 
 .offcanvas-title {
     margin-bottom: 0;
     line-height: var(--bs-offcanvas-title-line-height)
 }
 
 .offcanvas-body {
     flex-grow: 1;
     padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
     overflow-y: auto;
 }

 .offcanvas-header {
    background-color: #005A92
}

.menusefaz {
    display: block;
    overflow: hidden;
    overflow-y: auto;
    width: 100%;
    z-index: 2;
    -webkit-overflow-scrolling: touch;
}

.item {
    text-decoration: none;
}

.lista {
    list-style-type: none;
    -webkit-overflow-scrolling: touch;
    padding: 0;

    .linha {
        .item {
            color: var(--bs-list-group-color);
            padding: .5rem 1rem .5rem 1.5rem;
            display: block;
            margin-bottom: .25rem;
            width: 100%;
            cursor: pointer;

            &:hover {
                background-color: #eaeded;
            }
        }

        /* seleciona os elementos com a classe panel, mas só se tiver filho com a classe control */
        &:has(> .submenu):after {
            content: "";
            font-family: "Font Awesome 6 Pro";
            -webkit-font-smoothing: antialiased;
            font-size: .9rem;
            font-weight: bold;
            margin-right: 1rem;
            float: right;
            margin-top: -2.2rem;
            color: var(--bs-gray-500);
        }

        &:hover:has(> .submenu):after {
            color: #006dff;
        }
    }

    .submenu {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 100%;
        overflow: hidden;
        overflow-y: auto;
        background-color: var(--bs-body-bg);
        min-height: 100%;
        width: 100%;

        &.opened {
            left: 0;
        }

        >label {
            padding: .6rem 1.5rem;
            font-size: 1.25rem;
            display: block;
            font-weight: bold;
        }
    }

    .texto {
        cursor: pointer;

        &:before {
            content: "";
            font-family: "Font Awesome 6 Pro";
            -webkit-font-smoothing: antialiased;
            font-weight: bold;
            color: white;
            margin-right: .8rem;
        }
    }
}

.texto {
    display: block;
    padding: .88rem 1.5rem;
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
    font-weight: lighter;
    margin-bottom: .5rem;
    background-color: #005A92;
    color: white;
}

.menuRoot {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    overflow: hidden;
    overflow-y: auto;
    background-color: var(--bs-body-bg);
    z-index: 1011;
    -webkit-overflow-scrolling: touch;
    transform: inherit
}

.menuRoot:not(.no-transition),
.menuRoot .submenu:not(.no-transition) {
    transition: all 375ms;
    transition-property: left, right, transform
}

.menuRoot ul {
    list-style-type: none;
    -webkit-overflow-scrolling: touch;
    padding: 0
}

.menuRoot ul li a {
    color: var(--bs-list-group-color);
    padding: .5rem 1rem .5rem 1.5rem;
    display: block;
    margin-bottom: .25rem;
    width: 100%;
    cursor: pointer
}

.menuRoot ul li a:hover {
    background-color: var(--bs-list-group-action-hover-bg)
}

.menuRoot ul li:has(>.submenu):after {
    content: "";
    font-family: "Font Awesome 6 Pro";
    -webkit-font-smoothing: antialiased;
    font-size: .9rem;
    font-weight: bold;
    margin-right: 1rem;
    float: right;
    margin-top: -2.2rem;
    color: var(--bs-gray-500)
}

.menuRoot ul li:hover:has(>.submenu):after {
    color: #006dff
}

.menuRoot ul .submenu {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 100%;
    overflow: hidden;
    overflow-y: auto;
    background-color: var(--bs-body-bg);
    min-height: 100%;
    width: 100%
}

.menuRoot ul .submenu.opened {
    left: 0
}

.menuRoot ul .submenu>label {
    padding: .6rem 1.5rem;
    font-size: 1.25rem;
    display: block;
    font-weight: bold
}

.menuRoot ul span {
    cursor: pointer
}

.menuRoot ul span:before {
    content: "";
    font-family: "Font Awesome 6 Pro";
    -webkit-font-smoothing: antialiased;
    font-weight: bold;
    color: #fff;
    margin-right: .8rem
}

.menuRoot span {
    display: block;
    padding: .805rem 1.5rem;
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
    font-weight: lighter;
    margin-bottom: .5rem;
    background-color: #005a92;
    color: #fff
}

body { padding-right: 0 !important }

body .page-login {
    background-color: rgba(248, 248, 248, 1);
}