:root {
  --border-width: 1.5px;
  --border-color: #000
}

* {
  box-sizing: border-box;
}

body {
  font-family: Arial, Helvetica, sans-serif;
}

table {
  border-spacing: 0;
}

@page {
  size: A4;
  margin: 5px;
}

.font-small {
  font-size: 14px;
}

.font-smaller {
  font-size: 13px;
  line-height: 16px;
}

.font-bold {
  font-weight: bold;
}

.bg-yellow {
  background-color: #f0e68c;
}

.bg-grey {
  background-color: #dadddf
}

.d-flex {
  display: flex;
}

.flex-grow {
  flex-grow: 1
}

.col-3 {
  position: relative;
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
}

.col-4 {
  position: relative;
  flex: 0 0 25%;
  max-width: 25%;
}

.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.bordered {
  border: var(--border-color) solid var(--border-width);
}

.bt-1 {
  border-top: var(--border-color) solid var(--border-width);
}

.bb-1 {
  border-bottom: var(--border-color) solid var(--border-width);
}

.br-1 {
  border-right: var(--border-color) solid var(--border-width);
}

.bl-1 {
  border-left: var(--border-color) solid var(--border-width);
}

.p-1 {
  padding: 0.5rem;
}

.w-100 {
  width: 100%;
}

.w-50 {
  width: 50%;
}

.w-30 {
  width: 30%;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.ml-auto {
  margin-left: auto;
}

@media print {
  html {
    zoom: 0.8;
  }
  table {
    box-decoration-break: clone;
  }
}
