.rp-print-trigger {
  cursor: pointer;
}

.rp-print-trigger:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

.rp-print-document {
  display: none;
}

body.rp-print-preparing {
  cursor: progress;
}

.rp-print-loading {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(15, 23, 42, 0.48);
  backdrop-filter: blur(2px);
}

.rp-print-loading-panel {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 240px;
  padding: 18px 22px;
  border-radius: 8px;
  background: #fff;
  color: #171717;
  box-shadow: 0 16px 45px rgba(0, 0, 0, 0.24);
  font: 600 15px/1.35 Arial, Helvetica, sans-serif;
}

.rp-print-loading-spinner {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border: 3px solid #d6d9de;
  border-top-color: #222;
  border-radius: 50%;
  animation: rp-print-spin 0.75s linear infinite;
}

.rp-print-loading-error .rp-print-loading-spinner {
  display: none;
}

@keyframes rp-print-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .rp-print-loading-spinner {
    animation-duration: 1.5s;
  }
}

@media print {
  @page {
    size: letter portrait;
    margin: 0.5in;
  }

  html,
  body.rp-print-view {
    background: #fff !important;
    color: #111 !important;
    font-size: 10pt !important;
  }

  body.rp-print-view {
    margin: 0 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  body.rp-print-view > header,
  body.rp-print-view > footer,
  body.rp-print-view #main-header,
  body.rp-print-view #main-footer,
  body.rp-print-view .et-l--header,
  body.rp-print-view .et-l--footer,
  body.rp-print-view .rp-print-trigger,
  body.rp-print-view .rp-print-section-nav,
  body.rp-print-view .rp-print-excluded-section,
  body.rp-print-view .rp-print-hero a.et_pb_icon,
  body.rp-print-view .rp-print-loading {
    display: none !important;
  }

  body.rp-print-view .rp-print-article {
    display: none !important;
  }

  body.rp-print-view .rp-print-document {
    display: block !important;
    width: 100% !important;
    max-width: 7.5in !important;
    margin: 0 auto !important;
    color: #171717 !important;
    font-family: Arial, Helvetica, sans-serif !important;
  }

  body.rp-print-view .rp-print-document-header {
    display: grid !important;
    grid-template-columns: 1.35in minmax(0, 1fr) !important;
    column-gap: 0.3in !important;
    align-items: start !important;
    padding: 0 0 0.22in !important;
    margin: 0 0 0.22in !important;
    border-bottom: 2px solid #222 !important;
  }

  body.rp-print-view .rp-print-document-header > img {
    display: block !important;
    width: 1.35in !important;
    height: 1.44in !important;
    object-fit: cover !important;
  }

  body.rp-print-view .rp-print-identity h1 {
    margin: 0 0 0.03in !important;
    padding: 0 !important;
    font-size: 23pt !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
  }

  body.rp-print-view .rp-print-role,
  body.rp-print-view .rp-print-location {
    display: inline !important;
    margin: 0 !important;
    font-size: 11pt !important;
    line-height: 1.3 !important;
  }

  body.rp-print-view .rp-print-location::before {
    content: "  ·  ";
  }

  body.rp-print-view .rp-print-details {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.25in !important;
    margin-top: 0.14in !important;
  }

  body.rp-print-view .rp-print-contact p,
  body.rp-print-view .rp-print-practices p,
  body.rp-print-view .rp-print-practices ul {
    margin: 0 0 0.025in !important;
    padding: 0 !important;
    font-size: 9pt !important;
    line-height: 1.25 !important;
  }

  body.rp-print-view .rp-print-practices h2 {
    margin: 0 0 0.04in !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: 8.5pt !important;
    line-height: 1.2 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
  }

  body.rp-print-view .rp-print-document-section {
    margin: 0 0 0.2in !important;
    padding: 0 !important;
  }

  body.rp-print-view .rp-print-document-section > h2 {
    margin: 0 0 0.09in !important;
    padding: 0 0 0.045in !important;
    border-bottom: 1px solid #777 !important;
    font-size: 14pt !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
  }

  body.rp-print-view .rp-print-document-section h3,
  body.rp-print-view .rp-print-document-section h4,
  body.rp-print-view .rp-print-document-section h5,
  body.rp-print-view .rp-print-document-section h6 {
    margin: 0.11in 0 0.035in !important;
    padding: 0 !important;
    font-size: 10pt !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
  }

  body.rp-print-view .rp-print-document-section p {
    margin: 0 0 0.085in !important;
    padding: 0 !important;
  }

  body.rp-print-view .rp-print-document-section ul,
  body.rp-print-view .rp-print-document-section ol {
    margin: 0.04in 0 0.09in 0.2in !important;
    padding: 0 !important;
  }

  body.rp-print-view .rp-print-document-section li {
    margin: 0 0 0.025in !important;
    padding-left: 0.02in !important;
  }

  body.rp-print-view .rp-print-document-section table {
    width: 100% !important;
    border-collapse: collapse !important;
  }

  body.rp-print-view .rp-print-document-section th,
  body.rp-print-view .rp-print-document-section td {
    padding: 0.04in !important;
    border: 1px solid #aaa !important;
    text-align: left !important;
    vertical-align: top !important;
  }

  body.rp-print-view h1,
  body.rp-print-view h2,
  body.rp-print-view h3,
  body.rp-print-view h4 {
    color: #111 !important;
    break-after: avoid-page;
    page-break-after: avoid;
  }

  body.rp-print-view h1 {
    font-size: 22pt !important;
  }

  body.rp-print-view h2 {
    font-size: 15pt !important;
  }

  body.rp-print-view h3,
  body.rp-print-view h4 {
    font-size: 11pt !important;
  }

  body.rp-print-view p,
  body.rp-print-view li {
    color: #111 !important;
    font-size: 10pt !important;
    line-height: 1.35 !important;
  }

  body.rp-print-view p,
  body.rp-print-view ul,
  body.rp-print-view ol,
  body.rp-print-view .et_pb_text,
  body.rp-print-view .et_pb_module {
    orphans: 3;
    widows: 3;
  }

  body.rp-print-view img,
  body.rp-print-view li,
  body.rp-print-view blockquote {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  body.rp-print-view a,
  body.rp-print-view a:visited {
    color: #111 !important;
    text-decoration: none !important;
  }
}
