/* To be used for the entire site */
body { /* Add some margin as a base */ margin: 5rem 2rem; }

/* Links should not be underlined until hovered over */
/* This was the behavior in Boostrap 4, but not in Boostrap 5 */
a { text-decoration: none; }

a:hover { text-decoration: underline; }

/* The exception is the navbar, which should never be underlined */
/* Again, this is to replicate the behavior of Bootstrap 4 */
/* Bootstrap 5 also does this, but the changes above broke it */
#topLevelNav a { text-decoration: none; }

/* Link to jump to the main content of the page, for accessibility */
/* We'll put it in the very top left corner of the page */
#skipToTheMain { position: absolute; top: 0; left: 0; z-index: 1000; }

/* Center objects in the page itself */
/* Have some parameters for calculating the width of objects */
#topLevelNav, #footer, #content { /* Center on the page with auto margins */ margin: auto; /* Also add some space to the bottom */ margin-bottom: 2rem; /* By default, page objects take up as much space as possible */ /* (Of course, we constrain the width to have large margins on the sides) */ /* If you need to take less, change these after inheriting */ width: 50vw; min-width: 23rem; max-width: 10in; }

/* The navigation bar and the footer take up the "full" width of the page, after centering.
*/
/* By contrast, the content is inset somewhat */
#content { width: calc(50vw - 2rem); min-width: calc(23rem - 2rem); max-width: calc(10in - 2rem); }

/* The footer link should not be underlined on hover */
/* instead, it should be a different color */
#footerLink { color: var(--bs-tertiary-color); }

#footerLink:hover { color: var(--bs-secondary-color); text-decoration: none; }

.highlight table td { padding: 5px; }

.highlight table pre { margin: 0; }

.highlight .cm { color: #999988; font-style: italic; }

.highlight .cp { color: #999999; font-weight: bold; }

.highlight .c1 { color: #999988; font-style: italic; }

.highlight .cs { color: #999999; font-weight: bold; font-style: italic; }

.highlight .c, .highlight .ch, .highlight .cd, .highlight .cpf { color: #999988; font-style: italic; }

.highlight .err { color: #a61717; background-color: #e3d2d2; }

.highlight .gd { color: #000000; background-color: #ffdddd; }

.highlight .ge { color: #000000; font-style: italic; }

.highlight .gr { color: #aa0000; }

.highlight .gh { color: #999999; }

.highlight .gi { color: #000000; background-color: #ddffdd; }

.highlight .go { color: #888888; }

.highlight .gp { color: #555555; }

.highlight .gs { font-weight: bold; }

.highlight .gu { color: #aaaaaa; }

.highlight .gt { color: #aa0000; }

.highlight .kc { color: #000000; font-weight: bold; }

.highlight .kd { color: #000000; font-weight: bold; }

.highlight .kn { color: #000000; font-weight: bold; }

.highlight .kp { color: #000000; font-weight: bold; }

.highlight .kr { color: #000000; font-weight: bold; }

.highlight .kt { color: #445588; font-weight: bold; }

.highlight .k, .highlight .kv { color: #000000; font-weight: bold; }

.highlight .mf { color: #009999; }

.highlight .mh { color: #009999; }

.highlight .il { color: #009999; }

.highlight .mi { color: #009999; }

.highlight .mo { color: #009999; }

.highlight .m, .highlight .mb, .highlight .mx { color: #009999; }

.highlight .sb { color: #d14; }

.highlight .sc { color: #d14; }

.highlight .sd { color: #d14; }

.highlight .s2 { color: #d14; }

.highlight .se { color: #d14; }

.highlight .sh { color: #d14; }

.highlight .si { color: #d14; }

.highlight .sx { color: #d14; }

.highlight .sr { color: #009926; }

.highlight .s1 { color: #d14; }

.highlight .ss { color: #990073; }

.highlight .s, .highlight .sa, .highlight .dl { color: #d14; }

.highlight .na { color: #008080; }

.highlight .bp { color: #999999; }

.highlight .nb { color: #0086B3; }

.highlight .nc { color: #445588; font-weight: bold; }

.highlight .no { color: #008080; }

.highlight .nd { color: #3c5d5d; font-weight: bold; }

.highlight .ni { color: #800080; }

.highlight .ne { color: #990000; font-weight: bold; }

.highlight .nf, .highlight .fm { color: #990000; font-weight: bold; }

.highlight .nl { color: #990000; font-weight: bold; }

.highlight .nn { color: #555555; }

.highlight .nt { color: #000080; }

.highlight .vc { color: #008080; }

.highlight .vg { color: #008080; }

.highlight .vi { color: #008080; }

.highlight .nv, .highlight .vm { color: #008080; }

.highlight .ow { color: #000000; font-weight: bold; }

.highlight .o { color: #000000; font-weight: bold; }

.highlight .w { color: #bbbbbb; }

.highlight { background-color: #f8f8f8; }

/* Center and block images and figures */
figure, img { display: block; margin: 1.5rem auto; min-width: 20vw; max-width: 80%; }

/* Images in a figure should be centered and expand to the whole width */
figure img { display: inline-block; margin: 0 0 1em; max-width: 100%; /* If their height is manually limited, scale keeping aspect ratio */ object-fit: contain; }

/* Figures should align their text center */
figure { text-align: center; }

/* Figure captions should be styled as such */
/* This styling was taken from Bootstrap */
figcaption { font-size: 90%; font-style: italic; color: var(--bs-secondary); }

/* For code segments */
figure.highlight { /* Code segments should have margins */ padding: 1rem 1rem 1px; /* Undo a lot of the stuff done above for most figures */ text-align: left; max-width: 100%; margin: 0 0 1rem; }

/* Tables should be centered, and should not take more space than the content */
table { margin: 1.5rem auto; }

/* The header row should be centered and bold */
/* We'll have a single border between the header and the body */
thead th { /* Jekyll's tables have inline styles for text-align */ /* We'll override them */ text-align: center !important; font-weight: bold; border-bottom: 1px solid var(--bs-secondary); }

th, td { padding: 0.5rem 1ch; }

/* Style blockquotes to look as such */
/* Again, many of the colors were taken from Bootstrap */
blockquote { /* Background same color as card footers */ /* FIXME: Hardcoded alpha to match var(--bs-card-cap-bg) */ background-color: rgba(var(--bs-body-color-rgb), 0.03); /* Have a border on the left */ border-left: 0.4ch solid var(--bs-secondary); /* Have some padding inside */ padding: 0.5rem 1ch 0.5rem 1.6ch; }

/* Avoid issues with margins */
blockquote :last-child { margin-bottom: 0; }

/* End-of-proof marker styling */
/* Include `end-of-proof.html` to use it */
.end-of-proof { float: right; margin-left: 1em; /* Have some space if the end-of-proof marker goes to the next line */ /* Should be less than or equal to the margin-bottom of the paragraph */ margin-bottom: 0.25rem; }

/* If we don't do this, the end-of-proof marker will float over the next paragraph
*/
p { clear: both; }

/* Footnotes are automatically generated by Jekyll */
/* They are put in an `ol` in a `div` with the class `footnotes` */
.footnotes { /* Make the footnotes small and dim */ font-size: 0.8rem; color: var(--bs-secondary); /* Remove the spacing between footnotes */ /* The default paragraph spacing is too much */ }
.footnotes p { margin-bottom: 0; }

/* Spacing between post and related posts */
#postContent { margin-bottom: 2rem; }

/* Copy from `index.scss` */
.rssLink:hover { opacity: .7; }
