@import url("https://fonts.googleapis.com/css2?family=Caveat&display=swap");
html, body { height: 100%; width: 100%; }

body { font-family: 'Roboto', 'Open Sans', 'Helvetica Neue', Arial, sans-serif; font-size: 16px; }

article { margin-top: 10px; margin-bottom: 16px; }
article p { color: #444; padding-bottom: 5px; padding-top: 5px; }

body .bg-body-secondary, .bg-body-secondary { background-color: #FFF0F8 !important; }
body .bg-body-secondary h1, body .bg-body-secondary h2, .bg-body-secondary h1, .bg-body-secondary h2 { color: #DD0772; }
body .bg-body-secondary h3, body .bg-body-secondary h4, .bg-body-secondary h3, .bg-body-secondary h4 { color: #653372; text-transform: uppercase; font-size: 1.25em; padding-top: 0.5em; }
body .bg-body-secondary p, .bg-body-secondary p { color: #444; }
body .bg-body-secondary a, .bg-body-secondary a { color: #444; }

hr { border-color: #DD0772; border-width: 3px; max-width: 50px; }

hr.light { border-color: #FFF0F8; }

a { -webkit-transition: all 0.35s; -moz-transition: all 0.35s; transition: all 0.35s; color: #DD0772; }
a:hover, a:focus { color: #ac0559; }

h1, h2, h3, h4, h5, h6 { font-family: 'Nunito', 'Open Sans', 'Helvetica Neue', Arial, sans-serif; }

p { font-size: 16px; line-height: 1.5; padding-bottom: 20px; margin-bottom: 0px; }

em { text-transform: uppercase; font-weight: 700; font-style: normal; }

.gray-dark { color: #444; }

.gray-med { color: #666; }

.gray-light { color: #c4c4c4; }

.eggplant { color: #653372; }

.pink-dark { color: #d90368; }

.pink-light { color: #fff0f8; }

.subhead { text-transform: uppercase; letter-spacing: .25rem; font-size: 24px; }

.bg-primary { background: #ff3cc7; background: linear-gradient(104deg, #ff3cc7 0%, #d90368 41%, #f76f8e 100%); }
.bg-primary .subhead { color: rgba(255, 255, 255, 0.7); }
.bg-primary .section-heading { color: white; }
.bg-primary hr { border-color: rgba(255, 255, 255, 0.7); }
.bg-primary p { color: white; display: block; text-align: left; }

.bg-eggplant { background-color: #653372; color: white; }

.bg-light { background-color: #FFF0F8; }
.bg-light .section-heading { color: #d90368; }
.bg-light .subhead { color: #653372; }
.bg-light hr { border-color: #c4c4c4; }
.bg-light p { display: block; text-align: left; }

.nav-cta { min-width: 100px; text-align: center; }

#mainNav { padding-top: 1rem; }

.navbar-brand { color: #DD0772; font-family: 'Nunito', 'Open Sans', 'Helvetica Neue', Arial, sans-serif; text-transform: none; font-weight: 700; font-size: 1.5rem; }
.navbar-brand:hover, .navbar-brand:focus { color: #ac0559; }

.navbar { background-color: white; border-color: rgba(76, 26, 87, 0.5); font-family: 'Nunito', 'Open Sans', 'Helvetica Neue', Arial, sans-serif; -webkit-transition: all 0.35s; -moz-transition: all 0.35s; transition: all 0.35s; }
.navbar .nav > li > a, .navbar .nav > li > a:focus { text-transform: uppercase; font-weight: 900; font-size: 16px; color: #653372; letter-spacing: 0.25rem; }
.navbar .nav > li > a:hover, .navbar .nav > li > a:focus:hover { color: #DD0772; }
.navbar .nav > li.active > a, .navbar .nav > li.active > a:focus { color: #DD0772 !important; background-color: transparent; }
.navbar .nav > li.active > a:hover, .navbar .nav > li.active > a:focus:hover { background-color: transparent; }
@media (min-width: 768px) { .navbar { background-color: white; border-color: rgba(255, 255, 255, 0.3); }
  .navbar .navbar-header .navbar-brand { color: #DD0772; }
  .navbar .navbar-header .navbar-brand:hover, .navbar .navbar-header .navbar-brand:focus { color: #DD0772; }
  .navbar .nav > li > a, .navbar .nav > li > a:focus { color: #653372; }
  .navbar .nav > li > a:hover, .navbar .nav > li > a:focus:hover { color: #653372; }
  .navbar.affix { background-color: white; border-color: #653372; }
  .navbar.affix .navbar-header .navbar-brand { color: #DD0772; font-size: 20px; }
  .navbar.affix .navbar-header .navbar-brand:hover, .navbar.affix .navbar-header .navbar-brand:focus { color: #ac0559; }
  .navbar.affix .nav > li > a, .navbar.affix .nav > li > a:focus { color: #653372; }
  .navbar.affix .nav > li > a:hover, .navbar.affix .nav > li > a:focus:hover { color: #DD0772; } }

footer { background-color: white; color: #444; border-top: solid 0.5px #dfdfdf; }
footer p { font-weight: bold; padding: 0; margin: 0; margin-block-start: 0; margin-block-end: 0; color: #DD0772; }
footer a { font-size: small; color: #444; text-decoration: none; }

.text-primary { color: #DD0772; }

.no-gutter > [class*='col-'] { padding-right: 0; padding-left: 0; }

.side-nav a, .top-level-toc a { text-decoration: none; }
.side-nav h2, .top-level-toc h2 { text-transform: uppercase; font-size: medium; font-weight: bold; }
.side-nav li, .top-level-toc li { padding-bottom: .5em; }
.side-nav p, .top-level-toc p { font-size: small; color: gray; padding-bottom: 0; }

table { border-collapse: collapse; width: 100%; max-width: 800px; margin: 20px auto; font-family: Arial, sans-serif; }

th, td { padding: 12px 15px; text-align: left; border-bottom: 1px solid #ddd; }

th { background-color: #f2f2f2; font-weight: bold; text-transform: uppercase; color: #333; }

tr:nth-child(even) { background-color: #f8f8f8; }

tr:hover { background-color: #e6f3ff; }

@media screen and (max-width: 600px) { table, tr, td { display: block; }
  tr { margin-bottom: 15px; }
  td { border: none; position: relative; padding-left: 50%; }
  td:before { content: attr(data-label); position: absolute; left: 6px; width: 45%; padding-right: 10px; white-space: nowrap; font-weight: bold; } }
.folder a { color: #653372; }

h1 { margin-top: 40px; }

h2 { margin-top: 30px; }

article > h2 { border-top: 1px dotted #653372; padding-top: 10px; }

h3 { margin-top: 20px; }

h4 { margin-top: 10px; }

.visibility-disclaimer { background-color: #dedeff; border: 1px solid #000000; padding: 10px; margin: 20px auto auto; font-size: 0.8em; }

.visibility-disclaimer h2 { font-size: 1.1em; margin-top: 0; }

.signature-block { background-color: #dedeff; border: 1px solid #000000; /* Make room for the print button */ padding: 40px 10px 10px; margin: 20px auto auto; position: relative; }

.print-button { position: absolute; top: 0; right: 0; padding: 5px 10px; background-color: #f0f0f0; border: 1px solid #000000; border-radius: 3px; cursor: pointer; }

.signature-field { margin-bottom: 20px; }

.signature-field label { display: block; margin-bottom: 5px; }

.signature-field input { border: none; background-color: #dedeff; border-bottom: 1px solid #000; width: 100%; }

#employee-signature { font-family: 'Caveat', cursive; font-size: 1.8em; }

.signature-field input[type="date"] { font-family: Arial, sans-serif; font-size: 1em; }

body.auto-number-headings { counter-reset: h1counter; }

body.auto-number-headings h1.auto-numbered { counter-reset: h2counter; }

body.auto-number-headings h2.auto-numbered { counter-reset: h3counter; }

body.auto-number-headings h3.auto-numbered { counter-reset: h4counter; }

body.auto-number-headings h1.auto-numbered:before { counter-increment: h1counter; content: counter(h1counter) "."; }

body.auto-number-headings h2.auto-numbered:before { counter-increment: h2counter; content: counter(h1counter) "." counter(h2counter) "."; }

body.auto-number-headings h3.auto-numbered:before { counter-increment: h3counter; content: counter(h1counter) "." counter(h2counter) "." counter(h3counter) "."; }

body.auto-number-headings h4.auto-numbered:before { counter-increment: h4counter; content: counter(h1counter) "." counter(h2counter) "." counter(h3counter) "." counter(h4counter) "."; }

@media print { /* Hide the specific navigation */
  .side-nav { display: none !important; }
  /* Also hide any nav element, just in case */
  nav { display: none !important; }
  /* Ensure the content takes up the full page */
  body { width: 100% !important; margin: 0 !important; padding: 0 !important; font-size: 0.8em; }
  article { width: 100% !important; line-height: 1em !important; }
  .container { width: 100% !important; }
  /* Hide the print button */
  .print-button { display: none !important; }
  /* Ensure form fields are visible in print */
  input, textarea { border: 1px solid #000 !important; background: none !important; -webkit-print-color-adjust: exact; color-adjust: exact; }
  /* Additional print styles... */
  @page { size: auto; margin: 20mm; }
  /* Ensure links are readable */
  a { color: #000 !important; text-decoration: underline; }
  /* Break pages after major sections */
  h1, h2 { page-break-after: avoid; }
  /* Avoid breaking inside paragraphs and lists */
  p, li { page-break-inside: avoid; }
  .signature-block { margin-left: 20px; }
  .visibility-disclaimer { margin-left: 20px; } }
@media (min-width: 768px) { .sticky-sidebar { position: sticky; top: 20px; height: calc(100vh - 40px); /* Subtract twice the top value to account for top and bottom spacing */ overflow-y: auto; } }
/* Ensure the sticky behavior doesn't affect mobile layouts */
@media (max-width: 767px) { .sticky-sidebar { position: static; height: auto; overflow-y: visible; } }
