html {
    scroll-behavior: smooth;
}
body {
    font-family: "Courier New";
    color: rgb(200, 200, 200);
    background-color: rgb(50, 50, 50);
}
h1 {
    font-size: 36px;
}
h2 {
    font-size: 30px;
    margin-top: 50px;
}
h3 {
    font-size: 24px;
    margin-top: 30px;
}
h4 {
    font-size: 20px;
}
p {
    font-size: 18px; line-height: 1.5;
}
label {
    font-size: 18px;
}
pre {
    font-size: 16px; line-height: 1.5;
}
ul, ol {
    font-size: 18px; line-height: 1.5;
}
ul.spaced>li, ol.spaced>li {
    margin-bottom: 18px;
}
blockquote {
    font-size: 18px; line-height: 1.5;
    color: rgb(200, 200, 200, 0.5);
    border-left: 4px solid rgb(200, 200, 200, 0.5);
    padding-left: 15px; margin-left: 5px;
}
.eqn-big {
    font-size: 24px;
}
a {
    text-decoration: none;
    color: rgb(200, 200, 200, 0.5);
}
.link {
    font-weight: bold;
    color: rgb(200, 200, 200, 0.5);
    transition: color 0.5s;
    /*animation*/
    /*background-image: linear-gradient(to right, rgb(200, 200, 200, 1) 0%, rgb(200, 200, 200, 1) 50%, rgb(200, 200, 200, 1) 100%);
    background-position: 0% 100%; background-size: 0% 0px; background-repeat: no-repeat;
    transition: background-size 1s;*/
}
.link:hover {
    color: rgb(150, 200, 250, 0.5);
    transition: color 0.5s;
    /*animation*/
    /*background-size: 100% 1px;
    transition: background-size 1s;*/
}
.indent {
    margin-left: 1.5em;
}
hr {
    opacity: 50%;
}
/* hr after heading: keep the tight spacing of a nested <hr> */
h2:has(+ hr) {
    margin-bottom: 0;
}
h2 + hr {
    margin-top: 0.4em;
}

/*display and position styles*/
.inline {
    display: inline;
}
.block {
    display: block;
}
.inline-block {
    display: inline-block
}
.relative {
    position: relative;
}
.absolute {
    position: absolute;
}
.align-left {text-align: left;}
.align-center {text-align: center;}
.align-right {text-align: right;}
.inline-svg {
    display: inline-block;
    width: 1.2em; height: 1.2em;
    vertical-align: middle;
}

/*table*/
table {
    border-collapse: collapse;
    font-size: 18px;
}
th {
    border: solid 1px;
    padding: 4px 12px 4px 12px;
}
td {
    border: solid 1px;
    padding: 4px 12px 4px 12px;
}

/*text styles*/
span.minor {
    opacity: 50%;
}
span.unbold {
    font-weight: normal;
}
span.var-space {
    font-family: "Arial";
}

/*aspect ratios*/
.ratio-square {
    aspect-ratio: 1;
}
.ratio-4-3 {
    aspect-ratio: 4/3;
}
.ratio-16-10 {
    aspect-ratio: 16/10;
}
.ratio-16-9 {
    aspect-ratio: 16/9;
}
.ratio-letter {
    aspect-ratio: 8.5/11;
}
.ratio-a4 {
    aspect-ratio: 297/210;
}