/* CONSTANTS */
/* PAGE PARAMS */
/* STYLES */
html {
  font-family: "Georgia", serif;
  font-size: 10pt; }

h1,
h3 {
  font-weight: 700; }

h2,
h4,
h5,
h6 {
  font-weight: 400; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 0.25rem; }

h2,
h3,
h4,
h5,
h6,
p {
  font-size: 1rem; }

h2 {
  text-transform: uppercase; }

p {
  margin-top: 0;
  margin-bottom: 0.25rem; }

a {
  color: #000; }

ul {
  margin: 0;
  padding-inline-start: 1rem;
  list-style-type: disc; }

span {
  display: inline-block; }

.keywords {
  color: white;
  font-size: 0.1px;
  position: absolute; }

.container {
  margin: 0.5in; }

header * {
  justify-content: center;
  text-align: center; }

header address {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1rem;
  font-style: normal;
  line-height: 2rem; }

header h3 {
  font-weight: unset;
  font-style: italic; }

header a {
  --size: 1rem;
  font-size: var(--size);
  text-decoration: none;
  width: 100%; }
  header a svg {
    height: calc(var(--size) * 1.5);
    width: calc(var(--size) * 1.5);
    vertical-align: middle;
    margin-right: 0.25rem; }

main {
  display: grid;
  grid-template-columns: [left] 1fr [middle] 1fr [right];
  grid-auto-flow: row; }
  main > section {
    margin-top: 0.5rem;
    grid-column: 1 / span 2;
    display: inline-block; }
    main > section hr {
      border: 1px solid #000;
      margin-block: 0.1rem; }
    main > section section:not(:first-of-type) {
      margin-top: 0.5rem; }
  main .grid {
    display: grid; }
    main .grid .details {
      grid-column: 2; }

.marker {
  position: absolute;
  box-sizing: border-box;
  border: 1px solid red;
  top: calc(297mm - 0.25in);
  width: calc(222.7mm - 0.5in * 2); }

footer {
  margin-top: 0.5rem;
  margin-left: auto;
  margin-right: auto;
  color: #888;
  text-align: center; }
  footer section {
    margin-bottom: 0.5rem; }
  footer .icons {
    display: flex;
    justify-content: center;
    gap: 1rem 3rem;
    flex-wrap: wrap; }
    footer .icons a {
      font-size: 2rem;
      text-decoration: none; }
  footer .langs a {
    display: inline-block; }
  footer .langs a + a {
    display: inline-block;
    border-left: 2px solid #000;
    margin-left: 0.5rem;
    padding-left: 0.5rem; }

/**

A4 PRINTED

*/
@media print {
  @page {
    size: A4 portrait;
    margin: 0.25in; }
  header a {
    width: unset; }
  .container {
    margin: 0; }
  .marker {
    top: calc(-297mm - 1in);
    color: transparent; }
  main div.heading {
    display: flex;
    justify-content: space-between; }
    main div.heading div:nth-last-child(1) {
      text-align: right;
      flex: 0 0 30%; }
  main section.half {
    grid-column: unset; }
  main .grid {
    grid-template-columns: 1fr 2fr; }
  footer {
    display: none; } }

/**

PHONE

*/
@media screen and (min-width: 450px) {
  div.heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    div.heading div:nth-last-child(1) {
      text-align: right;
      flex: 0 0 30%; }
  .grid {
    grid-template-columns: 1fr 2fr; }
  footer .icons {
    gap: 1rem; } }

/**

TABLET

*/
@media screen and (min-width: 768px) {
  main > section.half {
    grid-column: unset; } }

/**

DESKTOP

*/
@media screen and (min-width: 1024px) {
  body {
    padding: 3rem; }
  header a {
    width: unset; }
  .page {
    width: 222.7mm;
    margin: auto;
    background-color: #fff;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2), inset 0 0 50px rgba(0, 0, 0, 0.1);
    border: 0.1px solid transparent;
    position: relative; }
    .page::before, .page::after {
      background: transparent;
      bottom: 1rem;
      box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
      content: " ";
      height: 10px;
      position: absolute;
      width: 40%;
      z-index: -1; }
    .page::before {
      left: 12px;
      transform: skew(-5deg) rotate(-5deg); }
    .page::after {
      right: 12px;
      transform: skew(5deg) rotate(5deg); } }
