:root {
  --blue-deep: #1f497d;
  --green-lime: #88ac56;
  --blue-sky: #007eac;
  --blue-pale: #c0dfeb;
  --green-pale: #e4ecd3;
  --gray-light: #d9d9d9;
}

@page {
  size: A4; /* Define a folha como tamanho A4 */
  margin-top: 65mm;
  margin-bottom: 20mm;
}

@media print {
  .page-break {
    page-break-before: always; /* Força a quebra antes do próximo bloco */
    padding-top: 67mm;
  }
  
  /* Estilização para garantir que o conteúdo de cada bloco não ultrapasse a página */
  .sublist {
    page-break-inside: avoid;
    break-inside: avoid; /* Para navegadores que suportam esta propriedade */
  }
}

.page-number{
  background: var(--green-lime);
  color: #fff;
  height: 82px;
  width: 82px;
  font-size: 16px !important;
  position: absolute;
  right: 0;
}

body {
  font-family: Arial, sans-serif; /* Fonte Arial */
  font-size: 16px !important; /* Tamanho da fonte 12pt */
  margin: 0; /* Remove as margens padrão do navegador */
  line-height: 1.5;
  counter-reset: section;
}

.container-fluid.contract{
  padding: 0px !important;
}

/* .print-page {
  width: 100%;
  height: 297mm;
  box-sizing: border-box;
  padding: 20mm; 
} */

table {
  width: 100%;
  border-collapse: collapse;
  font-family: Arial, sans-serif; /* Fonte Arial para o conteúdo da tabela */
  font-size: 12pt; /* Tamanho da fonte 12pt */
}

.print-page {
  background: #ffffff !important;
  color: #000000 !important; }
  .print-page .page-wrapper {
    background: #ffffff !important; }
  .print-page .docs-main-wrapper {
    color: #000000 !important; }
    .print-page .docs-main-wrapper .text-muted {
      color: #000000 !important; }
  .print-page body {
    background: #ffffff !important; }
    .print-page body .topbar,
    .print-page body .page-titles,
    .print-page body .doc-footer-actions-container,
    .print-page body #nprogress,
    .print-page body .left-sidebar {
      display: none; }
    .print-page body .page-wrapper {
      margin-left: 0px;
      padding-top: 0px; }
    .print-page body .box-shadow {
      box-shadow: none !important;
      -webkit-box-shadow: none !important;
      -moz-box-shadow: none !important; }
    .print-page body .print-float-left {
      float: left; }
    .print-page body .print-float-right {
      float: left; }
    .print-page body .loading {
      display: none !important; }

      
.print-page.service-title{
  color: #ffffff !important;
  background-color: var(--green-lime) !important;
  padding: 10px 5px !important;
  font-weight: 700 !important;
  text-align: center;
}

.docs-main-wrapper{
  margin-top: 0px !important;
  position: relative;
}

.custom-title {
  background-color: var(--green-pale);
  color: #000;
  padding: 3px;
  display: block;
  font-size: 16px;
}

.custom-title2 {
  background-color: var(--gray-light);
  color: var(--green-lime);
  padding: 3px;
  display: block;
  font-size: 16px;
}

.custom-title3 {
  background-color: var(--gray-light);
  color: var(--green-lime);
  padding: 3px;
  display: block;
  font-size: 16px;
  width: 60%;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  margin-left: -20mm;
  padding-left: 30px;
}

.data-proposta{
  display: flex; 
  justify-content:end; 
  color: #000; 
  font-weight: 600;
  margin-bottom:40px;
  padding-top: 20px;
  padding-right: 15px;
  font-size: 18px;
}

.proposta-comercial{
  color: #ffffff;
  background-color: var(--green-lime) !important;
  font-size: 42px;
  font-weight: 700;
  text-align: center;
  width: 100%;
  margin-top: 70px;
  padding: 8px;
}

.titulo-contrato{
  color: var(--blue-deep);
  text-align: center;
  font-size: 56px;
  font-weight: 700;
}

.subtitulo-contrato{
  color: var(--blue-deep);
  text-align: center;
  font-size: 36px;
  font-weight: 700;
}

.nome-cliente{
  color: var(--blue-deep);
  text-align: center;
  font-size: 56px;
  font-weight: 700;
}

.doc-cliente{
  color: var(--blue-deep);
  text-align: center;
  font-size: 36px;
  margin-top: 100px;
  font-weight: 700;
}

.valores-title{
  background: var(--blue-deep) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  padding: 8px;
  margin-bottom: 30px;
}
.proposta-title{
  background: #fae901 !important;
  color: #000 !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  margin-bottom: 0px;

}

.service-table{
  text-align: left;
}

.service-table th{
  background: var(--blue-deep);
  color: #ffffff;
  font-weight: 700;
  font-size: 21px;
  text-align: center;
  text-transform: uppercase;
}
.service-table tr{
  font-size: 13px;
}

.price-title{
  background: rgb(0, 82, 0);
  color: #fff;
  padding: 8px;
  border-radius: 8px;
  width: 55%;
  font-weight: 600;
  margin-bottom: 15px;
}

.price-list{
  background: var(--green-pale);
  padding: 8px;
  border-radius: 8px;
  width: 55%;
}

.colaboradores{
  color: #000;
  font-weight: 600;
}

.valor-total{
  color: #000;
  font-weight: 600;

}

.contratada-contratante{
  border-bottom: 0.5px solid #6AA62E;
   color: #6AA62E !important;
   font-weight: 600;
   font-size: 26px;
}

.contratada-contratante .sl-icon-user{
   color: var(--blue-deep) !important;
   font-size: 35px;
}

.client-contract{
  font-weight: 600;
  color: #000 !important;
  font-size: 20px;
}
.dados-client-contract{
  font-size: 18px;
  color: #000 !important;
}

.print-page .contratada-contratante{
  border-bottom: 0.5px solid #6AA62E; color: #6AA62E;font-weight: 600;font-size: 26px;
}

.print-page .client-contract{
  font-weight: 600;
  color: #000;
  font-size: 20px;
}

.print-page .dados-client-contract{
  font-size: 18px;
}



      h5{
        text-align: center;
  background-color: #6AA62E;
  color: #f7f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  padding: 10px;
      }

      .docs-main-wrapper .doc-body {
        padding: 5px 20mm 5px 20mm !important;
        min-height: 350px;
        line-height: 1.5;
        font-size: 16px !important;
        text-align: justify !important;
        font-weight: 400;
        color: black;
        /* margin-top: 120mm; */
    }

    .docs-main-wrapper .doc-body.proposal-page {
      padding: 0px 10mm 10px 10mm !important;
      min-height: 350px;
      line-height: 1.5;
      font-size: 16px !important;
      text-align: justify !important;
      font-weight: 400;
      color: black;
      /* margin-top: 120mm; */
  }

    .docs-main-wrapper h5, .docs-main-wrapper h5 {
      color: #ffffff;
  }

  .print-page.hero-header-wrapper{
    margin-top: 200px;
  }
  

  .hero-header-wrapper {
    position: relative;
    min-height: 100vh; /* Garante que ocupe toda a altura da tela */
    vertical-align: middle;
    z-index: 1; /* Garante que o conteúdo da div esteja acima do fundo */
}

@media print{
  .hero-header-wrapper {
      z-index: 2000; /* Garante que o conteúdo da div esteja acima do fundo */
  }
}

.hero-header-wrapper.contract::before {
    content: "";
    position: absolute;
    top: 20px;
    right: 0;
    width: 40px; /* Largura da faixa */
    height: 95%; /* Altura total da página/viewport */
    background-color: var(--green-pale); /* Cor verde da faixa */
    z-index: 101; /* Garante que a faixa fique atrás do conteúdo */
    display: block; /* Garante que o pseudo-elemento seja exibido */
    border-top-left-radius: 70px;
    border-bottom-left-radius: 70px;
}

.docs-main-wrapper .doc-hero-header .main-title {
  font-size: 32px;
  color: #556f83;
  font-weight: 500;
  padding-bottom: 10px;
  padding-top: 20px;
  text-transform: none;
  text-align: center;
  padding-left: 200px;
  padding-right: 200px;
}

.docs-main-wrapper .doc-to-by-container {
margin-top: 120px;
padding-left: 47px;
padding-right: 47px;
margin-bottom: 270px;
}

/* @media print { */

    p {
      margin-top: 0;
      margin-bottom: 0.5rem;
  }

    .print-page.pagebreak {
        clear: both;
        page-break-after: always;
    }

    .print-page.pagebreak-top-margin {
      padding-top: 25mm; /* Ou o valor que preferir */
    }

    .proposal-page .print-page.pagebreak-top-margin {
      padding-top: 67mm; /* Ou o valor que preferir */
    }

    .doc-body{
       margin-top: 30mm;
    }

    .doc-body.proposal-page{
      margin-top: 0px !important;
   }

    /* .hero-header-wrapper {
        margin-top: 200px;
        height: 450px;
    } */
    .data-proposta{
      margin-top: 65mm;
    }

    .print-page.service-title{
        color: #ffffff !important;
        background-color: var(--green-lime) !important;
        padding: 10px 5px !important;
        font-weight: 700 !important;
        text-align: center;
    }

    .print-page.pageheader {
      min-height: 65mm;
      width: 100%;
      background: url('/public/images/header-bg.jpg') no-repeat !important;
      background-size: 100% 100% !important;
      padding: 15px; 
      /* margin-bottom: 15mm; */
      position: absolute; 
      top: -67mm; 
      left: 0px; 
      right: 0px;
      display: block;
      z-index: 1;

    }

    @media print{
      .print-page.pageheader {
        top: 0px; 
        position: fixed;   
        z-index: 2000;
      }
    }

    .print-page .header-bg {
      position: absolute; left: 10%; top:65%; transform: translateY(-50%);
    }


    .print-page.pageheader-contract {
      position: absolute; /* Agora o elemento está fixo */
      top: 0;
      left: 0;
      width: 100%; /* A largura do elemento continua 100% */
      min-height: 60mm;
      padding: 15px;
      margin-bottom: 15mm;
      z-index: 1; /* Garantindo que o cabeçalho esteja no topo de outros elementos */
  }

  @media print{
    .print-page.pageheader-contract {
      z-index: 1000; /* Garantindo que o cabeçalho esteja no topo de outros elementos */
  }
  }
  
  .print-page.pageheader-contract::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 68%; /* Largura de 70% para o fundo */
      height: 100%;
      background: var(--green-pale) !important;
      border-bottom-right-radius: 50px; /* Aplicando o border-radius no canto inferior direito */
      z-index: -1; /* Certificando-se de que o fundo fique atrás do conteúdo */
      -webkit-box-shadow: 0px 4px 5px 0px rgba(122,122,122,1);
      -moz-box-shadow: 0px 4px 5px 0px rgba(122,122,122,1);
      box-shadow: 0px 4px 5px 0px rgba(122,122,122,1);
  }

  .print-page.sub-pageheader-contract {
    position: fixed; /* Agora o elemento está fixo */
    top: 0;
    left: 0;
    width: 100%; /* A largura do elemento continua 100% */
    min-height: 20mm;
    padding: 15px;
    margin-bottom: 15mm;
    background-color: transparent !important;
    z-index: 100; /* Garantindo que o cabeçalho esteja no topo de outros elementos */
}

.print-page.sub-pageheader-contract::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 50%; /* Largura de 70% para o fundo */
    height: 100%;
    background: var(--green-pale) !important;
    border-bottom-right-radius: 50px; /* Aplicando o border-radius no canto inferior direito */
    z-index: -1; /* Certificando-se de que o fundo fique atrás do conteúdo */
}

@media print {
  /* Ocultar o cabeçalho na primeira página */
  .print-page.sub-pageheader-contract {
      display: none;
  }

  body *:nth-of-type(n+2) .print-page.sub-pageheader-contract {
      display: block !important;
  }
}
  
  .section-titulo-contrato{
    display: grid; 
    align-items:center; 
    flex-wrap:wrap; 
    height:450px;
    padding-top: 90mm;
  }
  
  .print-page .header-logo-contract {
    position: absolute; right: 5%; top: 50%; transform: translateY(-50%);
  }
  
  .sub-pageheader-logo-contract{
    position: absolute; right: 15%; top: 85%; transform: translateY(-50%);
  }

    .print-page .header-logo{
      height: 22mm;
    }

    .pagefooter {
      background: linear-gradient(to top, #0C70AE, #2698df, rgb(230, 230, 230)) !important;
      font-weight: 600;
      color: #000000 !important;
      display: flex;
      justify-content: space-around;
      align-items: center;
      padding: 10px 30px;
      position: fixed; 
      bottom: 0px; 
      left: 0px; 
      right: 0px; 
      height: 80px;
      z-index: 1;
    }

    .pagefooter-contract {
      margin-top: auto;
      font-weight: 600;
      color: #000000 !important;
      display: flex;
      justify-content: space-around;
      align-items: center;
      padding: 10px 30px 10px 60px;
      position: absolute; /* Absoluto dentro da primeira página */
      left: 0px;
      right: 0px;
      height: 115px;
      z-index: -1;
      width: 100%; /* Garante que ocupe toda a largura da página */
  }
  
  .pagefooter-contract::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 70%; /* Ajusta a largura do fundo */
      height: 100%;
      background: var(--green-pale) !important;
      border-top-right-radius: 50px; /* Aplicando border-radius */
      z-index: -1;
      -webkit-box-shadow: 0px -3px 5px 0px rgba(122,122,122,1);
      -moz-box-shadow: 0px -3px 5px 0px rgba(122,122,122,1);
      box-shadow: 0px -3px 5px 0px rgba(122,122,122,1);
  }

  .sub-pagefooter-contract {
    margin-top: auto;
    font-weight: 600;
    color: var(--green-lime) !important;
    justify-content: space-around;
    align-items: center;
    padding: 10px 30px 10px 60px;
    position: fixed; /* Absoluto dentro da primeira página */
    left: 0px;
    right: 0px;
    bottom: 0px;
    height: 15mm;
    z-index: 1;
    width: 100%; /* Garante que ocupe toda a largura da página */
}

.sub-pagefooter-contract::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 50%; /* Ajusta a largura do fundo */
  height: 100%;
  background: var(--green-pale) !important;
  border-top-left-radius: 50px; /* Aplicando border-radius */
  z-index: -1;
}
  
      
    .pagefooter span {
        margin-right: 10px;
    }
/* } */

/* .doc-body table td{
  border: 1px solid #9f9f9f;
} */
.doc-body.contract-page table {
  border-collapse: separate !important; /* Isso é necessário para permitir o border-radius nas células */
}

.doc-body.contract-page table td {
  border: 1px solid #9f9f9f !important;
  border-radius: 15px !important;
  margin-bottom: 5px !important;
  padding: 10px; /* Adiciona algum preenchimento interno para as células */
}

.doc-body.proposal-page table td {
  border: 1px solid #9f9f9f !important;
}


.text-red{
  color: red;
} 
.text-bold{
  font-weight: 600;
}
/* .print-page #doc-signatures-container{
  display: none;
} */

ul{
  line-height: 1.4 !important;
}


.equal-columns {
  width: 100%; /* Garante que a tabela ocupe 100% do espaço */
  /* table-layout: fixed;  */
}

.equal-columns td:first-child {
  width: 70%; /* Define que a primeira coluna ocupa 70% da largura da tabela */
}

.equal-columns td:last-child {
  width: 30%; /* Define que a última coluna ocupa 30% da largura da tabela */
}

.equal-columns td {
  border: 1px solid #000; /* Apenas para visualização das colunas */
  padding: 10px; /* Espaçamento interno */
}
/*# sourceMappingURL=print.css.map */

#tabela-cipa{
  font-size: 12px;
}

#tabela-cipa td{
  height: 25px !important;
}

#tabela-cipa th{
  text-align: center;
  padding: 0px 1px;
}

.title-tabela-cipa{
  text-align: center;
  font-size: 14px !important;
  border: 1px solid #9f9f9f;
  margin: 0 !important;
  font-weight: 600 !important;
}

table ul{
  padding-inline-start: 10px !important ;
}

.topbar{
  z-index: 1000;
}

/* Estilos para a tabela com ID .table-observations */
.docs-main-wrapper .doc-body table.table-observations {
  border: none; /* Remove a borda */
  width: 100%; /* Ocupa toda a largura */
  margin-top: 20px;
}

.table-observations th.bg-blue-pale {
  background-color: var(--blue-pale) !important; /* Define a cor de fundo para o cabeçalho */
}

.docs-main-wrapper .doc-body table.table-observations th{
  border: none;
  text-transform: uppercase; /* Deixa o texto em maiúsculo */
  color: black; /* Define a cor do texto para preto */
  vertical-align: middle; /* Centraliza verticalmente o conteúdo */
  text-align: center; /* Centraliza horizontalmente */
  height: 20px !important;
  font-weight: 600;
}

.table-observations i.sl-icon-user {
  color: var(--green-lime); /* Define a cor do ícone */
  font-size: 32px; /* Define o tamanho da fonte do ícone */
  padding: 5px;
}

.table-observations th i {
  display: block; /* Coloca o ícone em uma linha separada */
  margin-bottom: 5px; /* Adiciona um espaço entre o ícone e o texto */
}

.docs-main-wrapper .doc-body table.table-observations td{
  border: none; /* Remove a borda */
  vertical-align: top;
}

.docs-main-wrapper .doc-body table.table-observations th.th-title:first-child {
  border-right: 25px solid rgb(233, 233, 233);
}

.docs-main-wrapper .doc-body table.table-observations td:first-child{
  border-right: 25px solid rgb(233, 233, 233) !important;
  border-radius: 0px !important;
}

.table-observations ul {
  list-style: none; /* Remove o estilo de lista padrão */
  padding-left: 0; /* Remove o espaçamento à esquerda */
}

.table-observations ul li::before {
  content: "✔"; /* Insere o símbolo de certo */
  color: rgb(65, 0, 0); /* Define a cor do símbolo (ajuste conforme necessário) */
  margin-right: 10px; /* Adiciona espaçamento entre o símbolo e o texto */
  font-weight: 100;
}

.table-observations ul li {
  line-height: 1.5;
  padding-bottom: 8px;
  color: #000;
}

/* .print-page.pageheader {
  display: none;
} */
.print-page.pagefooter{
  display: none;
}

.print-page.sub-pageheader-contract {
  display: none;
}
/* .print-page.sub-pagefooter-contract{
  display: none;
}  */

@media print {
  .print-page.pageheader {
    display: block;
  }
  .print-page.pagefooter{
    display: flex;
  }
  
  .print-page.sub-pageheader-contract {
    display: block;
  }

  .table-observations .bg-blue-pale {
    background-color: #c0dfeb; /* Define a cor de fundo para o cabeçalho */
  }
  
}

#tabela-cipa .docs-main-wrapper .doc-body table th, #tabela-cipa .docs-main-wrapper .doc-body table td{
  padding: 0px 1px;
  text-align: center;
}


