@page {
  size: A4;
  margin: 0;
}

@media print {

  body {
    margin: 0 auto;
    line-height: 1em;
    word-spacing: 1px;
    letter-spacing: 0.2px;
    font: 14px "Times New Roman", Times, serif;
    background: white;
    color: black;
    width: 100%;
    float: none;
  }

  .col-sm-1,
  .col-sm-2,
  .col-sm-3,
  .col-sm-4,
  .col-sm-5,
  .col-sm-6,
  .col-sm-7,
  .col-sm-8,
  .col-sm-9,
  .col-sm-10,
  .col-sm-11,
  .col-sm-12 {
    float: left;
  }

  .col-sm-12 {
    width: 100%;
  }

  .col-sm-11 {
    width: 91.66666667%;
  }

  .col-sm-10 {
    width: 83.33333333%;
  }

  .col-sm-9 {
    width: 75%;
  }

  .col-sm-8 {
    width: 66.66666667%;
  }

  .col-sm-7 {
    width: 58.33333333%;
  }

  .col-sm-6 {
    width: 50%;
  }

  .col-sm-5 {
    width: 41.66666667%;
  }

  .col-sm-4 {
    width: 33.33333333%;
  }

  .col-sm-3 {
    width: 25%;
  }

  .col-sm-2 {
    width: 16.66666667%;
  }

  .col-sm-1 {
    width: 8.33333333%;
  }

  .col-sm-pull-12 {
    right: 100%;
  }

  .col-sm-pull-11 {
    right: 91.66666667%;
  }

  .col-sm-pull-10 {
    right: 83.33333333%;
  }

  .col-sm-pull-9 {
    right: 75%;
  }

  .col-sm-pull-8 {
    right: 66.66666667%;
  }

  .col-sm-pull-7 {
    right: 58.33333333%;
  }

  .col-sm-pull-6 {
    right: 50%;
  }

  .col-sm-pull-5 {
    right: 41.66666667%;
  }

  .col-sm-pull-4 {
    right: 33.33333333%;
  }

  .col-sm-pull-3 {
    right: 25%;
  }

  .col-sm-pull-2 {
    right: 16.66666667%;
  }

  .col-sm-pull-1 {
    right: 8.33333333%;
  }

  .col-sm-pull-0 {
    right: auto;
  }

  .col-sm-push-12 {
    left: 100%;
  }

  .col-sm-push-11 {
    left: 91.66666667%;
  }

  .col-sm-push-10 {
    left: 83.33333333%;
  }

  .col-sm-push-9 {
    left: 75%;
  }

  .col-sm-push-8 {
    left: 66.66666667%;
  }

  .col-sm-push-7 {
    left: 58.33333333%;
  }

  .col-sm-push-6 {
    left: 50%;
  }

  .col-sm-push-5 {
    left: 41.66666667%;
  }

  .col-sm-push-4 {
    left: 33.33333333%;
  }

  .col-sm-push-3 {
    left: 25%;
  }

  .col-sm-push-2 {
    left: 16.66666667%;
  }

  .col-sm-push-1 {
    left: 8.33333333%;
  }

  .col-sm-push-0 {
    left: auto;
  }

  .col-sm-offset-12 {
    margin-left: 100%;
  }

  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }

  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }

  .col-sm-offset-9 {
    margin-left: 75%;
  }

  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }

  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }

  .col-sm-offset-6 {
    margin-left: 50%;
  }

  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }

  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }

  .col-sm-offset-3 {
    margin-left: 25%;
  }

  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }

  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }

  .col-sm-offset-0 {
    margin-left: 0%;
  }

  .visible-xs {
    display: none !important;
  }

  .hidden-xs {
    display: block !important;
  }

  table.hidden-xs {
    display: table;
  }

  tr.hidden-xs {
    display: table-row !important;
  }

  th.hidden-xs,
  td.hidden-xs {
    display: table-cell !important;
  }

  .hidden-xs.hidden-print {
    display: none !important;
  }

  .printOnly {
    display: block;
  }

  .hidden-sm {
    display: none !important;
  }

  .visible-sm {
    display: block !important;
  }

  table.visible-sm {
    display: table;
  }

  tr.visible-sm {
    display: table-row !important;
  }

  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }

  .print-sideAdminPageWrapper {
    width: 100% !important;
  }

  .print-noMargin {
    margin: 0px !important;

  }

  .printViewNone {
    display: none !important;
  }

  .hidden-print {
    display: none !important;
  }

  /* Table print styles */
  table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 20px;
  }

  table th,
  table td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
  }

  table th {
    background-color: #f5f5f5;
    font-weight: bold;
  }

  /* ViewReservation specific print styles */
  .print-reservation-container .print-table-container {
    border: 2px solid #000 !important;
    border-top: 2px solid #000 !important;
    border-bottom: 2px solid #000 !important;
    border-left: 2px solid #000 !important;
    border-right: 2px solid #000 !important;
    margin-bottom: 20px !important;
    page-break-inside: avoid;
    box-sizing: border-box !important;
  }

  .print-reservation-container .print-table-header {
    background-color: #e8e8e8 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
    border-bottom: 2px solid #000 !important;
    padding: 12px 16px !important;
  }

  .print-reservation-container .print-table-row {
    border-top: 2px solid #000 !important;
    padding: 8px 16px !important;
    box-sizing: border-box !important;
  }

  .print-reservation-container .print-table-body {
    padding: 0 !important;
  }

  /* Force borders on all child elements */
  .print-reservation-container * {
    box-sizing: border-box !important;
  }

  .print-reservation-container .print-details-grid {
    margin-top: 20px !important;
  }

  @-moz-document url-prefix() {
    .receiptPanelPrint {
      border: 2px solid #ddd !important;
    }

    .borderPrint {
      border-top: 2px solid #ccc !important;
    }
  }
}