/*******************************************************************************
 * pretext.css handles structure which (should be) common to all styles
 *******************************************************************************
 *
 * Authors: David Farmer, Rob Beezer
 *
 *******************************************************************************
 */

@import url("https://fonts.googleapis.com/css?family=PT+Serif:400,700,400italic,700italic|Open+Sans:400italic,700italic,400,700");

* {
    box-sizing: border-box;
}

body.pretext {
    font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
body.pretext[data-font="OS"] {
    font-family: "Open Sans", sans-serif;
}
body.pretext[data-font="RS"] {
    font-family: "Roboto Serif", serif;
}
body.pretext,
body.standalone {
    margin: 0;
    padding: 0;
    font-size: 16px;
}

body.pretext { background: #fff; }

a {
    color: inherit;
    text-decoration: none;
}
a:hover,
a:focus {
    text-decoration: none;
}


body.pretext > a.assistive {
    padding:6px;
    position: absolute;
    top:-40px;
    left:0px;
    color:white;
    border-right:1px solid white;
    border-bottom:1px solid white;
    border-bottom-right-radius:8px;
    background:transparent;
    z-index: 10000;
}

body.pretext > a.assistive:focus {
    top:0px;
    background:#BF1722;
    outline:0;
    transition: top .1s ease-in, background .5s linear;
}

/* over-write bootstrap (in Runestone, for example) */
nav .ptx-navbar {
  border-top: none;
  border-right: none;
  border-left: none;
  min-height: unset;
}

/* next for the Activecode popup */
/*
.modal-backdrop.fade.in {
   display: none;
}
*/
.ptx-navbar .activecode-toggle {
  padding: 3px 5px;
}

/* Runestone nav for Runestone-wide features */
.pretext #brand-navbar,
.pretext .brand-navbar {
  left: 0;
  position: fixed;
  right: 0;
  z-index: 1030;
  height: 50px;
  border-width: 0 0 1px;
  top: 0;
  margin-bottom: 0;
}
.pretext #brand-navbar > .container::before,
.pretext .brand-navbar > .container::before,
.pretext #brand-navbar > .container::after,
.pretext .brand-navbar > .container::after {
  display: none;
}
.pretext #brand-navbar + .ptx-masthead,
.pretext .brand-navbar + .ptx-masthead {
  margin-top: 50px;
}
.pretext #brand-navbar .navbar-collapse.collapse,
.pretext .brand-navbar .navbar-collapse.collapse {
  overflow: hidden !important;
}
.pretext #brand-navbar ~ .ptx-navbar,
.pretext .brand-navbar ~ .ptx-navbar {
  top: 50px;
}
@media screen and (max-width: 800px) {
  .pretext #brand-navbar ~ .ptx-navbar,
  .pretext .brand-navbar ~ .ptx-navbar {
    top: auto;
  }
}

/* so that we can position things (like .autopermalink) absolutely wrt these items */
.ptx-content section,
.ptx-content article,
.ptx-content figure,
.ptx-content figcaption,
.ptx-content .exercisegroup,
.ptx-content .discussion-like,
.ptx-content .para {
    position: relative;
}

/* we use .para as a wrapper around some "compound" p, so the
   first p in .para is block-like because of the .pare */
.ptx-content .para > p:first-child,
.ptx-content .para > .para:first-child {
    display: inline;
}

/* CSS defult values:
https://www.w3schools.com/cssref/css_default_values.asp
*/

/* the default margin for pre is "1em 0", so we over-ride
so that we can set our own later */
.ptx-content pre {
    margin: 0;
    padding: 0;
    border: none;
}
/* these are to over-ride "pre" styling in code.less */
.ptx-content pre {
    border-radius: 0;
}

.ptx-content textarea {
    padding: 0;
}

/* .para and other block-level elements should have space at the top, and not the bottom */
.ptx-content h1, .ptx-content h2, .ptx-content h3, .ptx-content h4, .ptx-content h5, .ptx-content h6 {
    margin: 0;
    font-size: unset;
}
.pretext h1, .pretext h2, .pretext h3, .pretext h4, .pretext h5, .pretext h6 {
    margin: 0;
    font-size: unset;
}

.ptx-content .heading {
    line-height: 1.1;
}

/* spacing around and after .para, and around and after article */
.ptx-content .para {
    margin-top: 1.25em;
    margin-bottom: 0;
    line-height: 1.35;
}
.ptx-content .para.continuation {
    margin-top: 0;
}
.ptx-content pre + .para.continuation,
.ptx-content pre + form,
.ptx-content div + form {
    margin-top: 1em;
}
.ptx-content ul + .para.continuation,
.ptx-content ol + .para.continuation,
.ptx-content dl + .para.continuation {
    margin-top: 0.75em;
}

.ptx-content .aside-like > .para:first-child,
.ptx-content td > .para:first-child,
.ptx-content .solution-like > .para:first-child {
    margin-top: 0;
}
/* for assemblages without a title */
.ptx-content .assemblage-like > .para:first-of-type {
    margin-top: 0;
}
.ptx-content .assemblage-like > .heading + .para {
    margin-top: 0.25em;
}
.ptx-content .assemblage-like + .para {
    margin-top: 1.75em;
}

.ptx-content .para.intertext {
    margin-top: -0.25em;
    text-indent: 0;
}

.ptx-content .para + table {
    margin-top: 1em;
}

.ptx-content table tr td .para + .para {
    margin-top: 1em;
}

.ptx-content table + .para {
    margin-top: 1.5em;
}

.ptx-content .para + figure.figure-like > table {
    margin-top: 1em;
}

/* 1.25 = ol top + li top ?  looked too big with 0.75 below */
.ptx-content .exercise-like .para + ol {
    margin-top: 0.5em;
}

.ptx-content .para + pre.prettyprint,
.ptx-content .para + pre.plainprint {
    margin-top: 1.25em;
}
.ptx-content .para + .code-box {
    margin-top: 1.25em;
}
.ptx-content .code-box > .console {
    margin-left: 1.5em;
}

.ptx-content .exercisegroup {
    padding-top: 1.25em;
    margin-bottom: 1.0em;
}
.ptx-content section .exercisegroup > .heading {
    font-size: 1.10em;
    line-height: 1.05em;
    margin-top: 0.75em;
    display: inline;
}
.ptx-content section .exercisegroup > .heading + .introduction {
    display: inline;
}
.ptx-content section .exercisegroup > .heading + .introduction > .para:first-child {
    display: inline;
}

.ptx-content .exercisegroup article.exercise-like li > .para:first-child {
    margin-top: 0;
}

.ptx-content .exercisegroup article.exercise-like .heading {
    margin: 0;
}
.ptx-content article.exercise-like .task > .heading + .heading {
    font-weight: 600;  /* should be slightly less bold, but some browsers make it bold */
}
.ptx-content article.exercise-like .task > .heading + .heading + .para,
.ptx-content article.exercise-like .task > .heading + .heading + div {
    display: block;
    margin-top: 0;
}
.ptx-content .exercisegroup .conclusion .heading {
    margin-top: 0.5em;
}
.ptx-content .exercisegroup article + article {
    margin-top: 1em;
}

/* http://spot.pcc.edu/math/APEXCalculus/sec_interp_deriv.html */
.ptx-content .exercisegroup > article,
.ptx-content .exercisegroup-exercises > article {
    margin-left: 2em;
}
.ptx-content .exercisegroup .cols2 > article {
    margin-left: 1.25em;
}
.ptx-content .exercisegroup > .introduction,
.ptx-content .exercisegroup > .conclusion {
    margin-left: 0;
}
.ptx-content .exercisegroup > .introduction {
    margin-top: 1.25em;
    margin-top: 0;
}
.ptx-content .exercisegroup > .introduction > .para:first-child::before {
    content: '\25a0\2009';
   /* font-size: 70%; */
    color: #06a;
    position: relative;
    top: -1px;
    right: 1px;
}
.ptx-content .exercisegroup > .heading + .introduction > .para:first-child::before {
    content: '\2003';
}

.ptx-content .exercisegroup > .introduction > .para:first-child {
    margin-top: 0;
}


/* this > may be too restrictive.  The purpose is to not put a
   top margin on an article at the top of a knowl */
.ptx-content section > article, .ptx-content section > section.paragraphs, .ptx-content .paragraphs > article {
    margin-top: 1.25em;
}
.ptx-content section article + article,
.ptx-content section .introduction + article,
.ptx-content section .para + article,
.ptx-content section .posterior + article {
    margin-top: 1.75em;
}
.ptx-content section article > .introduction + article {
    margin-top: 1em;
}

.ptx-content section article > .discussion-like {
    margin-top: 1em;
}
.ptx-content section article > .discussion-like .para {
    margin-top: 1em;
}

.ptx-content article + .posterior {
    margin-top: 0.5em;
}
.ptx-content section .para + .tabular-box {
    margin-top: 0.75em;
}
.ptx-content section .tabular-box + .tabular-box {
    margin-top: 1.0em;
}
.ptx-content section .proof {
    margin-top: 0.75em;
}

.ptx-content section > pre, .ptx-content .para + pre {
    margin-top: 1.25em;
}

.ptx-content ol .para + .para, .ptx-content ul .para + .para {
    margin-top: 1em;
}

/* see Ex 29 https://yoshiwarabooks.org/linear-functions.html
and ex 2.91 in
https://yoshiwarabooks.org/mfg/MathModels.html */
.ptx-content .introduction + .sidebyside,
.ptx-content .para + .sidebyside,
.ptx-content ol + .sidebyside,
.ptx-content ul + .sidebyside {
    margin-top: 1em;
}

.ptx-content section .heading,
.ptx-content article .heading {
    font-family: "PT Serif", "Times New Roman", Times, serif;
    font-weight: 700;
    color: inherit;
}
.ptx-content article .exercise-stage {
    font-family: "PT Serif", "Times New Roman", Times, serif;
    font-weight: 700;
    color: inherit;
    font-size: 100%;
    margin-top: 0.4em;
}

.ptx-content article > .heading + .para {
    margin-top: 0;
}
.ptx-content section .heading + .para,
.ptx-content section .title + .para, /* list items have bare .title, not in a .heading */
.ptx-content section .heading + .introduction > .para:first-child,
.ptx-content section .blob > .para:first-child {
    margin-top: 0.25em;
}
.ptx-content section .heading + article { /* , .ptx-content section header + article { */
    margin-top: 1em;
}
.ptx-content section .heading + .sidebyside {
    margin-top: 1em;
}

.ptx-content a > .heading { display: inline;}

.ptx-content section > .heading {
    font-size: 1.75em;
    line-height: 1.25em;
    margin-top: 1em;
    margin-bottom: 0.35em;
}
.ptx-content section section > .heading {
    font-size: 1.5em;
    line-height: 1.25em;
    margin-bottom: 0;
}
.ptx-content .paragraphs > .heading {
    font-size: 1.125em;
    line-height: 1.125em;
    display: inline;
}
/*
.ptx-content .paragraphs .heading {
    display: inline;
}
*/

.ptx-content .paragraphs .heading + .para {
    display: inline;
}
.ptx-content .para.logical > .para:first-child {
    display: inline;
}

/* next is for runestone multiple choice */
.ptx-content  .runestone label > .para {
    display: inline;
}
/* the next are to avoid stlping a .para as inline, because
 * inline styling messes up the meaning of line-height.
 * */

.ptx-content .paragraphs .para .title {
    font-family: "PT Serif", "Times New Roman", Times, serif;
    font-size: 1.125em;
    font-weight: 700;
}

.ptx-content .paragraphs > .heading {
    margin-top: 0;
}

.ptx-content .paragraphs + .paragraphs {
    margin-top: 3em;
}

.ptx-content article .paragraphs > .heading {
    font-size: 1.05em;
}
.ptx-content section section section > .heading {
    font-size: 1.40em;
    line-height: 1.15em;
    margin-top: 0.75em;
}
@media screen and (max-width: 480px) {
    .ptx-content section > .heading {
        font-size: 1.5em;
        line-height: 1.33em;
        margin-top: 1em;
    }
    .ptx-content section section > .heading {
        font-size: 1.3em;
        line-height: 1.15em;
    }
    .ptx-content section section section > .heading {
        font-size: 1.15em;
        line-height: 1em;
    }
}

.ptx-content .abstract {
    margin: 4em 2em;
}
.ptx-content .abstract > .title {
    font-size: 1.125em;
    font-weight: 600;
    line-height: 1.125em;
    display: inline;
}
.ptx-content .abstract > .title::after {
    content: ".\2009\2009\2009";
}
.ptx-content .abstract > .title + .para {
    display: inline;
}

/*       -----      */


.ptx-content article > .heading,
.ptx-content article > a .heading {
    font-size: 1.125em;
    line-height: 1.125em;
    margin-top: 0;
    display: inline;
}
.ptx-content .discussion-like > .heading {
    font-size: 1.0em;
    line-height: 1.125em;
    margin-top: 0;
    display: inline;
}
.ptx-content .discussion-like.discussion > .heading .codenumber,
.ptx-content .discussion-like.discussion > .heading .space,
.ptx-content .discussion-like.discussion > .heading .period {
    display: none;
}
.ptx-content .discussion-like.discussion > .heading .type::after {
    content: ". ";
}
.ptx-content .discussion-like.status > .heading {
    display: none;
}
.ptx-content .discussion-like.status > .heading + .para,
.ptx-content .discussion-like.status > .para {
    font-style: italic;
    display: block;
    padding-left: 1em;
}


.ptx-content article > .heading::after,
.ptx-content .discussion-like > .heading::after,
.ptx-content .paragraphs > .heading::after,
.ptx-content article > a > .heading::after {
    content: "\2009";
}
/* Currently only for Solution to example */
.ptx-content .posterior .heading {
    font-weight: normal;
    font-size: 1.125em;
    line-height: 1.125em;
    margin-top: 0;
}

/*
 * Contents of articles
 */
.ptx-content article > .heading + .para,
.ptx-content .discussion-like > .heading + .para,
.ptx-content article > .heading + .introduction,
.ptx-content article > .heading + .introduction > .para:first-child {
    display: inline;
}
/* when a list is the only thing in an environment with a border,
   there is too much space to the left */
.ptx-content article > .heading + ol,
.ptx-content article > .heading + ul {
    padding-left: 1.5em;
}
.ptx-content article.theorem-like .para,
.ptx-content article.theorem-like li {
    font-style: italic;
}
.ptx-content article.theorem-like .emphasis {
    font-weight: 700;
}

.ptx-content ol, .ptx-content ul {
    margin-bottom: 0;
}
.ptx-content li {
    margin-bottom: 0;
}
.ptx-content li .title {
    font-size: 100%;
    font-weight: normal;
    font-style: italic;
}
.ptx-content article.theorem-like li  .title {
    font-weight: 600;
    font-style: normal;
    font-size: 96%;
}

.ptx-content figure {
    margin-bottom: 0;
}

.ptx-content .heading {
    margin-top: 0;
    margin-bottom: 0;
}

.ptx-content .conclusion {
    margin-top: 1em;
}
.ptx-content .conclusion > .para:first-child {
    margin-top: 0.5em;
}

.ptx-content ol, .ptx-content ul {
    margin-top: 0.75em;
}
.ptx-content .exercise-like > ol:first-child,
.ptx-content .exercise-like > ul:first-child {
    margin-top: 0;
}
.ptx-content .heading + ol, .ptx-content .heading + ul {
    margin-top: 0.45em;
}
.ptx-content li > .heading + ol, .ptx-content li > .heading + ul {
    margin-top: 0.25em;
}
.ptx-content li > .heading + ol > li:nth-child(1),
.ptx-content li > .heading + ul > li:nth-child(1) {
    margin-top: 0;
}
.ptx-content li > .heading + ol.cols2 > li:nth-child(2),
.ptx-content li > .heading + ul.cols2 > li:nth-child(2) {
    margin-top: 0;
}

.ptx-content li {
    margin-top: 0.5em;
}
.ptx-content li > .para:first-child {
    margin-top: 0;
}
.ptx-content article .para:first-child {
    margin-top: 0;
}

.ptx-content ol ol, .ptx-content ol ul,  .ptx-content ul ol, .ptx-content ul ul {
    margin-top: 0.5em;
}

.ptx-content .frontmatter > .heading {
    display: block;
    text-align: center;
}
.ptx-content .frontmatter > .heading .title, .ptx-content .book > .heading .title {
    font-size: 1.3em;
}
.ptx-content .frontmatter > .heading .subtitle, .ptx-content .book > .heading .subtitle {
    display: block;
    font-weight: normal;
    color: #666666;
    font-size: 0.875em;
    line-height: 1.42857em;
    margin-top: 0.35714em;
}

.ptx-content .frontmatter .author:first-of-type {
    margin-top: 4em;
}
.ptx-content .frontmatter > .para:first-of-type {
    margin-top: 4em;
}
.ptx-content .frontmatter > .author,
.ptx-content .frontmatter > .credit {
    margin-top: 2em;
    text-align: center;
}
.ptx-content .frontmatter > .author .author-name {
    font-size: 120%;
}
.ptx-content .frontmatter .date {
    display: block;
    margin-top: 2em;
    text-align: center;
}
.ptx-content .frontmatter .credit .title {
    font-size: 1em;
}
.ptx-content .frontmatter .credit .author {
    font-size: 0.9em;
    margin-top: 0.75em;
}
.ptx-content .frontmatter .author-info {
    font-size: 90%;
}
.ptx-content a[href^="mailto:"] {
    white-space: pre;
}

.ptx-content .colophon .credit {
  margin-top: 1em;
}

button {
   font: inherit;
}

.print-button {
	position: relative;
	right: 2px;
	top: 66px;
	background-color: LightGreen;
	z-index: 1;
	margin-top: -4em;
	float: right;
}

@media print {
    .pretext .ptx-masthead,
    .pretext .ptx-navbar,
     body.pretext > a.assistive,
    .pretext .ptx-page > .ptx-sidebar,
    .pretext  .ptx-page-footer,
    .pretext .ptx-main > div.ptx-content-footer {
       display:none;
        border:none;
    }
    .pretext .ptx-page main.ptx-main {
        margin-left:0;
        left:auto;
        border:none;
        box-shadow:none;
        padding: 0;
    }
    .pretext .ptx-page .ptx-main .ptx-content { margin-top:0 }
    .pretext .ptx-page .ptx-main .ptx-content.ptx-content section { margin-top:1em }
    .pretext .ptx-page .ptx-main .ptx-content.ptx-content section .heading { margin-top:0 }

    /* over-ride print.less */
    .pretext a[href]::after {
         content: "";
     }

	/* don't print the print-button */
	.print-button {
		display: none;
	}
}

/* printing for one-page worksheets */

@media print {
    body.standalone.worksheet .ptx-page > .ptx-main .ptx-content {
       width: 820px;
       max-width: 820px;
       font-size: 12.5px;
    }
    body.standalone.worksheet {
        margin: 0;
    }
    body.standalone .ptx-content section.worksheet {
        border: none;
    }
    body.standalone.worksheet .ptx-masthead,
    body.standalone.worksheet .ptx-page-footer {
        display: none;
    }

    body.standalone.worksheet.has-sidebar-left.mathbook-loaded .ptx-page .ptx-main {
        margin: 0;
    }

    body.standalone.worksheet .ptx-page > .ptx-main .ptx-content {
        margin: 0;
    }
    body.standalone.worksheet .ptx-content section.onepage {
        max-height: 100%;
        max-width: 100%;
        overflow: hidden;
        page-break-after: always;
/*
        height: 1243px;
*/
        border: none;
        page-break-inside: avoid;
     }
    body.standalone.worksheet .ptx-content .onepage.lastpage {
        margin-bottom: -2em;  /* to avoid blank space overflow causing an extra blank page */
        page-break-after: auto;
     }
    body.standalone.worksheet.a4 .ptx-content .onepage {
/*
        height: 1320px;
*/
    }
    body.standalone.worksheet .ptx-content .onepage div.workspace,
    body.standalone.worksheet .ptx-content .onepage div.workspace.squashed.tight {
        border: none;
        padding: 0;
        background: none !important;
    }
    body.standalone.worksheet a {
        color: black;
    }

    body.standalone.worksheet .ptx-page  .ptx-main {
        padding: 0;
    }

    body.standalone.worksheet.mathbook-loaded .ptx-page .ptx-main .ptx-content.ptx-content section.onepage {
        padding-bottom: 20px;  /* to help prevent flow onto the next page, particularly in Safari */
                              /* the page is not full length, but what is missing was blank anyway */
/*
        margin: 0;
*/
    }

    @page { margin: 0 }
}

.hidden {
  display: none;
}

.ptx-navbar .preferences_menu_holder .active  > li {
  color: #ddd;
}
.ptx-navbar .preferences_menu_holder > ol > li:focus {
  background: #eef;
  border: 2px solid #909;
  padding: 2px 24px 2px 8px;
}
.ptx-navbar .preferences_menu_holder > ol > li > ol > li:focus {
  background: #eef;
  border: 2px solid #909;
  padding: 4px 4px 2px 4px;
}

.ptx-navbar .preferences_menu_holder .active .selected {
  background: #eef;
  color: #111;
}
.ptx-navbar .button.user-preferences-button {
  overflow: visible;
  display: none;
}
.preferences_menu_holder {
  z-index: 30;
  background: #fee;
  color: #222;
  position: absolute;
  left: -11em;
  top: 4em;
}
.preferences_menu_holder ol {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.preferences_menu_holder > ol {
  width: 12.5em;
}
.preferences_menu_holder > ol > li {
  padding: 4px 26px 4px 10px;
}
.preferences_menu_holder ol li ol {
  z-index: 40;
  position: absolute;
  left: 13em;
  top: -2em;
  background: #fee;
}
.preferences_menu_holder ol li ol li {
  padding: 6px 6px 4px 6px;
  display: flex;
  align-items: center;
}
.preferences_menu_holder ol.fonts:not(.hidden) {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}
.preferences_menu_holder ol.fonts li:nth-child(8n+1),
.preferences_menu_holder ol.fonts li:nth-child(8n+2),
.preferences_menu_holder ol.fonts li:nth-child(8n+3),
.preferences_menu_holder ol.fonts li:nth-child(8n+4) {
    background-color: #eff;
}
.preferences_menu_holder ol.fonts li:nth-child(4n+2) {
 width: 4em;
 justify-content: center;
 text-align: center;
 align-items: center;
}
.preferences_menu_holder ol.fonts li:nth-child(4n+1) {
  padding-left: 14px;
}

.preferences_menu_holder .wrap_to_submenu {
  float: right;
  line-height: 0.95em;
  margin-right: -7px;
}
.preferences_menu_holder .to_submenu {
  position: absolute;
}
.preferences_menu_holder .avatars li {
  font-size: 200%;
  text-align: center;
}
.preferences_menu_holder .fontfamily .name {
  margin-right: 2em;
}
.preferences_menu_holder .fontfamily .sample {
  margin-left: auto;
}
.preferences_menu_holder .fonts .byunits {
  font-size: 80%;
  margin-bottom: -0.3em;
}
#choose_topic {
  background: #eef;
}
.ffcheck,
.atmospherecheck,
.avatarcheck,
.rulercheck,
.motioncheck {
  width: 1em;
  margin-left: 0.2em;
  margin-right: 0.7em;
  font-size: 11pt;
}

.preferences_menu_holder .moveQ {
  padding-top: 0.5em;
  border-top: 0.3em solid #eef;
}
.preferences_menu_holder .moveQ,
.preferences_menu_holder .moveQ ~ li {
  background: #efe;
}

[data-ruler="greybar"] .onelineX:hover{
    padding-top: 2px;
    margin-top: -2px;
    padding-bottom: 2px;
    margin-bottom: -2px;
    background-color: #f3f3f3;
}
[data-atmosphere*="dark"][data-ruler="greybar"] .onelineX:hover{
    color: #333;
}
[data-ruler="lightbox"] .onelineX {
    background-color: #e3e3e3;
}
[data-ruler="lightbox"] .onelineX:hover{
    padding-top: 2px;
    margin-top: -2px;
    padding-bottom: 2px;
    margin-bottom: -2px;
    background-color: inherit;
}
[data-ruler="sunrise"] .onelineX:hover ~ .onelineX {
    background-color: #e3e3e3;
}
[data-ruler="sunrise"] .para:hover ~ * .onelineX {
    background-color: #e3e3e3;
}
[data-ruler="sunrise"] section:hover ~ * .onelineX {
    background-color: #e3e3e3;
}

[data-ruler="sunriseunderline"] .onelineX:hover{
    background-color: inherit;
    border-bottom: 2px solid black;
    margin-bottom: -2px;
    position: relative;
    z-index: 10;
}
xxxxxx[data-ruler="sunriseunderline"] .onelineX:hover + .onelineX {
    margin-top: -2px;
}
[data-ruler="sunriseunderline"] .onelineX:hover ~ .onelineX {
    background-color: #e3e3e3;
}
[data-ruler="sunriseunderline"] .para:hover ~ * .onelineX {
    background-color: #e3e3e3;
}
[data-ruler="sunriseunderline"] section:hover ~ * .onelineX {
    background-color: #e3e3e3;
}


[data-ruler="underline"] .onelineX:hover{
    background-color: inherit;
    border-bottom: 1px solid black;
    margin-bottom: -1px;
}
[data-ruler="lunderline"] .onelineX:hover{
    background-color: inherit;
    border-bottom: 1px solid black;
    border-left: 1px solid black;
    padding-left: 4px;
    margin-left: -5px;
    margin-bottom: -1px;
}
[data-atmosphere*="dark"][data-ruler*="underline"] .onelineX:hover{
    border-bottom: 1.5px solid #ddd;
    margin-bottom: -1.5px;
}
[data-atmosphere*="dark"][data-ruler="lunderline"] .onelineX:hover{
    border-left: 1.5px solid #ddd;
    padding-left: 3.5px;
    margin-left: -5px;
}


.material-symbols-outlined {
    font-variation-settings:
    'FILL' 0,
    'wght' 400,
    'GRAD' 0,
    'opsz' 24
}

.ptx-footnote {
    display: inline-block;
}

.ptx-footnote[open] {
    display: contents;
}

.ptx-footnote[open] .ptx-footnote__number {
    visibility: hidden;
}
.ptx-footnote[open] .ptx-footnote__number::before {
    font-size: 0.6rem;
    content: "[x]";
    visibility: visible;
    vertical-align: super;
}

.ptx-footnote__number {
    display: inline;
    cursor: pointer;
}

.ptx-footnote__number::marker {
    content: "";
}

.ptx-footnote__contents {
    display: block;
    font-style: italic;
    background: var(--knowlbackground);
    border-radius: 6px;
    padding: 0px 8px;
    margin: 4px auto;
    width: fit-content;
    max-width: calc(100% - 60px);
    border: 2px solid var(--knowlborder);
}
  

/*******************************************************************************
 *
 * Authors: David Farmer, Rob Beezer
 *
 *******************************************************************************
 */
