*{
    margin: 0;
    padding: 0;
}

body{
    padding: 20px;
}

table {
    width: 100%;
    margin-bottom: 10px;
}
.logo {
    text-align: center;
    vertical-align: top;
}

.logo img {
    width: 100%;
}

.info-empresa {
    text-align: center;
    vertical-align: top;
}
.info-detalle {
    text-align: right;
    vertical-align: top;
}

#container-info TABLE {
    margin-bottom:0px;
}

#detalle-factura {
    border:0.50mm solid #000;
    border-radius:2mm;
    padding:0mm;
    margin-right:3mm;
    margin-left:3mm;
    margin-top:2mm;
}
#detalle-factura TABLE {
    margin-bottom:0px;
}
#detalle-factura TABLE THEAD TR TH {
    background-color: #b3b3b3;
    font-size: 2.5mm;
    line-height: 2.9mm;
    border-right:0.25mm solid #000;
}
#detalle-factura TABLE TBODY TR TD {
    font-size: 3.0mm;
    line-height: 3.8mm;
    border-right:0.25mm solid #000;
    padding-left:1mm;
    padding-right:1mm;
}

#anotacion_qr {
    padding:0mm;
    width:174mm;
    font-size:2.8mm;
    height:24mm;
    vertical-align:top;
}
#observaciones {
    position:absolute;
    left:6mm;    
    height:28mm;
    width:173mm;
    border:0.50mm solid #000;
    border-radius:2mm;
    padding:1mm;
}

#qrimage {
    vertical-align:top;
    width:28mm;
    text-align:center;    
    font-size: 2mm;
    text-align:center;
    font-weight:bold;
    padding:0px;
}

#certificador {
    position:absolute;
    margin-top:32mm;
    margin-right:37mm;
    width:100%;
    font-size:2.8mm;
    text-align:right;
}

#por_divemosa {
    position:absolute;
    width:90mm;
    font-size: 3mm;
    line-height: 5mm;
    text-align:center;
    font-weight:bold;
    border-top: 0.25mm solid #000;
    padding:0px;
    top: 258mm;
    right:5mm;
}
#firma_sello {
    position:absolute;
    width:90mm;
    font-size: 3mm;
    line-height: 5mm;
    text-align:center;
    font-weight:bold;
    border-top: 0.25mm solid #000;
    padding:0px;
    top: 258mm;
    left:5mm;
}
#firma_nombre {
    position:absolute;
    width:90mm;
    font-size: 2.5mm;
    line-height: 2.5mm;
    text-align:left;
    border-bottom: 0.25mm dotted #000;
    padding:0px;
    top: 264mm;
    left:5mm;
}
#firma_dpi {
    position:absolute;
    width:90mm;
    font-size: 2.5mm;
    line-height: 2.5mm;
    text-align:left;
    border-bottom: 0.25mm dotted #000;
    padding:0px;
    top: 270mm;
    left:5mm;
}
#hoja {
    position:absolute;
    width:90mm;
    font-size: 3mm;
    line-height: 5mm;
    text-align:right;
    padding:0px;
    top: 270mm;
    right:5mm;
    color:#f00;
}

#abonos {
    width:55mm;
    vertical-align:top;
}
#texto_abonos {
    font-size:2.5mm;
}
/*
.info-detalle {
    border-radius: 3mm / 3mm;
}
.info-detalle h4 {
    font-size: 12px;
    text-align: center;
    padding: 3px;
    margin-bottom: 5px;
}

.info-detalle p {
    padding: 0px 4px 5px;
}
.title{
    text-align: center;
    padding: 10px;
    font-size: 16px;
}
#container-info{
    font-size: 14px;
    padding: 15px;
    border:1mm dashed #220044;
    background-color: #f0f2ff;
    border-radius: 3mm / 3mm;
    background-clip: border-box;
}
#container-info strong{
    width: 75px;
    display: inline-block;
}
#container-info p{
    display: inline-block;
}

#container-producto, tr, th{
    margin: 0 auto;
    border-top: 1px solid black;
    border-collapse: collapse;
}

table, th, td{
    font-size: 14px;
}
#container-producto thead th{
    background-color: #f0f2ff;
    padding: 5px;
}
#container-producto tbody td{
    padding: 5px;
}
#container-producto tr:nth-child(even){
    background: #ededed;
}

.total{
    font-weight: bold;
    font-size: 15px;
}

.text-right{
    text-align: right;
}
.text-success{
    color: green;
}
.text-danger{
    color: red;
}
.text-left{
    text-align: left;
}
.text-center{
    text-align: center;
}
.mensaje{
    color: rgb(0, 4, 255);
    margin-top: 10px;
    font-size: 13px;
    text-align: center;
}*/

#container-info-header {
    margin-top:-21mm;
}
#container-numero_recibo {
    margin-left:126mm;
    margin-bottom:1mm;
    font-size:4mm;
    font-weight:bold;
}

#container-info {
    border:0.50mm solid #000;
    border-radius:2mm;
    border-top-right-radius:0mm;
    padding:2mm;
    clear: both;
}

#container-fecha_recibo {
    float:right;
    margin-right:3mm;
    border:0.50mm solid #000;
    border-bottom:0px;
    border-radius:2mm;
    border-bottom-left-radius:0mm;
    border-bottom-right-radius:0mm;
    width:80mm;
}

#container-fecha_recibo TABLE TR TD {
    font-size:4mm;
    text-align:center;
    padding-top:1mm;
    padding-bottom:1mm;
    line-height:5mm;
}
#container-info TABLE {
    font-size:3.2mm;
}
#container-info TABLE TH {
    text-align: left;
}