
:root {

  --font-family: 'Inter', sans-serif;

  /*default colors*/
  --primary: #023e84 !important;
  --primary-color: #023e84;
  --btn-primary: #023e84;

  --secondary-color: #023e84;
  --tertiary-color: #023e84;

  --text-color: #023e84;
  --nav-items-color: #A0a0a0;
  --border-color: #F3F3F3;

  --white: #fff !important;

}

/* form */
form.button_to {
    all: unset;
}

.required {
    color: #dc3545;
}

/* datatable - jQuery Datatable */
.sm-hero__datatable-actions button.btn.btn-sm, .sm-hero__datatable-actions .btn-group-sm > button.btn  {
    padding: 0 0.5rem;
}

/* PMM_THEME */


@import 'config/variables';
@import 'components/buttons';
@import 'components/navbar';
@import 'components/texts';

html, body {
    font-family: var(--font-family), sans-serif;
    font-size: 14px;
}

/* login */
#login-page #main {
  /*background-color: #F3f3f3;
  background-image: url(/../img/bg-login.jpg);*/
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

#login-page .login-form__card {
  background-color: #e4e4e7b3;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}


/* fixes */
.bi::before{
    line-height: normal !important;
}


/*header*/
#sm-hero-demo__header{
    position: relative;
    z-index: 1;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.25);
    min-height: 55px;
}

.sm-hero__header-title{
    position: relative;
}
/* data && datasets */

body[data-show-title="false"] #sm-hero-demo__header .sm-hero__header-title {
    display: none !important;
}

/*navs*/
.navbar-light .navbar-toggler {
    border-color: transparent;
}
.sm-hero__title {
    font-size: 1.25rem;
    font-weight: 300;
    color: --text-color;
    margin: 0;
    padding: 0;
}
.sm-hero__header-title{
    border-bottom: 1px solid --border-color;
    background-position: center right;
    background-size: auto 100%;
}

/*nav-top right*/
.nav-top-right {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: 0 0.5rem;
}
.nav-top-right__item {
    margin-left: 1rem;
}
.nav-top-right__item a i::before {
    line-height: inherit !important;
}

.nav-top-right .dropdown-menu .dropdown-item{
    white-space: inherit;
    width: 50vw;
    max-width: 350px;
    font-size: 0.875em !important;
}

.nav-top-right__item > a {
    color: --nav-items-color;
    font-size: 1.5rem;
    line-height: 1em;
}
.nav-top-right__item a:hover {
    color: --primary-color;

    transition: all .2s linear;
}

.sm-hero__topnav.navbar-light #sidebarToggle {
    color: rgba(0, 0, 0, 0.5);
}

.sm-hero__topnav .navbar-brand{
    width: 250px;
}

/*content center*/
#container-center{
    display: flex;
    min-height: calc(100vh - 95px);
    overflow: clip;
}

#main-footer{
  font-size: 0.9em;
}

/* aside sidenav */
.bd-sidebar {
    grid-area: sidebar;
}
.bd-layout {
    grid-template-columns: 1fr 5fr;
}
#layoutSidenav_nav {
    width: 0;
    background: #023e84;
    position: sticky;
    top: 65px;
    height: calc(100vh - 65px);
    z-index: 1020;
    box-shadow: 2px 0px 4px rgba(0, 0, 0, 0.25);
    flex-shrink: 0;

    transition: all .2s ease-in-out;
}
#layoutSidenav_nav.show{
    width: 225px !important;

    transition: all .2s ease-in-out;
}
@media screen and (max-width: 768px) {
    #layoutSidenav_nav{
        width: 0 !important;
        position: fixed;
        height: calc(100vh - 55px);
        overflow: auto;
    }
    #layoutSidenav_nav.show, #layoutSidenav_nav.expanded{
        width: 90% !important;
    }
}
.sm-hero-aside-component{
    background: #022C5C;
    transition: all .2s linear;
    min-height: calc(100vh - 120px);
}
.sm-hero__sidenav-menu-heading{
    color: #fff;
    font-size: 1rem;
    font-weight: 300;
    margin: 0;
    padding: 0.5rem;
}
.sm-hero__sidenav a, .sm-hero__sidenav-footer{
    color: #F9F9F9;
}
.sm-hero-aside-component::-webkit-scrollbar {
    width: 0.5rem;
    background: #064c9c;
    transition: all .2s linear;
    border-radius: 0.25rem;
}
.sm-hero-aside-component::-webkit-scrollbar-thumb {
    background: #6ca4e4;
    transition: all .2s linear;
    border-radius: 0.25rem;
    padding: 5px;
}
.sm-hero-aside-component__body{
    padding: 20px 0;
}
.sm-hero__sidenav {
    display: flex !important;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
    width: 100%;
}
.sm-hero__sidenav-menu .nav{
    display: flex;
    flex-direction: column;
}

.sm-hero__sidenav .sm-hero__sidenav-menu .nav .nav-link .sm-hero__sidenav-link-icon {
    font-size: 0.9rem;
    margin-right: 0.5rem !important;
}

.sm-hero__sidenav .sm-hero__sidenav-menu .nav .nav-link {
    display: flex;
    align-items: center;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    position: relative;
    font-size: 0.8rem;

    margin-bottom: -1px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    background-color: rgba(0, 0, 0, 0.08);
    border-left: 3px solid rgba(0, 0, 0, 0.3);

    transition: all .2s ease-in-out;
}

.sm-hero__sidenav .sm-hero__sidenav-menu .nav .nav-link:hover, .sm-hero__sidenav .sm-hero__sidenav-menu .nav .nav-link.active {
    background: rgba(0, 0, 0, 0.3) !important;
    color: #FFF;
    transition: all .1s linear;
    border-left: 5px solid rgba(0, 0, 0, 0.5) !important;
}
.sm-hero__sidenav .sm-hero__sidenav-menu .nav .nav-link:focus{
    color: #FFF !important;
    background: rgba(0, 0, 0, 0.3);
    border-left: 5px solid rgba(0, 0, 0, 0.5) !important;
}

/* .dropdown-mode .sm-hero__sidenav .sm-hero__sidenav-menu .nav .nav-link:hover, .dropdown-mode .sm-hero__sidenav .sm-hero__sidenav-menu .nav .nav-link.active{
    border-left: 3px solid rgba(0, 0, 0, 0.5) !important;
} */

.svg-inline--fa {
    display: var(--fa-display,inline-block);
    height: 1em;
    overflow: visible;
    vertical-align: -0.125em;
}
.sm-hero__sidenav-footer{
    background: rgba(255, 255, 255, 0.25);
    padding: 0.75rem;
    flex-shrink: 0;
}
.sm-hero__sidenav .sm-hero__sidenav-menu .nav .nav-link.collapsed .sm-hero__sidenav-collapse-arrow {
    transform: rotate(-90deg);
}
.sm-hero__sidenav .sm-hero__sidenav-menu .nav .nav-link .sm-hero__sidenav-collapse-arrow {
    display: inline-block;
    margin-left: auto;
    transition: transform 0.15s ease;
}
.sm-hero__sidenav .sm-hero__sidenav-menu .nav .collapse.show .nav-link{
    padding-left: 1.5rem !important;
    border-left: 10px solid rgba(0, 0, 0, 0.08) !important;

    transition: all .1s linear;
}

.sm-hero__sidenav .sm-hero__sidenav-menu .nav .collapse.show .nav-link:hover, .sm-hero__sidenav .sm-hero__sidenav-menu .nav .collapse.show .nav-link.active {
    border-left: 12px solid rgba(0, 0, 0, 0.15) !important;
    transition: all .1s linear;
}

.sm-hero__sidenav .nav-link[aria-expanded="true"]{
    color: #FFF !important;
    background: rgba(0, 0, 0, 0.3) !important;
    border-left: 5px solid rgba(0, 0, 0, 0.5) !important;
}

.sm-hero__sidenav-menu-nested .collapse.show .nav-link{
    border-left: 10px solid #064d9d !important;
}

.sm-hero__sidenav-menu-nested .collapse.show .nav-link:hover{
    border-left: 12px solid #064d9d !important;
}

/*/aside sidenav*/

#main-content{
    padding: 30px 15px;
    flex: 1;
    min-width: 0;
    background: #F3F3F3;
    transition: all .2s ease-in-out;
}

/*demo main content*/

section.sm-hero__section > h2.sm-hero__section-title{
    color: --primary-color;
    font-size: 1.5em;
}

/*cards*/

.card{
    border: 1px solid #E6E6E6;
    border-radius: 0.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}
.card-header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 40px;
}
.card-header h1, .card-header h2, .card-header h3, .card-header h4, .card-header h5, .card-header h6 {
    margin: 0;
    color: --primary-color;
    line-height: 1em !important;
}
.card-header h4{
    font-size: 1em;
}
.card-footer a{
    text-decoration: none;
}

.card-header-action a{
    padding: 0 10px;
}

/* demo cards*/
.card-body h2 {
    margin:0;
    padding: 0;
    font-size: 2.5em;
}

.card-footer.sticky{
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #f7f7f7;
}

/*/cards*/


/*gridjs*/

.gridjs-table{
    width: 100%;
}

/* datatable - jQuery Datatable */
table.dataTable tfoot th {
    padding: 10px !important;
}
.sm-hero__datatable-actions a.btn.btn-sm{
    padding: 0 0.5rem;
}

.sm-hero__datatable-actions.text-center{
    padding: 0 0.5rem;
}

/* coluna de ações empilhada (padrão das inscrições) para as demais telas admin */
.sm-hero__datatable-actions:not(.menu-opcoes) {
    display: inline-flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.375rem;
    width: fit-content;
}
.sm-hero__datatable-actions:not(.menu-opcoes) .btn {
    width: 100%;
    margin-right: 0 !important;
    justify-content: flex-start;
}
.sm-hero__datatable-actions .button_to {
    width: 100%;
    margin: 0;
}
.sm-hero__datatable-actions .button_to .btn {
    width: 100%;
    margin-right: 0 !important;
}


.bd-sidebar-toggle:hover,
.bd-sidebar-toggle:focus{
    color: #023e84;
}
.bd-sidebar-toggle:focus{
    box-shadow:0 0 0 3px rgba(2, 62, 132,0.25);
}
.bd-sidebar-toggle .bi-collapse{
    display:none
}
.bd-sidebar-toggle:not(.collapsed) .bi-expand{
    display:none
}
.bd-sidebar-toggle:not(.collapsed) .bi-collapse{
    display:inline-block
}

/* custom scroll */

/* width */
.sm-hero__sidenav::-webkit-scrollbar {
    width: 8px;
}

/* Track */
.sm-hero__sidenav::-webkit-scrollbar-track {
    background: #003f87;
}

/* Handle */
.sm-hero__sidenav::-webkit-scrollbar-thumb {
    background: #001b3a;
    border-radius: 20px;
}

.fade-out{
    opacity: 0;
    transition: all .2s ease-in-out;
}
.fade-out.show{
    opacity: 1;
    transition: all .2s ease-in-out;
}

.fade-in{
    opacity: 1;
    transition: all .2s ease-in-out;
    animation: fadeIn .2s ease-in-out;
}

@keyframes fadeIn{
    from{
        opacity: 0;

    }
    to{
        opacity: 1;
    }
}

@keyframes fadeOut{
    from{
        opacity: 1;

    }
    to{
        opacity: 0;
    }
}

aside.expansible:not(.dropdown-mode) .nav-link {
    text-align: center;
}

aside.expansible:not(.dropdown-mode) .nav-link{
    text-indent: 9999px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: flex;
}

aside.expansible:not(.dropdown-mode) .nav-link.align-center {
    justify-content: center;
    align-items: center;
}

aside.expansible.expanded .nav-link, aside.expansible.show .nav-link{
    text-indent: 0;
}

.expansible .nav-link .sm-hero__sidenav-link-icon{
    text-indent: 0;
}

/* CSS para o estado expandido estatico */
aside.expansible.expanded.mini-aside-static {
    width: 250px !important; /* Defina a largura desejada para o estado expandido */
}

.expansible.mini-aside-static {
    overflow: hidden;
    width: 50px !important; /* Defina a largura desejada para o estado expandido */
}

aside.dropdown-mode{
    overflow: visible;
    width: auto !important;
    transition: all .2s ease-in-out;
}

aside.dropdown-mode.expansible{
    overflow: hidden;
    width: 40px !important;
}

aside.dropdown-mode.expanded{
    overflow: visible;
    width: auto !important;
    transition: all .2s ease-in-out;
}

aside.dropdown-mode .dropdown-menu {
    background: #023e84;
}

aside.dropdown-mode:not(.expansible){

}

aside.dropdown-mode {

}


/* CSS para a transição suave */
aside {
    transition: width 0.3s ease;
}

/* fix pre code */
pre code {
    white-space: pre;
    width: fit-content !important;
    min-width: 100% !important;
}

/* owlCarousel mods */
.owl-carousel .owl-prev span, .owl-carousel .owl-next span {
    padding: .3rem;
    font-size: 1rem;
}

/* input switch */

/* Estilo iOS */
.sm-hero-switch__container {
    width: 60px;
}

.sm-hero-switch {
    visibility: hidden;
    position: absolute;
    margin-left: -9999px;
}

.sm-hero-switch + label {
    display: block;
    position: relative;
    cursor: pointer;
    outline: none;
    user-select: none;
}

.sm-hero-switch--shadow + label {
    padding: 2px;
    width: 60px;
    height: 30px;
    background-color: #dddddd;
    border-radius: 30px;
}

.sm-hero-switch--shadow + label:before,
.sm-hero-switch--shadow + label:after {
    display: block;
    position: absolute;
    top: 1px;
    left: 1px;
    bottom: 1px;
    content: "";
}

.sm-hero-switch--shadow + label:before {
    right: 1px;
    background-color: #f1f1f1;
    border-radius: 30px;
    transition: background 0.4s;
}

.sm-hero-switch--shadow + label:after {
    width: 28px;
    background-color: #fff;
    border-radius: 100%;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
    transition: all 0.4s;
  }

.sm-hero-switch--shadow:checked + label:before {
    background-color: --btn-primary;
}

.sm-hero-switch--shadow:checked + label:after {
    transform: translateX(30px);
}


/* checkbox */

.form-check-input:checked {
    background-color: --primary-color;
    border-color: --primary-color;
}

/* range sliders */

.form-range::-webkit-slider-thumb {
    background: --btn-primary;
}

.form-range::-webkit-slider-thumb:hover {
    translate: scale(1.2);
    transition: all .2s ease-in-out;
}


/* navs & tabs */
.nav-pills .nav-link.active {
    --bs-nav-pills-link-active-bg: #023e84 !important;
}

#footer {
  min-height: 40px;
}

.modal {
  backdrop-filter: blur(4px) !important;
}

.modal-content {
  border: 0px solid #000000 !important;
  border-radius: .8rem !important;
}

.btn-primary {
  background-color: var(--primary);
  border-color: var(--primary);
}

.btn-secondary {
  background-color: var(--secondary);
  border-color: var(--secondary);
}

.btn-primary:hover,
.open > .dropdown-toggle.btn-primary:hover,
.show > .btn-primary.dropdown-toggle:hover{
    background-image: linear-gradient(rgb(0 0 0/20%) 0 0);
    color: var(--white);
}

.btn-primary.active,
.btn-primary:active, .btn-primary:active:focus, .btn-primary:active:hover {
    background-image: linear-gradient(rgb(0 0 0/50%) 0 0);
    color: var(--white);
}

.btn-primary:focus, .btn-primary:active, .btn-primary.active,
.btn-primary:active:focus, .btn-primary.active:focus, .open > .dropdown-toggle.btn-primary, .open > .dropdown-toggle.btn-primary:focus,
.btn-primary:active, .btn-primary.active,
.show > .btn-primary.dropdown-toggle, .btn-primary:active:focus,
.btn-primary.active:focus, .show > .btn-primary.dropdown-toggle:focus, .text-bg-primary {
    background-color: #003169 !important;
    border-color: #003169 !important;
    color: var(--white);
}

.btn.btn-outline-primary{
  color: var(--primary);
  border-color: var(--primary);
}

.btn.btn-outline-primary:hover, .btn.btn-outline-primary:active{
  background-color: var(--primary);
  border-color: var(--primary);
  color: var(--white);
}

#main-navbar{
  background-color: #fff;
  position: fixed;
  width: 100%;
  z-index: 1;
}

/* usuário logado + encerrar sessão: responsividade do header */
#main-navbar .usuario-logado {
  min-width: 0;
}
#main-navbar .usuario-logado-nome {
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 180px;
}
#main-navbar .btn-encerrar-sessao {
  white-space: nowrap;
}

@media (max-width: 991.98px) {
  #main-navbar .usuario-logado-nome {
    max-width: 120px;
  }
}

@media (max-width: 767.98px) {
  #main-navbar .usuario-logado-nome {
    max-width: 90px;
  }
}

@media (max-width: 575.98px) {
  #main-navbar .usuario-logado-nome {
    max-width: 56px;
    font-size: 0.85rem;
  }
  #main-navbar .usuario-logado {
    margin-left: 0.4rem !important;
  }
  #main-navbar .usuario-logado-icone {
    font-size: 1.35rem;
  }
  #main-navbar .btn-encerrar-sessao {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
    font-size: 0.78rem;
    margin-left: 0.4rem !important;
  }
}

.navbar-light .navbar-toggler {
  color: transparent !important;
}

.navbar-toggler-icon {
  font-size: 12px;
}

.text-primary{
  color: --primary;
}

.text-secondary{
  color: --secondary;
}

.dropdown-menu input[type="text"] {
    background-color: #ffffff;
    color: #000000;
    border: 1px solid #000000;
    border-radius: 5px;
}

.dataTable th {
  background-color: #f3f4f6bf !important;
  font-weight: bold !important;
  border: transparent !important;
}

.dataTable tbody tr:nth-child(odd) {
  background-color: #ffffff !important;
  border: transparent !important;
}

.dataTable tbody tr:nth-child(even) {
  background-color: #f9fafb !important;
  border: transparent !important;
}

body {
  font-family: 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, 'Roboto', sans-serif !important;
}

.dataTables_filter input {
  border: 1px solid #dddddd !important;
  border-radius: 5px !important;
  padding: 5px;
  margin-bottom: 10px;
}

table.dataTable tbody td {
  word-wrap: break-word !important;
}

.dt-layout-cell {
  border: transparent !important;
}

.dataTable tbody  {
  border: transparent !important;
}

.dataTable tbody tr:last-child td {
  border-bottom: transparent !important;
}

.dt-paging-button {
  background-color: #f3f4f6 !important;
  border: transparent !important;
}

.dt-paging-button.current:hover {
  background-color: #650e0e !important;
  color: #ffffff !important;
}

div.dt-container .dt-paging .dt-paging-button:hover {
  background: #f9fafb !important;
  color: #000000 !important;
}

.dt-paging-button:hover {
  background: #f3f4f6 !important;
  color: #000000 !important;
}

input[type=number]::-webkit-inner-spin-button { 
  -webkit-appearance: none;
  appearance: none;
  
}
input[type=number] { 
 -moz-appearance: textfield;
 appearance: textfield;

}

/* --- START: Mobile sidebar fix & backdrop --- */
/* força sidebar acima do header e cria estado quando aberto */
#layoutSidenav_nav {
  z-index: 2000; /* maior que o header (header tinha z-index:1) */
}

/* backdrop que será criado dinamicamente pelo JS (estilização fallback) */
#sidenav-backdrop {
  position: fixed;
  inset: 0; /* top:0; right:0; bottom:0; left:0 */
  background: rgba(0,0,0,0.35);
  z-index: 1990; /* abaixo do #layoutSidenav_nav */
  transition: opacity .18s ease;
}

/* evita scroll do body quando a sidebar estiver aberta */
body.sidenav-open {
  overflow: hidden !important;
  touch-action: none;
}

/* garante largura esperada no mobile quando .show é aplicada */
@media screen and (max-width: 768px) {
  #layoutSidenav_nav {
    height: calc(100vh - 55px);
    top: 55px; /* se o header tem 55px; ajuste se necessário */
    left: 0;
  }

  #layoutSidenav_nav.show {
    width: 90% !important; /* já definido, só reforçando a intenção */
  }
}
/* --- END: Mobile sidebar fix & backdrop --- */

@media (max-width: 767.98px) {
  /* impede scroll do body quando sidebar mobile aberta */
  body.sidenav-open {
    overflow: hidden !important;
    touch-action: none;
  }

  /* backdrop transição (opcional) */
  #sidenav-backdrop {
    transition: opacity .18s ease;
  }
}

/* --- START: Menu de opções "⋮" (datatable) --- */
.menu-opcoes-trigger {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 2.125rem;
  width: 2.125rem;
  height: 2.125rem;
  padding: 0 !important;
  border: 1px solid rgba(2, 62, 132, 0.35) !important;
  border-radius: 0.375rem;
  background: #ffffff;
  color: #064c9c;
  font-size: 1rem;
  line-height: 1;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
  transition: all .15s ease;
}
.menu-opcoes-trigger:hover,
.menu-opcoes-trigger:focus,
.menu-opcoes-trigger[aria-expanded="true"] {
  background: #eaf1fb;
  border-color: #064c9c !important;
  color: #064c9c;
}

.menu-opcoes-painel {
  display: none;
  min-width: 236px;
  max-width: 300px;
  padding: 0.5rem 0.3rem;
  background: #ffffff;
  border: 1px solid rgba(2, 62, 132, 0.18);
  border-radius: 0.5rem;
  box-shadow: 0 12px 32px rgba(2, 44, 92, 0.28);
}
.menu-opcoes-aberto {
  display: block;
}

.menu-opcoes-grupo {
  padding: 0.15rem 0;
}
.menu-opcoes-grupo + .menu-opcoes-grupo {
  border-top: 1px solid #e6ecf5;
  margin-top: 0.2rem;
  padding-top: 0.45rem;
}
.menu-opcoes-titulo {
  display: block;
  padding: 0.2rem 0.55rem 0.15rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6b7f98;
}
.menu-opcoes-grupo-perigo .menu-opcoes-titulo {
  color: #b02a37;
}

.menu-opcoes-item {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  margin: 0.25rem 0;
  padding: 0.45rem 0.75rem;
  justify-content: flex-start;
  text-align: left;
  white-space: nowrap;
}
.menu-opcoes-item .bi {
  font-size: 0.95rem;
  line-height: 1;
}
table.dataTable .coluna-opcoes {
  white-space: nowrap;
}

/* ações empilhadas: Visualizar e Editar um sobre o outro, com o ⋮ embaixo */
.menu-opcoes-empilhado {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.3rem;
  width: fit-content;
  min-width: 7rem;
}
.menu-opcoes-empilhado .menu-opcoes-stack {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.menu-opcoes-empilhado .menu-opcoes-stack .menu-opcoes-fixo {
  width: 100%;
  margin: 0 !important;
  justify-content: flex-start;
}
.menu-opcoes-empilhado .menu-opcoes-trigger {
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 20.375px;
  margin: 0 !important;
  padding: 0 0.5rem !important;
  font-size: 0.875rem;
  line-height: 1.5;
  justify-content: center;
  text-align: center;
}
/* --- END: Menu de opções "⋮" (datatable) --- */

/* toolbar de filtros responsivo (tela de inscrições) */
@media (max-width: 575.98px) {
  .toolbar-filtros {
    flex-direction: column;
    align-items: stretch !important;
  }
  .toolbar-filtros > div,
  .toolbar-filtros > a {
    width: 100%;
  }
  .toolbar-filtros .btn {
    width: 100%;
    justify-content: center;
  }
}
/* ============================================================================
   Acessibilidade — tamanho da fonte (admin)
   ----------------------------------------------------------------------------
   Níveis aplicados como classe no <html>. O <body> acompanha porque o
   custom.css fixa o body em 14px; assim o texto base escala junto com o rem.
   Aplicados via pmm_theme.js (aumentarFonteAdmin/diminuirFonteAdmin).
   ============================================================================ */

html.fonte-nivel-1,
html.fonte-nivel-1 body {
  font-size: 15px;
}

html.fonte-nivel-2,
html.fonte-nivel-2 body {
  font-size: 16px;
}

html.fonte-nivel-3,
html.fonte-nivel-3 body {
  font-size: 18px;
}

/* botões A− / A+ no header */
.acessibilidade-fonte .btn {
  color: inherit;
  text-decoration: none;
  line-height: 1;
  padding: 0 0.25rem;
  font-weight: 700;
}

.acessibilidade-fonte .btn:disabled {
  opacity: 0.4;
}

/* Segurança contra vazamento: quando uma tabela/DataTables fica mais larga que o
   espaço do card, ela rola na horizontal em vez de escapar para fora do card. */
.dt-container {
  overflow-x: auto;
}
/* ============================================================================
   Tema escuro (admin)
   ----------------------------------------------------------------------------
   Como testar cores: edite SOMENTE a SEÇÃO 1 (tokens). A SEÇÃO 2 apenas
   aplica os tokens aos componentes — não precisa ser alterada para
   experimentar uma paleta nova.

   O tema claro continua sendo definido pelo custom.css; este arquivo só age
   quando <html data-bs-theme="dark">.
   ============================================================================ */


/* ============================================================================
   SEÇÃO 1 — TOKENS (edite aqui para testar cores)
   ============================================================================ */

[data-bs-theme="dark"] {
  --t-bg:            #24282f;   /* fundo geral da página         */
  --t-surface:       #2d323a;   /* cards, navbar, rodapé, modais */
  --t-surface-2:     #363c45;   /* faixas, hover, listras        */
  --t-text:          #e9ecf1;   /* texto principal               */
  --t-text-muted:    #d0d7e0;   /* texto secundário / legendas   */
  --t-border:        #444b55;   /* bordas e divisores            */
  --t-header-bg:     #2d323a;   /* barra de topo                 */
  --t-primary:       #6aa6f0;   /* azul de destaque              */
  --t-primary-hover: #5591da;   /* azul de destaque (hover)      */
  --t-link:          #82b7ff;   /* links                         */
  --t-input-bg:      #2a2f36;   /* campos de formulário          */
  --t-hover:         rgba(255, 255, 255, 0.07);

  /* gráficos (Chart.js) */
  --t-chart-text:        #e9ecf1;   /* rótulos/eixos dos gráficos */
  --t-chart-grid:        rgba(255, 255, 255, 0.14); /* linhas de grade */
  --t-chart-bar-neutral: #4a515b;   /* barra cinza neutra (ex.: "apto a receber") */
}


/* ============================================================================
   SEÇÃO 2 — APLICAÇÃO (mapeia os tokens; não precisa editar)
   ============================================================================ */

/* ---- Variáveis do Bootstrap ------------------------------------------------ */
[data-bs-theme="dark"] {
  --bs-body-bg:                  var(--t-bg);
  --bs-body-color:               var(--t-text);
  --bs-border-color:             var(--t-border);
  --bs-border-color-translucent: var(--t-border);
  --bs-secondary-color:          var(--t-text-muted);
  --bs-secondary-bg:             var(--t-surface-2);
  --bs-tertiary-bg:              var(--t-surface-2);
  --bs-emphasis-color:           #ffffff;

  --bs-heading-color:            var(--t-text);
  --bs-link-color:               var(--t-link);
  --bs-link-hover-color:         #9cc2ff;

  --bs-card-bg:                  var(--t-surface);
  --bs-card-border-color:        var(--t-border);
  --bs-card-cap-bg:              transparent;

  --bs-table-bg:                 transparent;
  --bs-table-color:              var(--t-text);
  --bs-table-border-color:       var(--t-border);
  --bs-table-striped-bg:         var(--t-surface-2);
  --bs-table-striped-color:      var(--t-text);
  --bs-table-hover-bg:           var(--t-hover);
  --bs-table-hover-color:        var(--t-text);

  --bs-dropdown-bg:              var(--t-surface);
  --bs-dropdown-color:           var(--t-text);
  --bs-dropdown-link-color:      var(--t-text);
  --bs-dropdown-link-hover-color: #ffffff;
  --bs-dropdown-link-hover-bg:   var(--t-surface-2);
  --bs-dropdown-border-color:    var(--t-border);
  --bs-dropdown-divider-bg:      var(--t-border);

  --bs-modal-bg:                 var(--t-surface);
  --bs-modal-color:              var(--t-text);
  --bs-modal-border-color:       var(--t-border);
  --bs-modal-header-border-color: var(--t-border);
  --bs-modal-footer-border-color: var(--t-border);

  --bs-primary:                  var(--t-primary);

  --bs-form-control-bg:          var(--t-input-bg);
}

/* ---- Base e layout --------------------------------------------------------- */
[data-bs-theme="dark"] body {
  background-color: var(--t-bg);
  color: var(--t-text);
}

[data-bs-theme="dark"] #main-content {
  background: var(--t-bg);
}

[data-bs-theme="dark"] #sm-hero-demo__header,
[data-bs-theme="dark"] #main-navbar,
[data-bs-theme="dark"] .sm-hero__header-title {
  background-color: var(--t-header-bg);
}

[data-bs-theme="dark"] #sm-hero-demo__header {
  border-color: var(--t-border);
}

[data-bs-theme="dark"] #main-navbar.navbar-light {
  border-color: var(--t-border) !important;
}

/* ícone do botão do menu (navbar-light) precisa ficar claro no fundo escuro */
[data-bs-theme="dark"] #main-navbar .navbar-toggler-icon {
  filter: invert(1) grayscale(100%) brightness(200%);
}

/* ---- Breadcrumb ------------------------------------------------------------ */
[data-bs-theme="dark"] .breadcrumb {
  --bs-breadcrumb-divider-color: var(--t-text-muted);
}

[data-bs-theme="dark"] .breadcrumb-item a {
  color: var(--t-link) !important;
}

/* ---- Cards ----------------------------------------------------------------- */
[data-bs-theme="dark"] .card {
  --bs-card-bg: var(--t-surface);
  border-color: var(--t-border);
}

[data-bs-theme="dark"] .card-header,
[data-bs-theme="dark"] .card-footer {
  background-color: transparent;
  border-color: var(--t-border);
}

[data-bs-theme="dark"] .card-footer.sticky {
  background-color: var(--t-surface);
}

/* ---- Tabelas --------------------------------------------------------------- */
[data-bs-theme="dark"] .table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--t-text);
  --bs-table-border-color: var(--t-border);
}

[data-bs-theme="dark"] .table-light {
  --bs-table-bg: var(--t-surface-2);
  --bs-table-color: var(--t-text);
}

/* ---- Utilitários de cor fixos usados nas views ----------------------------- */
[data-bs-theme="dark"] .bg-white  { background-color: var(--t-surface)   !important; }
[data-bs-theme="dark"] .bg-light  { background-color: var(--t-surface-2) !important; }
[data-bs-theme="dark"] .text-dark { color: var(--t-text)                 !important; }
[data-bs-theme="dark"] .text-black { color: var(--t-text)                !important; }
[data-bs-theme="dark"] .border-light { border-color: var(--t-border)     !important; }

/* textos "muted"/secundários ficam claros no modo escuro */
[data-bs-theme="dark"] .text-muted,
[data-bs-theme="dark"] .text-body-secondary,
[data-bs-theme="dark"] .text-secondary {
  color: var(--t-text) !important;
}

[data-bs-theme="dark"] .text-success { color: #5fd08a !important; }
[data-bs-theme="dark"] .text-danger  { color: #ff7b7b !important; }
[data-bs-theme="dark"] .text-warning { color: #ffc857 !important; }
[data-bs-theme="dark"] .text-info    { color: #6ed3e8 !important; }

[data-bs-theme="dark"] .text-primary { color: var(--t-link)           !important; }
[data-bs-theme="dark"] .bg-primary   { background-color: var(--t-primary) !important; }

/* ---- Botões ---------------------------------------------------------------- */
[data-bs-theme="dark"] .btn-primary {
  --bs-btn-bg:             var(--t-primary);
  --bs-btn-border-color:   var(--t-primary);
  --bs-btn-hover-bg:       var(--t-primary-hover);
  --bs-btn-hover-border-color: var(--t-primary-hover);
  --bs-btn-active-bg:      var(--t-primary-hover);
  --bs-btn-active-border-color: var(--t-primary-hover);
}

[data-bs-theme="dark"] .btn-outline-primary {
  --bs-btn-color:          var(--t-link);
  --bs-btn-border-color:   var(--t-primary);
  --bs-btn-hover-bg:       var(--t-primary);
  --bs-btn-hover-border-color: var(--t-primary);
}

/* ---- Formulários ----------------------------------------------------------- */
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
  background-color: var(--t-input-bg);
  border-color: var(--t-border);
  color: var(--t-text);
}

[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
  background-color: var(--t-input-bg);
  border-color: var(--t-primary);
  color: var(--t-text);
  box-shadow: 0 0 0 0.25rem rgba(59, 130, 214, 0.25);
}

[data-bs-theme="dark"] .form-control::placeholder {
  color: var(--t-text-muted);
}

[data-bs-theme="dark"] .input-group-text {
  background-color: var(--t-surface-2);
  border-color: var(--t-border);
  color: var(--t-text);
}

[data-bs-theme="dark"] .form-check-input {
  background-color: var(--t-input-bg);
  border-color: var(--t-border);
}

/* ---- Dropdowns, modais, accordion, listas, paginação ----------------------- */
[data-bs-theme="dark"] .dropdown-menu {
  background-color: var(--t-surface);
  border-color: var(--t-border);
}

[data-bs-theme="dark"] .modal-content {
  background-color: var(--t-surface);
  border-color: var(--t-border);
  color: var(--t-text);
}

[data-bs-theme="dark"] .modal-header,
[data-bs-theme="dark"] .modal-footer {
  border-color: var(--t-border);
}

[data-bs-theme="dark"] .accordion-item {
  background-color: var(--t-surface);
  border-color: var(--t-border);
}

[data-bs-theme="dark"] .accordion-button {
  background-color: var(--t-surface);
  color: var(--t-text);
}

[data-bs-theme="dark"] .accordion-button:not(.collapsed) {
  background-color: var(--t-surface-2);
  color: var(--t-text);
}

[data-bs-theme="dark"] .list-group-item {
  background-color: var(--t-surface);
  border-color: var(--t-border);
  color: var(--t-text);
}

[data-bs-theme="dark"] .nav-pills .nav-link.active,
[data-bs-theme="dark"] .nav-pills .show > .nav-link {
  background-color: var(--t-primary);
}

[data-bs-theme="dark"] .pagination {
  --bs-pagination-bg: var(--t-surface);
  --bs-pagination-color: var(--t-link);
  --bs-pagination-border-color: var(--t-border);
  --bs-pagination-hover-bg: var(--t-surface-2);
  --bs-pagination-hover-color: #ffffff;
  --bs-pagination-hover-border-color: var(--t-border);
  --bs-pagination-disabled-bg: var(--t-surface);
  --bs-pagination-disabled-color: var(--t-text-muted);
  --bs-pagination-disabled-border-color: var(--t-border);
}

/* ---- Rodapé ---------------------------------------------------------------- */
[data-bs-theme="dark"] #footer {
  background-color: var(--t-surface) !important;
  border-color: var(--t-border);
  color: var(--t-text);
}

[data-bs-theme="dark"] .sm-hero__sidenav-footer {
  color: var(--t-text) !important;
}

/* ---- DataTables 2.x -------------------------------------------------------- */
[data-bs-theme="dark"] .dt-container,
[data-bs-theme="dark"] .dataTables_wrapper {
  color: var(--t-text);
}

[data-bs-theme="dark"] .dt-container .dt-search input,
[data-bs-theme="dark"] .dt-container .dt-length select,
[data-bs-theme="dark"] .dataTables_filter input {
  background-color: var(--t-input-bg) !important;
  border-color: var(--t-border) !important;
  color: var(--t-text) !important;
}

[data-bs-theme="dark"] table.dataTable thead th,
[data-bs-theme="dark"] table.dataTable thead td {
  border-color: var(--t-border);
  color: var(--t-text-muted);
}

[data-bs-theme="dark"] table.dataTable > tbody > tr > td {
  border-color: var(--t-border);
}

[data-bs-theme="dark"] .dt-container .dt-paging .dt-paging-button {
  background: var(--t-surface);
  border-color: var(--t-border);
  color: var(--t-link);
}

[data-bs-theme="dark"] .dt-container .dt-paging .dt-paging-button.current,
[data-bs-theme="dark"] .dt-container .dt-paging .dt-paging-button:hover {
  background: var(--t-surface-2);
  color: #ffffff;
}

[data-bs-theme="dark"] .dt-container .dt-info,
[data-bs-theme="dark"] .dataTables_info {
  color: var(--t-text-muted);
}

[data-bs-theme="dark"] .dtr-control::before {
  color: var(--t-link);
}

/* ---- select2 --------------------------------------------------------------- */
[data-bs-theme="dark"] .select2-container--default .select2-selection--single,
[data-bs-theme="dark"] .select2-container--default .select2-selection--multiple {
  background-color: var(--t-input-bg);
  border-color: var(--t-border);
}

[data-bs-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered,
[data-bs-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__rendered {
  color: var(--t-text);
}

[data-bs-theme="dark"] .select2-dropdown {
  background-color: var(--t-surface);
  border-color: var(--t-border);
  color: var(--t-text);
}

/* ---- Botões claros / outline no modo escuro -------------------------------- */
[data-bs-theme="dark"] .btn-light {
  --bs-btn-color: var(--t-text);
  --bs-btn-bg: var(--t-surface-2);
  --bs-btn-border-color: var(--t-border);
  --bs-btn-hover-color: var(--t-text);
  --bs-btn-hover-bg: var(--t-surface);
  --bs-btn-hover-border-color: var(--t-border);
  --bs-btn-active-color: var(--t-text);
  --bs-btn-active-bg: var(--t-surface);
  --bs-btn-active-border-color: var(--t-border);
}

[data-bs-theme="dark"] .btn-outline-secondary {
  --bs-btn-color: var(--t-text-muted);
  --bs-btn-border-color: var(--t-border);
  --bs-btn-hover-color: var(--t-text);
  --bs-btn-hover-bg: var(--t-surface-2);
  --bs-btn-hover-border-color: var(--t-border);
  --bs-btn-active-color: var(--t-text);
  --bs-btn-active-bg: var(--t-surface-2);
}

/* fundos claros definidos inline (ex.: área de upload de logomarca em negócios) */
[data-bs-theme="dark"] [style*="background-color: #f8f9fa"],
[data-bs-theme="dark"] [style*="background-color:#f8f9fa"] {
  background-color: var(--t-surface-2) !important;
}

/* ---- DataTables (cores fixas do custom.css) -------------------------------- */
[data-bs-theme="dark"] .dataTable th {
  background-color: var(--t-surface-2) !important;
  color: var(--t-text-muted) !important;
}

[data-bs-theme="dark"] .dataTable tbody tr:nth-child(odd) {
  background-color: var(--t-surface) !important;
}

[data-bs-theme="dark"] .dataTable tbody tr:nth-child(even) {
  background-color: var(--t-surface-2) !important;
}

[data-bs-theme="dark"] .dt-paging-button {
  background-color: var(--t-surface-2) !important;
  color: var(--t-link) !important;
}

/* botões desabilitados (Primeiro/Anterior na 1ª página etc.) — não podem ficar preto no escuro.
   Especificidade acima da do DataTables (div.dt-container ... .disabled) */
html[data-bs-theme="dark"] .dt-container .dt-paging .dt-paging-button.disabled,
html[data-bs-theme="dark"] .dt-container .dt-paging .dt-paging-button.disabled:hover,
html[data-bs-theme="dark"] .dt-container .dt-paging .dt-paging-button.disabled:active {
  color: var(--t-text-muted) !important;
  background-color: var(--t-surface-2) !important;
  opacity: 0.65;
}

[data-bs-theme="dark"] div.dt-container .dt-paging .dt-paging-button:hover,
[data-bs-theme="dark"] .dt-paging-button:hover {
  background: var(--t-surface-2) !important;
  color: #ffffff !important;
}

/* ---- Menu de opções "⋮" dos datatables ------------------------------------- */
[data-bs-theme="dark"] .menu-opcoes-trigger {
  background: var(--t-surface) !important;
  color: var(--t-link) !important;
  border-color: var(--t-border) !important;
}

[data-bs-theme="dark"] .menu-opcoes-trigger:hover,
[data-bs-theme="dark"] .menu-opcoes-trigger:focus,
[data-bs-theme="dark"] .menu-opcoes-trigger[aria-expanded="true"] {
  background: var(--t-surface-2) !important;
  color: var(--t-link) !important;
  border-color: var(--t-primary) !important;
}

[data-bs-theme="dark"] .menu-opcoes-painel {
  background: var(--t-surface) !important;
  border-color: var(--t-border) !important;
}

/* ---- Busca dentro de dropdown (menu) --------------------------------------- */
[data-bs-theme="dark"] .dropdown-menu input[type="text"] {
  background-color: var(--t-input-bg) !important;
  color: var(--t-text) !important;
  border-color: var(--t-border) !important;
}

/* ---- Dashboard (cores do <style> inline em dashboard/_head.html.erb) ------- */
[data-bs-theme="dark"] .dash-body {
  background-color: var(--t-bg) !important;
}

[data-bs-theme="dark"] .dash-card-container {
  background-color: var(--t-surface) !important;
}

[data-bs-theme="dark"] .dash-title {
  color: var(--t-primary) !important;
}

[data-bs-theme="dark"] .dash-subtitle {
  color: var(--t-text) !important;
}

[data-bs-theme="dark"] .stat-card-gray {
  background-color: var(--t-surface-2) !important;
  color: var(--t-text) !important;
}

[data-bs-theme="dark"] .stat-card-gray .stat-btn {
  color: var(--t-text-muted) !important;
}

[data-bs-theme="dark"] .mini-summary-card {
  background-color: var(--t-surface) !important;
  border-color: var(--t-border) !important;
}

[data-bs-theme="dark"] .filter-select {
  background-color: var(--t-input-bg) !important;
  color: var(--t-text) !important;
  border-color: var(--t-border) !important;
}

[data-bs-theme="dark"] .pizza-edital-box {
  background: var(--t-surface) !important;
  border-color: var(--t-border) !important;
}

[data-bs-theme="dark"] .busca-sem-resultado {
  background: rgba(27, 31, 36, 0.9) !important;
  color: var(--t-text) !important;
}

[data-bs-theme="dark"] .pizza-edital-scroll {
  scrollbar-color: var(--t-primary) var(--t-surface-2);
}

[data-bs-theme="dark"] .pizza-edital-scroll::-webkit-scrollbar-track {
  background: var(--t-surface-2);
}

[data-bs-theme="dark"] .pizza-edital-scroll::-webkit-scrollbar-thumb {
  background: var(--t-primary);
}

/* ---- Títulos e valores do dashboard com cor inline (#4A5B6D / #333) -------- */
[data-bs-theme="dark"] .dash-body h4,
[data-bs-theme="dark"] .dash-body h6 {
  color: var(--t-text) !important;
}

[data-bs-theme="dark"] .mini-summary-card .fs-4 {
  color: var(--t-text) !important;
}

/* ---- Editor de texto rico (Trix) no modo escuro ----------------------------
   O editor acompanha o tema. O conteúdo salvo NÃO carrega as cores do editor;
   os PDFs são gerados no servidor (Prawn) e não são afetados. */
[data-bs-theme="dark"] trix-toolbar {
  background-color: var(--t-surface-2);
  border-color: var(--t-border);
}

[data-bs-theme="dark"] trix-toolbar .trix-button {
  background-color: transparent;
  border-color: var(--t-border);
  color: var(--t-text);
}

[data-bs-theme="dark"] trix-toolbar .trix-button.trix-active {
  background-color: var(--t-surface);
}

/* ícones do toolbar são SVGs escuros: invertemos para ficarem claros */
[data-bs-theme="dark"] trix-toolbar .trix-button::before {
  filter: invert(1) brightness(1.6);
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *
 * require_tree .





*/

/*
Trix 1.3.1
Copyright © 2020 Basecamp, LLC
http://trix-editor.org/*/
trix-editor {
  border: 1px solid #bbb;
  border-radius: 3px;
  margin: 0;
  padding: 0.4em 0.6em;
  min-height: 5em;
  outline: none; }
trix-toolbar * {
  box-sizing: border-box; }
trix-toolbar .trix-button-row {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  overflow-x: auto; }
trix-toolbar .trix-button-group {
  display: flex;
  margin-bottom: 10px;
  border: 1px solid #bbb;
  border-top-color: #ccc;
  border-bottom-color: #888;
  border-radius: 3px; }
  trix-toolbar .trix-button-group:not(:first-child) {
    margin-left: 1.5vw; }
    @media (max-device-width: 768px) {
      trix-toolbar .trix-button-group:not(:first-child) {
        margin-left: 0; } }
trix-toolbar .trix-button-group-spacer {
  flex-grow: 1; }
  @media (max-device-width: 768px) {
    trix-toolbar .trix-button-group-spacer {
      display: none; } }
trix-toolbar .trix-button {
  position: relative;
  float: left;
  color: rgba(0, 0, 0, 0.6);
  font-size: 0.75em;
  font-weight: 600;
  white-space: nowrap;
  padding: 0 0.5em;
  margin: 0;
  outline: none;
  border: none;
  border-bottom: 1px solid #ddd;
  border-radius: 0;
  background: transparent; }
  trix-toolbar .trix-button:not(:first-child) {
    border-left: 1px solid #ccc; }
  trix-toolbar .trix-button.trix-active {
    background: #cbeefa;
    color: black; }
  trix-toolbar .trix-button:not(:disabled) {
    cursor: pointer; }
  trix-toolbar .trix-button:disabled {
    color: rgba(0, 0, 0, 0.125); }
  @media (max-device-width: 768px) {
    trix-toolbar .trix-button {
      letter-spacing: -0.01em;
      padding: 0 0.3em; } }
trix-toolbar .trix-button--icon {
  font-size: inherit;
  width: 2.6em;
  height: 1.6em;
  max-width: calc(0.8em + 4vw);
  text-indent: -9999px; }
  @media (max-device-width: 768px) {
    trix-toolbar .trix-button--icon {
      height: 2em;
      max-width: calc(0.8em + 3.5vw); } }
  trix-toolbar .trix-button--icon::before {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0.6;
    content: "";
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain; }
    @media (max-device-width: 768px) {
      trix-toolbar .trix-button--icon::before {
        right: 6%;
        left: 6%; } }
  trix-toolbar .trix-button--icon.trix-active::before {
    opacity: 1; }
  trix-toolbar .trix-button--icon:disabled::before {
    opacity: 0.125; }
trix-toolbar .trix-button--icon-attach::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M16.5%206v11.5a4%204%200%201%201-8%200V5a2.5%202.5%200%200%201%205%200v10.5a1%201%200%201%201-2%200V6H10v9.5a2.5%202.5%200%200%200%205%200V5a4%204%200%201%200-8%200v12.5a5.5%205.5%200%200%200%2011%200V6h-1.5z%22%2F%3E%3C%2Fsvg%3E);
  top: 8%;
  bottom: 4%; }
trix-toolbar .trix-button--icon-bold::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M15.6%2011.8c1-.7%201.6-1.8%201.6-2.8a4%204%200%200%200-4-4H7v14h7c2.1%200%203.7-1.7%203.7-3.8%200-1.5-.8-2.8-2.1-3.4zM10%207.5h3a1.5%201.5%200%201%201%200%203h-3v-3zm3.5%209H10v-3h3.5a1.5%201.5%200%201%201%200%203z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-italic::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M10%205v3h2.2l-3.4%208H6v3h8v-3h-2.2l3.4-8H18V5h-8z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-link::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M9.88%2013.7a4.3%204.3%200%200%201%200-6.07l3.37-3.37a4.26%204.26%200%200%201%206.07%200%204.3%204.3%200%200%201%200%206.06l-1.96%201.72a.91.91%200%201%201-1.3-1.3l1.97-1.71a2.46%202.46%200%200%200-3.48-3.48l-3.38%203.37a2.46%202.46%200%200%200%200%203.48.91.91%200%201%201-1.3%201.3z%22%2F%3E%3Cpath%20d%3D%22M4.25%2019.46a4.3%204.3%200%200%201%200-6.07l1.93-1.9a.91.91%200%201%201%201.3%201.3l-1.93%201.9a2.46%202.46%200%200%200%203.48%203.48l3.37-3.38c.96-.96.96-2.52%200-3.48a.91.91%200%201%201%201.3-1.3%204.3%204.3%200%200%201%200%206.07l-3.38%203.38a4.26%204.26%200%200%201-6.07%200z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-strike::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M12.73%2014l.28.14c.26.15.45.3.57.44.12.14.18.3.18.5%200%20.3-.15.56-.44.75-.3.2-.76.3-1.39.3A13.52%2013.52%200%200%201%207%2014.95v3.37a10.64%2010.64%200%200%200%204.84.88c1.26%200%202.35-.19%203.28-.56.93-.37%201.64-.9%202.14-1.57s.74-1.45.74-2.32c0-.26-.02-.51-.06-.75h-5.21zm-5.5-4c-.08-.34-.12-.7-.12-1.1%200-1.29.52-2.3%201.58-3.02%201.05-.72%202.5-1.08%204.34-1.08%201.62%200%203.28.34%204.97%201l-1.3%202.93c-1.47-.6-2.73-.9-3.8-.9-.55%200-.96.08-1.2.26-.26.17-.38.38-.38.64%200%20.27.16.52.48.74.17.12.53.3%201.05.53H7.23zM3%2013h18v-2H3v2z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-quote::before {
  background-image: url(data:image/svg+xml,%3Csvg%20version%3D%221%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M6%2017h3l2-4V7H5v6h3zm8%200h3l2-4V7h-6v6h3z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-heading-1::before {
  background-image: url(data:image/svg+xml,%3Csvg%20version%3D%221%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M12%209v3H9v7H6v-7H3V9h9zM8%204h14v3h-6v12h-3V7H8V4z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-code::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M18.2%2012L15%2015.2l1.4%201.4L21%2012l-4.6-4.6L15%208.8l3.2%203.2zM5.8%2012L9%208.8%207.6%207.4%203%2012l4.6%204.6L9%2015.2%205.8%2012z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-bullet-list::before {
  background-image: url(data:image/svg+xml,%3Csvg%20version%3D%221%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%204a2%202%200%201%200%200%204%202%202%200%200%200%200-4zm0%206a2%202%200%201%200%200%204%202%202%200%200%200%200-4zm0%206a2%202%200%201%200%200%204%202%202%200%200%200%200-4zm4%203h14v-2H8v2zm0-6h14v-2H8v2zm0-8v2h14V5H8z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-number-list::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M2%2017h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1%203h1.8L2%2013.1v.9h3v-1H3.2L5%2010.9V10H2v1zm5-6v2h14V5H7zm0%2014h14v-2H7v2zm0-6h14v-2H7v2z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-undo::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M12.5%208c-2.6%200-5%201-6.9%202.6L2%207v9h9l-3.6-3.6A8%208%200%200%201%2020%2016l2.4-.8a10.5%2010.5%200%200%200-10-7.2z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-redo::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M18.4%2010.6a10.5%2010.5%200%200%200-16.9%204.6L4%2016a8%208%200%200%201%2012.7-3.6L13%2016h9V7l-3.6%203.6z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-decrease-nesting-level::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M3%2019h19v-2H3v2zm7-6h12v-2H10v2zm-8.3-.3l2.8%202.9L6%2014.2%204%2012l2-2-1.4-1.5L1%2012l.7.7zM3%205v2h19V5H3z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-button--icon-increase-nesting-level::before {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M3%2019h19v-2H3v2zm7-6h12v-2H10v2zm-6.9-1L1%2014.2l1.4%201.4L6%2012l-.7-.7-2.8-2.8L1%209.9%203.1%2012zM3%205v2h19V5H3z%22%2F%3E%3C%2Fsvg%3E); }
trix-toolbar .trix-dialogs {
  position: relative; }
trix-toolbar .trix-dialog {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  font-size: 0.75em;
  padding: 15px 10px;
  background: #fff;
  box-shadow: 0 0.3em 1em #ccc;
  border-top: 2px solid #888;
  border-radius: 5px;
  z-index: 5; }
trix-toolbar .trix-input--dialog {
  font-size: inherit;
  font-weight: normal;
  padding: 0.5em 0.8em;
  margin: 0 10px 0 0;
  border-radius: 3px;
  border: 1px solid #bbb;
  background-color: #fff;
  box-shadow: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none; }
  trix-toolbar .trix-input--dialog.validate:invalid {
    box-shadow: #F00 0px 0px 1.5px 1px; }
trix-toolbar .trix-button--dialog {
  font-size: inherit;
  padding: 0.5em;
  border-bottom: none; }
trix-toolbar .trix-dialog--link {
  max-width: 600px; }
trix-toolbar .trix-dialog__link-fields {
  display: flex;
  align-items: baseline; }
  trix-toolbar .trix-dialog__link-fields .trix-input {
    flex: 1; }
  trix-toolbar .trix-dialog__link-fields .trix-button-group {
    flex: 0 0 content;
    margin: 0; }
trix-editor [data-trix-mutable]:not(.attachment__caption-editor) {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

trix-editor [data-trix-mutable]::-moz-selection,
trix-editor [data-trix-cursor-target]::-moz-selection, trix-editor [data-trix-mutable] ::-moz-selection {
  background: none; }
trix-editor [data-trix-mutable]::selection,
trix-editor [data-trix-cursor-target]::selection, trix-editor [data-trix-mutable] ::selection {
  background: none; }

trix-editor [data-trix-mutable].attachment__caption-editor:focus::-moz-selection {
  background: highlight; }
trix-editor [data-trix-mutable].attachment__caption-editor:focus::selection {
  background: highlight; }

trix-editor [data-trix-mutable].attachment.attachment--file {
  box-shadow: 0 0 0 2px highlight;
  border-color: transparent; }
trix-editor [data-trix-mutable].attachment img {
  box-shadow: 0 0 0 2px highlight; }
trix-editor .attachment {
  position: relative; }
  trix-editor .attachment:hover {
    cursor: default; }
trix-editor .attachment--preview .attachment__caption:hover {
  cursor: text; }
trix-editor .attachment__progress {
  position: absolute;
  z-index: 1;
  height: 20px;
  top: calc(50% - 10px);
  left: 5%;
  width: 90%;
  opacity: 0.9;
  transition: opacity 200ms ease-in; }
  trix-editor .attachment__progress[value="100"] {
    opacity: 0; }
trix-editor .attachment__caption-editor {
  display: inline-block;
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
  color: inherit;
  text-align: center;
  vertical-align: top;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none; }
trix-editor .attachment__toolbar {
  position: absolute;
  z-index: 1;
  top: -0.9em;
  left: 0;
  width: 100%;
  text-align: center; }
trix-editor .trix-button-group {
  display: inline-flex; }
trix-editor .trix-button {
  position: relative;
  float: left;
  color: #666;
  white-space: nowrap;
  font-size: 80%;
  padding: 0 0.8em;
  margin: 0;
  outline: none;
  border: none;
  border-radius: 0;
  background: transparent; }
  trix-editor .trix-button:not(:first-child) {
    border-left: 1px solid #ccc; }
  trix-editor .trix-button.trix-active {
    background: #cbeefa; }
  trix-editor .trix-button:not(:disabled) {
    cursor: pointer; }
trix-editor .trix-button--remove {
  text-indent: -9999px;
  display: inline-block;
  padding: 0;
  outline: none;
  width: 1.8em;
  height: 1.8em;
  line-height: 1.8em;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid highlight;
  box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.25); }
  trix-editor .trix-button--remove::before {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0.7;
    content: "";
    background-image: url(data:image/svg+xml,%3Csvg%20height%3D%2224%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19%206.4L17.6%205%2012%2010.6%206.4%205%205%206.4l5.6%205.6L5%2017.6%206.4%2019l5.6-5.6%205.6%205.6%201.4-1.4-5.6-5.6z%22%2F%3E%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 90%; }
  trix-editor .trix-button--remove:hover {
    border-color: #333; }
    trix-editor .trix-button--remove:hover::before {
      opacity: 1; }
trix-editor .attachment__metadata-container {
  position: relative; }
trix-editor .attachment__metadata {
  position: absolute;
  left: 50%;
  top: 2em;
  transform: translate(-50%, 0);
  max-width: 90%;
  padding: 0.1em 0.6em;
  font-size: 0.8em;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: 3px; }
  trix-editor .attachment__metadata .attachment__name {
    display: inline-block;
    max-width: 100%;
    vertical-align: bottom;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }
  trix-editor .attachment__metadata .attachment__size {
    margin-left: 0.2em;
    white-space: nowrap; }
@charset "UTF-8";
.trix-content {
  line-height: 1.5; }
  .trix-content * {
    box-sizing: border-box;
    margin: 0;
    padding: 0; }
  .trix-content h1 {
    font-size: 1.2em;
    line-height: 1.2; }
  .trix-content blockquote {
    border: 0 solid #ccc;
    border-left-width: 0.3em;
    margin-left: 0.3em;
    padding-left: 0.6em; }
  .trix-content [dir=rtl] blockquote,
  .trix-content blockquote[dir=rtl] {
    border-width: 0;
    border-right-width: 0.3em;
    margin-right: 0.3em;
    padding-right: 0.6em; }
  .trix-content li {
    margin-left: 1em; }
  .trix-content [dir=rtl] li {
    margin-right: 1em; }
  .trix-content pre {
    display: inline-block;
    width: 100%;
    vertical-align: top;
    font-family: monospace;
    font-size: 0.9em;
    padding: 0.5em;
    white-space: pre;
    background-color: #eee;
    overflow-x: auto; }
  .trix-content img {
    max-width: 100%;
    height: auto; }
  .trix-content .attachment {
    display: inline-block;
    position: relative;
    max-width: 100%; }
    .trix-content .attachment a {
      color: inherit;
      text-decoration: none; }
      .trix-content .attachment a:hover, .trix-content .attachment a:visited:hover {
        color: inherit; }
  .trix-content .attachment__caption {
    text-align: center; }
    .trix-content .attachment__caption .attachment__name + .attachment__size::before {
      content: ' · '; }
  .trix-content .attachment--preview {
    width: 100%;
    text-align: center; }
    .trix-content .attachment--preview .attachment__caption {
      color: #666;
      font-size: 0.9em;
      line-height: 1.2; }
  .trix-content .attachment--file {
    color: #333;
    line-height: 1;
    margin: 0 2px 2px 2px;
    padding: 0.4em 1em;
    border: 1px solid #bbb;
    border-radius: 5px; }
  .trix-content .attachment-gallery {
    display: flex;
    flex-wrap: wrap;
    position: relative; }
    .trix-content .attachment-gallery .attachment {
      flex: 1 0 33%;
      padding: 0 0.5em;
      max-width: 33%; }
    .trix-content .attachment-gallery.attachment-gallery--2 .attachment, .trix-content .attachment-gallery.attachment-gallery--4 .attachment {
      flex-basis: 50%;
      max-width: 50%; }
