/*! Vanilla CSS */
span.basis {
	font-weight: 800;
}
span.important {
	font-style: italic;
}
span.unusual {
	text-decoration: underline;
}
span.weighty {
	font-variant: small-caps;
}
span.code {
	font-weight: 500;
	background-color: linen;
	display:inline-block;
	margin: 2px;
	padding: 2px;
}
span.overstrike {
	text-decoration: line-through;
}
span.high {
	vertical-align: super;
}
span.junior {
	vertical-align: sub;
}
span.replace {
	font-style: italic;
	font-variant-caps: small-caps;
	text-shadow: -1px 1px;
}
span.indexed {
    /* The default state: invisible to the reader */
    transition: background-color 0.5s ease, outline 0.5s ease;
    padding: 0 2px;
    border-radius: 3px;

    /* The "Jumped To" state */
    &:target {
        background-color: #fff3bf; /* Soft yellow highlight */
        outline: 2px solid #fab005;
    }
	&:hover::before {
        content: attr(data-index-text);
        translate: 0 -1.5em;
        position: absolute;
        opacity: 75%;
        background-color: turquoise;
        color: indigo;
        padding: 0 5px;
    }
}
span.keyboard {
	text-shadow: 1px 1px;
}
span.terminal {
	text-decoration: overline underline;
}
span.footnote {
	vertical-align: super;
}
a.footnote-anchor {
    text-decoration: none;
}
span.developer-text {

}
span.developer-version {
    display: none;
	color: red;
    span.developer-note {
        font-family: 'Brush Script MT', cursive;
    }
    &:hover {
        display: inline-block;
        transform: translate(50px, 100px);
        z-index: 5;
    }
}
span.bad-markdown {
	text-shadow: 1px 1px red;
}

.raku-code {
    pre.rakudoc:first-child {
        background-color: #eee;
        margin: 0 1rem;
        padding: 0.5rem 1rem 0.5rem 1rem;
	}
	.code-caption {
        color: maroon;
        font-size: 0.875rem;
        font-weight: 500;
        font-style: italic;
        margin: 0 0 1rem 1rem;
    }
}
.raku-input {
    pre.rakudoc:first-child {
        background-color: #eee;
        margin: 0 1rem;
        padding: 0.5rem 1rem 0.5rem 1rem;
	}
	.input-caption {
        color: maroon;
        font-size: 0.875rem;
        font-weight: 500;
        font-style: italic;
        margin: 0 0 1rem 1rem;
    }
}
.raku-output {
	pre.rakudoc:first-child {
        background-color: #eee;
        margin: 0 1rem;
        padding: 0.5rem 1rem 0.5rem 1rem;
    }
	.output-caption {
        color: maroon;
        font-size: 0.875rem;
        font-weight: 500;
        font-style: italic;
        margin: 0 0 1rem 1rem;
    }
}
div.defn-text {
    margin-left: 1rem;
    p {
        margin: 0
    }
}
div.defn-term {
	font-weight: bold;
	font-style: italic;
	.N { margin-right: 5px }
}
div.id-target {
	display: none;
}
div.nested {
	margin-left: 5rem;
}
div.footer {
	
}
div.footer-field {
	
}
div.toc {
	.toc-item {
	    margin-left: calc(var(--level) * 1rem);
	    &::before {
	        content: attr(data-bullet);
	    }
	    a {
            padding-left: 0.4rem;
	    }
	}
}
h1.toc-caption {
}
div.index-section {
    margin-left: calc(( var(--level) - 1 ) * 1rem);
    &[data-index-level="1"] {
        text-shadow: 1px 1px orange;
    }
    > a.index-ref {
        margin-left: calc(var(--level) * 1rem);
        display:block;
        width:auto;
        white-space:normal;
    }
/*
	> a.index-ref {
	    white-space: nowrap;
	    display:inline-block;
	    width: 1em;
	    + span {
	        display: none;
	        width: 0;
	    }
	    &:hover+span {
	        display: inline-block;
	        position: absolute;
	        width: auto;
	        z-index: 5;
	        background-color: seashell;
	    }
	}
	*/
}
h2.index-caption {
}
span.developer-note {
    display: none;
    width: 0;
    color: blue;
    text-shadow: 2px 2px 5px green;
}
span.developer-version {
    display: none;
    width: 0;
    color: red;
    text-shadow: 2px 2px 5px green;
}
.delta, span.developer-text {
    &::before {
        content: "\1F6C8";
        vertical-align: super;
	}
	&:hover .developer-version {
	    display: inline-block;
        position: absolute;
        width: 100%;
        z-index: 5;
        transform: translate(0.5rem,-1rem);
	}
	&:hover .developer-note {
	    display: inline-block;
        position: absolute;
        width: auto;
        z-index: 5;
        margin-left: 1rem;
	}
}
span.developer-text:hover {
    text-decoration: overline;
}

div.footnotes {
	
}
div.footnote {
	
}
div.warnings {
	
}
div.footer {
    border-top: 2px dashed;
    margin: 1rem 0;
    padding: 2rem;
    .footer-field {
        display:inline-block;
    }
    .footer-line {
        display: block;
    }
}
h2.warnings-caption {
}

.heading > a {
	color: maroon;
	text-decoration: none;
}
h.title {
	font-size: larger;
}
.rakudoc-table {
    display: flex;
    align-content: flex-start;
    flex-direction: column;
    margin: 1rem;
    width: fit-content;
    table, th, td {
      border: 1px solid lightgray;
      border-collapse: collapse;
    }
    .table-caption.rakudoc {
        color: maroon;
        font-size: 0.875rem;
        font-weight: 500;
        font-style: italic;
    }
    .table {
        padding: 15px;
        margin-bottom: 10px;
        margin-top: 10px;
        border: 1px solid black;
        td, td {
          padding: 5px;
        }
        caption {
           margin-bottom: 5px;
        }
    }
}
tbody.procedural tr.procedural .procedural-cell-left {
	text-align: left;
}
tbody.procedural tr.procedural .procedural-cell-centre {
	text-align: center;
}
tbody.procedural tr.procedural .procedural-cell-center {
	text-align: center;
}
tbody.procedural tr.procedural .procedural-cell-right {
	text-align: right;
}
tbody.procedural tr.procedural .procedural-cell-top {
	vertical-align: text-top;
}
tbody.procedural tr.procedural .procedural-cell-middle {
	vertical-align: baseline;
}
tbody.procedural tr.procedural .procedural-cell-bottom {
	vertical-align: text-bottom;
}
tbody.procedural tr.procedural .procedural-cell-label {
	font-weight: bold;
}
li.item {
    padding-left: 0.4rem;
    margin-left: calc(var(--level) * 1rem);
    &::marker {
        content: attr(data-bullet);
    }
    &.extended-item > p {
        margin: 0;
    }
}
li.numitem {
    padding-left: 0.4rem;
    &::marker {
        content: attr(data-bullet);
    }
}
div.rakudoc-image-placement {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.rakudoc-placement-error {
    display: flex;
    justify-content: space-around;
    align-items: center;
    color: red;
    font-weight: bold;
}
.raku-anchor {
  font-size: 0.9em;
  text-decoration: none;
  visibility: hidden;
}
.heading:hover .raku-anchor {
  visibility: visible;
  padding-left: 5px;
}
.enumeration-N {
    margin: 0 5px 0 5px;
}
.formula {
    margin: 1rem;
    .formula-caption {
        color: maroon;
        padding: 0.2rem 0 1rem 0;
        font-size: 0.875rem;
        font-weight: 500;
        font-style: italic;
    }
}
p span.numpara {
    position: absolute;
    text-indent: -3rem;
}
div.extended-para {
    margin: 1rem 0;
    span.numpara {
        position: absolute;
        text-indent: -3rem;
    }
    p.extended-para {
        margin: 0.5rem 0;
    }
}


.rakudoc-singlepage {
    margin-left: 4rem;
}