* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
  }
  *:before,
  *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
  }
  
  html, body {
    font-size: 12px;
    font-family: sans-serif;
  }

  p {
    margin: 0;
  }
  
  /* Classes genéricas */
  
  h1, h2, h3, h4, h5, h6 {
    margin: 0;
  }
  
  label {
    clear: both;
    overflow: hidden;
    display: block;
  }
  
  .btn {
    color: #fff;
    border-radius: 8px !important;
  }

  .btn-80 {
    min-width: 80px;
  }
  
  .font-1 {
    font-size: 12px;
  }
  .font-14 {
    font-size: 14px;
  }
  .font-16 {
    font-size: 16px;
  }
  .font-18 {
    font-size: 18px;
  }
  .font-20 {
    font-size: 20px;
  }
  
  .gen1 {
    height: auto;
    width: 1%; float: left; 
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    /*border: 1px solid transparent;*/
    padding: 5px 4px;
  }
  .gen2 {
    height: auto;
    width: 2%; float: left; 
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    /*border: 1px solid transparent;*/
    padding: 5px 4px;
  }
  .gen5 {
    height: auto;
    width: 5%; float: left; 
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    /*border: 1px solid transparent;*/
    padding: 5px 4px;
  }
  .gen10 {
    height: auto;
    width: 10%; float: left; 
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    /*border: 1px solid transparent;*/
    padding: 5px 4px;
  }
  .gen10-1 {
    height: auto;
    width: 10.53%; float: left; 
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    /*border: 1px solid transparent;*/
    padding: 5px 4px;
  }
  .gen15 {
    height: auto;
    width: 15%; float: left; 
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    /*border: 1px solid transparent;*/
    padding: 5px 4px;
  }
  .gen20 {
    height: auto;
    width: 20%; float: left; 
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    /*border: 1px solid transparent;*/
    padding: 5px 4px;
  }
  .gen25 {
    height: auto;
    width: 25%; float: left; 
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    /*border: 1px solid transparent;*/
    padding: 5px 4px;
  }
  .gen30 {
    height: auto; 
    width: 30%; float: left; 
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    /*border: 1px solid transparent;*/
    padding: 5px 4px;
  }
  .gen33 {
    height: auto; 
    width: 33.3%; float: left; 
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    /*border: 1px solid transparent;*/
    padding: 5px 4px;
  }
  .gen40 {
    height: auto;
    width: 40%; float: left; 
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    /*border: 1px solid transparent;*/
    padding: 5px 4px;
  }
  .gen45 {
    height: auto;
    width: 45%; float: left; 
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    /*border: 1px solid transparent;*/
    padding: 5px 4px;
  }
  .gen50 {
    height: auto;
    width: 50%; float: left; 
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    /*border: 1px solid transparent;*/
    padding: 5px 4px;
  }
  .gen55 {
    height: auto;
    width: 55%; float: left; 
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    /*border: 1px solid transparent;*/
    padding: 5px 4px;
  }
  .gen60 {
    height: auto;
    width: 60%; float: left; 
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    /*border: 1px solid transparent;*/
    padding: 5px 4px;
  }
  .gen66 {
    height: auto;
    width: 66.6%; float: left; 
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    /*border: 1px solid transparent;*/
    padding: 5px 4px;
  }
  .gen70 {
    height: auto;
    width: 70%; float: left; 
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    /*border: 1px solid transparent;*/
    padding: 5px 4px;
  }
  .gen80 {
    height: auto;
    width: 80%; float: left; 
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    /*border: 1px solid transparent;*/
    padding: 5px 4px;
  }
  .gen90 {
    height: auto;
    width: 90%; float: left; 
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    /*border: 1px solid transparent;*/
    padding: 5px 4px;
  }
  .gen100 {
    height: auto; 
    width: 100%; clear: both;
    overflow: hidden;
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    /*border: 1px solid transparent;*/
    padding: 0;
  }
  .gen100 > .conteudo {
      padding: 2px;
      min-height: 23px;
  }
  
  .g1 {
    height: auto;
    float: left;
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    width: 1%; 
  }
  .g2 {
    height: auto;
    float: left;
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    width: 2%; 
  }
  .g5 {
    height: auto;
    float: left;
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    width: 5%; 
  }
  .g10 {
    height: auto;
    float: left;
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    width: 10%; 
  }
  .g15 {
    height: auto;
    float: left;
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    width: 15%; 
  }
  .g20 {
    height: auto;
    float: left;
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    width: 20%; 
  }
  .g25 {
    height: auto;
    float: left;
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    width: 25%; 
  }
  .g30 {
    height: auto; 
    float: left;
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    width: 30%; 
  }
  .g33 {
    height: auto; 
    float: left;
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    width: 33.3%; 
  }
  .g40 {
    height: auto;
    float: left;
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    width: 40%; 
  }
  .g50 {
    height: auto;
    float: left;
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    width: 50%; 
  }
  .g60 {
    height: auto;
    float: left;
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    width: 60%; 
  }
  .g66 {
    height: auto;
    float: left;
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    width: 66.6%; 
  }
  .g70 {
    height: auto;
    float: left;
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    width: 70%; 
  }
  .g80 {
    height: auto;
    float: left;
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    width: 80%; 
  }
  .g90 {
    height: auto;
    float: left;
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    width: 90%; 
  }
  .g100 {
    height: auto; 
    float: left;
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
    width: 100%; clear: both;
    overflow: hidden;
  }
  
  .row2 {
      margin-right: -3px !important;
      margin-left: -3px !important;
  }
  .margin-0 {
    margin: 0 !important;
  }
  .margin-left5 {
    margin-left: 5px
  }
  .margin-left10 {
    margin-left: 10px
  }
  .margin-left15 {
    margin-left: 15px
  }
  .padding2 {
      padding: 2px;
  }
  .padding5 {
    padding: 5px;
  }
  .padding8 {
    padding: 8px;
  }
  .padding-right2 {
      padding-right: 2px;
  }
  .padding-right4 {
      padding-right: 4px;
  }
  .padding-right5 {
    padding-right: 5px;
  }
  .padding-right6 {
      padding-right: 6px;
  }
  .padding-right8 {
      padding-right: 8px;
  }
  .padding-right10 {
      padding-right: 10px;
  }
  .padding-right15 {
      padding-right: 15px;
  }
  .padding-right20 {
      padding-right: 20px;
  }
  .padding-left2 {
      padding-left: 2px;
  }
  .padding-left4 {
      padding-left: 4px;
  }
  .padding-left5 {
    padding-left: 5px;
  }
  .padding-left6 {
      padding-left: 6px;
  }
  .padding-left8 {
      padding-left: 8px;
  }
  .padding-left10 {
      padding-left: 10px;
  }
  .padding-left15 {
      padding-left: 15px;
  }
  .padding-left20 {
      padding-left: 20px;
  }
  .padding-top2 {
      padding-top: 2px;
  }
  .padding-top4 {
      padding-top: 4px;
  }
  .padding-top5 {
      padding-top: 5px;
  }
  .padding-top6 {
      padding-top: 6px;
  }
  .padding-top8 {
      padding-top: 8px;
  }
  .padding-top10 {
      padding-top: 10px;
  }
  .padding-top12 {
      padding-top: 12px;
  }
  .padding-top15 {
      padding-top: 15px;
  }
  .padding-top18 {
      padding-top: 18px;
  }
  .padding-top20 {
      padding-top: 20px;
  }
  .padding-bottom2 {
      padding-bottom: 2px;
  }
  .padding-bottom4 {
      padding-bottom: 4px;
  }
  .padding-bottom5 {
      padding-bottom: 5px;
  }
  .padding-bottom6 {
      padding-bottom: 6px;
  }
  .padding-bottom8 {
      padding-bottom: 8px;
  }
  .padding-bottom10 {
      padding-bottom: 10px;
  }
  .padding-bottom12 {
      padding-bottom: 12px;
  }
  .padding-bottom15 {
      padding-bottom: 15px;
  }
  .padding-bottom18 {
      padding-bottom: 18px;
  }
  .padding-bottom20 {
      padding-bottom: 20px;
  }
  .top1 {
      margin-top: 1px;
  }
  .top2 {
      margin-top: 2px;
  }
  .top3 {
      margin-top: 3px;
  }
  .top2 {
      margin-top: 2px;
  }
  .top4 {
      margin-top: 4px;
  }
  .top5 {
      margin-top: 5px;
  }
  .top6 {
      margin-top: 6px;
  }
  .top8 {
      margin-top: 8px;
  }
  .top10 {
      margin-top: 10px;
  }
  .top12 {
      margin-top: 12px;
  }
  .top15 {
      margin-top: 15px;
  }
  .top18 {
      margin-top: 18px;
  }
  .top20 {
      margin-top: 20px;
  }
  .bottom2 {
      margin-bottom: 2px;
  }
  .bottom4 {
      margin-bottom: 4px;
  }
  .bottom5 {
      margin-bottom: 5px;
  }
  .bottom6 {
      margin-bottom: 6px;
  }
  .bottom8 {
      margin-bottom: 8px;
  }
  .bottom10 {
      margin-bottom: 10px;
  }
  .bottom12 {
      margin-bottom: 12px;
  }
  .bottom15 {
      margin-bottom: 15px;
  }
  .bottom18 {
      margin-bottom: 18px;
  }
  .bottom20 {
      margin-bottom: 20px;
  }
  .bg-estilo {
      background: #1D622B;
  }
  .bg-cinza {
      background: #e2e2e2;
  }
  .bg-cinza-escuro {
      background: #444;
  }
  .bg-vermelho {
      background: #B22222;
  }
  .bg-orange {
    background: #f0ad4e !important;
    color: #fff !important;
  }
  .bg-verde {
      background: #1D622B;
  }
  .bg-azul {
      background: #007FFF;
  }
  span.altura-auto {
      height: auto;
  }
  .limpar {
      clear: both;
      display: block;
  }
  .margem-0 {
      margin: 0;
  }
  .borda-0 {
      border: 0 !important;
  }
  .borda-bottom {
      border-bottom: 1px solid #000;
  }
  .borda-bottom-orange {
    border-bottom: 2px solid #f0ad4e;
  }
  .borda-bottom-cinza {
    border-bottom: 1px solid #ccc;
  }
  .borda-top {
      border-top: 1px solid #000;
  }
  .borda-right {
      border-right: 1px solid #ccc;
  }
  .borda-left {
      border-left: 1px solid #ccc;
  }
  .borda-right-black {
      border-right: 1px solid #000;
  }
  .borda-left-black {
      border-left: 1px solid #000;
  }
  .esquerda {
      float: left !important;
  }
  .direita {
      float: right !important;
  }
  .centro {
      margin: 0 auto;
      float: none;
  }
  .alinha-direita {
      text-align: right;
  }
  .alinha-esquerda {
      text-align: left;
  }
  .alinha-centro {
      text-align: center;
  }
  .bold {
      font-weight: bold;
  }
  .oculta {
      display: none;
  }
  .block {
    display: block;
  }
  .hack-direita25 {
    margin-right: -25px;
  }
  .hack-direita50 {
      margin-right: -50px;
  }
  .hack-direita100 {
      margin-right: -100px;
  }
  .hack-direita200 {
      margin-right: -200px;
  }
  .hack-esquerda15 {
    margin-left: -15px;
  }
  .hack-esquerda25 {
    margin-left: -25px;
  }
  .hack-esquerda50 {
    margin-left: -50px;
  }
  .hack-esquerda100 {
      margin-left: -100px;
  }
  .hack-esquerda200 {
      margin-left: -200px;
  }
  .hack-top1 {
    margin-top: -1px;
  }
  .hack-top2 {
    margin-top: -2px;
  }
  .hack-top5 {
    margin-top: -5px;
  }
  .hack-top10 {
    margin-top: -10px;
  }
  .hack-top12 {
    margin-top: -12px;
  }
  .hack-top15 {
    margin-top: -15px;
  }
  .branco {
      color: #fff;
  }
  .vermelho {
      color: #B22222;
  }
  .verde {
      color: green;
  }
  .azul {
      color: #007FFF;
  }
  
  .ellipsis {
    overflow: hidden;
    /* display: block; */
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  
  .no-ellipsis {
    overflow: initial;
    display: block;
    text-overflow: initial;
    white-space: normal;
  }
  
  .nowrap {
    white-space: nowrap;
  }
  
  hr.linha {
      border: 0;
      height: 0;
      margin: 0;
      border: 1px solid #000;
      background-color: black;
      /*background:transparent;*/
  }
  
  table {
      border-collapse: collapse;
  }
  
  tr > th {
      text-align: left;
      /*border-top: 1px solid #000 !important;*/
      /*border-bottom: 1px solid #000 !important;*/
      /*border-right: 1px solid #000 !important;*/
      /*border-left: 1px solid #000 !important;*/
      padding: 6px;
      vertical-align: top;
  }
  
  tbody > tr > td {
      /* max-width: 95%; */
      /* text-overflow: ellipsis; */
      overflow: hidden;
      white-space: nowrap;
      padding: 3px;
      vertical-align: top;
  }
  
  tbody > tr:first-child {
      border-top: 1px solid #000000 !important;
  }
  
  tbody > tr:last-child {
      border-bottom: 1px solid #000000 !important;
  }
  
  thead > tr:first-child {
      border-top: 1px solid #000000
  }
  
  caption {
      text-align: left;
      font-weight: bold;
      padding: 5px;
  }
  
  /* tbody > tr > th:last-child {
      border-right: 1px solid #000000 !important;
  } */
  
  .p-row {
      margin-left: -5px;
      margin-right: -5px;
  }
  
  .p-row:before, .p-row:after {
      display: table;
      content: " ";
  }
  
  .p-row:after{
      clear: both;
  }
  
  .print-group {
    width: 100%;
    margin-bottom: 15px;
    padding-left: 5px;
    padding-right: 5px;
  }
  
  .print-group > .label {
      border-bottom: 1px solid #000;
      font-weight: bold;
      margin-bottom: 5px;
      padding-bottom: 2px;
  }
  
  .print-group > .assinatura {
      border-top: 1px solid #000;
      font-weight: bold;
      /*margin-top: 5px;*/
      padding-top: 2px;
  }
  
  .row {
      padding-right:0 !important;
      padding-left:0 !important;
      margin-right: -15px;
      margin-left: -15px;
  }
  
  .row:after {
      clear: both;
  }
  
  .row:after, .row:before {
      display: table;
      content: " ";
  }
  
  .col-p-1, .col-p-2, .col-p-3, .col-p-4, .col-p-5, .col-p-6, .col-p-7, .col-p-8, .col-p-9, .col-p-10, .col-p-11, .col-p-12 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px; 
    float: left;
  }
  
  .col-p-12 {
      width: 100%;
  }
  .col-p-11 {
      width: 91.66666667%;
  }
  .col-p-10 {
      width: 83.33333333%;
  }
  .col-p-9 {
      width: 75%;
  }
  .col-p-8 {
      width: 66.66666667%;
  }
  .col-p-7 {
      width: 58.33333333%;
  }
  .col-p-6 {
      width: 50%;
  }
  .col-p-5 {
      width: 41.66666667%;
  }
  .col-p-4 {
      width: 33.33333333%;
  }
  .col-p-3 {
      width: 25%;
  }
  .col-p-2 {
      width: 16.66666667%;
  }
  .col-p-1 {
      width: 8.33333333%;
  }
  
  .col-p-offset-12 {
      margin-left: 100%;
  }
  .col-p-offset-11 {
      margin-left: 91.66666667%;
  }
  .col-p-offset-10 {
      margin-left: 83.33333333%;
  }
  .col-p-offset-9 {
      margin-left: 75%;
  }
  .col-p-offset-8 {
      margin-left: 66.66666667%;
  }
  .col-p-offset-7 {
      margin-left: 58.33333333%;
  }
  .col-p-offset-6 {
      margin-left: 50%;
  }
  .col-p-offset-5 {
      margin-left: 41.66666667%;
  }
  .col-p-offset-4 {
      margin-left: 33.33333333%;
  }
  .col-p-offset-3 {
      margin-left: 25%;
  }
  .col-p-offset-2 {
      margin-left: 16.66666667%;
  }
  .col-p-offset-1 {
      margin-left: 8.33333333%;
  }
  .col-p-offset-0 {
      margin-left: 0;
  }
  .no-padding {
      padding: 0px;
  }
  .no-margin {
      margin: 0px;
  }
  
  .box-titulo {
      border-bottom: 1px solid #000;
      margin-bottom: 10px;
  }
  
  .box-titulo > .titulo {
      /* margin-bottom: 5px; */
      font-weight: bold;
  }
  
  .box-titulo > .conteudo {
      padding: 2px;
      min-height: 23px;
  }
  
  table {
      background-color: transparent;
  }
  
  table {
      border-spacing: 0;
      border-collapse: collapse;
  }
  
  .tabela {
      table-layout: fixed;
  }
  
  .tabela {
      width: 100%;
      max-width: 100%;
      margin-bottom: 10px;
      margin-top: 10px;
  }
  
  .tabela > tbody > tr > th, .tabela > tr > th {
    overflow: hidden;
    /* display: block; */
    /* text-overflow: ellipsis; */
    white-space: nowrap;
    vertical-align: middle;
    padding: 2px 3px;
  }
  
  .tabela > tbody > tr > td, .tabela > tr > td{
      /* max-width: 95%; */
      /* text-overflow: ellipsis; */
      overflow: hidden;
      white-space: nowrap;
      padding: 2px 3px;
      vertical-align: top;
  }
  
  .tabela > tbody > tr:first-child {
      border-top: 1px solid #000000 !important;
  }
  
  /* .tabela tr:first-child {
      border-top: 1px solid #000000 !important;
      border-bottom: 1px solid #000000 !important;
  } */
  /* .tabela > tbody > tr:last-child {
      border-top: 1px solid #000000 !important;
      border-bottom: 1px solid #000000 !important;
  } */
  /* .tabela tr:last-child {
      border-top: 1px solid #000000 !important;
      border-bottom: 1px solid #000000 !important;
  } */
  
  .tabela > tfoot > tr > td {
      padding: 3px;
      /* font-weight: bold; */
  }
  
  .tabela > caption {
      text-align: left;
      font-weight: bold;
      padding: 2px 3px;
      /* border-top: 1px solid #000000 !important; */
  }
  
  .zebrado > tbody>tr:nth-child(even), .tbody>tr:nth-child(even)>th {
      background-color:#d9d9d9;
  }
  
  .tabela.sem-borda-first-bottom > tbody > tr:first-child {
      /* border-bottom: 0 !important; */
      border-top: 0 !important;
  }
  
  /* .col-t-1, .col-t-2, .col-t-3, .col-t-4, .col-t-5, .col-t-6, .col-t-7, .col-t-8, .col-t-9, .col-t-10, .col-t-11, .col-t-12 {
      position: relative;
      min-height: 1px;
      padding-right: 15px;
      padding-left: 15px;
  
  } */
  
  .col-t-12 {
      width: 100%;
  }
  .col-t-11 {
      width: 91.66666667%;
  }
  .col-t-10 {
      width: 83.33333333%;
  }
  .col-t-9 {
      width: 75%;
  }
  .col-t-8 {
      width: 66.66666667%;
  }
  .col-t-7 {
      width: 58.33333333%;
  }
  .col-t-6 {
      width: 50%;
  }
  .col-t-5 {
      width: 41.66666667%;
  }
  .col-t-4 {
      width: 33.33333333%;
  }
  .col-t-3 {
      width: 25%;
  }
  .col-t-2 {
      width: 16.66666667%;
  }
  .col-t-1 {
      width: 8.33333333%;
  }
  
  .page-break {
      page-break-after: always;
  }
  
  .page-break-row {
      page-break-inside: avoid;
      page-break-after: auto;
  }
  
  table {
      page-break-inside: auto
  }
  
  tr {
      page-break-inside: avoid;
      page-break-after: auto
  }

  .footer {
      width: 100%;
      position: static;
      bottom: 0;
  }

  .footer hr {
      border: 1px #000 solid;
      margin-bottom: 5px;
  }