﻿:root 
{
	--sombra-nivel-1: 1px 1px 2px rgba(0, 0, 0, 0.10);
	--sombra-nivel-2: 2px 2px 4px rgba(0, 0, 0, 0.12);
	--sombra-nivel-3: 4px 4px 8px rgba(0, 0, 0, 0.14);
	--sombra-nivel-4: 6px 6px 12px rgba(0, 0, 0, 0.16);
	--sombra-nivel-5: 8px 8px 16px rgba(0, 0, 0, 0.18);
	--sombra-nivel-6: 12px 12px 24px rgba(0, 0, 0, 0.20);
}

/* tags html */
* { outline:none; }
html { position:relative; min-height:100vh; scroll-behavior: smooth; overflow-y:scroll; }
body { padding:0; font-family: 'Manrope', sans-serif; font-optical-sizing: auto; -webkit-font-smoothing:antialiased; transition: all 0.3s ease; }
a { text-decoration:none; }
button, a { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-tap-highlight-color: transparent; -webkit-user-select: none; 
            -moz-user-select: none; -ms-user-select: none; user-select: none; font-family: 'Manrope', sans-serif; }
input, textarea { font-family: 'Manrope', sans-serif; }

/* posicionamento */
.central { max-width:1100px; margin:0 auto; }
.coluna { width:50%; box-sizing:border-box; }
.centralv2 { width: min(1220px, 90vw); margin:0 auto; }

/* exibição */
.sombra { box-shadow:0 0.3px 0.9px rgba(0,0,0,.108), 0 1.6px 3.6px rgba(0,0,0,.132); }
.flex { display:flex; }
.grid { display:grid; }
.none { display:none; }
.block { display:block; }
.justify-center { justify-content:center; }
.justify-end { justify-content:right; }
.align-center { align-items:center; }
.texto-esquerda { text-align:left !important; }
.hidden { display:none !important; }
.wrap { flex-wrap:wrap; }
.scrollY { overflow-y:scroll; }
.texto-centro { text-align:center !important; }

/* cabecalho */
h1 { font-size:45px; }
h2 { font-size:40px; }
h3 { font-size:30px; }
h4 { font-size:20px; }
h5 { font-size:18px; }
h6 { font-size:16px; }

/* botoes */
.btn { padding:12px 18px; font-weight:900; border-radius:4px; font-size:15px; text-transform:uppercase; border:none; outline:none; cursor:pointer; transition:background 0.4s; }
.btn-verde { color:#FFF; background:#55C595; }
.btn-verde:hover { background:#5fe5ab; }
.btn-cinza { color:#215273; background:#F5F5F5; }
.btn-cinza:hover { background:#ffffff; }
.btn-agua { color:#FFF; background:#359D9E; }
.btn-agua:hover { background:#328d8e; }
.btn-azul { color:#FFF; background:#215273; }
.btn-azul:hover { background:#1f4965; }
.btn:disabled { background:#dddddd !important; cursor:not-allowed !important; }
    
/* espacamento */
.pd0 { padding:0 !important; }
.pdT10 { padding-top:10px; }
.pdT20 { padding-top:20px; }
.mgB0 { margin-bottom:0; }
.mgT20 { margin-top:20px; }
.mgB20 { margin-bottom:20px; }
.mgB10 { margin-bottom:10px !important; }
.mgR20 { margin-right:20px; }

/* não permite que seja selecionavel */
.nao-selecionavel { -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none;  -ms-user-select: none; user-select: none; }
    
/* https://www.w3schools.com/howto/howto_css_responsive_iframes.asp */
.iframe-responsivo-geral { position: relative; overflow: hidden; width: 100%; padding-top: 56.25%; border:none; }
.iframe-responsivo { position: absolute; top: 0; left: 0; bottom: 0; right: 0; width: 100%; height: 100%; border:none; }

.clique-bloqueado {
  pointer-events: none;  /* bloqueia o clique */
  cursor: default;       /* opcional: troca o cursor */
}

/* USO GERAL */
@media (max-width: 940px) 
{ 
    /* cabecalho */
    h1 { font-size:40px; transition:all linear 0.3s }
    h2 { font-size:30px; transition:all linear 0.3s }
    h3 { font-size:20px; transition:all linear 0.3s }
    h4 { font-size:20px; transition:all linear 0.3s }
    h5 { font-size:18px; transition:all linear 0.3s }
    h6 { font-size:16px; transition:all linear 0.3s }
}

@media (max-width: 500px) 
{ 
    /* cabecalho */
    h1 { font-size:30px; transition:all linear 0.3s }
}

/* BARRA PROGRESSO */
.progress { position: relative; height:4px; display: block; width: 100%; background-color: #acece6; border-radius: 2px; background-clip: padding-box; margin:0; overflow: hidden; }
.progress .indeterminate { background-color: #26a69a; }
.progress .indeterminate:before { content: ''; position: absolute; background-color: inherit; top: 0; left: 0; bottom: 0; will-change: left, right; -webkit-animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; }
.progress .indeterminate:after { content: ''; position: absolute; background-color: inherit; top: 0; left: 0; bottom: 0; will-change: left, right; -webkit-animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite; animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite; -webkit-animation-delay: 1.15s; animation-delay: 1.15s; }

@-webkit-keyframes indeterminate { 0% { left: -35%; right: 100%; }  60% { left: 100%; right: -90%; } 100% { left: 100%; right: -90%; } }
@keyframes indeterminate { 0% { left: -35%; right: 100%; } 60% { left: 100%; right: -90%; } 100% { left: 100%; right: -90%; }}
@-webkit-keyframes indeterminate-short { 0% { left: -200%; right: 100%; } 60% { left: 107%; right: -8%; } 100% { left: 107%; right: -8%; }}
@keyframes indeterminate-short { 0% { left: -200%; right: 100%; } 60% { left: 107%; right: -8%; } 100% { left: 107%; right: -8%; }}

/* SPINNER */
.spin { -webkit-animation:spin 0.5s linear infinite; -moz-animation:spin 0.5s linear infinite; animation:spin 0.5s linear infinite; }
@-moz-keyframes spin { 100% { -moz-transform: rotate(360deg); } }
@-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } }
@keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }

/* VALIDACAO */
input.invalid { border:1px solid #ff0000 !important; }
textarea.invalid { border:1px solid #ff0000 !important; }
label.invalid { color:#ff0000 !important; }
.validation-message { color:#ff0000; font-size:12px; margin:5px 0 10px 0; text-align:start; }

.msg-erro { background:#FFEEEE; color:#ff0000; border:1px solid #ff0000; padding:20px; text-align:center; margin:30px; border-radius:4px; }
.msg-erro p { margin:0 !important; color:#ff0000 !important; }

.modal .msg-erro { margin:20px 0; }

/* OWL CARROUSEL */
.owl-carousel .owl-nav button.owl-next { width:30px; height:50px; position:absolute; top:50%; margin-top:-30px; right:0; font-size:50px; line-height:50px; color:#777777; outline:none; }
.owl-carousel .owl-nav button.owl-prev { width:30px; height:50px; position:absolute; top:50%; margin-top:-30px; left:0; font-size:50px; line-height:50px; color:#777777;  outline:none; }

/* USO GERAL - INTERNA */
.meio { max-width:1280px; margin-left:auto !important; margin-right:auto  !important; }

/* RECONEXÃO BLAZOR */
.my-reconnect-modal > div { position:fixed; top:0; right:0; bottom:0; left:0; z-index:1000; overflow:hidden; 
                            background-color:#fff; opacity:0.8; text-align:center; font-weight:bold; }
.components-reconnect-hide > div { display:none; }
.components-reconnect-show > div { display:none; }
.components-reconnect-show > .show { display:block; }
.components-reconnect-failed > div { display:none; }
.components-reconnect-failed > .failed { display:block; }
.components-reconnect-rejected > div { display:none; }
.components-reconnect-rejected > .rejected { display:block; }

/* BOTOES */
.btn-novo { margin-bottom: 0; text-align: center; -ms-touch-action: manipulation; touch-action: manipulation; cursor: pointer; white-space: nowrap; 
       user-select: none; text-transform: uppercase; overflow: hidden; font-size: .8rem; border-radius: 4px; border: none; padding-left: 20px; 
       padding-right: 20px; width: fit-content; gap: 5px; display: flex; justify-content: center; align-items: center; height: 40px; transition: all ease 0.2s; }
.btn-novo img { margin-left: -5px; }

.btn-primario { color: #fff; background-color: #55c595; box-shadow: 0 2px 2px 0 rgba(0,0,0,.2), inset 0 -2px 0 0 rgba(0,0,0,.2); font-weight: 600; }
.btn-primario:hover { background-color: #46a47b; color: #fff; outline: none; }
.btn-primario-outline { background-color: transparent; color: #55c595; border: 2px solid #55c595; font-weight: 600; box-shadow: none; }
.btn-primario-outline:hover { background-color: #e8f5ee; color: #428d66; border-color: #55c595; }

.btn-secundario { color: #fff; background-color: #8b8b8b; box-shadow: 0 2px 2px 0 rgba(0,0,0,.2), inset 0 -2px 0 0 rgba(0,0,0,.2); font-weight: 400; }
.btn-secundario:hover { background-color: #747474; color: #fff; outline: none; }
.btn-secundario-outline { background-color: transparent; color: #8b8b8b; border: 2px solid #8b8b8b; font-weight: 400; box-shadow: none; }
.btn-secundario-outline:hover { background-color: #f0f0f0; color: #747474; border-color: #747474; }

.btn-destaque { color: #fff; background-color: #4f748f; box-shadow: 0 2px 2px 0 rgba(0,0,0,.2), inset 0 -2px 0 0 rgba(0,0,0,.2); font-weight: 600; }
.btn-destaque:hover { background-color: #405d72; color: #fff; outline: none; }
.btn-destaque-outline { background-color: transparent; color: #4f748f; border: 2px solid #4f748f; font-weight: 600; box-shadow: none; }
.btn-destaque-outline:hover { background-color: #e6f6fb; color: #0c7a9c; border-color: #0c7a9c; }

.btn-alerta { color: #fff; background-color: #eb2c2c; box-shadow: 0 2px 2px 0 rgba(0,0,0,.2), inset 0 -2px 0 0 rgba(0,0,0,.2); font-weight: 600; }
.btn-alerta:hover { background-color: #c82323; color: #fff; outline: none; }
.btn-alerta-outline { background-color: transparent; color: #eb2c2c; border: 2px solid #eb2c2c; font-weight: 600; box-shadow: none; }
.btn-alerta-outline:hover { background-color: #ffeaea; color: #c82323; border-color: #c82323; }

.btn-impacto { color: #359d9e; background-color: #ffffff; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .2), inset 0 -2px 0 0 rgba(0, 0, 0, .05); font-weight: 600; }
.btn-impacto:hover { background-color: #e3f6f6; color: #2a7f80; outline: none; }
.btn-impacto-outline { background-color: transparent; color: #359d9e; border: 2px solid #359d9e; font-weight: 600; box-shadow: none; }
.btn-impacto-outline:hover { background-color: #e3f6f6; color: #2a7f80; border-color: #2a7f80; }

/* cartão e sombras */
.cartao { background: #FFF; border-radius: 10px; padding:30px; border:1px solid #e5e7eb; box-sizing:border-box; }
.cartao h1 { font-size:1.5rem; display:flex; align-items:center; gap:10px; margin:0; }
.cartao h2 { font-size:1.3rem; display:flex; align-items:center; gap:10px; margin:0; }
.cartao h3 { font-size:1.2rem; display:flex; align-items:center; gap:10px; margin:0; }
.cartao hr.divisor { width:calc(100% + 60px); margin-left:-30px; margin-top:20px; margin-bottom:20px; height: 1px; background-color: #e5e7eb; border: none; box-sizing:border-box; }
.cartao .acoes { width:calc(100% + 60px); margin-left:-30px; background:#f9fafb; border-top:1px solid #e5e7eb;  box-sizing:border-box; gap:20px; 
				 display:flex; align-items:center; justify-content:flex-end; padding:20px 30px; border-radius:0 0 10px 10px; margin-bottom:-30px; margin-top:30px; }

@media (max-width: 460px) { 
	.cartao .acoes { flex-direction:column-reverse; }
}
@media (max-width: 768px) 
{
	.cartao { padding:20px; overflow:hidden; }
	.cartao hr.divisor { width:calc(100% + 40px); margin-left:-20px;  margin-top:20px; margin-bottom:20px; }
    .cartao .acoes { width: calc(100% + 40px); margin-left: -20px; padding:15px 20px 30px 20px; }
	.cartao .acoes .btn-primario { margin-bottom:20px; }
}

.sombra-nivel-1 { box-shadow: var(--sombra-nivel-1); }
.sombra-nivel-2 { box-shadow: var(--sombra-nivel-2); }
.sombra-nivel-3 { box-shadow: var(--sombra-nivel-3); }
.sombra-nivel-4 { box-shadow: var(--sombra-nivel-4); }
.sombra-nivel-5 { box-shadow: var(--sombra-nivel-5); }
.sombra-nivel-6 { box-shadow: var(--sombra-nivel-6); }

.spcol-1 { grid-column: span 1; }
.spcol-2 { grid-column: span 2; }
.spcol-3 { grid-column: span 3; }
.spcol-4 { grid-column: span 4; }
.spcol-5 { grid-column: span 5; }
.spcol-6 { grid-column: span 6; }
.spcol-7 { grid-column: span 7; }
.spcol-8 { grid-column: span 8; }
.spcol-9 { grid-column: span 9; }
.spcol-10 { grid-column: span 10; }
.spcol-11 { grid-column: span 11; }
.spcol-12 { grid-column: span 12; }

.gap5 { gap:5px; }
.gap10 { gap:10px; }
.gap15 { gap:15px; }
.gap20 { gap:20px; }
.gap30 { gap:30px; }

.fs14 { font-size:14px; }

/* avisos */
.aviso { padding:15px; border-radius:10px; margin:20px 0; display:flex; flex-direction:column; gap:10px; font-size:15px; }
.aviso svg { flex-shrink:0; }
.aviso-erro { background:#ffefef; color:#ec2f2f; border:1px solid #fedddd; }
.aviso-alerta { background:#fefff3; color:#d48e12; border:1px solid #fef8dd; }
.aviso-sucesso { background:#efffef; color:#40c726; border:1px solid #ddfedd; }
.aviso p { margin:0; }


.topo-plus { background: linear-gradient(90deg, rgb(11 31 54) 0%, rgb(6 26 49) 69%, rgb(0 5 21) 100%) !important; }