/**
* Fonts
**/
.fw-medium{
    font-weight: 500 !important;
}

/* *****************************************************************************
 * Label
 */
 label {
    font-weight: 500 !important;
    font-size: 1.1rem !important;
    color: var(--bs-gray-800);
    margin-bottom: 0.5rem !important;
    display: inline-block;
}

.required::after {
    content: none;
}

.required > label:after {
    content: "*";
    position: relative;
    font-size: inherit;
    color: var(--bs-danger);
    padding-left: 0.25rem;
    font-weight: 600;
}

.row .form-group,
.modal-body .row .form-group {
    margin-bottom: 1.25rem !important;
}

div.is-invalid{
    color: var(--bs-danger);
    display: block !important;
    font-size: .8rem;
    position: absolute;
}

.view.content th{
    font-weight: 600;
}

div.error-message{
    position: absolute;
    color: #F1416C;
}

/* *****************************************************************************
 * Remover os spinners do campo type=number 
 */

/* Para webkit (Chrome, Safari, Edge) */
input[type=number].no-spinner::-webkit-inner-spin-button,
input[type=number].no-spinner::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Para Firefox */
input[type=number].no-spinner {
  -moz-appearance: textfield;
}

/**
* Disablesd link
*/
a.disabled {
    pointer-events: none;
    cursor: not-allowed;
}
a.disabled .menu-title,
a.disabled .menu-icon i {
    color: #aaaeb3 !important; /* Cor de texto para desativado */
}

/* *****************************************************************************
 * Trumbowyg Editor
 */

.trumbowyg-box,
.trumbowyg-editor {
  min-height: 200px;
}

:root {
    --tbw-cell-vertical-padding: 4px;
    --tbw-cell-horizontal-padding: 8px;
    --tbw-cell-line-height: 1.5em;
}

.trumbowyg-editor table {
    margin-bottom: var(--tbw-cell-line-height);
}

.trumbowyg-editor th,
.trumbowyg-editor td {
    height: calc(var(--tbw-cell-vertical-padding) * 2 + var(--tbw-cell-line-height));
    min-width: calc(var(--tbw-cell-horizontal-padding) * 2);
    padding: var(--tbw-cell-vertical-padding) var(--tbw-cell-horizontal-padding);
    border: 1px solid #000000;
}

/* *****************************************************************************
 * Select 2
 */
 
.select2-container *:focus .select2-selection__rendered{
    color: #5e6278 !important;
}

.select2-container--disabled{
    background-color: #f4f4f4 !important;
    border-radius: 5px;
}


.select2-container--bootstrap5 .select2-dropdown .select2-results__options {
    max-height: 350px !important;
    overflow-y: auto !important;
}

.select2-container--bootstrap5 .select2-dropdown .select2-results__options.select2-results__options--nested {
    max-height: 350px !important;
    overflow-y: auto !important;
}


/* *****************************************************************************
 * Form Input & Select
 */
.form-select:disabled {
    color: #5e6278 !important;
    background-color: #f4f4f4 !important;
    border-color: #e1e3ea !important;
    box-shadow: none !important;
}

.form-control:disabled {
    color: #5e6278 !important;
}


.form-control:read-only:not(.flatpickr-input):not([type="file"]) {
    color: #5e6278 !important;
    background-color: #f4f4f4 !important;
    border-color: #e1e3ea !important;
    box-shadow: none !important;
    pointer-events: none !important;  /* impede foco e interação */
}

html[data-bs-theme="dark"] .form-control:read-only:not(.flatpickr-input):not([type="file"]) {
    background-color: #2B2B40 !important; /* tom escuro para o fundo */
    border: 1px solid #323248 !important;    /* borda sutil */
    color: #5E6278 !important;
    opacity: 1 !important;                /* garantir que não fique apagado */
    pointer-events: none !important;  /* impede foco e interação */
}

optgroup {
    font-weight: bold;
    color: #181c32;
    background-color: #f8f9fa;
    font-style: normal;
}
/* Para melhorar a legibilidade dos opções */
option {
    padding: 5px;
    color: #5e6278;
}

#cnpj-ws{
    cursor: pointer;
}

/* *****************************************************************************
 * Data Tables
 */
/* Faz com que as colunas respeitem as larguras definidas 
table.dataTable {
    table-layout: fixed; 
}

table.dataTable td:nth-child(2),
table.dataTable th:nth-child(2) {
    width: 10px !important;
    min-width: 10px !important;
    max-width: 10px !important;
    overflow: hidden;
    white-space: nowrap;
}*/

.dataTables_wrapper table tbody{ 
    font-family: 'Roboto', sans-serif !important;
}
.dataTables_wrapper .dataTables_processing {
    position: fixed;
}

.row-selected-dark {
    background-color: transparent !important;
    color: #fff; /* Ajuste conforme necessário para manter a legibilidade do texto */
}

.row-selected-light {
    background-color: transparent !important;
    color: #000; /* Ajuste conforme necessário para manter a legibilidade do texto */
}

/** Remove o X automático do input search */
.dataTables_wrapper .dataTables_filter input::-webkit-search-cancel-button {
    display: none !important; 
}

table.dataTable td.dtl-control:before {
    content: '\f0fe';
    font-family: 'Font Awesome\ 5 Free'; 
    cursor: pointer;
    font-size: 16px;
    color: #a1a5b7;
    padding-left: 8px;
 }
 table.dataTable tr.dt-hasChild td.dtl-control:before {
   content: '\f146';
   color: #009ef7 !important;
 }

/* Estilo geral para a célula de controle de linha do DataTables */
td.dtr-control {
    cursor: pointer; /* Muda o cursor para uma mãozinha ao passar o mouse, indicando que é clicável */
    text-align: center; /* Centraliza o ícone dentro da célula */
    width: 30px; /* Define uma largura fixa para a célula, garantindo espaço suficiente para o ícone */
}

/* Estilo para o ícone FontAwesome de expansão (plus) */
.dtr-control::before {
    font-family: "Font Awesome 5 Free"; /* Define a fonte como FontAwesome */
    font-weight: 900; /* Usa a versão sólida dos ícones FontAwesome */
    content: '\f067'; /* Código Unicode para o ícone de 'plus' */
    font-size: 1.2em; /* Define o tamanho do ícone */
    color: #007bff; /* Cor azul padrão para o ícone */
}

/* Estilo para o ícone FontAwesome de contração (minus) */
.dtr-control.minus::before {
    content: '\f068'; /* Código Unicode para o ícone de 'minus' */
    font-family: "Font Awesome 5 Free"; /* Reafirma a fonte como FontAwesome */
    font-weight: 900; /* Usa a versão sólida dos ícones FontAwesome */
    font-size: 1.2em; /* Define o tamanho do ícone para que seja igual ao de 'plus' */
    color: #007bff; /* Mantém a mesma cor azul padrão para o ícone */
}


/*
input.loading {
    background: url(http://www.xiconeditor.com/image/icons/loading.gif) no-repeat right center;
}
*/

/* *****************************************************************************
 * Editor de Texto Trumbowyg
 */
.trumbowyg-editor{
    font-size: 1.1rem !important;
    color: #5e6278 !important;
}

/* *****************************************************************************
 * Flatpickr
 */
.flatpickr-day.today{
    border-color: #009ef7 !important;
}

/* *****************************************************************************
 * formValidation
 */ 
.fv-plugins-message-container.invalid-feedback{
    display: none !important;
}

/* *****************************************************************************
 * Tooltip
 */

.custom-tooltip .tooltip-inner {
    text-align: left !important;
    font-size: smaller;
}

.custom-tooltip-whats-applet .tooltip-inner {
    text-align: left !important;
    font-size: small;
    font-family: 'Roboto';
    padding: 10px 30px;
}

/* *****************************************************************************
 * WhatsApp
 */

.btn-whatsapp a {
    color:#fff; 
    text-decoration: none; 
    display: block;
    text-align: center !important;
}
.btn-whatsapp {
    position: fixed; 
    right: 15px; 
    bottom: 70px; 
    transform: translate(-50%, -50%);  
    background-color:rgb(37, 211, 102); 
    width: 60px; 
    height: 60px; 
    text-align: center; 
    line-height: 58px; 
    font-size: 1.8em; 
    color: #ffffff; 
    font-weight: 100; 
    border-radius: 50%; 
    z-index: 2;
}
.btn-whatsapp:before,
.btn-whatsapp:after{
    content: '';
    display: block;
    position: absolute;
    border-radius: 50%;
    border: 1px solid #25d366;
    left: -20px;
    right: -20px;
    bottom: -20px;
    top: -20px;
    animation: animate 1.5s linear infinite;
    opacity: 0;
    backface-visibility: hidden;
}
.pulse:after { 
    animation-delay: .5s;
}
.whats-applet{
    position: fixed;
    right: 22.5px;
    bottom: 70px;
    background-color:#FFFFFF;
    width: 100px;
    height: 40px;
    text-align: center;
    line-height: 40px;
    font-size: 1em;
    color: #007B3E;
    font-weight: 100;
    border: solid #25d366 2px;
    border-radius: 10px;
    z-index: 1;
    font-weight: 500;
}
@keyframes animate {
   0%   { transform: scale(0.5); opacity:0; }
   50%  { opacity:1; }
   100% { transform: scale(1.2); opacity:0; }
}

/* *****************************************************************************
 * Button Floating
 */

.btn-floating a {
    color:#fff; 
    text-decoration: none; 
    display: block;
    text-align: center !important;
}
.btn-floating {
    position: fixed; 
    right: 5px; 
    bottom: 5px; 
    transform: translate(-50%, -50%);  
    background-color: #F8F5FF; 
    width: 60px; 
    height: 60px; 
    text-align: center; 
    line-height: 58px; 
    font-size: 1.8em; 
    color: #ffffff; 
    font-weight: 100; 
    border-radius: 50%; 
    z-index: 2;
}
.btn-floating:before,
.btn-floating:after{
    content: '';
    display: block;
    position: absolute;
    border-radius: 50%;
    border: 1px solid #5033E1;
    left: -20px;
    right: -20px;
    bottom: -20px;
    top: -20px;
    animation: animate 1.5s linear infinite;
    opacity: 0;
    backface-visibility: hidden;
}
.pulse:after { 
    animation-delay: .5s;
}
@keyframes animate {
   0%   { transform: scale(0.5); opacity:0; }
   50%  { opacity:1; }
   100% { transform: scale(1.2); opacity:0; }
}

.trumbowyg-box, .trumbowyg-editor { 
    min-height: 180px; 
}

.bg-gradiente{
    background: rgb(2,0,36);
    background: linear-gradient(90deg, rgba(2,0,36,1) 0%, rgba(0,158,247,1) 27%, rgba(251,251,251,1) 80%);
}

/* *****************************************************************************
 * Texto Desfocado
 */

.texto-desfocado {
    filter: blur(3px); /* Altere o valor do desfoque conforme desejado */
}


/**
 * Nestable
 */

 .dd { position: relative; display: block; margin: 0; padding: 0; max-width: 600px; list-style: none; font-size: 13px; line-height: 20px; }

 .dd-list { display: block; position: relative; margin: 0; padding: 0; list-style: none; }
 .dd-list .dd-list { padding-left: 30px; }
 .dd-collapsed .dd-list { display: none; }
 
 .dd-item,
 .dd-empty,
 .dd-placeholder { display: block; position: relative; margin: 0; padding: 0; min-height: 20px; font-size: 13px; line-height: 20px; }
 
 .dd-handle { display: block; height: 30px; margin: 5px 0; padding: 5px 10px; color: #333; text-decoration: none; font-weight: bold; border: 1px solid #ccc;
     background: #fafafa;
     background: -webkit-linear-gradient(top, #fafafa 0%, #eee 100%);
     background:    -moz-linear-gradient(top, #fafafa 0%, #eee 100%);
     background:         linear-gradient(top, #fafafa 0%, #eee 100%);
     -webkit-border-radius: 3px;
             border-radius: 3px;
     box-sizing: border-box; -moz-box-sizing: border-box;
 }
 .dd-handle:hover { color: #2ea8e5; background: #fff; }
 
 .dd-item > button { display: block; position: relative; cursor: pointer; float: left; width: 25px; height: 20px; margin: 5px 0; padding: 0; text-indent: 100%; white-space: nowrap; overflow: hidden; border: 0; background: transparent; font-size: 12px; line-height: 1; text-align: center; font-weight: bold; }
 .dd-item > button:before { content: '+'; display: block; position: absolute; width: 100%; text-align: center; text-indent: 0; }
 .dd-item > button[data-action="collapse"]:before { content: '-'; }
 
 .dd-placeholder,
 .dd-empty { margin: 5px 0; padding: 0; min-height: 30px; background: #f2fbff; border: 1px dashed #b6bcbf; box-sizing: border-box; -moz-box-sizing: border-box; }
 .dd-empty { border: 1px dashed #bbb; min-height: 100px; background-color: #e5e5e5;
     background-image: -webkit-linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff),
                       -webkit-linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff);
     background-image:    -moz-linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff),
                          -moz-linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff);
     background-image:         linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff),
                               linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff);
     background-size: 60px 60px;
     background-position: 0 0, 30px 30px;
 }
 
 .dd-dragel { position: absolute; pointer-events: none; z-index: 9999; }
 .dd-dragel > .dd-item .dd-handle { margin-top: 0; }
 .dd-dragel .dd-handle {
     -webkit-box-shadow: 2px 4px 6px 0 rgba(0,0,0,.1);
             box-shadow: 2px 4px 6px 0 rgba(0,0,0,.1);
 }
 
 /**
  * Nestable Extras
  */
 
 .nestable-lists { display: block; clear: both; padding: 30px 0; width: 100%; border: 0; border-top: 2px solid #ddd; border-bottom: 2px solid #ddd; }
 
 #nestable-menu { padding: 0; margin: 20px 0; }
 
 #nestable-output,
 #nestable2-output { width: 100%; height: 7em; font-size: 0.75em; line-height: 1.333333em; font-family: Consolas, monospace; padding: 5px; box-sizing: border-box; -moz-box-sizing: border-box; }
 
 #nestable2 .dd-handle {
     color: #fff;
     border: 1px solid #999;
     background: #bbb;
     background: -webkit-linear-gradient(top, #bbb 0%, #999 100%);
     background:    -moz-linear-gradient(top, #bbb 0%, #999 100%);
     background:         linear-gradient(top, #bbb 0%, #999 100%);
 }
 #nestable2 .dd-handle:hover { background: #bbb; }
 #nestable2 .dd-item > button:before { color: #fff; }
 
 @media only screen and (min-width: 700px) {
 
     .dd { float: left; width: 48%; }
     .dd + .dd { margin-left: 2%; }
 
 }
 
 .dd-hover > .dd-handle { background: #2ea8e5 !important; }
 
 /**
  * Nestable Draggable Handles
  */
 
 .dd3-content { display: block; height: 30px; margin: 5px 0; padding: 5px 10px 5px 40px; color: #333; text-decoration: none; font-weight: bold; border: 1px solid #ccc;
     background: #fafafa;
     background: -webkit-linear-gradient(top, #fafafa 0%, #eee 100%);
     background:    -moz-linear-gradient(top, #fafafa 0%, #eee 100%);
     background:         linear-gradient(top, #fafafa 0%, #eee 100%);
     -webkit-border-radius: 3px;
             border-radius: 3px;
     box-sizing: border-box; -moz-box-sizing: border-box;
 }
 .dd3-content:hover { color: #2ea8e5; background: #fff; }
 
 .dd-dragel > .dd3-item > .dd3-content { margin: 0; }
 
 .dd3-item > button { margin-left: 30px; }
 
 .dd3-handle { position: absolute; margin: 0; left: 0; top: 0; cursor: pointer; width: 30px; text-indent: 100%; white-space: nowrap; overflow: hidden;
     border: 1px solid #aaa;
     background: #ddd;
     background: -webkit-linear-gradient(top, #ddd 0%, #bbb 100%);
     background:    -moz-linear-gradient(top, #ddd 0%, #bbb 100%);
     background:         linear-gradient(top, #ddd 0%, #bbb 100%);
     border-top-right-radius: 0;
     border-bottom-right-radius: 0;
 }
 .dd3-handle:before { content: '≡'; display: block; position: absolute; left: 0; top: 3px; width: 100%; text-align: center; text-indent: 0; color: #fff; font-size: 20px; font-weight: normal; }
 .dd3-handle:hover { background: #ddd; }
 
 /**
  * Socialite
  */
 
 .socialite { display: block; float: left; height: 35px; }

  /**
  * Animated Icon
  */

 @keyframes pulse {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.2);
        opacity: 0.7;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.animated-pulse {
    animation: pulse 1.5s infinite;
}
