/* Fonts */
@font-face {
  font-family: Larsseit;
  src: url('/fonts/Larsseit-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: Larsseit;
  src: url('/fonts/Larsseit-RegularItalic.woff') format('woff');
  font-weight: normal;
  font-style: italic;
}

@font-face {
  font-family: Larsseit;
  src: url('/fonts/Larsseit-Light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: Larsseit;
  src: url('/fonts/Larsseit-LightItalic.woff') format('woff');
  font-weight: 300;
  font-style: italic;
}

@font-face {
  font-family: Larsseit;
  src: url('/fonts/Larsseit-Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: Larsseit;
  src: url('/fonts/Larsseit-MediumItalic.woff') format('woff');
  font-weight: 500;
  font-style: italic;
}

@font-face {
  font-family: Larsseit;
  src: url('/fonts/Larsseit-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
}

body {
  font-family:
    Larsseit, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans',
    'Droid Sans', 'Helvetica Neue', sans-serif;
  font-size: 11pt;
  line-height: 20pt;
  font-weight: 300;
  color: #000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  counter-reset: mycounter;

  /* overrides for word */
  margin: 0 40px 200px;
}

h1 {
  font-size: 23pt;
  line-height: 30pt;
  font-weight: 500;
}

h2 {
  font-size: 15pt;
  line-height: 20pt;
  font-weight: 500;
  margin-bottom: 20px;
}

h3 {
  font-size: 11pt;
  line-height: 20pt;
  font-weight: 500;
  margin-bottom: 10px;
}

strong {
  line-height: 20pt;
  font-weight: bold;
}

/* Overlay */
.overlay {
  z-index: 100;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.no-copy {
  user-select: none;
}

/* ===========================================
   PAGED.JS - CSS Paged Media Rules
   =========================================== */

/* Page size and margins matching pdf-generator.ts */
@page {
  size: a4;
  margin: 13.23mm 10.58mm 52.92mm;

  /* Running footer in bottom margin area */
  @bottom-center {
    content: element(runningfooter);
  }
}

/* Running footer element - removed from flow, placed in page margin */
.running-footer {
  position: running(runningfooter);
  width: 100%;
}

.running-footer .signature-block {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  padding-top: 20px;
}

.running-footer .signature-line {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 30%;
  justify-content: flex-end;
}

.running-footer .signature-x {
  font-size: 14pt;
  margin-bottom: 40px;
}

.running-footer .signature-label {
  border-top: 1px solid black;
  padding-top: 5px;
  width: 100%;
  font-size: 10pt;
}

.running-footer .page-number {
  text-align: center;
  font-size: 10pt;
  margin-top: 10px;
}

/* Page break control */
.page-break:not(:empty) {
  break-before: page;
  page-break-before: always;
}

.page-break:empty {
  display: none;
}

/* Prevent orphaned headings at page bottoms */
h1,
h2,
h3 {
  break-after: avoid;
  break-inside: avoid;
}

/* Prevent breaking inside articles (but allow inside list items with nested content) */
article {
  break-inside: avoid;
}

/* Attestation always starts on a new page */
#attestation {
  break-before: page;
}

/* Manually injected footer styles (used by Paginator) */
.page-footer-injected {
  position: absolute;
  bottom: 15px;
  left: 0;
  right: 0;
  padding: 0 10.58mm;
  box-sizing: border-box;
}

.page-footer-injected .signature-block {
  display: flex;
  justify-content: space-between;
}

.page-footer-injected .signature-line {
  display: flex;
  flex-direction: column;
  width: 30%;
  justify-content: flex-end;
}

.page-footer-injected .signature-x {
  font-size: 10pt;
  margin-bottom: 10px;
}

.page-footer-injected .signature-img {
  max-width: 200px;
  max-height: 60px;
  display: block;
  margin-bottom: 2px;
}

.page-footer-injected .signature-label {
  border-top: 1px solid black;
  padding-top: 5px;
  font-size: 10pt;
}

.page-footer-injected .page-number {
  text-align: center;
  font-size: 10pt;
  margin-top: 15px;
}

/* Paged.js generated page styling */
.pagedjs_page {
  background: white;
  box-shadow: 0 4px 12px rgb(0 0 0 / 30%);
  margin-bottom: 40px;
}

.pagedjs_pages {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Page and point ordering */
ol.primary {
  list-style-type: none;
  list-style-position: outside;
  padding-left: 32px;
}

ol.primary > li {
  counter-increment: mycounter;
  position: relative;
  margin-bottom: 20px;
}

ol.primary > li::before {
  content: counter(mycounter) '. \00A0 \00A0';
  position: absolute;
  left: -30px;
  display: block;
}

ol[type='a'] > li {
  padding-left: 20px;
  margin-left: -22px;
}

ol[type='i'] ol[type='1'] {
  counter-reset: item;
}

ol.wishes {
  list-style-position: outside;
  padding-left: 15px;
}

ol.wishes > li {
  padding-left: 20px;
  margin-bottom: 30px;
}

ol[type='i'] ol[type='1'] li::before {
  content: '(' counter(item) '). ';
  counter-increment: item;
}

ol.wishes > li p {
  margin: 0;
}

ol.wishes > li ul {
  list-style-type: disc;
}

ol.wishes > li ul li {
  padding-left: 20px;
}

ol[type='i'] ol[type='1'] li {
  list-style-type: none;
  padding-left: 20px;
  margin-left: -22px;
}

/* Spinner */
.loader {
  font-size: 10px;
  margin: 50px auto;
  text-indent: -9999em;
  width: 11em;
  height: 11em;
  border-radius: 50%;
  background: #464646;
  background: linear-gradient(
    to right,
    #464646 10%,
    rgb(255 255 255 / 0%) 42%
  );
  position: relative;
  animation: spin 1.4s infinite linear;
  transform: translateZ(0);
}

.loader::before {
  width: 50%;
  height: 50%;
  background: #464646;
  border-radius: 100% 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
}

.loader::after {
  background: #fff;
  width: 75%;
  height: 75%;
  border-radius: 50%;
  content: '';
  margin: auto;
  position: absolute;
  inset: 0;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

html {
  /* attempt to undo default Word margins */
  margin: -2.54cm;
}

.user-attest {
  display: flex;
  flex: 1;
  flex-direction: column;
  margin-top: 50px;
  width: 50%;
}

.split {
  display: flex;
  flex: 1;
  flex-direction: row;
  margin-top: 50px;
}

.split .col {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.witness {
  margin-bottom: 20px;
}

.sign-attest {
  width: 90%;
  border-top: 1px solid black;
  margin: 20px 0;
}

.sign-attest:last-child {
  margin-bottom: 0;
}

@media print {
  html {
    /* revert margin changes for word */
    margin: auto;
  }

  body {
    margin: 0 25px;
  }

  strong {
    /* revert weight change for Word */
    font-weight: 500;
  }

  /* Hide preview footer in print - PDF generator adds its own */
  .page-footer {
    display: none !important;
  }
}

@media screen {
  html {
    /* revert margin changes for Word */
    margin: auto;
  }

  body {
    margin: 0 !important;
    padding: 20px 0;
    background-color: #525659;
  }

  strong {
    /* revert weight change for Word */
    font-weight: 500;
  }

  /* A4 page styling for preview (fallback/loading) */
  .container {
    width: 210mm;
    min-height: 297mm;
    background: white;
    margin: 0 auto 40px;
    padding: 25px 40px;
    box-sizing: border-box;
    box-shadow: 0 4px 12px rgb(0 0 0 / 30%);
  }

  .container:last-of-type {
    margin-bottom: 0;
  }

  /* Allow scrolling through the overlay */
  .overlay {
    pointer-events: none;
  }

  /* Paged.js page styling for screen */
  .pagedjs_page {
    background: white !important;
    box-shadow: 0 4px 12px rgb(0 0 0 / 30%);
    margin: 0 auto 40px !important;
  }

  .pagedjs_pages {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  /* Style the running footer in preview */
  .pagedjs_margin-bottom-center {
    display: flex;
    align-items: flex-start;
    justify-content: center;
  }
}

/* ===========================================
   POA DOCUMENT STYLES
   =========================================== */

.poa-container > .container::before {
  display: block;
  content: '';
  width: 100%;
  height: 55px;
  margin-bottom: 30px;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 300 92.845' xmlns='http://www.w3.org/2000/svg'%3E %3Cg fill='%2367d7c0' stroke-width='.448'%3E %3Cpath d='M22.134 20.315a19.659 19.659 0 000 27.928l10.213 10.139 2.785 2.748 5.534-5.533-12.998-12.924-.223-.26c-4.457-4.68-4.345-11.995.223-16.564 4.68-4.68 12.33-4.68 17.009 0l7.687 7.65 5.497-5.57-7.688-7.65-.297-.26c-7.725-7.391-20.09-7.317-27.742.297z'/%3E %3Cpath d='M39.069 31.678l-5.534 5.57 12.998 12.925.224.26c4.456 4.679 4.345 11.995-.224 16.563-4.679 4.68-12.33 4.68-17.009 0l-7.687-7.65-5.534 5.57 7.688 7.65.297.26c7.762 7.428 20.092 7.317 27.779-.26a19.659 19.659 0 000-27.927z'/%3E %3Cpath d='M0 36.878v19.089c0 20.389 16.601 36.878 37.101 36.878s37.1-16.489 37.1-36.878V36.878C74.201 16.489 57.601 0 37.101 0S0 16.489 0 36.878zm66.366 0v19.089c0 16.043-13.11 29.042-29.265 29.042S7.836 72.011 7.836 55.967V36.878c0-16.044 13.11-29.042 29.265-29.042 16.192 0 29.265 12.998 29.265 29.042z'/%3E %3C/g%3E %3Cg fill='%2310132f' stroke-width='.448'%3E %3Cpath d='M115.5 62.021c-5.534 0-9.136-3.194-9.619-8.542l-.037-.334h-6.796l.037.408c.52 9.099 6.796 14.781 16.415 14.781 9.655 0 15.858-4.939 15.858-12.553 0-9.21-7.577-11.104-14.261-12.776-5.2-1.3-9.693-2.413-9.693-6.685 0-3.379 2.97-5.459 7.724-5.459 4.903 0 8.171 2.6 8.58 6.797l.036.334h6.797l-.037-.409c-.557-7.91-6.61-13.035-15.375-13.035-8.69 0-14.744 4.828-14.744 11.736 0 8.876 7.501 10.881 14.112 12.664 5.236 1.412 9.73 2.637 9.73 6.87.037 5.609-6.09 6.203-8.727 6.203zM181.05 31.01h2.711v-5.756h-3.12c-6.276 0-10.36 3.974-10.36 10.1v1.45h-6.202v5.793h6.202v25.217h6.573V42.597h9.136v-5.794h-9.136v-1.262c0-2.786 1.597-4.531 4.196-4.531zM239.95 46.125l6.648 21.689h5.942l9.618-31.01h-6.685l-5.904 21.54-6.5-21.54h-6.09l-6.536 21.577-6.017-21.577h-6.61l9.618 31.01h5.943zM272.56 36.803h-6.573v31.01h6.573zM272.85 28.485a3.606 3.606 0 00-3.602-3.603 3.606 3.606 0 00-3.603 3.603v.112a3.606 3.606 0 003.603 3.602 3.605 3.605 0 003.602-3.602zM286.22 25.254h-6.573v42.597h6.573zM300 25.254h-6.573v42.597H300zM216.33 53.367c.074-.557.112-1.523.112-2.34 0-7.316-4.568-14.744-14.744-14.744-4.531 0-8.356 1.597-11.067 4.68-2.526 2.822-3.9 6.796-3.9 11.141 0 4.308 1.486 8.32 4.197 11.29 2.897 3.194 6.833 4.865 11.402 4.865 4.456 0 8.244-1.448 10.844-3.936l-4.308-4.308c-1.374 1.634-3.602 2.525-6.536 2.525-4.865 0-8.468-3.528-9.1-8.876h23.064zm-22.84-4.68c.966-4.53 3.788-6.944 8.245-6.944 4.493 0 7.576 2.636 8.059 6.944zM153.6 48.985h-6.313c-7.391 0-12.144 3.862-12.144 9.804 0 5.683 4.27 9.508 10.659 9.508 4.085 0 7.613-1.671 9.47-4.345v3.9h6.573V47.907c0-6.945-5.348-11.587-13.333-11.587-4.493 0-8.393 1.746-10.807 4.53l4.16 4.16c1.114-1.93 3.602-3.268 6.462-3.268 4.308 0 6.945 2.229 6.945 5.83 0 1.19-.929 1.412-1.671 1.412zm1.671 5.2c0 5.496-3.12 8.764-8.356 8.764-3.157 0-5.274-1.708-5.274-4.27 0-2.935 2.415-4.866 6.165-4.866h7.428v.371z'/%3E %3C/g%3E %3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 130px 40px;
  border-bottom: 1px solid #ccf6e8;
}

.poa-container > .container * {
  box-sizing: border-box;
}

.poa-container > .container article {
  page-break-after: always;
}

.poa-container > .container section {
  padding-bottom: 0.25rem;
}

.poa-container > .container section,
.poa-container > .container .sign-container {
  page-break-inside: avoid;
}

.poa-container > .container p,
.poa-container > .container ul,
.poa-container > .container ol {
  margin: 0 0 1.25em;
  line-height: 1.5em;
}

.poa-container > .container ul,
.poa-container > .container ol {
  padding-left: 1.25em;
}

.poa-container > .container li {
  margin: 0 0 0.625em;
  padding-left: 0.25em;
}

.poa-container > .container ul {
  list-style-type: disc;
}

.poa-container > .container li ul,
.poa-container > .container li ol {
  margin-top: 0.625em;
}

.poa-container > .container li p {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.poa-container > .container li h4 {
  line-height: 1.75;
}

.poa-container > .container h4,
.poa-container > .container h5,
.poa-container > .container h6 {
  font-size: 1rem;
  font-weight: 500;
  margin: 0 0 0.625em;
}

.poa-container > .container .text-center {
  text-align: center;
}

.poa-container > .container .checkboxes {
  list-style: none;
  margin-left: 0;
}

.poa-container > .container .checkboxes li {
  position: relative;
  padding-left: 2rem;
}

.poa-container > .container .checkboxes > li::before {
  position: absolute;
  border: 0.0875rem solid black;
  display: inline-block;
  height: 0.875rem;
  width: 0.875rem;
  content: '';
  border-radius: 0;
  padding-top: 0;
  top: 0.15rem;
  left: 0;
  background: white;
}

.poa-container > .container .checkboxes > li.checked::after {
  position: absolute;
  font-weight: bold;
  font-size: 1.75em;
  content: '×';
  top: 0;
  left: 0;
  width: 1rem;
  text-align: center;
}

.poa-container > .container .sign-container {
  margin: 0 0 1.25em;
}

.poa-container > .container .sign-container + .sign-container {
  margin-top: 3.75em;
}

.poa-container > .container .sign-prefixed {
  position: relative;
}

.poa-container
  > .container
  .sign-container
  + .sign-container
  .sign-prefixed {
  margin-top: -1.25em;
}

.poa-container > .container .sign-prefixed::before {
  height: 1.25rem;
  display: block;
  content: '';
}

.poa-container > .container .sign {
  border-color: #000;
  border-style: solid;
  border-width: 0.0625rem 0 0;
  line-height: 1.25rem;
  margin-top: 3rem;
}

.poa-container > .container .sign-prefixed .sign {
  margin-top: 1.25rem;
}

.poa-container > .container .sign-prefixed .sign + .sign {
  margin-top: 1.5rem;
}

.poa-container > .container .sign-prefix {
  font-weight: 500;
  position: absolute;
  top: 1rem;
}

.poa-container > .container .box {
  border-color: #000;
  border-style: solid;
  border-width: 0.0625rem;
  padding: 0.75rem;
}

.poa-container > .container .box p:last-child {
  margin-bottom: 0;
}

.poa-container > .container .underline,
.poa-container > .container .wide-underline {
  display: inline-block;
  border-color: #000;
  border-style: solid;
  border-width: 0 0 0.0625rem;
  margin: 0 0.25rem;
}

.poa-container > .container .underline {
  width: 3rem;
}

.poa-container > .container .wide-underline {
  width: 9rem;
}