 html, body { height: 100%; margin: 0; } .site-shell { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; } .site-main { flex: 1 0 auto; } .site-footer { margin-top: auto; flex-shrink: 0; } html[data-accessibility-grayscale="on"] { filter: grayscale(1); } html[data-accessibility-high-contrast="on"] { filter: contrast(1.35); } html[data-accessibility-negative-contrast="on"] { filter: invert(1) hue-rotate(180deg); } html[data-accessibility-light-background="on"] body { background: #ffffff !important; color: #111827 !important; } html[data-accessibility-light-background="on"] main, html[data-accessibility-light-background="on"] section, html[data-accessibility-light-background="on"] article, html[data-accessibility-light-background="on"] aside, html[data-accessibility-light-background="on"] footer, html[data-accessibility-light-background="on"] header, html[data-accessibility-light-background="on"] div { background-color: transparent; } html[data-accessibility-underline-links="on"] a { text-decoration: underline !important; text-underline-offset: 2px; } html[data-accessibility-readable-font="on"] body, html[data-accessibility-readable-font="on"] button, html[data-accessibility-readable-font="on"] input, html[data-accessibility-readable-font="on"] select, html[data-accessibility-readable-font="on"] textarea { font-family: Arial, Helvetica, sans-serif !important; letter-spacing: 0.01em; } html { --site-font-scale: 1; } body { font-size: calc(1rem * var(--site-font-scale)); } body, body p, body span, body a, body li, body label, body strong, body em, body small, body blockquote, body figcaption, body td, body th, body dd, body dt, body button, body input, body select, body textarea, body h1, body h2, body h3, body h4, body h5, body h6 { font-size: calc(1em * var(--site-font-scale)); } /* ========================= ACESSIBILIDADE CUSTOM ========================= */ #site-accessibility-tools { position: fixed; left: initial; z-index: 99; right: 0; top: 40%; bottom: initial; transform: translateY(calc(-50% - 10px)); width: 40px; min-width: 40px; min-height: 40px; max-width: 95vw; margin: 10px !important; } #site-accessibility-tools[data-open="false"] .site-accessibility-panel { display: none; } #site-accessibility-tools[data-open="true"] .site-accessibility-panel { display: block; } .site-accessibility-trigger { position: relative; width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #c7d6f0; border-radius: 8px; background: #f3f5fc; color: #214483; cursor: pointer; font-size: 22px; padding: 0; margin: 0; line-height: 1; box-sizing: border-box; transition: all 0.5s ease; opacity: 1 !important; visibility: visible !important; } .site-accessibility-trigger:hover { background: #f8fbff; border-color: #96b4e3; transform: translateY(-1px); } .site-accessibility-trigger:focus-visible { outline: 2px solid #214483; outline-offset: 2px; } .site-accessibility-trigger img { max-width: 40px; max-height: 40px; transition: all 0.5s ease; border-radius: 8px; opacity: 1 !important; visibility: visible !important; display: block; } .site-accessibility-panel { position: absolute; right: 52px; top: 50%; bottom: initial; transform: translateY(-50%); width: min(340px, calc(100vw - 96px)); border: 1px solid #dbe6f4; border-radius: 18px; background: #ffffff; box-shadow: 0 18px 40px rgba(15, 23, 42, 0.22); overflow: hidden; box-sizing: border-box; } .site-accessibility-panel-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-bottom: 1px solid #e6ecf8; } .site-accessibility-panel-title { margin: 0; font-size: 15px; font-weight: 800; color: #1f345b; } .site-accessibility-panel-subtitle { margin: 4px 0 0; font-size: 12px; color: #5b6b85; } .site-accessibility-close { border: 1px solid #dbe6f4; background: #fff; color: #1f345b; border-radius: 10px; width: 36px; height: 36px; cursor: pointer; font-size: 16px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; } .site-accessibility-close:hover { background: #f8fbff; } .site-accessibility-close:focus-visible { outline: 2px solid #214483; outline-offset: 2px; } .site-accessibility-grid { display: grid; grid-template-columns: 1fr; gap: 10px; padding: 14px; } .site-accessibility-btn { width: 100%; display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid #dbe6f4; border-radius: 14px; background: #ffffff; color: #1f345b; padding: 12px 14px; font-size: 14px; font-weight: 700; text-align: left; cursor: pointer; transition: transform 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease; box-sizing: border-box; } .site-accessibility-btn:hover { background: #f8fbff; border-color: #c7d6f0; transform: translateY(-1px); } .site-accessibility-btn:focus-visible { outline: 2px solid #214483; outline-offset: 2px; } .site-accessibility-btn.is-active { background: #214483; color: #ffffff; border-color: #214483; } .site-accessibility-btn small { font-size: 12px; font-weight: 700; opacity: 0.8; } .site-accessibility-actions { display: flex; gap: 10px; padding: 0 14px 14px; } .site-accessibility-actions .site-accessibility-btn { justify-content: center; } /* ========================= RESPONSIVO ========================= */ @media (max-width: 640px) { #site-accessibility-tools { right: 0; top: 40%; bottom: initial; transform: translateY(calc(-50% - 10px)); width: 40px; min-width: 40px; min-height: 40px; } .site-accessibility-trigger { width: 40px; height: 40px; font-size: 20px; } .site-accessibility-trigger img { max-width: 40px; max-height: 40px; } .site-accessibility-panel { right: 48px; top: 50%; bottom: initial; transform: translateY(-50%); width: min(320px, calc(100vw - 64px)); } .site-accessibility-panel-header { padding: 12px 14px; } .site-accessibility-grid { padding: 12px; } .site-accessibility-actions { padding: 0 12px 12px; } } .dt-container-tailwind .dataTables_wrapper { padding: 0; } .dt-container-tailwind .dt-hidden-filter { display: none !important; } .dt-container-tailwind .dt-toolbar-top, .dt-container-tailwind .dt-toolbar-bottom { display: flex; align-items: center; justify-content: space-between; gap: .875rem 1.25rem; flex-wrap: wrap; padding: 0.3rem 1rem; } .dt-container-tailwind .dt-toolbar-top { border-bottom: 1px solid #dbe4f0; background: #fff; } .dt-container-tailwind .dt-toolbar-bottom { border-top: 1px solid #dbe4f0; background: #fff; } .dt-container-tailwind .dataTables_length, .dt-container-tailwind .dataTables_filter, .dt-container-tailwind .dataTables_info, .dt-container-tailwind .dataTables_paginate { margin: 0; padding: 0; } .dt-container-tailwind .dataTables_length, .dt-container-tailwind .dataTables_info { flex: 0 1 auto; } .dt-container-tailwind .dataTables_filter, .dt-container-tailwind .dataTables_paginate { margin-left: auto; } .dt-container-tailwind .dataTables_length label, .dt-container-tailwind .dataTables_filter label { display: flex; align-items: center; gap: .65rem; margin: 0; color: #475569; font-size: .95rem; font-weight: 500; line-height: 1.2; } .dt-container-tailwind .dataTables_length .dt-toolbar-label, .dt-container-tailwind .dataTables_filter .dt-toolbar-label { color: #475569; font-size: .95rem; font-weight: 500; white-space: nowrap; } .dt-container-tailwind .dataTables_length select, .dt-container-tailwind .dataTables_filter input { height: 2.35rem; margin: 0; border: 1px solid #cbd5e1; border-radius: .35rem; background: #fff; color: #0f172a; box-shadow: none; outline: none; transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease; } .dt-container-tailwind .dataTables_length select { min-width: 3.25rem; padding: .4rem 1.9rem .4rem .55rem; font-size: .95rem; } .dt-container-tailwind .dataTables_filter input { width: min(100%, 16rem); min-width: 14rem; padding: .5rem .75rem; font-size: .92rem; } .dt-container-tailwind .dataTables_length select:focus, .dt-container-tailwind .dataTables_filter input:focus { border-color: #7dd3fc; box-shadow: 0 0 0 3px rgba(125, 211, 252, .22); } .dt-container-tailwind .dataTables_filter input::placeholder { color: #94a3b8; } .dt-container-tailwind .dataTables_info { color: #475569; font-size: .95rem; font-weight: 500; } .dt-container-tailwind .dataTables_processing { border: 1px solid #cbd5e1; border-radius: .75rem; background: #fff; color: #0f172a; box-shadow: 0 10px 25px rgba(15, 23, 42, .08); } .dt-container-tailwind table.dataTable thead th, .dt-container-tailwind table.dataTable thead td, .dt-container-tailwind table.dataTable.no-footer { border-bottom: 0 !important; } @media (max-width: 991.98px) { .dt-container-tailwind .dt-toolbar-top, .dt-container-tailwind .dt-toolbar-bottom { align-items: flex-start; } .dt-container-tailwind .dataTables_filter { margin-left: 0; } } @media (max-width: 767.98px) { .dt-container-tailwind .dt-toolbar-top, .dt-container-tailwind .dt-toolbar-bottom { flex-direction: column; align-items: stretch; } .dt-container-tailwind .dataTables_length, .dt-container-tailwind .dataTables_filter, .dt-container-tailwind .dataTables_info, .dt-container-tailwind .dataTables_paginate { width: 100%; } .dt-container-tailwind .dataTables_length label, .dt-container-tailwind .dataTables_filter label { width: 100%; justify-content: space-between; flex-wrap: wrap; } .dt-container-tailwind .dataTables_filter input { width: 100%; min-width: 100%; } .dt-container-tailwind .dataTables_info { text-align: center; } } /* ========================= DATATABLES 2 — PAGINAÇÃO ========================= */ .dt-container-tailwind .dt-layout-row:last-child { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 1rem !important; padding: 14px 16px !important; border-top: 1px solid #cbd5e1 !important; background: #fff !important; flex-wrap: wrap !important; } .dt-container-tailwind .dt-layout-row:last-child .dt-layout-start, .dt-container-tailwind .dt-layout-row:last-child .dt-layout-end { display: flex !important; align-items: center !important; } .dt-container-tailwind .dt-info { margin: 0 !important; padding: 0 !important; font-size: 0.875rem !important; line-height: 1.25rem !important; color: #334e7d !important; white-space: nowrap !important; } .dt-container-tailwind .dt-paging { margin: 0 !important; } .dt-container-tailwind .dt-paging nav { display: flex !important; align-items: center !important; justify-content: flex-end !important; flex-wrap: wrap !important; gap: 0.375rem !important; } .dt-container-tailwind .dt-paging .dt-paging-button, .dt-container-tailwind .dt-paging button.dt-paging-button { min-width: 32px !important; width: 32px !important; height: 32px !important; padding: 0 !important; margin: 0 !important; border-radius: 2px !important; border: 1px solid #c7d6ea !important; background: #ffffff !important; color: #355b95 !important; font-size: 0.875rem !important; font-weight: 600 !important; line-height: 1 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; box-shadow: none !important; transition: background-color .18s ease, border-color .18s ease, color .18s ease !important; } .dt-container-tailwind .dt-paging .dt-paging-button:hover, .dt-container-tailwind .dt-paging button.dt-paging-button:hover { background: #eff6ff !important; border-color: #c7d6ea !important; color: #244b87 !important; } .dt-container-tailwind .dt-paging .dt-paging-button.current, .dt-container-tailwind .dt-paging button.dt-paging-button.current { border-color: #2f5eb7 !important; background: #2f5eb7 !important; color: #ffffff !important; font-weight: 700 !important; } .dt-container-tailwind .dt-paging .dt-paging-button.disabled, .dt-container-tailwind .dt-paging button.dt-paging-button.disabled { opacity: .45 !important; cursor: not-allowed !important; background: #ffffff !important; color: #8fa5c6 !important; } .dt-container-tailwind .dt-paging span.ellipsis { min-width: 32px !important; height: 32px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; color: #7c93b7 !important; font-size: 0.875rem !important; font-weight: 700 !important; margin: 0 !important; } @media (max-width: 767.98px) { .dt-container-tailwind .dt-layout-row:last-child { flex-direction: column !important; align-items: stretch !important; } .dt-container-tailwind .dt-layout-row:last-child .dt-layout-start { justify-content: center !important; } .dt-container-tailwind .dt-layout-row:last-child .dt-layout-end { justify-content: center !important; } } .service-card-tile { width: 44%; aspect-ratio: 1/1; display: grid; place-items: center; border-radius: 0.6rem; background: var(--tile-bg, #f1f5fa); border: 1px solid var(--tile-border, #dbeafe); margin-bottom: 0.3rem; transition: background 0.18s, border 0.18s, transform 0.13s, box-shadow 0.15s; box-shadow: 0 2px 6px 0 rgba(34, 71, 171, 0.04); will-change: background, border, box-shadow, transform; } .service-card-tile img { width: 80%; height: 80%; object-fit: contain; transition: filter 0.15s; pointer-events: none; user-select: none; } .group:hover .service-card-tile { --tile-bg: #4b72b2; --tile-border: #4182da; box-shadow: 0 4px 12px 0 rgba(34, 71, 171, 0.10); transform: scale(1.035); } .group:hover .service-card-tile img { filter: brightness(0) invert(1); } .service-card-cta { opacity: 0; transform: translateY(5px); transition: opacity 0.14s, transform 0.14s; font-size: 11px; letter-spacing: 0.01em; } .group:hover .service-card-cta { opacity: 1; transform: translateY(0); } .scroll-soft { overflow: auto; scrollbar-width: none; -ms-overflow-style: none; } .scroll-soft::-webkit-scrollbar { width: 0; height: 0; } .scroll-soft:hover { scrollbar-width: thin; } .scroll-soft:hover::-webkit-scrollbar { width: 8px; height: 8px; } .scroll-soft:hover::-webkit-scrollbar-track { background: #edf4f7; border-radius: 999px; } .scroll-soft:hover::-webkit-scrollbar-thumb { background: #b8cdd8; border-radius: 999px; } .scroll-soft:hover::-webkit-scrollbar-thumb:hover { background: #97b7c6; }