This commit is contained in:
2025-06-13 15:13:48 -06:00
parent d45d428d64
commit 83b1d40c15
43 changed files with 236 additions and 9804 deletions

View File

@ -110,7 +110,21 @@ I wanted to solve this problem, so I have been chipping away at this website for
</section>
<div class="time" style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
<div class="footer-links" style="text-align: left;">
Help improve this page!<br/>
Submit an
<a href="https://gitmoss.fyi/fmtools/content/issues/new?&title=[FIX]%20About" target="_blank">issue</a> or
<a href="https://gitmoss.fyi/fmtools/content/fork" target="_blank">pull request</a>.
</div>
<div class="footer-date" style="text-align: right;">
Updated <time datetime="2025-06-07T00:00:00&#43;00:00">7 June 2025</time>
</div>
</div>
</main>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1005 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1005 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 914 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 914 B

View File

@ -102,7 +102,21 @@ Request addding a tool: Submit">
</section>
<div class="time" style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
<div class="footer-links" style="text-align: left;">
Help improve this page!<br/>
Submit an
<a href="https://gitmoss.fyi/fmtools/content/issues/new?&title=[FIX]%20Contribute" target="_blank">issue</a> or
<a href="https://gitmoss.fyi/fmtools/content/fork" target="_blank">pull request</a>.
</div>
<div class="footer-date" style="text-align: right;">
Updated <time datetime="2025-06-07T00:00:00&#43;00:00">7 June 2025</time>
</div>
</div>
</main>

View File

@ -1,640 +0,0 @@
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 100;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 200;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 300;
src: local("Source Sans 3 Light"), local("SourceSans3-Light"), url("/fonts/static/SourceSans3-Light.woff2") format("woff2"), url("/fonts/static/SourceSans3-Light.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Regular"), local("SourceSans3-Regular"), url("/fonts/static/SourceSans3-Regular.woff2") format("woff2"), url("/fonts/static/SourceSans3-Regular.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Italic"), local("SourceSans3-Italic"), url("/fonts/static/SourceSans3-Italic.woff2") format("woff2"), url("/fonts/static/SourceSans3-Italic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 500;
src: local("Source Sans 3 Medium"), local("SourceSans3-Medium"), url("/fonts/static/SourceSans3-Medium.woff2") format("woff2"), url("/fonts/static/SourceSans3-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Sans 3 SemiBold"), local("SourceSans3-SemiBold"), url("/fonts/static/SourceSans3-SemiBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-SemiBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold"), local("SourceSans3-Bold"), url("/fonts/static/SourceSans3-Bold.woff2") format("woff2"), url("/fonts/static/SourceSans3-Bold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold Italic"), local("SourceSans3-BoldItalic"), url("/fonts/static/SourceSans3-BoldItalic.woff2") format("woff2"), url("/fonts/static/SourceSans3-BoldItalic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 800;
src: local("Source Sans 3 ExtraBold"), local("SourceSans3-ExtraBold"), url("/fonts/static/SourceSans3-ExtraBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 900;
src: local("Source Sans 3 Black"), local("SourceSans3-Black"), url("/fonts/static/SourceSans3-Black.woff2") format("woff2"), url("/fonts/static/SourceSans3-Black.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium"), local("SourceCodePro-Medium"), url("/fonts/static/SourceCodePro-Medium.woff2") format("woff2"), url("/fonts/static/SourceCodePro-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: italic;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium Italic"), local("SourceCodePro-MediumItalic"), url("/fonts/static/SourceCodePro-MediumItalic.woff2") format("woff2"), url("/fonts/static/SourceCodePro-MediumItalic.ttf") format("truetype");
}
* {
font-family: 'Source Sans 3', sans-serif;
}
code {
font-family: 'Source Code Pro', monospace;
}
/* _layout.sass */
/* Variables */
html {
background: #0a0c11;
}
/* Base Layout */
body {
background: #10131a;
color: #ffffff;
font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
width: 100%;
height: 100%;
max-width: 1024px;
margin: 1.5rem auto;
padding: 1.5rem;
box-sizing: border-box;
border-radius: 8px;
}
header {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
border-radius: 8px;
margin: 0 auto;
}
header h1, header h1 a {
margin: 0;
font-size: 1.6rem;
font-weight: 900;
color: #ffffff;
text-decoration: none;
padding: 0;
transition: color 0.4s ease-in-out;
}
header h1:hover, header h1:focus, header h1 a:hover, header h1 a:focus {
color: #6fffd2;
}
nav {
display: flex;
gap: 1.5rem;
align-items: center;
}
nav ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
}
nav ul li {
margin: 0;
padding: 0;
}
nav ul li a {
padding: 0.4rem 0.6rem;
border-radius: 8px;
background: #1a3e70;
color: #ffffff;
text-decoration: none;
font-weight: 500;
transition: background 0.4s ease-in-out;
}
nav ul li a:hover, nav ul li a:focus {
background: #00897b;
color: #ffffff;
}
@media (max-width: 600px) {
header {
flex-direction: column;
align-items: flex-start;
gap: 1.5rem;
}
nav {
width: 100%;
justify-content: flex-start;
margin-top: 1.5rem;
}
}
main {
margin: 1.5rem 0;
padding: 1.5rem;
}
footer {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
border-radius: 8px;
margin: 0 auto;
text-align: center;
}
footer p {
margin: 0;
font-size: 0.9rem;
color: #bfc9e6;
text-align: center;
}
section {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
}
#page-header {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
text-align: center;
}
#page-header h1 {
margin: 0;
width: 100%;
font-size: 3rem;
word-break: break-word;
}
#page-header .subtitle {
margin: 0;
width: 100%;
font-size: 1.2rem;
font-weight: 300;
color: #bfc9e6;
}
.time {
font-size: 0.8rem;
color: #bfc9e6;
text-align: center;
}
#tool-cards {
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
justify-content: space-between;
}
#tool-cards > article {
flex: 1 1 48%;
min-width: 300px;
max-width: 48%;
box-sizing: border-box;
}
@media (max-width: 900px) {
#tool-cards > article {
flex-basis: 100%;
max-width: 100%;
}
}
article {
background: #1a1e29;
border-radius: 8px;
padding: 1rem 2rem;
position: relative;
transition: background 0.5s ease-in-out;
}
article:hover, article:focus {
background: #1a3e70;
}
article h3 {
margin: 0;
font-size: 1.5rem;
font-weight: 700;
color: #ffffff;
}
article a {
color: #ffffff;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
text-indent: -9999px;
overflow: hidden;
text-decoration: none;
transition: color 0.3s ease-in-out;
}
article a:hover, article a:focus {
color: #6fffd2;
}
article:not(a) {
position: relative;
z-index: 2;
}
article p {
margin: 0.5rem 0;
font-size: 1rem;
color: #ffffff;
font-weight: 300;
}
article .subtitle {
margin: 0 0 0 0.5rem;
width: 100%;
font-size: 1.1rem;
font-weight: 300;
color: #bfc9e6;
}
.term-title {
font-weight: 700;
padding: 0.3rem 0.8rem;
margin-bottom: 0.5rem;
border-radius: 8px;
}
p code {
background: #102747;
margin: 0 0.2rem;
padding: 0.2rem 0.4rem;
border-radius: 5px;
font-size: 0.8rem;
}
pre {
padding: 0.5rem;
border-radius: 5px;
overflow-x: auto;
}
pre code {
font-size: 0.8rem;
}
.banner {
position: fixed;
top: 0;
width: 100%;
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px 0;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 1.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner a {
color: #0a0c11;
text-decoration: underline;
font-weight: 700;
transition: color 0.3s ease-in-out;
}
.banner a:hover, .banner a:focus {
color: #1a3e70;
}
body:has(.banner) {
margin-top: 2.6rem;
}
@media (max-width: 600px) {
.banner {
position: absolute;
top: 0;
width: calc(100% - 1.5rem);
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 4.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner .banner-text {
display: block;
margin: 0 5px;
}
body:has(.banner) {
margin-top: 5.6rem;
}
}
table#taxonomy-table {
width: 100%;
border-collapse: collapse;
box-sizing: border-box;
background: #1a1e29;
text-align: left;
}
table#taxonomy-table tr {
border-bottom: 3px solid #10131a;
}
table#taxonomy-table tr:nth-child(even) {
background: #161923;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:nth-child(odd) {
background: #202532;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:hover, table#taxonomy-table tr:focus {
background: #3a4054;
}
table#taxonomy-table thead {
text-align: left;
border: none;
border-radius: 8px 8px 0 0;
}
table#taxonomy-table th {
color: #ffffff;
background: #0a0c11 !important;
padding: 0.6rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td {
padding: 0.3rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td.description {
font-weight: 300;
color: #bfc9e6;
}
table#taxonomy-table td.tool {
min-width: 100px;
}
table#taxonomy-table a.term-link {
padding: 0.2rem 0.6rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
table#taxonomy-table a.term-link:hover, table#taxonomy-table a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
table#taxonomy-table a.taxonomy-name {
padding: 0;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out;
}
table#taxonomy-table a.taxonomy-name:hover, table#taxonomy-table a.taxonomy-name:focus {
color: #6fffd2;
}
table#taxonomy-table a {
color: #ffffff;
text-decoration: none;
}
table#taxonomy-table a:hover, table#taxonomy-table a:focus {
color: #1de9b6;
}
#taxonomy-page a.term-link {
padding: 0.3rem 1.2rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
font-size: 1.2rem;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
#taxonomy-page a.term-link:hover, #taxonomy-page a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
/* _text.sass */
a {
color: #6fffd2;
text-decoration: underline;
transition: color 0.3s ease-in-out;
}
a:hover, a:focus {
color: #3380ff;
}
#quick-links {
text-align: left;
}
#link-list {
display: flex;
gap: 1.5rem;
align-items: center;
flex-wrap: wrap;
margin: 2rem 0 1.5rem 0;
justify-content: center;
}
#link-list h2 {
flex: none;
}
#link-list ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 1rem;
flex-wrap: wrap;
}
#link-list ul li {
margin: 0;
padding: 0;
}
#link-list ul li a {
padding: 0.3rem 0.6rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
#link-list ul li a:hover, #link-list ul li a:focus {
background: #6fffd2;
}
a.button {
padding: 0.3rem 0.6rem;
margin: 0 0.2rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
a.button:hover, a.button:focus {
background: #6fffd2;
}
#publications {
font-weight: 300;
}
#publications ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 1em;
}
#publications ul li {
background: #1a1e29;
border-radius: 8px;
padding: 1em 1.5em;
}
#publications a {
color: #8fc6ff;
text-decoration: none;
font-weight: 100;
transition: color 0.3s ease-in-out;
}
#publications a:hover, #publications a:focus {
color: #6fffd2;
}
/*# sourceMappingURL=styles.css.map */

View File

@ -1,640 +0,0 @@
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 100;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 200;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 300;
src: local("Source Sans 3 Light"), local("SourceSans3-Light"), url("/fonts/static/SourceSans3-Light.woff2") format("woff2"), url("/fonts/static/SourceSans3-Light.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Regular"), local("SourceSans3-Regular"), url("/fonts/static/SourceSans3-Regular.woff2") format("woff2"), url("/fonts/static/SourceSans3-Regular.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Italic"), local("SourceSans3-Italic"), url("/fonts/static/SourceSans3-Italic.woff2") format("woff2"), url("/fonts/static/SourceSans3-Italic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 500;
src: local("Source Sans 3 Medium"), local("SourceSans3-Medium"), url("/fonts/static/SourceSans3-Medium.woff2") format("woff2"), url("/fonts/static/SourceSans3-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Sans 3 SemiBold"), local("SourceSans3-SemiBold"), url("/fonts/static/SourceSans3-SemiBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-SemiBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold"), local("SourceSans3-Bold"), url("/fonts/static/SourceSans3-Bold.woff2") format("woff2"), url("/fonts/static/SourceSans3-Bold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold Italic"), local("SourceSans3-BoldItalic"), url("/fonts/static/SourceSans3-BoldItalic.woff2") format("woff2"), url("/fonts/static/SourceSans3-BoldItalic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 800;
src: local("Source Sans 3 ExtraBold"), local("SourceSans3-ExtraBold"), url("/fonts/static/SourceSans3-ExtraBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 900;
src: local("Source Sans 3 Black"), local("SourceSans3-Black"), url("/fonts/static/SourceSans3-Black.woff2") format("woff2"), url("/fonts/static/SourceSans3-Black.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium"), local("SourceCodePro-Medium"), url("/fonts/static/SourceCodePro-Medium.woff2") format("woff2"), url("/fonts/static/SourceCodePro-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: italic;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium Italic"), local("SourceCodePro-MediumItalic"), url("/fonts/static/SourceCodePro-MediumItalic.woff2") format("woff2"), url("/fonts/static/SourceCodePro-MediumItalic.ttf") format("truetype");
}
* {
font-family: 'Source Sans 3', sans-serif;
}
code {
font-family: 'Source Code Pro', monospace;
}
/* _layout.sass */
/* Variables */
html {
background: #0a0c11;
}
/* Base Layout */
body {
background: #10131a;
color: #ffffff;
font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
width: 100%;
height: 100%;
max-width: 1024px;
margin: 1.5rem auto;
padding: 1.5rem;
box-sizing: border-box;
border-radius: 8px;
}
header {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
border-radius: 8px;
margin: 0 auto;
}
header h1, header h1 a {
margin: 0;
font-size: 1.6rem;
font-weight: 900;
color: #ffffff;
text-decoration: none;
padding: 0;
transition: color 0.4s ease-in-out;
}
header h1:hover, header h1:focus, header h1 a:hover, header h1 a:focus {
color: #6fffd2;
}
nav {
display: flex;
gap: 1.5rem;
align-items: center;
}
nav ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
}
nav ul li {
margin: 0;
padding: 0;
}
nav ul li a {
padding: 0.4rem 0.6rem;
border-radius: 8px;
background: #1a3e70;
color: #ffffff;
text-decoration: none;
font-weight: 500;
transition: background 0.4s ease-in-out;
}
nav ul li a:hover, nav ul li a:focus {
background: #00897b;
color: #ffffff;
}
@media (max-width: 600px) {
header {
flex-direction: column;
align-items: flex-start;
gap: 1.5rem;
}
nav {
width: 100%;
justify-content: flex-start;
margin-top: 1.5rem;
}
}
main {
margin: 1.5rem 0;
padding: 1.5rem;
}
footer {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
border-radius: 8px;
margin: 0 auto;
text-align: center;
}
footer p {
margin: 0;
font-size: 0.9rem;
color: #bfc9e6;
text-align: center;
}
section {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
}
#page-header {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
text-align: center;
}
#page-header h1 {
margin: 0;
width: 100%;
font-size: 3rem;
word-break: break-word;
}
#page-header .subtitle {
margin: 0;
width: 100%;
font-size: 1.2rem;
font-weight: 300;
color: #bfc9e6;
}
.time {
font-size: 0.8rem;
color: #bfc9e6;
text-align: center;
}
#tool-cards {
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
justify-content: space-between;
}
#tool-cards > article {
flex: 1 1 48%;
min-width: 300px;
max-width: 48%;
box-sizing: border-box;
}
@media (max-width: 900px) {
#tool-cards > article {
flex-basis: 100%;
max-width: 100%;
}
}
article {
background: #1a1e29;
border-radius: 8px;
padding: calc($spacing-unit / 2);
position: relative;
transition: background 0.5s ease-in-out;
}
article:hover, article:focus {
background: #1a3e70;
}
article h3 {
margin: 0;
font-size: 1.5rem;
font-weight: 700;
color: #ffffff;
}
article a {
color: #ffffff;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
text-indent: -9999px;
overflow: hidden;
text-decoration: none;
transition: color 0.3s ease-in-out;
}
article a:hover, article a:focus {
color: #6fffd2;
}
article:not(a) {
position: relative;
z-index: 2;
}
article p {
margin: 0.5rem 0;
font-size: 1rem;
color: #ffffff;
font-weight: 300;
}
article .subtitle {
margin: 0 0 0 0.5rem;
width: 100%;
font-size: 1.1rem;
font-weight: 300;
color: #bfc9e6;
}
.term-title {
font-weight: 700;
padding: 0.3rem 0.8rem;
margin-bottom: 0.5rem;
border-radius: 8px;
}
p code {
background: #102747;
margin: 0 0.2rem;
padding: 0.2rem 0.4rem;
border-radius: 5px;
font-size: 0.8rem;
}
pre {
padding: 0.5rem;
border-radius: 5px;
overflow-x: auto;
}
pre code {
font-size: 0.8rem;
}
.banner {
position: fixed;
top: 0;
width: 100%;
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px 0;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 1.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner a {
color: #0a0c11;
text-decoration: underline;
font-weight: 700;
transition: color 0.3s ease-in-out;
}
.banner a:hover, .banner a:focus {
color: #1a3e70;
}
body:has(.banner) {
margin-top: 2.6rem;
}
@media (max-width: 600px) {
.banner {
position: absolute;
top: 0;
width: calc(100% - 1.5rem);
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 4.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner .banner-text {
display: block;
margin: 0 5px;
}
body:has(.banner) {
margin-top: 5.6rem;
}
}
table#taxonomy-table {
width: 100%;
border-collapse: collapse;
box-sizing: border-box;
background: #1a1e29;
text-align: left;
}
table#taxonomy-table tr {
border-bottom: 3px solid #10131a;
}
table#taxonomy-table tr:nth-child(even) {
background: #161923;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:nth-child(odd) {
background: #202532;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:hover, table#taxonomy-table tr:focus {
background: #3a4054;
}
table#taxonomy-table thead {
text-align: left;
border: none;
border-radius: 8px 8px 0 0;
}
table#taxonomy-table th {
color: #ffffff;
background: #0a0c11 !important;
padding: 0.6rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td {
padding: 0.3rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td.description {
font-weight: 300;
color: #bfc9e6;
}
table#taxonomy-table td.tool {
min-width: 100px;
}
table#taxonomy-table a.term-link {
padding: 0.2rem 0.6rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
table#taxonomy-table a.term-link:hover, table#taxonomy-table a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
table#taxonomy-table a.taxonomy-name {
padding: 0;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out;
}
table#taxonomy-table a.taxonomy-name:hover, table#taxonomy-table a.taxonomy-name:focus {
color: #6fffd2;
}
table#taxonomy-table a {
color: #ffffff;
text-decoration: none;
}
table#taxonomy-table a:hover, table#taxonomy-table a:focus {
color: #1de9b6;
}
#taxonomy-page a.term-link {
padding: 0.3rem 1.2rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
font-size: 1.2rem;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
#taxonomy-page a.term-link:hover, #taxonomy-page a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
/* _text.sass */
a {
color: #6fffd2;
text-decoration: underline;
transition: color 0.3s ease-in-out;
}
a:hover, a:focus {
color: #3380ff;
}
#quick-links {
text-align: left;
}
#link-list {
display: flex;
gap: 1.5rem;
align-items: center;
flex-wrap: wrap;
margin: 2rem 0 1.5rem 0;
justify-content: center;
}
#link-list h2 {
flex: none;
}
#link-list ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 1rem;
flex-wrap: wrap;
}
#link-list ul li {
margin: 0;
padding: 0;
}
#link-list ul li a {
padding: 0.3rem 0.6rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
#link-list ul li a:hover, #link-list ul li a:focus {
background: #6fffd2;
}
a.button {
padding: 0.3rem 0.6rem;
margin: 0 0.2rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
a.button:hover, a.button:focus {
background: #6fffd2;
}
#publications {
font-weight: 300;
}
#publications ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 1em;
}
#publications ul li {
background: #1a1e29;
border-radius: 8px;
padding: 1em 1.5em;
}
#publications a {
color: #8fc6ff;
text-decoration: none;
font-weight: 100;
transition: color 0.3s ease-in-out;
}
#publications a:hover, #publications a:focus {
color: #6fffd2;
}
/*# sourceMappingURL=styles.css.map */

View File

@ -1,640 +0,0 @@
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 100;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 200;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 300;
src: local("Source Sans 3 Light"), local("SourceSans3-Light"), url("/fonts/static/SourceSans3-Light.woff2") format("woff2"), url("/fonts/static/SourceSans3-Light.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Regular"), local("SourceSans3-Regular"), url("/fonts/static/SourceSans3-Regular.woff2") format("woff2"), url("/fonts/static/SourceSans3-Regular.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Italic"), local("SourceSans3-Italic"), url("/fonts/static/SourceSans3-Italic.woff2") format("woff2"), url("/fonts/static/SourceSans3-Italic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 500;
src: local("Source Sans 3 Medium"), local("SourceSans3-Medium"), url("/fonts/static/SourceSans3-Medium.woff2") format("woff2"), url("/fonts/static/SourceSans3-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Sans 3 SemiBold"), local("SourceSans3-SemiBold"), url("/fonts/static/SourceSans3-SemiBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-SemiBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold"), local("SourceSans3-Bold"), url("/fonts/static/SourceSans3-Bold.woff2") format("woff2"), url("/fonts/static/SourceSans3-Bold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold Italic"), local("SourceSans3-BoldItalic"), url("/fonts/static/SourceSans3-BoldItalic.woff2") format("woff2"), url("/fonts/static/SourceSans3-BoldItalic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 800;
src: local("Source Sans 3 ExtraBold"), local("SourceSans3-ExtraBold"), url("/fonts/static/SourceSans3-ExtraBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 900;
src: local("Source Sans 3 Black"), local("SourceSans3-Black"), url("/fonts/static/SourceSans3-Black.woff2") format("woff2"), url("/fonts/static/SourceSans3-Black.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium"), local("SourceCodePro-Medium"), url("/fonts/static/SourceCodePro-Medium.woff2") format("woff2"), url("/fonts/static/SourceCodePro-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: italic;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium Italic"), local("SourceCodePro-MediumItalic"), url("/fonts/static/SourceCodePro-MediumItalic.woff2") format("woff2"), url("/fonts/static/SourceCodePro-MediumItalic.ttf") format("truetype");
}
* {
font-family: 'Source Sans 3', sans-serif;
}
code {
font-family: 'Source Code Pro', monospace;
}
/* _layout.sass */
/* Variables */
html {
background: #0a0c11;
}
/* Base Layout */
body {
background: #10131a;
color: #ffffff;
font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
width: 100%;
height: 100%;
max-width: 1024px;
margin: 1.5rem auto;
padding: 1.5rem;
box-sizing: border-box;
border-radius: 8px;
}
header {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
border-radius: 8px;
margin: 0 auto;
}
header h1, header h1 a {
margin: 0;
font-size: 1.6rem;
font-weight: 900;
color: #ffffff;
text-decoration: none;
padding: 0;
transition: color 0.4s ease-in-out;
}
header h1:hover, header h1:focus, header h1 a:hover, header h1 a:focus {
color: #6fffd2;
}
nav {
display: flex;
gap: 1.5rem;
align-items: center;
}
nav ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
}
nav ul li {
margin: 0;
padding: 0;
}
nav ul li a {
padding: 0.4rem 0.6rem;
border-radius: 8px;
background: #1a3e70;
color: #ffffff;
text-decoration: none;
font-weight: 500;
transition: background 0.4s ease-in-out;
}
nav ul li a:hover, nav ul li a:focus {
background: #00897b;
color: #ffffff;
}
@media (max-width: 600px) {
header {
flex-direction: column;
align-items: flex-start;
gap: 1.5rem;
}
nav {
width: 100%;
justify-content: flex-start;
margin-top: 1.5rem;
}
}
main {
margin: 1.5rem 0;
padding: 1.5rem;
}
footer {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
border-radius: 8px;
margin: 0 auto;
text-align: center;
}
footer p {
margin: 0;
font-size: 0.9rem;
color: #bfc9e6;
text-align: center;
}
section {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
}
#page-header {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
text-align: center;
}
#page-header h1 {
margin: 0;
width: 100%;
font-size: 3rem;
word-break: break-word;
}
#page-header .subtitle {
margin: 0;
width: 100%;
font-size: 1.2rem;
font-weight: 300;
color: #bfc9e6;
}
.time {
font-size: 0.8rem;
color: #bfc9e6;
text-align: center;
}
#tool-cards {
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
justify-content: space-between;
}
#tool-cards > article {
flex: 1 1 48%;
min-width: 300px;
max-width: 48%;
box-sizing: border-box;
}
@media (max-width: 900px) {
#tool-cards > article {
flex-basis: 100%;
max-width: 100%;
}
}
article {
background: #1a1e29;
border-radius: 8px;
padding: 1rem 1.5rem;
position: relative;
transition: background 0.5s ease-in-out;
}
article:hover, article:focus {
background: #1a3e70;
}
article h3 {
margin: 0;
font-size: 1.5rem;
font-weight: 700;
color: #ffffff;
}
article a {
color: #ffffff;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
text-indent: -9999px;
overflow: hidden;
text-decoration: none;
transition: color 0.3s ease-in-out;
}
article a:hover, article a:focus {
color: #6fffd2;
}
article:not(a) {
position: relative;
z-index: 2;
}
article p {
margin: 0.5rem 0;
font-size: 1rem;
color: #ffffff;
font-weight: 300;
}
article .subtitle {
margin: 0 0 0 0.5rem;
width: 100%;
font-size: 1.1rem;
font-weight: 300;
color: #bfc9e6;
}
.term-title {
font-weight: 700;
padding: 0.3rem 0.8rem;
margin-bottom: 0.5rem;
border-radius: 8px;
}
p code {
background: #102747;
margin: 0 0.2rem;
padding: 0.2rem 0.4rem;
border-radius: 5px;
font-size: 0.8rem;
}
pre {
padding: 0.5rem;
border-radius: 5px;
overflow-x: auto;
}
pre code {
font-size: 0.8rem;
}
.banner {
position: fixed;
top: 0;
width: 100%;
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px 0;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 1.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner a {
color: #0a0c11;
text-decoration: underline;
font-weight: 700;
transition: color 0.3s ease-in-out;
}
.banner a:hover, .banner a:focus {
color: #1a3e70;
}
body:has(.banner) {
margin-top: 2.6rem;
}
@media (max-width: 600px) {
.banner {
position: absolute;
top: 0;
width: calc(100% - 1.5rem);
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 4.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner .banner-text {
display: block;
margin: 0 5px;
}
body:has(.banner) {
margin-top: 5.6rem;
}
}
table#taxonomy-table {
width: 100%;
border-collapse: collapse;
box-sizing: border-box;
background: #1a1e29;
text-align: left;
}
table#taxonomy-table tr {
border-bottom: 3px solid #10131a;
}
table#taxonomy-table tr:nth-child(even) {
background: #161923;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:nth-child(odd) {
background: #202532;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:hover, table#taxonomy-table tr:focus {
background: #3a4054;
}
table#taxonomy-table thead {
text-align: left;
border: none;
border-radius: 8px 8px 0 0;
}
table#taxonomy-table th {
color: #ffffff;
background: #0a0c11 !important;
padding: 0.6rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td {
padding: 0.3rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td.description {
font-weight: 300;
color: #bfc9e6;
}
table#taxonomy-table td.tool {
min-width: 100px;
}
table#taxonomy-table a.term-link {
padding: 0.2rem 0.6rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
table#taxonomy-table a.term-link:hover, table#taxonomy-table a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
table#taxonomy-table a.taxonomy-name {
padding: 0;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out;
}
table#taxonomy-table a.taxonomy-name:hover, table#taxonomy-table a.taxonomy-name:focus {
color: #6fffd2;
}
table#taxonomy-table a {
color: #ffffff;
text-decoration: none;
}
table#taxonomy-table a:hover, table#taxonomy-table a:focus {
color: #1de9b6;
}
#taxonomy-page a.term-link {
padding: 0.3rem 1.2rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
font-size: 1.2rem;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
#taxonomy-page a.term-link:hover, #taxonomy-page a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
/* _text.sass */
a {
color: #6fffd2;
text-decoration: underline;
transition: color 0.3s ease-in-out;
}
a:hover, a:focus {
color: #3380ff;
}
#quick-links {
text-align: left;
}
#link-list {
display: flex;
gap: 1.5rem;
align-items: center;
flex-wrap: wrap;
margin: 2rem 0 1.5rem 0;
justify-content: center;
}
#link-list h2 {
flex: none;
}
#link-list ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 1rem;
flex-wrap: wrap;
}
#link-list ul li {
margin: 0;
padding: 0;
}
#link-list ul li a {
padding: 0.3rem 0.6rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
#link-list ul li a:hover, #link-list ul li a:focus {
background: #6fffd2;
}
a.button {
padding: 0.3rem 0.6rem;
margin: 0 0.2rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
a.button:hover, a.button:focus {
background: #6fffd2;
}
#publications {
font-weight: 300;
}
#publications ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 1em;
}
#publications ul li {
background: #1a1e29;
border-radius: 8px;
padding: 1em 1.5em;
}
#publications a {
color: #8fc6ff;
text-decoration: none;
font-weight: 100;
transition: color 0.3s ease-in-out;
}
#publications a:hover, #publications a:focus {
color: #6fffd2;
}
/*# sourceMappingURL=styles.css.map */

View File

@ -1,640 +0,0 @@
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 100;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 200;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 300;
src: local("Source Sans 3 Light"), local("SourceSans3-Light"), url("/fonts/static/SourceSans3-Light.woff2") format("woff2"), url("/fonts/static/SourceSans3-Light.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Regular"), local("SourceSans3-Regular"), url("/fonts/static/SourceSans3-Regular.woff2") format("woff2"), url("/fonts/static/SourceSans3-Regular.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Italic"), local("SourceSans3-Italic"), url("/fonts/static/SourceSans3-Italic.woff2") format("woff2"), url("/fonts/static/SourceSans3-Italic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 500;
src: local("Source Sans 3 Medium"), local("SourceSans3-Medium"), url("/fonts/static/SourceSans3-Medium.woff2") format("woff2"), url("/fonts/static/SourceSans3-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Sans 3 SemiBold"), local("SourceSans3-SemiBold"), url("/fonts/static/SourceSans3-SemiBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-SemiBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold"), local("SourceSans3-Bold"), url("/fonts/static/SourceSans3-Bold.woff2") format("woff2"), url("/fonts/static/SourceSans3-Bold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold Italic"), local("SourceSans3-BoldItalic"), url("/fonts/static/SourceSans3-BoldItalic.woff2") format("woff2"), url("/fonts/static/SourceSans3-BoldItalic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 800;
src: local("Source Sans 3 ExtraBold"), local("SourceSans3-ExtraBold"), url("/fonts/static/SourceSans3-ExtraBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 900;
src: local("Source Sans 3 Black"), local("SourceSans3-Black"), url("/fonts/static/SourceSans3-Black.woff2") format("woff2"), url("/fonts/static/SourceSans3-Black.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium"), local("SourceCodePro-Medium"), url("/fonts/static/SourceCodePro-Medium.woff2") format("woff2"), url("/fonts/static/SourceCodePro-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: italic;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium Italic"), local("SourceCodePro-MediumItalic"), url("/fonts/static/SourceCodePro-MediumItalic.woff2") format("woff2"), url("/fonts/static/SourceCodePro-MediumItalic.ttf") format("truetype");
}
* {
font-family: 'Source Sans 3', sans-serif;
}
code {
font-family: 'Source Code Pro', monospace;
}
/* _layout.sass */
/* Variables */
html {
background: #0a0c11;
}
/* Base Layout */
body {
background: #10131a;
color: #ffffff;
font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
width: 100%;
height: 100%;
max-width: 1024px;
margin: 1.5rem auto;
padding: 1.5rem;
box-sizing: border-box;
border-radius: 8px;
}
header {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
border-radius: 8px;
margin: 0 auto;
}
header h1, header h1 a {
margin: 0;
font-size: 1.6rem;
font-weight: 900;
color: #ffffff;
text-decoration: none;
padding: 0;
transition: color 0.4s ease-in-out;
}
header h1:hover, header h1:focus, header h1 a:hover, header h1 a:focus {
color: #6fffd2;
}
nav {
display: flex;
gap: 1.5rem;
align-items: center;
}
nav ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
}
nav ul li {
margin: 0;
padding: 0;
}
nav ul li a {
padding: 0.4rem 0.6rem;
border-radius: 8px;
background: #1a3e70;
color: #ffffff;
text-decoration: none;
font-weight: 500;
transition: background 0.4s ease-in-out;
}
nav ul li a:hover, nav ul li a:focus {
background: #00897b;
color: #ffffff;
}
@media (max-width: 600px) {
header {
flex-direction: column;
align-items: flex-start;
gap: 1.5rem;
}
nav {
width: 100%;
justify-content: flex-start;
margin-top: 1.5rem;
}
}
main {
margin: 1.5rem 0;
padding: 1.5rem;
}
footer {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
border-radius: 8px;
margin: 0 auto;
text-align: center;
}
footer p {
margin: 0;
font-size: 0.9rem;
color: #bfc9e6;
text-align: center;
}
section {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
}
#page-header {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
text-align: center;
}
#page-header h1 {
margin: 0;
width: 100%;
font-size: 3rem;
word-break: break-word;
}
#page-header .subtitle {
margin: 0;
width: 100%;
font-size: 1.2rem;
font-weight: 300;
color: #bfc9e6;
}
.time {
font-size: 0.8rem;
color: #bfc9e6;
text-align: center;
}
#tool-cards {
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
justify-content: space-between;
}
#tool-cards > article {
flex: 1 1 48%;
min-width: 300px;
max-width: 48%;
box-sizing: border-box;
}
@media (max-width: 900px) {
#tool-cards > article {
flex-basis: 100%;
max-width: 100%;
}
}
article {
background: #1a1e29;
border-radius: 8px;
padding: 1rem;
position: relative;
transition: background 0.5s ease-in-out;
}
article:hover, article:focus {
background: #1a3e70;
}
article h3 {
margin: 0;
font-size: 1.5rem;
font-weight: 700;
color: #ffffff;
}
article a {
color: #ffffff;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
text-indent: -9999px;
overflow: hidden;
text-decoration: none;
transition: color 0.3s ease-in-out;
}
article a:hover, article a:focus {
color: #6fffd2;
}
article:not(a) {
position: relative;
z-index: 2;
}
article p {
margin: 0.5rem 0;
font-size: 1rem;
color: #ffffff;
font-weight: 300;
}
article .subtitle {
margin: 0 0 0 0.5rem;
width: 100%;
font-size: 1.1rem;
font-weight: 300;
color: #bfc9e6;
}
.term-title {
font-weight: 700;
padding: 0.3rem 0.8rem;
margin-bottom: 0.5rem;
border-radius: 8px;
}
p code {
background: #102747;
margin: 0 0.2rem;
padding: 0.2rem 0.4rem;
border-radius: 5px;
font-size: 0.8rem;
}
pre {
padding: 0.5rem;
border-radius: 5px;
overflow-x: auto;
}
pre code {
font-size: 0.8rem;
}
.banner {
position: fixed;
top: 0;
width: 100%;
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px 0;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 1.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner a {
color: #0a0c11;
text-decoration: underline;
font-weight: 700;
transition: color 0.3s ease-in-out;
}
.banner a:hover, .banner a:focus {
color: #1a3e70;
}
body:has(.banner) {
margin-top: 2.6rem;
}
@media (max-width: 600px) {
.banner {
position: absolute;
top: 0;
width: calc(100% - 1.5rem);
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 4.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner .banner-text {
display: block;
margin: 0 5px;
}
body:has(.banner) {
margin-top: 5.6rem;
}
}
table#taxonomy-table {
width: 100%;
border-collapse: collapse;
box-sizing: border-box;
background: #1a1e29;
text-align: left;
}
table#taxonomy-table tr {
border-bottom: 3px solid #10131a;
}
table#taxonomy-table tr:nth-child(even) {
background: #161923;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:nth-child(odd) {
background: #202532;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:hover, table#taxonomy-table tr:focus {
background: #3a4054;
}
table#taxonomy-table thead {
text-align: left;
border: none;
border-radius: 8px 8px 0 0;
}
table#taxonomy-table th {
color: #ffffff;
background: #0a0c11 !important;
padding: 0.6rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td {
padding: 0.3rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td.description {
font-weight: 300;
color: #bfc9e6;
}
table#taxonomy-table td.tool {
min-width: 100px;
}
table#taxonomy-table a.term-link {
padding: 0.2rem 0.6rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
table#taxonomy-table a.term-link:hover, table#taxonomy-table a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
table#taxonomy-table a.taxonomy-name {
padding: 0;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out;
}
table#taxonomy-table a.taxonomy-name:hover, table#taxonomy-table a.taxonomy-name:focus {
color: #6fffd2;
}
table#taxonomy-table a {
color: #ffffff;
text-decoration: none;
}
table#taxonomy-table a:hover, table#taxonomy-table a:focus {
color: #1de9b6;
}
#taxonomy-page a.term-link {
padding: 0.3rem 1.2rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
font-size: 1.2rem;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
#taxonomy-page a.term-link:hover, #taxonomy-page a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
/* _text.sass */
a {
color: #6fffd2;
text-decoration: underline;
transition: color 0.3s ease-in-out;
}
a:hover, a:focus {
color: #3380ff;
}
#quick-links {
text-align: left;
}
#link-list {
display: flex;
gap: 1.5rem;
align-items: center;
flex-wrap: wrap;
margin: 2rem 0 1.5rem 0;
justify-content: center;
}
#link-list h2 {
flex: none;
}
#link-list ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 1rem;
flex-wrap: wrap;
}
#link-list ul li {
margin: 0;
padding: 0;
}
#link-list ul li a {
padding: 0.3rem 0.6rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
#link-list ul li a:hover, #link-list ul li a:focus {
background: #6fffd2;
}
a.button {
padding: 0.3rem 0.6rem;
margin: 0 0.2rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
a.button:hover, a.button:focus {
background: #6fffd2;
}
#publications {
font-weight: 300;
}
#publications ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 1em;
}
#publications ul li {
background: #1a1e29;
border-radius: 8px;
padding: 1em 1.5em;
}
#publications a {
color: #8fc6ff;
text-decoration: none;
font-weight: 100;
transition: color 0.3s ease-in-out;
}
#publications a:hover, #publications a:focus {
color: #6fffd2;
}
/*# sourceMappingURL=styles.css.map */

View File

@ -1,640 +0,0 @@
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 100;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 200;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 300;
src: local("Source Sans 3 Light"), local("SourceSans3-Light"), url("/fonts/static/SourceSans3-Light.woff2") format("woff2"), url("/fonts/static/SourceSans3-Light.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Regular"), local("SourceSans3-Regular"), url("/fonts/static/SourceSans3-Regular.woff2") format("woff2"), url("/fonts/static/SourceSans3-Regular.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Italic"), local("SourceSans3-Italic"), url("/fonts/static/SourceSans3-Italic.woff2") format("woff2"), url("/fonts/static/SourceSans3-Italic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 500;
src: local("Source Sans 3 Medium"), local("SourceSans3-Medium"), url("/fonts/static/SourceSans3-Medium.woff2") format("woff2"), url("/fonts/static/SourceSans3-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Sans 3 SemiBold"), local("SourceSans3-SemiBold"), url("/fonts/static/SourceSans3-SemiBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-SemiBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold"), local("SourceSans3-Bold"), url("/fonts/static/SourceSans3-Bold.woff2") format("woff2"), url("/fonts/static/SourceSans3-Bold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold Italic"), local("SourceSans3-BoldItalic"), url("/fonts/static/SourceSans3-BoldItalic.woff2") format("woff2"), url("/fonts/static/SourceSans3-BoldItalic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 800;
src: local("Source Sans 3 ExtraBold"), local("SourceSans3-ExtraBold"), url("/fonts/static/SourceSans3-ExtraBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 900;
src: local("Source Sans 3 Black"), local("SourceSans3-Black"), url("/fonts/static/SourceSans3-Black.woff2") format("woff2"), url("/fonts/static/SourceSans3-Black.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium"), local("SourceCodePro-Medium"), url("/fonts/static/SourceCodePro-Medium.woff2") format("woff2"), url("/fonts/static/SourceCodePro-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: italic;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium Italic"), local("SourceCodePro-MediumItalic"), url("/fonts/static/SourceCodePro-MediumItalic.woff2") format("woff2"), url("/fonts/static/SourceCodePro-MediumItalic.ttf") format("truetype");
}
* {
font-family: 'Source Sans 3', sans-serif;
}
code {
font-family: 'Source Code Pro', monospace;
}
/* _layout.sass */
/* Variables */
html {
background: #0a0c11;
}
/* Base Layout */
body {
background: #10131a;
color: #ffffff;
font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
width: 100%;
height: 100%;
max-width: 1024px;
margin: 1.5rem auto;
padding: 1.5rem;
box-sizing: border-box;
border-radius: 8px;
}
header {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
border-radius: 8px;
margin: 0 auto;
}
header h1, header h1 a {
margin: 0;
font-size: 1.6rem;
font-weight: 900;
color: #ffffff;
text-decoration: none;
padding: 0;
transition: color 0.4s ease-in-out;
}
header h1:hover, header h1:focus, header h1 a:hover, header h1 a:focus {
color: #6fffd2;
}
nav {
display: flex;
gap: 1.5rem;
align-items: center;
}
nav ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
}
nav ul li {
margin: 0;
padding: 0;
}
nav ul li a {
padding: 0.4rem 0.6rem;
border-radius: 8px;
background: #1a3e70;
color: #ffffff;
text-decoration: none;
font-weight: 500;
transition: background 0.4s ease-in-out;
}
nav ul li a:hover, nav ul li a:focus {
background: #00897b;
color: #ffffff;
}
@media (max-width: 600px) {
header {
flex-direction: column;
align-items: flex-start;
gap: 1.5rem;
}
nav {
width: 100%;
justify-content: flex-start;
margin-top: 1.5rem;
}
}
main {
margin: 1.5rem 0;
padding: 1.5rem;
}
footer {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
border-radius: 8px;
margin: 0 auto;
text-align: center;
}
footer p {
margin: 0;
font-size: 0.9rem;
color: #bfc9e6;
text-align: center;
}
section {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
}
#page-header {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
text-align: center;
}
#page-header h1 {
margin: 0;
width: 100%;
font-size: 3rem;
word-break: break-word;
}
#page-header .subtitle {
margin: 0;
width: 100%;
font-size: 1.2rem;
font-weight: 300;
color: #bfc9e6;
}
.time {
font-size: 0.8rem;
color: #bfc9e6;
text-align: center;
}
#tool-cards {
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
justify-content: space-between;
}
#tool-cards > article {
flex: 1 1 48%;
min-width: 300px;
max-width: 48%;
box-sizing: border-box;
}
@media (max-width: 900px) {
#tool-cards > article {
flex-basis: 100%;
max-width: 100%;
}
}
article {
background: #1a1e29;
border-radius: 8px;
padding: calc($spacing-unit/2);
position: relative;
transition: background 0.5s ease-in-out;
}
article:hover, article:focus {
background: #1a3e70;
}
article h3 {
margin: 0;
font-size: 1.5rem;
font-weight: 700;
color: #ffffff;
}
article a {
color: #ffffff;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
text-indent: -9999px;
overflow: hidden;
text-decoration: none;
transition: color 0.3s ease-in-out;
}
article a:hover, article a:focus {
color: #6fffd2;
}
article:not(a) {
position: relative;
z-index: 2;
}
article p {
margin: 0.5rem 0;
font-size: 1rem;
color: #ffffff;
font-weight: 300;
}
article .subtitle {
margin: 0 0 0 0.5rem;
width: 100%;
font-size: 1.1rem;
font-weight: 300;
color: #bfc9e6;
}
.term-title {
font-weight: 700;
padding: 0.3rem 0.8rem;
margin-bottom: 0.5rem;
border-radius: 8px;
}
p code {
background: #102747;
margin: 0 0.2rem;
padding: 0.2rem 0.4rem;
border-radius: 5px;
font-size: 0.8rem;
}
pre {
padding: 0.5rem;
border-radius: 5px;
overflow-x: auto;
}
pre code {
font-size: 0.8rem;
}
.banner {
position: fixed;
top: 0;
width: 100%;
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px 0;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 1.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner a {
color: #0a0c11;
text-decoration: underline;
font-weight: 700;
transition: color 0.3s ease-in-out;
}
.banner a:hover, .banner a:focus {
color: #1a3e70;
}
body:has(.banner) {
margin-top: 2.6rem;
}
@media (max-width: 600px) {
.banner {
position: absolute;
top: 0;
width: calc(100% - 1.5rem);
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 4.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner .banner-text {
display: block;
margin: 0 5px;
}
body:has(.banner) {
margin-top: 5.6rem;
}
}
table#taxonomy-table {
width: 100%;
border-collapse: collapse;
box-sizing: border-box;
background: #1a1e29;
text-align: left;
}
table#taxonomy-table tr {
border-bottom: 3px solid #10131a;
}
table#taxonomy-table tr:nth-child(even) {
background: #161923;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:nth-child(odd) {
background: #202532;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:hover, table#taxonomy-table tr:focus {
background: #3a4054;
}
table#taxonomy-table thead {
text-align: left;
border: none;
border-radius: 8px 8px 0 0;
}
table#taxonomy-table th {
color: #ffffff;
background: #0a0c11 !important;
padding: 0.6rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td {
padding: 0.3rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td.description {
font-weight: 300;
color: #bfc9e6;
}
table#taxonomy-table td.tool {
min-width: 100px;
}
table#taxonomy-table a.term-link {
padding: 0.2rem 0.6rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
table#taxonomy-table a.term-link:hover, table#taxonomy-table a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
table#taxonomy-table a.taxonomy-name {
padding: 0;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out;
}
table#taxonomy-table a.taxonomy-name:hover, table#taxonomy-table a.taxonomy-name:focus {
color: #6fffd2;
}
table#taxonomy-table a {
color: #ffffff;
text-decoration: none;
}
table#taxonomy-table a:hover, table#taxonomy-table a:focus {
color: #1de9b6;
}
#taxonomy-page a.term-link {
padding: 0.3rem 1.2rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
font-size: 1.2rem;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
#taxonomy-page a.term-link:hover, #taxonomy-page a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
/* _text.sass */
a {
color: #6fffd2;
text-decoration: underline;
transition: color 0.3s ease-in-out;
}
a:hover, a:focus {
color: #3380ff;
}
#quick-links {
text-align: left;
}
#link-list {
display: flex;
gap: 1.5rem;
align-items: center;
flex-wrap: wrap;
margin: 2rem 0 1.5rem 0;
justify-content: center;
}
#link-list h2 {
flex: none;
}
#link-list ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 1rem;
flex-wrap: wrap;
}
#link-list ul li {
margin: 0;
padding: 0;
}
#link-list ul li a {
padding: 0.3rem 0.6rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
#link-list ul li a:hover, #link-list ul li a:focus {
background: #6fffd2;
}
a.button {
padding: 0.3rem 0.6rem;
margin: 0 0.2rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
a.button:hover, a.button:focus {
background: #6fffd2;
}
#publications {
font-weight: 300;
}
#publications ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 1em;
}
#publications ul li {
background: #1a1e29;
border-radius: 8px;
padding: 1em 1.5em;
}
#publications a {
color: #8fc6ff;
text-decoration: none;
font-weight: 100;
transition: color 0.3s ease-in-out;
}
#publications a:hover, #publications a:focus {
color: #6fffd2;
}
/*# sourceMappingURL=styles.css.map */

View File

@ -1,639 +0,0 @@
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 100;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 200;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 300;
src: local("Source Sans 3 Light"), local("SourceSans3-Light"), url("/fonts/static/SourceSans3-Light.woff2") format("woff2"), url("/fonts/static/SourceSans3-Light.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Regular"), local("SourceSans3-Regular"), url("/fonts/static/SourceSans3-Regular.woff2") format("woff2"), url("/fonts/static/SourceSans3-Regular.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Italic"), local("SourceSans3-Italic"), url("/fonts/static/SourceSans3-Italic.woff2") format("woff2"), url("/fonts/static/SourceSans3-Italic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 500;
src: local("Source Sans 3 Medium"), local("SourceSans3-Medium"), url("/fonts/static/SourceSans3-Medium.woff2") format("woff2"), url("/fonts/static/SourceSans3-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Sans 3 SemiBold"), local("SourceSans3-SemiBold"), url("/fonts/static/SourceSans3-SemiBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-SemiBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold"), local("SourceSans3-Bold"), url("/fonts/static/SourceSans3-Bold.woff2") format("woff2"), url("/fonts/static/SourceSans3-Bold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold Italic"), local("SourceSans3-BoldItalic"), url("/fonts/static/SourceSans3-BoldItalic.woff2") format("woff2"), url("/fonts/static/SourceSans3-BoldItalic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 800;
src: local("Source Sans 3 ExtraBold"), local("SourceSans3-ExtraBold"), url("/fonts/static/SourceSans3-ExtraBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 900;
src: local("Source Sans 3 Black"), local("SourceSans3-Black"), url("/fonts/static/SourceSans3-Black.woff2") format("woff2"), url("/fonts/static/SourceSans3-Black.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium"), local("SourceCodePro-Medium"), url("/fonts/static/SourceCodePro-Medium.woff2") format("woff2"), url("/fonts/static/SourceCodePro-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: italic;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium Italic"), local("SourceCodePro-MediumItalic"), url("/fonts/static/SourceCodePro-MediumItalic.woff2") format("woff2"), url("/fonts/static/SourceCodePro-MediumItalic.ttf") format("truetype");
}
* {
font-family: 'Source Sans 3', sans-serif;
}
code {
font-family: 'Source Code Pro', monospace;
}
/* _layout.sass */
/* Variables */
html {
background: #0a0c11;
}
/* Base Layout */
body {
background: #10131a;
color: #ffffff;
font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
width: 100%;
height: 100%;
max-width: 1024px;
margin: 1.5rem auto;
padding: 1.5rem;
box-sizing: border-box;
border-radius: 8px;
}
header {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
border-radius: 8px;
margin: 0 auto;
}
header h1, header h1 a {
margin: 0;
font-size: 1.6rem;
font-weight: 900;
color: #ffffff;
text-decoration: none;
padding: 0;
transition: color 0.4s ease-in-out;
}
header h1:hover, header h1:focus, header h1 a:hover, header h1 a:focus {
color: #6fffd2;
}
nav {
display: flex;
gap: 1.5rem;
align-items: center;
}
nav ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
}
nav ul li {
margin: 0;
padding: 0;
}
nav ul li a {
padding: 0.4rem 0.6rem;
border-radius: 8px;
background: #1a3e70;
color: #ffffff;
text-decoration: none;
font-weight: 500;
transition: background 0.4s ease-in-out;
}
nav ul li a:hover, nav ul li a:focus {
background: #00897b;
color: #ffffff;
}
@media (max-width: 600px) {
header {
flex-direction: column;
align-items: flex-start;
gap: 1.5rem;
}
nav {
width: 100%;
justify-content: flex-start;
margin-top: 1.5rem;
}
}
main {
margin: 1.5rem 0;
padding: 1.5rem;
}
footer {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
border-radius: 8px;
margin: 0 auto;
text-align: center;
}
footer p {
margin: 0;
font-size: 0.9rem;
color: #bfc9e6;
text-align: center;
}
section {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
}
#page-header {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
text-align: center;
}
#page-header h1 {
margin: 0;
width: 100%;
font-size: 3rem;
word-break: break-word;
}
#page-header .subtitle {
margin: 0;
width: 100%;
font-size: 1.2rem;
font-weight: 300;
color: #bfc9e6;
}
.time {
font-size: 0.8rem;
color: #bfc9e6;
text-align: center;
}
#tool-cards {
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
justify-content: space-between;
}
#tool-cards > article {
flex: 1 1 48%;
min-width: 300px;
max-width: 48%;
box-sizing: border-box;
}
@media (max-width: 900px) {
#tool-cards > article {
flex-basis: 100%;
max-width: 100%;
}
}
article {
background: #1a1e29;
border-radius: 8px;
position: relative;
transition: background 0.5s ease-in-out;
}
article:hover, article:focus {
background: #1a3e70;
}
article h3 {
margin: 0;
font-size: 1.5rem;
font-weight: 700;
color: #ffffff;
}
article a {
color: #ffffff;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
text-indent: -9999px;
overflow: hidden;
text-decoration: none;
transition: color 0.3s ease-in-out;
}
article a:hover, article a:focus {
color: #6fffd2;
}
article:not(a) {
position: relative;
z-index: 2;
}
article p {
margin: 0.5rem 0;
font-size: 1rem;
color: #ffffff;
font-weight: 300;
}
article .subtitle {
margin: 0 0 0 0.5rem;
width: 100%;
font-size: 1.1rem;
font-weight: 300;
color: #bfc9e6;
}
.term-title {
font-weight: 700;
padding: 0.3rem 0.8rem;
margin-bottom: 0.5rem;
border-radius: 8px;
}
p code {
background: #102747;
margin: 0 0.2rem;
padding: 0.2rem 0.4rem;
border-radius: 5px;
font-size: 0.8rem;
}
pre {
padding: 0.5rem;
border-radius: 5px;
overflow-x: auto;
}
pre code {
font-size: 0.8rem;
}
.banner {
position: fixed;
top: 0;
width: 100%;
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px 0;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 1.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner a {
color: #0a0c11;
text-decoration: underline;
font-weight: 700;
transition: color 0.3s ease-in-out;
}
.banner a:hover, .banner a:focus {
color: #1a3e70;
}
body:has(.banner) {
margin-top: 2.6rem;
}
@media (max-width: 600px) {
.banner {
position: absolute;
top: 0;
width: calc(100% - 1.5rem);
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 4.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner .banner-text {
display: block;
margin: 0 5px;
}
body:has(.banner) {
margin-top: 5.6rem;
}
}
table#taxonomy-table {
width: 100%;
border-collapse: collapse;
box-sizing: border-box;
background: #1a1e29;
text-align: left;
}
table#taxonomy-table tr {
border-bottom: 3px solid #10131a;
}
table#taxonomy-table tr:nth-child(even) {
background: #161923;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:nth-child(odd) {
background: #202532;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:hover, table#taxonomy-table tr:focus {
background: #3a4054;
}
table#taxonomy-table thead {
text-align: left;
border: none;
border-radius: 8px 8px 0 0;
}
table#taxonomy-table th {
color: #ffffff;
background: #0a0c11 !important;
padding: 0.6rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td {
padding: 0.3rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td.description {
font-weight: 300;
color: #bfc9e6;
}
table#taxonomy-table td.tool {
min-width: 100px;
}
table#taxonomy-table a.term-link {
padding: 0.2rem 0.6rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
table#taxonomy-table a.term-link:hover, table#taxonomy-table a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
table#taxonomy-table a.taxonomy-name {
padding: 0;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out;
}
table#taxonomy-table a.taxonomy-name:hover, table#taxonomy-table a.taxonomy-name:focus {
color: #6fffd2;
}
table#taxonomy-table a {
color: #ffffff;
text-decoration: none;
}
table#taxonomy-table a:hover, table#taxonomy-table a:focus {
color: #1de9b6;
}
#taxonomy-page a.term-link {
padding: 0.3rem 1.2rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
font-size: 1.2rem;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
#taxonomy-page a.term-link:hover, #taxonomy-page a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
/* _text.sass */
a {
color: #6fffd2;
text-decoration: underline;
transition: color 0.3s ease-in-out;
}
a:hover, a:focus {
color: #3380ff;
}
#quick-links {
text-align: left;
}
#link-list {
display: flex;
gap: 1.5rem;
align-items: center;
flex-wrap: wrap;
margin: 2rem 0 1.5rem 0;
justify-content: center;
}
#link-list h2 {
flex: none;
}
#link-list ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 1rem;
flex-wrap: wrap;
}
#link-list ul li {
margin: 0;
padding: 0;
}
#link-list ul li a {
padding: 0.3rem 0.6rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
#link-list ul li a:hover, #link-list ul li a:focus {
background: #6fffd2;
}
a.button {
padding: 0.3rem 0.6rem;
margin: 0 0.2rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
a.button:hover, a.button:focus {
background: #6fffd2;
}
#publications {
font-weight: 300;
}
#publications ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 1em;
}
#publications ul li {
background: #1a1e29;
border-radius: 8px;
padding: 1em 1.5em;
}
#publications a {
color: #8fc6ff;
text-decoration: none;
font-weight: 100;
transition: color 0.3s ease-in-out;
}
#publications a:hover, #publications a:focus {
color: #6fffd2;
}
/*# sourceMappingURL=styles.css.map */

View File

@ -1,640 +0,0 @@
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 100;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 200;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 300;
src: local("Source Sans 3 Light"), local("SourceSans3-Light"), url("/fonts/static/SourceSans3-Light.woff2") format("woff2"), url("/fonts/static/SourceSans3-Light.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Regular"), local("SourceSans3-Regular"), url("/fonts/static/SourceSans3-Regular.woff2") format("woff2"), url("/fonts/static/SourceSans3-Regular.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Italic"), local("SourceSans3-Italic"), url("/fonts/static/SourceSans3-Italic.woff2") format("woff2"), url("/fonts/static/SourceSans3-Italic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 500;
src: local("Source Sans 3 Medium"), local("SourceSans3-Medium"), url("/fonts/static/SourceSans3-Medium.woff2") format("woff2"), url("/fonts/static/SourceSans3-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Sans 3 SemiBold"), local("SourceSans3-SemiBold"), url("/fonts/static/SourceSans3-SemiBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-SemiBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold"), local("SourceSans3-Bold"), url("/fonts/static/SourceSans3-Bold.woff2") format("woff2"), url("/fonts/static/SourceSans3-Bold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold Italic"), local("SourceSans3-BoldItalic"), url("/fonts/static/SourceSans3-BoldItalic.woff2") format("woff2"), url("/fonts/static/SourceSans3-BoldItalic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 800;
src: local("Source Sans 3 ExtraBold"), local("SourceSans3-ExtraBold"), url("/fonts/static/SourceSans3-ExtraBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 900;
src: local("Source Sans 3 Black"), local("SourceSans3-Black"), url("/fonts/static/SourceSans3-Black.woff2") format("woff2"), url("/fonts/static/SourceSans3-Black.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium"), local("SourceCodePro-Medium"), url("/fonts/static/SourceCodePro-Medium.woff2") format("woff2"), url("/fonts/static/SourceCodePro-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: italic;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium Italic"), local("SourceCodePro-MediumItalic"), url("/fonts/static/SourceCodePro-MediumItalic.woff2") format("woff2"), url("/fonts/static/SourceCodePro-MediumItalic.ttf") format("truetype");
}
* {
font-family: 'Source Sans 3', sans-serif;
}
code {
font-family: 'Source Code Pro', monospace;
}
/* _layout.sass */
/* Variables */
html {
background: #0a0c11;
}
/* Base Layout */
body {
background: #10131a;
color: #ffffff;
font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
width: 100%;
height: 100%;
max-width: 1024px;
margin: 1.5rem auto;
padding: 1.5rem;
box-sizing: border-box;
border-radius: 8px;
}
header {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
border-radius: 8px;
margin: 0 auto;
}
header h1, header h1 a {
margin: 0;
font-size: 1.6rem;
font-weight: 900;
color: #ffffff;
text-decoration: none;
padding: 0;
transition: color 0.4s ease-in-out;
}
header h1:hover, header h1:focus, header h1 a:hover, header h1 a:focus {
color: #6fffd2;
}
nav {
display: flex;
gap: 1.5rem;
align-items: center;
}
nav ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
}
nav ul li {
margin: 0;
padding: 0;
}
nav ul li a {
padding: 0.4rem 0.6rem;
border-radius: 8px;
background: #1a3e70;
color: #ffffff;
text-decoration: none;
font-weight: 500;
transition: background 0.4s ease-in-out;
}
nav ul li a:hover, nav ul li a:focus {
background: #00897b;
color: #ffffff;
}
@media (max-width: 600px) {
header {
flex-direction: column;
align-items: flex-start;
gap: 1.5rem;
}
nav {
width: 100%;
justify-content: flex-start;
margin-top: 1.5rem;
}
}
main {
margin: 1.5rem 0;
padding: 1.5rem;
}
footer {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
border-radius: 8px;
margin: 0 auto;
text-align: center;
}
footer p {
margin: 0;
font-size: 0.9rem;
color: #bfc9e6;
text-align: center;
}
section {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
}
#page-header {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
text-align: center;
}
#page-header h1 {
margin: 0;
width: 100%;
font-size: 3rem;
word-break: break-word;
}
#page-header .subtitle {
margin: 0;
width: 100%;
font-size: 1.2rem;
font-weight: 300;
color: #bfc9e6;
}
.time {
font-size: 0.8rem;
color: #bfc9e6;
text-align: center;
}
#tool-cards {
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
justify-content: space-between;
}
#tool-cards > article {
flex: 1 1 49%;
min-width: 300px;
max-width: 49%;
box-sizing: border-box;
}
@media (max-width: 900px) {
#tool-cards > article {
flex-basis: 100%;
max-width: 100%;
}
}
article {
background: #1a1e29;
border-radius: 8px;
padding: 1rem 1.5rem;
position: relative;
transition: background 0.5s ease-in-out;
}
article:hover, article:focus {
background: #1a3e70;
}
article h3 {
margin: 0;
font-size: 1.5rem;
font-weight: 700;
color: #ffffff;
}
article a {
color: #ffffff;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
text-indent: -9999px;
overflow: hidden;
text-decoration: none;
transition: color 0.3s ease-in-out;
}
article a:hover, article a:focus {
color: #6fffd2;
}
article:not(a) {
position: relative;
z-index: 2;
}
article p {
margin: 0.5rem 0;
font-size: 1rem;
color: #ffffff;
font-weight: 300;
}
article .subtitle {
margin: 0 0 0 0.5rem;
width: 100%;
font-size: 1.1rem;
font-weight: 300;
color: #bfc9e6;
}
.term-title {
font-weight: 700;
padding: 0.3rem 0.8rem;
margin-bottom: 0.5rem;
border-radius: 8px;
}
p code {
background: #102747;
margin: 0 0.2rem;
padding: 0.2rem 0.4rem;
border-radius: 5px;
font-size: 0.8rem;
}
pre {
padding: 0.5rem;
border-radius: 5px;
overflow-x: auto;
}
pre code {
font-size: 0.8rem;
}
.banner {
position: fixed;
top: 0;
width: 100%;
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px 0;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 1.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner a {
color: #0a0c11;
text-decoration: underline;
font-weight: 700;
transition: color 0.3s ease-in-out;
}
.banner a:hover, .banner a:focus {
color: #1a3e70;
}
body:has(.banner) {
margin-top: 2.6rem;
}
@media (max-width: 600px) {
.banner {
position: absolute;
top: 0;
width: calc(100% - 1.5rem);
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 4.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner .banner-text {
display: block;
margin: 0 5px;
}
body:has(.banner) {
margin-top: 5.6rem;
}
}
table#taxonomy-table {
width: 100%;
border-collapse: collapse;
box-sizing: border-box;
background: #1a1e29;
text-align: left;
}
table#taxonomy-table tr {
border-bottom: 3px solid #10131a;
}
table#taxonomy-table tr:nth-child(even) {
background: #161923;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:nth-child(odd) {
background: #202532;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:hover, table#taxonomy-table tr:focus {
background: #3a4054;
}
table#taxonomy-table thead {
text-align: left;
border: none;
border-radius: 8px 8px 0 0;
}
table#taxonomy-table th {
color: #ffffff;
background: #0a0c11 !important;
padding: 0.6rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td {
padding: 0.3rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td.description {
font-weight: 300;
color: #bfc9e6;
}
table#taxonomy-table td.tool {
min-width: 100px;
}
table#taxonomy-table a.term-link {
padding: 0.2rem 0.6rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
table#taxonomy-table a.term-link:hover, table#taxonomy-table a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
table#taxonomy-table a.taxonomy-name {
padding: 0;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out;
}
table#taxonomy-table a.taxonomy-name:hover, table#taxonomy-table a.taxonomy-name:focus {
color: #6fffd2;
}
table#taxonomy-table a {
color: #ffffff;
text-decoration: none;
}
table#taxonomy-table a:hover, table#taxonomy-table a:focus {
color: #1de9b6;
}
#taxonomy-page a.term-link {
padding: 0.3rem 1.2rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
font-size: 1.2rem;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
#taxonomy-page a.term-link:hover, #taxonomy-page a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
/* _text.sass */
a {
color: #6fffd2;
text-decoration: underline;
transition: color 0.3s ease-in-out;
}
a:hover, a:focus {
color: #3380ff;
}
#quick-links {
text-align: left;
}
#link-list {
display: flex;
gap: 1.5rem;
align-items: center;
flex-wrap: wrap;
margin: 2rem 0 1.5rem 0;
justify-content: center;
}
#link-list h2 {
flex: none;
}
#link-list ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 1rem;
flex-wrap: wrap;
}
#link-list ul li {
margin: 0;
padding: 0;
}
#link-list ul li a {
padding: 0.3rem 0.6rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
#link-list ul li a:hover, #link-list ul li a:focus {
background: #6fffd2;
}
a.button {
padding: 0.3rem 0.6rem;
margin: 0 0.2rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
a.button:hover, a.button:focus {
background: #6fffd2;
}
#publications {
font-weight: 300;
}
#publications ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 1em;
}
#publications ul li {
background: #1a1e29;
border-radius: 8px;
padding: 1em 1.5em;
}
#publications a {
color: #8fc6ff;
text-decoration: none;
font-weight: 100;
transition: color 0.3s ease-in-out;
}
#publications a:hover, #publications a:focus {
color: #6fffd2;
}
/*# sourceMappingURL=styles.css.map */

View File

@ -1,620 +0,0 @@
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 100;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 200;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 300;
src: local("Source Sans 3 Light"), local("SourceSans3-Light"), url("/fonts/static/SourceSans3-Light.woff2") format("woff2"), url("/fonts/static/SourceSans3-Light.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Regular"), local("SourceSans3-Regular"), url("/fonts/static/SourceSans3-Regular.woff2") format("woff2"), url("/fonts/static/SourceSans3-Regular.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Italic"), local("SourceSans3-Italic"), url("/fonts/static/SourceSans3-Italic.woff2") format("woff2"), url("/fonts/static/SourceSans3-Italic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 500;
src: local("Source Sans 3 Medium"), local("SourceSans3-Medium"), url("/fonts/static/SourceSans3-Medium.woff2") format("woff2"), url("/fonts/static/SourceSans3-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Sans 3 SemiBold"), local("SourceSans3-SemiBold"), url("/fonts/static/SourceSans3-SemiBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-SemiBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold"), local("SourceSans3-Bold"), url("/fonts/static/SourceSans3-Bold.woff2") format("woff2"), url("/fonts/static/SourceSans3-Bold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold Italic"), local("SourceSans3-BoldItalic"), url("/fonts/static/SourceSans3-BoldItalic.woff2") format("woff2"), url("/fonts/static/SourceSans3-BoldItalic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 800;
src: local("Source Sans 3 ExtraBold"), local("SourceSans3-ExtraBold"), url("/fonts/static/SourceSans3-ExtraBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 900;
src: local("Source Sans 3 Black"), local("SourceSans3-Black"), url("/fonts/static/SourceSans3-Black.woff2") format("woff2"), url("/fonts/static/SourceSans3-Black.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium"), local("SourceCodePro-Medium"), url("/fonts/static/SourceCodePro-Medium.woff2") format("woff2"), url("/fonts/static/SourceCodePro-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: italic;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium Italic"), local("SourceCodePro-MediumItalic"), url("/fonts/static/SourceCodePro-MediumItalic.woff2") format("woff2"), url("/fonts/static/SourceCodePro-MediumItalic.ttf") format("truetype");
}
* {
font-family: 'Source Sans 3', sans-serif;
}
code {
font-family: 'Source Code Pro', monospace;
}
/* _layout.sass */
/* Variables */
html {
background: #0a0c11;
}
/* Base Layout */
body {
background: #10131a;
color: #ffffff;
font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
width: 100%;
height: 100%;
max-width: 1024px;
margin: 1.5rem auto;
padding: 1.5rem;
box-sizing: border-box;
border-radius: 8px;
}
header {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
border-radius: 8px;
margin: 0 auto;
}
header h1, header h1 a {
margin: 0;
font-size: 1.6rem;
font-weight: 900;
color: #ffffff;
text-decoration: none;
padding: 0;
transition: color 0.4s ease-in-out;
}
header h1:hover, header h1:focus, header h1 a:hover, header h1 a:focus {
color: #6fffd2;
}
nav {
display: flex;
gap: 1.5rem;
align-items: center;
}
nav ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
}
nav ul li {
margin: 0;
padding: 0;
}
nav ul li a {
padding: 0.4rem 0.6rem;
border-radius: 8px;
background: #1a3e70;
color: #ffffff;
text-decoration: none;
font-weight: 500;
transition: background 0.4s ease-in-out;
}
nav ul li a:hover, nav ul li a:focus {
background: #00897b;
color: #ffffff;
}
@media (max-width: 600px) {
header {
flex-direction: column;
align-items: flex-start;
gap: 1.5rem;
}
nav {
width: 100%;
justify-content: flex-start;
margin-top: 1.5rem;
}
}
main {
margin: 1.5rem 0;
padding: 1.5rem;
}
footer {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
border-radius: 8px;
margin: 0 auto;
text-align: center;
}
footer p {
margin: 0;
font-size: 0.9rem;
color: #bfc9e6;
text-align: center;
}
section {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
}
#page-header {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
text-align: center;
}
#page-header h1 {
margin: 0;
width: 100%;
font-size: 3rem;
word-break: break-word;
}
#page-header .subtitle {
margin: 0;
width: 100%;
font-size: 1.2rem;
font-weight: 300;
color: #bfc9e6;
}
.time {
font-size: 0.8rem;
color: #bfc9e6;
text-align: center;
}
article {
background: #1a1e29;
border-radius: 8px;
padding: 1.5rem;
margin: 1.5rem 0;
position: relative;
transition: background 0.5s ease-in-out;
}
article:hover, article:focus {
background: #1a3e70;
}
article h3 {
margin: 0;
font-size: 1.5rem;
font-weight: 700;
color: #ffffff;
}
article a {
color: #ffffff;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
text-indent: -9999px;
overflow: hidden;
text-decoration: none;
transition: color 0.3s ease-in-out;
}
article a:hover, article a:focus {
color: #6fffd2;
}
article:not(a) {
position: relative;
z-index: 2;
}
article p {
margin: 0.5rem 0;
font-size: 1rem;
color: #ffffff;
font-weight: 300;
}
article .subtitle {
margin: 0 0 0 0.5rem;
width: 100%;
font-size: 1.1rem;
font-weight: 300;
color: #bfc9e6;
}
.term-title {
font-weight: 700;
padding: 0.3rem 0.8rem;
margin-bottom: 0.5rem;
border-radius: 8px;
}
p code {
background: #102747;
margin: 0 0.2rem;
padding: 0.2rem 0.4rem;
border-radius: 5px;
font-size: 0.8rem;
}
pre {
padding: 0.5rem;
border-radius: 5px;
overflow-x: auto;
}
pre code {
font-size: 0.8rem;
}
.banner {
position: fixed;
top: 0;
width: 100%;
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px 0;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 1.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner a {
color: #0a0c11;
text-decoration: underline;
font-weight: 700;
transition: color 0.3s ease-in-out;
}
.banner a:hover, .banner a:focus {
color: #1a3e70;
}
body:has(.banner) {
margin-top: 2.6rem;
}
@media (max-width: 600px) {
.banner {
position: absolute;
top: 0;
width: calc(100% - 1.5rem);
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 4.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner .banner-text {
display: block;
margin: 0 5px;
}
body:has(.banner) {
margin-top: 5.6rem;
}
}
table#taxonomy-table {
width: 100%;
border-collapse: collapse;
box-sizing: border-box;
background: #1a1e29;
text-align: left;
}
table#taxonomy-table tr {
border-bottom: 3px solid #10131a;
}
table#taxonomy-table tr:nth-child(even) {
background: #161923;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:nth-child(odd) {
background: #202532;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:hover, table#taxonomy-table tr:focus {
background: #3a4054;
}
table#taxonomy-table thead {
text-align: left;
border: none;
border-radius: 8px 8px 0 0;
}
table#taxonomy-table th {
color: #ffffff;
background: #0a0c11 !important;
padding: 0.6rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td {
padding: 0.3rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td.description {
font-weight: 300;
color: #bfc9e6;
}
table#taxonomy-table td.tool {
min-width: 100px;
}
table#taxonomy-table a.term-link {
padding: 0.2rem 0.6rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
table#taxonomy-table a.term-link:hover, table#taxonomy-table a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
table#taxonomy-table a.taxonomy-name {
padding: 0;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out;
}
table#taxonomy-table a.taxonomy-name:hover, table#taxonomy-table a.taxonomy-name:focus {
color: #6fffd2;
}
table#taxonomy-table a {
color: #ffffff;
text-decoration: none;
}
table#taxonomy-table a:hover, table#taxonomy-table a:focus {
color: #1de9b6;
}
#taxonomy-page a.term-link {
padding: 0.3rem 1.2rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
font-size: 1.2rem;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
#taxonomy-page a.term-link:hover, #taxonomy-page a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
/* _text.sass */
a {
color: #6fffd2;
text-decoration: underline;
transition: color 0.3s ease-in-out;
}
a:hover, a:focus {
color: #3380ff;
}
#quick-links {
text-align: left;
}
#link-list {
display: flex;
gap: 1.5rem;
align-items: center;
flex-wrap: wrap;
margin: 2rem 0 1.5rem 0;
justify-content: center;
}
#link-list h2 {
flex: none;
}
#link-list ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 1rem;
flex-wrap: wrap;
}
#link-list ul li {
margin: 0;
padding: 0;
}
#link-list ul li a {
padding: 0.3rem 0.6rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
#link-list ul li a:hover, #link-list ul li a:focus {
background: #6fffd2;
}
a.button {
padding: 0.3rem 0.6rem;
margin: 0 0.2rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
a.button:hover, a.button:focus {
background: #6fffd2;
}
#publications {
font-weight: 300;
}
#publications ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 1em;
}
#publications ul li {
background: #1a1e29;
border-radius: 8px;
padding: 1em 1.5em;
}
#publications a {
color: #8fc6ff;
text-decoration: none;
font-weight: 100;
transition: color 0.3s ease-in-out;
}
#publications a:hover, #publications a:focus {
color: #6fffd2;
}
/*# sourceMappingURL=styles.css.map */

View File

@ -1,640 +0,0 @@
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 100;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 200;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 300;
src: local("Source Sans 3 Light"), local("SourceSans3-Light"), url("/fonts/static/SourceSans3-Light.woff2") format("woff2"), url("/fonts/static/SourceSans3-Light.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Regular"), local("SourceSans3-Regular"), url("/fonts/static/SourceSans3-Regular.woff2") format("woff2"), url("/fonts/static/SourceSans3-Regular.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Italic"), local("SourceSans3-Italic"), url("/fonts/static/SourceSans3-Italic.woff2") format("woff2"), url("/fonts/static/SourceSans3-Italic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 500;
src: local("Source Sans 3 Medium"), local("SourceSans3-Medium"), url("/fonts/static/SourceSans3-Medium.woff2") format("woff2"), url("/fonts/static/SourceSans3-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Sans 3 SemiBold"), local("SourceSans3-SemiBold"), url("/fonts/static/SourceSans3-SemiBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-SemiBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold"), local("SourceSans3-Bold"), url("/fonts/static/SourceSans3-Bold.woff2") format("woff2"), url("/fonts/static/SourceSans3-Bold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold Italic"), local("SourceSans3-BoldItalic"), url("/fonts/static/SourceSans3-BoldItalic.woff2") format("woff2"), url("/fonts/static/SourceSans3-BoldItalic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 800;
src: local("Source Sans 3 ExtraBold"), local("SourceSans3-ExtraBold"), url("/fonts/static/SourceSans3-ExtraBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 900;
src: local("Source Sans 3 Black"), local("SourceSans3-Black"), url("/fonts/static/SourceSans3-Black.woff2") format("woff2"), url("/fonts/static/SourceSans3-Black.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium"), local("SourceCodePro-Medium"), url("/fonts/static/SourceCodePro-Medium.woff2") format("woff2"), url("/fonts/static/SourceCodePro-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: italic;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium Italic"), local("SourceCodePro-MediumItalic"), url("/fonts/static/SourceCodePro-MediumItalic.woff2") format("woff2"), url("/fonts/static/SourceCodePro-MediumItalic.ttf") format("truetype");
}
* {
font-family: 'Source Sans 3', sans-serif;
}
code {
font-family: 'Source Code Pro', monospace;
}
/* _layout.sass */
/* Variables */
html {
background: #0a0c11;
}
/* Base Layout */
body {
background: #10131a;
color: #ffffff;
font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
width: 100%;
height: 100%;
max-width: 1024px;
margin: 1.5rem auto;
padding: 1.5rem;
box-sizing: border-box;
border-radius: 8px;
}
header {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
border-radius: 8px;
margin: 0 auto;
}
header h1, header h1 a {
margin: 0;
font-size: 1.6rem;
font-weight: 900;
color: #ffffff;
text-decoration: none;
padding: 0;
transition: color 0.4s ease-in-out;
}
header h1:hover, header h1:focus, header h1 a:hover, header h1 a:focus {
color: #6fffd2;
}
nav {
display: flex;
gap: 1.5rem;
align-items: center;
}
nav ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
}
nav ul li {
margin: 0;
padding: 0;
}
nav ul li a {
padding: 0.4rem 0.6rem;
border-radius: 8px;
background: #1a3e70;
color: #ffffff;
text-decoration: none;
font-weight: 500;
transition: background 0.4s ease-in-out;
}
nav ul li a:hover, nav ul li a:focus {
background: #00897b;
color: #ffffff;
}
@media (max-width: 600px) {
header {
flex-direction: column;
align-items: flex-start;
gap: 1.5rem;
}
nav {
width: 100%;
justify-content: flex-start;
margin-top: 1.5rem;
}
}
main {
margin: 1.5rem 0;
padding: 1.5rem;
}
footer {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
border-radius: 8px;
margin: 0 auto;
text-align: center;
}
footer p {
margin: 0;
font-size: 0.9rem;
color: #bfc9e6;
text-align: center;
}
section {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
}
#page-header {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
text-align: center;
}
#page-header h1 {
margin: 0;
width: 100%;
font-size: 3rem;
word-break: break-word;
}
#page-header .subtitle {
margin: 0;
width: 100%;
font-size: 1.2rem;
font-weight: 300;
color: #bfc9e6;
}
.time {
font-size: 0.8rem;
color: #bfc9e6;
text-align: center;
}
#tool-cards {
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
justify-content: space-between;
}
#tool-cards > article {
flex: 1 1 48%;
min-width: 300px;
max-width: 48%;
box-sizing: border-box;
}
@media (max-width: 900px) {
#tool-cards > article {
flex-basis: 100%;
max-width: 100%;
}
}
article {
background: #1a1e29;
border-radius: 8px;
padding: 1.5rem;
position: relative;
transition: background 0.5s ease-in-out;
}
article:hover, article:focus {
background: #1a3e70;
}
article h3 {
margin: 0;
font-size: 1.5rem;
font-weight: 700;
color: #ffffff;
}
article a {
color: #ffffff;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
text-indent: -9999px;
overflow: hidden;
text-decoration: none;
transition: color 0.3s ease-in-out;
}
article a:hover, article a:focus {
color: #6fffd2;
}
article:not(a) {
position: relative;
z-index: 2;
}
article p {
margin: 0.5rem 0;
font-size: 1rem;
color: #ffffff;
font-weight: 300;
}
article .subtitle {
margin: 0 0 0 0.5rem;
width: 100%;
font-size: 1.1rem;
font-weight: 300;
color: #bfc9e6;
}
.term-title {
font-weight: 700;
padding: 0.3rem 0.8rem;
margin-bottom: 0.5rem;
border-radius: 8px;
}
p code {
background: #102747;
margin: 0 0.2rem;
padding: 0.2rem 0.4rem;
border-radius: 5px;
font-size: 0.8rem;
}
pre {
padding: 0.5rem;
border-radius: 5px;
overflow-x: auto;
}
pre code {
font-size: 0.8rem;
}
.banner {
position: fixed;
top: 0;
width: 100%;
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px 0;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 1.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner a {
color: #0a0c11;
text-decoration: underline;
font-weight: 700;
transition: color 0.3s ease-in-out;
}
.banner a:hover, .banner a:focus {
color: #1a3e70;
}
body:has(.banner) {
margin-top: 2.6rem;
}
@media (max-width: 600px) {
.banner {
position: absolute;
top: 0;
width: calc(100% - 1.5rem);
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 4.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner .banner-text {
display: block;
margin: 0 5px;
}
body:has(.banner) {
margin-top: 5.6rem;
}
}
table#taxonomy-table {
width: 100%;
border-collapse: collapse;
box-sizing: border-box;
background: #1a1e29;
text-align: left;
}
table#taxonomy-table tr {
border-bottom: 3px solid #10131a;
}
table#taxonomy-table tr:nth-child(even) {
background: #161923;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:nth-child(odd) {
background: #202532;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:hover, table#taxonomy-table tr:focus {
background: #3a4054;
}
table#taxonomy-table thead {
text-align: left;
border: none;
border-radius: 8px 8px 0 0;
}
table#taxonomy-table th {
color: #ffffff;
background: #0a0c11 !important;
padding: 0.6rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td {
padding: 0.3rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td.description {
font-weight: 300;
color: #bfc9e6;
}
table#taxonomy-table td.tool {
min-width: 100px;
}
table#taxonomy-table a.term-link {
padding: 0.2rem 0.6rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
table#taxonomy-table a.term-link:hover, table#taxonomy-table a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
table#taxonomy-table a.taxonomy-name {
padding: 0;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out;
}
table#taxonomy-table a.taxonomy-name:hover, table#taxonomy-table a.taxonomy-name:focus {
color: #6fffd2;
}
table#taxonomy-table a {
color: #ffffff;
text-decoration: none;
}
table#taxonomy-table a:hover, table#taxonomy-table a:focus {
color: #1de9b6;
}
#taxonomy-page a.term-link {
padding: 0.3rem 1.2rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
font-size: 1.2rem;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
#taxonomy-page a.term-link:hover, #taxonomy-page a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
/* _text.sass */
a {
color: #6fffd2;
text-decoration: underline;
transition: color 0.3s ease-in-out;
}
a:hover, a:focus {
color: #3380ff;
}
#quick-links {
text-align: left;
}
#link-list {
display: flex;
gap: 1.5rem;
align-items: center;
flex-wrap: wrap;
margin: 2rem 0 1.5rem 0;
justify-content: center;
}
#link-list h2 {
flex: none;
}
#link-list ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 1rem;
flex-wrap: wrap;
}
#link-list ul li {
margin: 0;
padding: 0;
}
#link-list ul li a {
padding: 0.3rem 0.6rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
#link-list ul li a:hover, #link-list ul li a:focus {
background: #6fffd2;
}
a.button {
padding: 0.3rem 0.6rem;
margin: 0 0.2rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
a.button:hover, a.button:focus {
background: #6fffd2;
}
#publications {
font-weight: 300;
}
#publications ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 1em;
}
#publications ul li {
background: #1a1e29;
border-radius: 8px;
padding: 1em 1.5em;
}
#publications a {
color: #8fc6ff;
text-decoration: none;
font-weight: 100;
transition: color 0.3s ease-in-out;
}
#publications a:hover, #publications a:focus {
color: #6fffd2;
}
/*# sourceMappingURL=styles.css.map */

View File

@ -1,640 +0,0 @@
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 100;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 200;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 300;
src: local("Source Sans 3 Light"), local("SourceSans3-Light"), url("/fonts/static/SourceSans3-Light.woff2") format("woff2"), url("/fonts/static/SourceSans3-Light.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Regular"), local("SourceSans3-Regular"), url("/fonts/static/SourceSans3-Regular.woff2") format("woff2"), url("/fonts/static/SourceSans3-Regular.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Italic"), local("SourceSans3-Italic"), url("/fonts/static/SourceSans3-Italic.woff2") format("woff2"), url("/fonts/static/SourceSans3-Italic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 500;
src: local("Source Sans 3 Medium"), local("SourceSans3-Medium"), url("/fonts/static/SourceSans3-Medium.woff2") format("woff2"), url("/fonts/static/SourceSans3-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Sans 3 SemiBold"), local("SourceSans3-SemiBold"), url("/fonts/static/SourceSans3-SemiBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-SemiBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold"), local("SourceSans3-Bold"), url("/fonts/static/SourceSans3-Bold.woff2") format("woff2"), url("/fonts/static/SourceSans3-Bold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold Italic"), local("SourceSans3-BoldItalic"), url("/fonts/static/SourceSans3-BoldItalic.woff2") format("woff2"), url("/fonts/static/SourceSans3-BoldItalic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 800;
src: local("Source Sans 3 ExtraBold"), local("SourceSans3-ExtraBold"), url("/fonts/static/SourceSans3-ExtraBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 900;
src: local("Source Sans 3 Black"), local("SourceSans3-Black"), url("/fonts/static/SourceSans3-Black.woff2") format("woff2"), url("/fonts/static/SourceSans3-Black.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium"), local("SourceCodePro-Medium"), url("/fonts/static/SourceCodePro-Medium.woff2") format("woff2"), url("/fonts/static/SourceCodePro-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: italic;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium Italic"), local("SourceCodePro-MediumItalic"), url("/fonts/static/SourceCodePro-MediumItalic.woff2") format("woff2"), url("/fonts/static/SourceCodePro-MediumItalic.ttf") format("truetype");
}
* {
font-family: 'Source Sans 3', sans-serif;
}
code {
font-family: 'Source Code Pro', monospace;
}
/* _layout.sass */
/* Variables */
html {
background: #0a0c11;
}
/* Base Layout */
body {
background: #10131a;
color: #ffffff;
font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
width: 100%;
height: 100%;
max-width: 1024px;
margin: 1.5rem auto;
padding: 1.5rem;
box-sizing: border-box;
border-radius: 8px;
}
header {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
border-radius: 8px;
margin: 0 auto;
}
header h1, header h1 a {
margin: 0;
font-size: 1.6rem;
font-weight: 900;
color: #ffffff;
text-decoration: none;
padding: 0;
transition: color 0.4s ease-in-out;
}
header h1:hover, header h1:focus, header h1 a:hover, header h1 a:focus {
color: #6fffd2;
}
nav {
display: flex;
gap: 1.5rem;
align-items: center;
}
nav ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
}
nav ul li {
margin: 0;
padding: 0;
}
nav ul li a {
padding: 0.4rem 0.6rem;
border-radius: 8px;
background: #1a3e70;
color: #ffffff;
text-decoration: none;
font-weight: 500;
transition: background 0.4s ease-in-out;
}
nav ul li a:hover, nav ul li a:focus {
background: #00897b;
color: #ffffff;
}
@media (max-width: 600px) {
header {
flex-direction: column;
align-items: flex-start;
gap: 1.5rem;
}
nav {
width: 100%;
justify-content: flex-start;
margin-top: 1.5rem;
}
}
main {
margin: 1.5rem 0;
padding: 1.5rem;
}
footer {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
border-radius: 8px;
margin: 0 auto;
text-align: center;
}
footer p {
margin: 0;
font-size: 0.9rem;
color: #bfc9e6;
text-align: center;
}
section {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
}
#page-header {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
text-align: center;
}
#page-header h1 {
margin: 0;
width: 100%;
font-size: 3rem;
word-break: break-word;
}
#page-header .subtitle {
margin: 0;
width: 100%;
font-size: 1.2rem;
font-weight: 300;
color: #bfc9e6;
}
.time {
font-size: 0.8rem;
color: #bfc9e6;
text-align: center;
}
#tool-cards {
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
justify-content: space-between;
}
#tool-cards > article {
flex: 1 1 50%;
min-width: 300px;
max-width: 50%;
box-sizing: border-box;
}
@media (max-width: 900px) {
#tool-cards > article {
flex-basis: 100%;
max-width: 100%;
}
}
article {
background: #1a1e29;
border-radius: 8px;
padding: 1rem 1.5rem;
position: relative;
transition: background 0.5s ease-in-out;
}
article:hover, article:focus {
background: #1a3e70;
}
article h3 {
margin: 0;
font-size: 1.5rem;
font-weight: 700;
color: #ffffff;
}
article a {
color: #ffffff;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
text-indent: -9999px;
overflow: hidden;
text-decoration: none;
transition: color 0.3s ease-in-out;
}
article a:hover, article a:focus {
color: #6fffd2;
}
article:not(a) {
position: relative;
z-index: 2;
}
article p {
margin: 0.5rem 0;
font-size: 1rem;
color: #ffffff;
font-weight: 300;
}
article .subtitle {
margin: 0 0 0 0.5rem;
width: 100%;
font-size: 1.1rem;
font-weight: 300;
color: #bfc9e6;
}
.term-title {
font-weight: 700;
padding: 0.3rem 0.8rem;
margin-bottom: 0.5rem;
border-radius: 8px;
}
p code {
background: #102747;
margin: 0 0.2rem;
padding: 0.2rem 0.4rem;
border-radius: 5px;
font-size: 0.8rem;
}
pre {
padding: 0.5rem;
border-radius: 5px;
overflow-x: auto;
}
pre code {
font-size: 0.8rem;
}
.banner {
position: fixed;
top: 0;
width: 100%;
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px 0;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 1.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner a {
color: #0a0c11;
text-decoration: underline;
font-weight: 700;
transition: color 0.3s ease-in-out;
}
.banner a:hover, .banner a:focus {
color: #1a3e70;
}
body:has(.banner) {
margin-top: 2.6rem;
}
@media (max-width: 600px) {
.banner {
position: absolute;
top: 0;
width: calc(100% - 1.5rem);
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 4.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner .banner-text {
display: block;
margin: 0 5px;
}
body:has(.banner) {
margin-top: 5.6rem;
}
}
table#taxonomy-table {
width: 100%;
border-collapse: collapse;
box-sizing: border-box;
background: #1a1e29;
text-align: left;
}
table#taxonomy-table tr {
border-bottom: 3px solid #10131a;
}
table#taxonomy-table tr:nth-child(even) {
background: #161923;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:nth-child(odd) {
background: #202532;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:hover, table#taxonomy-table tr:focus {
background: #3a4054;
}
table#taxonomy-table thead {
text-align: left;
border: none;
border-radius: 8px 8px 0 0;
}
table#taxonomy-table th {
color: #ffffff;
background: #0a0c11 !important;
padding: 0.6rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td {
padding: 0.3rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td.description {
font-weight: 300;
color: #bfc9e6;
}
table#taxonomy-table td.tool {
min-width: 100px;
}
table#taxonomy-table a.term-link {
padding: 0.2rem 0.6rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
table#taxonomy-table a.term-link:hover, table#taxonomy-table a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
table#taxonomy-table a.taxonomy-name {
padding: 0;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out;
}
table#taxonomy-table a.taxonomy-name:hover, table#taxonomy-table a.taxonomy-name:focus {
color: #6fffd2;
}
table#taxonomy-table a {
color: #ffffff;
text-decoration: none;
}
table#taxonomy-table a:hover, table#taxonomy-table a:focus {
color: #1de9b6;
}
#taxonomy-page a.term-link {
padding: 0.3rem 1.2rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
font-size: 1.2rem;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
#taxonomy-page a.term-link:hover, #taxonomy-page a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
/* _text.sass */
a {
color: #6fffd2;
text-decoration: underline;
transition: color 0.3s ease-in-out;
}
a:hover, a:focus {
color: #3380ff;
}
#quick-links {
text-align: left;
}
#link-list {
display: flex;
gap: 1.5rem;
align-items: center;
flex-wrap: wrap;
margin: 2rem 0 1.5rem 0;
justify-content: center;
}
#link-list h2 {
flex: none;
}
#link-list ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 1rem;
flex-wrap: wrap;
}
#link-list ul li {
margin: 0;
padding: 0;
}
#link-list ul li a {
padding: 0.3rem 0.6rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
#link-list ul li a:hover, #link-list ul li a:focus {
background: #6fffd2;
}
a.button {
padding: 0.3rem 0.6rem;
margin: 0 0.2rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
a.button:hover, a.button:focus {
background: #6fffd2;
}
#publications {
font-weight: 300;
}
#publications ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 1em;
}
#publications ul li {
background: #1a1e29;
border-radius: 8px;
padding: 1em 1.5em;
}
#publications a {
color: #8fc6ff;
text-decoration: none;
font-weight: 100;
transition: color 0.3s ease-in-out;
}
#publications a:hover, #publications a:focus {
color: #6fffd2;
}
/*# sourceMappingURL=styles.css.map */

View File

@ -1,639 +0,0 @@
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 100;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 200;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 300;
src: local("Source Sans 3 Light"), local("SourceSans3-Light"), url("/fonts/static/SourceSans3-Light.woff2") format("woff2"), url("/fonts/static/SourceSans3-Light.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Regular"), local("SourceSans3-Regular"), url("/fonts/static/SourceSans3-Regular.woff2") format("woff2"), url("/fonts/static/SourceSans3-Regular.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Italic"), local("SourceSans3-Italic"), url("/fonts/static/SourceSans3-Italic.woff2") format("woff2"), url("/fonts/static/SourceSans3-Italic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 500;
src: local("Source Sans 3 Medium"), local("SourceSans3-Medium"), url("/fonts/static/SourceSans3-Medium.woff2") format("woff2"), url("/fonts/static/SourceSans3-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Sans 3 SemiBold"), local("SourceSans3-SemiBold"), url("/fonts/static/SourceSans3-SemiBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-SemiBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold"), local("SourceSans3-Bold"), url("/fonts/static/SourceSans3-Bold.woff2") format("woff2"), url("/fonts/static/SourceSans3-Bold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold Italic"), local("SourceSans3-BoldItalic"), url("/fonts/static/SourceSans3-BoldItalic.woff2") format("woff2"), url("/fonts/static/SourceSans3-BoldItalic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 800;
src: local("Source Sans 3 ExtraBold"), local("SourceSans3-ExtraBold"), url("/fonts/static/SourceSans3-ExtraBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 900;
src: local("Source Sans 3 Black"), local("SourceSans3-Black"), url("/fonts/static/SourceSans3-Black.woff2") format("woff2"), url("/fonts/static/SourceSans3-Black.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium"), local("SourceCodePro-Medium"), url("/fonts/static/SourceCodePro-Medium.woff2") format("woff2"), url("/fonts/static/SourceCodePro-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: italic;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium Italic"), local("SourceCodePro-MediumItalic"), url("/fonts/static/SourceCodePro-MediumItalic.woff2") format("woff2"), url("/fonts/static/SourceCodePro-MediumItalic.ttf") format("truetype");
}
* {
font-family: 'Source Sans 3', sans-serif;
}
code {
font-family: 'Source Code Pro', monospace;
}
/* _layout.sass */
/* Variables */
html {
background: #0a0c11;
}
/* Base Layout */
body {
background: #10131a;
color: #ffffff;
font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
width: 100%;
height: 100%;
max-width: 1024px;
margin: 1.5rem auto;
padding: 1.5rem;
box-sizing: border-box;
border-radius: 8px;
}
header {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
border-radius: 8px;
margin: 0 auto;
}
header h1, header h1 a {
margin: 0;
font-size: 1.6rem;
font-weight: 900;
color: #ffffff;
text-decoration: none;
padding: 0;
transition: color 0.4s ease-in-out;
}
header h1:hover, header h1:focus, header h1 a:hover, header h1 a:focus {
color: #6fffd2;
}
nav {
display: flex;
gap: 1.5rem;
align-items: center;
}
nav ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
}
nav ul li {
margin: 0;
padding: 0;
}
nav ul li a {
padding: 0.4rem 0.6rem;
border-radius: 8px;
background: #1a3e70;
color: #ffffff;
text-decoration: none;
font-weight: 500;
transition: background 0.4s ease-in-out;
}
nav ul li a:hover, nav ul li a:focus {
background: #00897b;
color: #ffffff;
}
@media (max-width: 600px) {
header {
flex-direction: column;
align-items: flex-start;
gap: 1.5rem;
}
nav {
width: 100%;
justify-content: flex-start;
margin-top: 1.5rem;
}
}
main {
margin: 1.5rem 0;
padding: 1.5rem;
}
footer {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
border-radius: 8px;
margin: 0 auto;
text-align: center;
}
footer p {
margin: 0;
font-size: 0.9rem;
color: #bfc9e6;
text-align: center;
}
section {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
}
#page-header {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
text-align: center;
}
#page-header h1 {
margin: 0;
width: 100%;
font-size: 3rem;
word-break: break-word;
}
#page-header .subtitle {
margin: 0;
width: 100%;
font-size: 1.2rem;
font-weight: 300;
color: #bfc9e6;
}
.time {
font-size: 0.8rem;
color: #bfc9e6;
text-align: center;
}
#tool-cards {
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
justify-content: space-between;
}
#tool-cards > article {
flex: 1 1 48%;
min-width: 300px;
max-width: 48%;
box-sizing: border-box;
}
@media (max-width: 900px) {
#tool-cards > article {
flex-basis: 100%;
max-width: 100%;
}
}
article {
background: #1a1e29;
border-radius: 8px;
padding: 1rem 1.5rem;
transition: background 0.5s ease-in-out;
}
article:hover, article:focus {
background: #1a3e70;
}
article h3 {
margin: 0;
font-size: 1.5rem;
font-weight: 700;
color: #ffffff;
}
article a {
color: #ffffff;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
text-indent: -9999px;
overflow: hidden;
text-decoration: none;
transition: color 0.3s ease-in-out;
}
article a:hover, article a:focus {
color: #6fffd2;
}
article:not(a) {
position: relative;
z-index: 2;
}
article p {
margin: 0.5rem 0;
font-size: 1rem;
color: #ffffff;
font-weight: 300;
}
article .subtitle {
margin: 0 0 0 0.5rem;
width: 100%;
font-size: 1.1rem;
font-weight: 300;
color: #bfc9e6;
}
.term-title {
font-weight: 700;
padding: 0.3rem 0.8rem;
margin-bottom: 0.5rem;
border-radius: 8px;
}
p code {
background: #102747;
margin: 0 0.2rem;
padding: 0.2rem 0.4rem;
border-radius: 5px;
font-size: 0.8rem;
}
pre {
padding: 0.5rem;
border-radius: 5px;
overflow-x: auto;
}
pre code {
font-size: 0.8rem;
}
.banner {
position: fixed;
top: 0;
width: 100%;
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px 0;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 1.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner a {
color: #0a0c11;
text-decoration: underline;
font-weight: 700;
transition: color 0.3s ease-in-out;
}
.banner a:hover, .banner a:focus {
color: #1a3e70;
}
body:has(.banner) {
margin-top: 2.6rem;
}
@media (max-width: 600px) {
.banner {
position: absolute;
top: 0;
width: calc(100% - 1.5rem);
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 4.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner .banner-text {
display: block;
margin: 0 5px;
}
body:has(.banner) {
margin-top: 5.6rem;
}
}
table#taxonomy-table {
width: 100%;
border-collapse: collapse;
box-sizing: border-box;
background: #1a1e29;
text-align: left;
}
table#taxonomy-table tr {
border-bottom: 3px solid #10131a;
}
table#taxonomy-table tr:nth-child(even) {
background: #161923;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:nth-child(odd) {
background: #202532;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:hover, table#taxonomy-table tr:focus {
background: #3a4054;
}
table#taxonomy-table thead {
text-align: left;
border: none;
border-radius: 8px 8px 0 0;
}
table#taxonomy-table th {
color: #ffffff;
background: #0a0c11 !important;
padding: 0.6rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td {
padding: 0.3rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td.description {
font-weight: 300;
color: #bfc9e6;
}
table#taxonomy-table td.tool {
min-width: 100px;
}
table#taxonomy-table a.term-link {
padding: 0.2rem 0.6rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
table#taxonomy-table a.term-link:hover, table#taxonomy-table a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
table#taxonomy-table a.taxonomy-name {
padding: 0;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out;
}
table#taxonomy-table a.taxonomy-name:hover, table#taxonomy-table a.taxonomy-name:focus {
color: #6fffd2;
}
table#taxonomy-table a {
color: #ffffff;
text-decoration: none;
}
table#taxonomy-table a:hover, table#taxonomy-table a:focus {
color: #1de9b6;
}
#taxonomy-page a.term-link {
padding: 0.3rem 1.2rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
font-size: 1.2rem;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
#taxonomy-page a.term-link:hover, #taxonomy-page a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
/* _text.sass */
a {
color: #6fffd2;
text-decoration: underline;
transition: color 0.3s ease-in-out;
}
a:hover, a:focus {
color: #3380ff;
}
#quick-links {
text-align: left;
}
#link-list {
display: flex;
gap: 1.5rem;
align-items: center;
flex-wrap: wrap;
margin: 2rem 0 1.5rem 0;
justify-content: center;
}
#link-list h2 {
flex: none;
}
#link-list ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 1rem;
flex-wrap: wrap;
}
#link-list ul li {
margin: 0;
padding: 0;
}
#link-list ul li a {
padding: 0.3rem 0.6rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
#link-list ul li a:hover, #link-list ul li a:focus {
background: #6fffd2;
}
a.button {
padding: 0.3rem 0.6rem;
margin: 0 0.2rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
a.button:hover, a.button:focus {
background: #6fffd2;
}
#publications {
font-weight: 300;
}
#publications ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 1em;
}
#publications ul li {
background: #1a1e29;
border-radius: 8px;
padding: 1em 1.5em;
}
#publications a {
color: #8fc6ff;
text-decoration: none;
font-weight: 100;
transition: color 0.3s ease-in-out;
}
#publications a:hover, #publications a:focus {
color: #6fffd2;
}
/*# sourceMappingURL=styles.css.map */

View File

@ -1,627 +0,0 @@
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 100;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 200;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 300;
src: local("Source Sans 3 Light"), local("SourceSans3-Light"), url("/fonts/static/SourceSans3-Light.woff2") format("woff2"), url("/fonts/static/SourceSans3-Light.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Regular"), local("SourceSans3-Regular"), url("/fonts/static/SourceSans3-Regular.woff2") format("woff2"), url("/fonts/static/SourceSans3-Regular.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Italic"), local("SourceSans3-Italic"), url("/fonts/static/SourceSans3-Italic.woff2") format("woff2"), url("/fonts/static/SourceSans3-Italic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 500;
src: local("Source Sans 3 Medium"), local("SourceSans3-Medium"), url("/fonts/static/SourceSans3-Medium.woff2") format("woff2"), url("/fonts/static/SourceSans3-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Sans 3 SemiBold"), local("SourceSans3-SemiBold"), url("/fonts/static/SourceSans3-SemiBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-SemiBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold"), local("SourceSans3-Bold"), url("/fonts/static/SourceSans3-Bold.woff2") format("woff2"), url("/fonts/static/SourceSans3-Bold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold Italic"), local("SourceSans3-BoldItalic"), url("/fonts/static/SourceSans3-BoldItalic.woff2") format("woff2"), url("/fonts/static/SourceSans3-BoldItalic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 800;
src: local("Source Sans 3 ExtraBold"), local("SourceSans3-ExtraBold"), url("/fonts/static/SourceSans3-ExtraBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 900;
src: local("Source Sans 3 Black"), local("SourceSans3-Black"), url("/fonts/static/SourceSans3-Black.woff2") format("woff2"), url("/fonts/static/SourceSans3-Black.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium"), local("SourceCodePro-Medium"), url("/fonts/static/SourceCodePro-Medium.woff2") format("woff2"), url("/fonts/static/SourceCodePro-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: italic;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium Italic"), local("SourceCodePro-MediumItalic"), url("/fonts/static/SourceCodePro-MediumItalic.woff2") format("woff2"), url("/fonts/static/SourceCodePro-MediumItalic.ttf") format("truetype");
}
* {
font-family: 'Source Sans 3', sans-serif;
}
code {
font-family: 'Source Code Pro', monospace;
}
/* _layout.sass */
/* Variables */
html {
background: #0a0c11;
}
/* Base Layout */
body {
background: #10131a;
color: #ffffff;
font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
width: 100%;
height: 100%;
max-width: 1024px;
margin: 1.5rem auto;
padding: 1.5rem;
box-sizing: border-box;
border-radius: 8px;
}
header {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
border-radius: 8px;
margin: 0 auto;
}
header h1, header h1 a {
margin: 0;
font-size: 1.6rem;
font-weight: 900;
color: #ffffff;
text-decoration: none;
padding: 0;
transition: color 0.4s ease-in-out;
}
header h1:hover, header h1:focus, header h1 a:hover, header h1 a:focus {
color: #6fffd2;
}
nav {
display: flex;
gap: 1.5rem;
align-items: center;
}
nav ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
}
nav ul li {
margin: 0;
padding: 0;
}
nav ul li a {
padding: 0.4rem 0.6rem;
border-radius: 8px;
background: #1a3e70;
color: #ffffff;
text-decoration: none;
font-weight: 500;
transition: background 0.4s ease-in-out;
}
nav ul li a:hover, nav ul li a:focus {
background: #00897b;
color: #ffffff;
}
@media (max-width: 600px) {
header {
flex-direction: column;
align-items: flex-start;
gap: 1.5rem;
}
nav {
width: 100%;
justify-content: flex-start;
margin-top: 1.5rem;
}
}
main {
margin: 1.5rem 0;
padding: 1.5rem;
}
footer {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
border-radius: 8px;
margin: 0 auto;
text-align: center;
}
footer p {
margin: 0;
font-size: 0.9rem;
color: #bfc9e6;
text-align: center;
}
section {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
}
#page-header {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
text-align: center;
}
#page-header h1 {
margin: 0;
width: 100%;
font-size: 3rem;
word-break: break-word;
}
#page-header .subtitle {
margin: 0;
width: 100%;
font-size: 1.2rem;
font-weight: 300;
color: #bfc9e6;
}
.time {
font-size: 0.8rem;
color: #bfc9e6;
text-align: center;
}
#tool-cards {
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
justify-content: center;
}
article {
background: #1a1e29;
border-radius: 8px;
padding: 1.5rem;
margin: 1.5rem 0;
position: relative;
transition: background 0.5s ease-in-out;
}
article:hover, article:focus {
background: #1a3e70;
}
article h3 {
margin: 0;
font-size: 1.5rem;
font-weight: 700;
color: #ffffff;
}
article a {
color: #ffffff;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
text-indent: -9999px;
overflow: hidden;
text-decoration: none;
transition: color 0.3s ease-in-out;
}
article a:hover, article a:focus {
color: #6fffd2;
}
article:not(a) {
position: relative;
z-index: 2;
}
article p {
margin: 0.5rem 0;
font-size: 1rem;
color: #ffffff;
font-weight: 300;
}
article .subtitle {
margin: 0 0 0 0.5rem;
width: 100%;
font-size: 1.1rem;
font-weight: 300;
color: #bfc9e6;
}
.term-title {
font-weight: 700;
padding: 0.3rem 0.8rem;
margin-bottom: 0.5rem;
border-radius: 8px;
}
p code {
background: #102747;
margin: 0 0.2rem;
padding: 0.2rem 0.4rem;
border-radius: 5px;
font-size: 0.8rem;
}
pre {
padding: 0.5rem;
border-radius: 5px;
overflow-x: auto;
}
pre code {
font-size: 0.8rem;
}
.banner {
position: fixed;
top: 0;
width: 100%;
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px 0;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 1.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner a {
color: #0a0c11;
text-decoration: underline;
font-weight: 700;
transition: color 0.3s ease-in-out;
}
.banner a:hover, .banner a:focus {
color: #1a3e70;
}
body:has(.banner) {
margin-top: 2.6rem;
}
@media (max-width: 600px) {
.banner {
position: absolute;
top: 0;
width: calc(100% - 1.5rem);
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 4.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner .banner-text {
display: block;
margin: 0 5px;
}
body:has(.banner) {
margin-top: 5.6rem;
}
}
table#taxonomy-table {
width: 100%;
border-collapse: collapse;
box-sizing: border-box;
background: #1a1e29;
text-align: left;
}
table#taxonomy-table tr {
border-bottom: 3px solid #10131a;
}
table#taxonomy-table tr:nth-child(even) {
background: #161923;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:nth-child(odd) {
background: #202532;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:hover, table#taxonomy-table tr:focus {
background: #3a4054;
}
table#taxonomy-table thead {
text-align: left;
border: none;
border-radius: 8px 8px 0 0;
}
table#taxonomy-table th {
color: #ffffff;
background: #0a0c11 !important;
padding: 0.6rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td {
padding: 0.3rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td.description {
font-weight: 300;
color: #bfc9e6;
}
table#taxonomy-table td.tool {
min-width: 100px;
}
table#taxonomy-table a.term-link {
padding: 0.2rem 0.6rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
table#taxonomy-table a.term-link:hover, table#taxonomy-table a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
table#taxonomy-table a.taxonomy-name {
padding: 0;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out;
}
table#taxonomy-table a.taxonomy-name:hover, table#taxonomy-table a.taxonomy-name:focus {
color: #6fffd2;
}
table#taxonomy-table a {
color: #ffffff;
text-decoration: none;
}
table#taxonomy-table a:hover, table#taxonomy-table a:focus {
color: #1de9b6;
}
#taxonomy-page a.term-link {
padding: 0.3rem 1.2rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
font-size: 1.2rem;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
#taxonomy-page a.term-link:hover, #taxonomy-page a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
/* _text.sass */
a {
color: #6fffd2;
text-decoration: underline;
transition: color 0.3s ease-in-out;
}
a:hover, a:focus {
color: #3380ff;
}
#quick-links {
text-align: left;
}
#link-list {
display: flex;
gap: 1.5rem;
align-items: center;
flex-wrap: wrap;
margin: 2rem 0 1.5rem 0;
justify-content: center;
}
#link-list h2 {
flex: none;
}
#link-list ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 1rem;
flex-wrap: wrap;
}
#link-list ul li {
margin: 0;
padding: 0;
}
#link-list ul li a {
padding: 0.3rem 0.6rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
#link-list ul li a:hover, #link-list ul li a:focus {
background: #6fffd2;
}
a.button {
padding: 0.3rem 0.6rem;
margin: 0 0.2rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
a.button:hover, a.button:focus {
background: #6fffd2;
}
#publications {
font-weight: 300;
}
#publications ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 1em;
}
#publications ul li {
background: #1a1e29;
border-radius: 8px;
padding: 1em 1.5em;
}
#publications a {
color: #8fc6ff;
text-decoration: none;
font-weight: 100;
transition: color 0.3s ease-in-out;
}
#publications a:hover, #publications a:focus {
color: #6fffd2;
}
/*# sourceMappingURL=styles.css.map */

View File

@ -1,641 +0,0 @@
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 100;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 200;
src: local("Source Sans 3 ExtraLight"), local("SourceSans3-ExtraLight"), url("/fonts/static/SourceSans3-ExtraLight.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraLight.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 300;
src: local("Source Sans 3 Light"), local("SourceSans3-Light"), url("/fonts/static/SourceSans3-Light.woff2") format("woff2"), url("/fonts/static/SourceSans3-Light.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Regular"), local("SourceSans3-Regular"), url("/fonts/static/SourceSans3-Regular.woff2") format("woff2"), url("/fonts/static/SourceSans3-Regular.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 400;
src: local("Source Sans 3 Italic"), local("SourceSans3-Italic"), url("/fonts/static/SourceSans3-Italic.woff2") format("woff2"), url("/fonts/static/SourceSans3-Italic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 500;
src: local("Source Sans 3 Medium"), local("SourceSans3-Medium"), url("/fonts/static/SourceSans3-Medium.woff2") format("woff2"), url("/fonts/static/SourceSans3-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Sans 3 SemiBold"), local("SourceSans3-SemiBold"), url("/fonts/static/SourceSans3-SemiBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-SemiBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold"), local("SourceSans3-Bold"), url("/fonts/static/SourceSans3-Bold.woff2") format("woff2"), url("/fonts/static/SourceSans3-Bold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-display: swap;
font-weight: 700;
src: local("Source Sans 3 Bold Italic"), local("SourceSans3-BoldItalic"), url("/fonts/static/SourceSans3-BoldItalic.woff2") format("woff2"), url("/fonts/static/SourceSans3-BoldItalic.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 800;
src: local("Source Sans 3 ExtraBold"), local("SourceSans3-ExtraBold"), url("/fonts/static/SourceSans3-ExtraBold.woff2") format("woff2"), url("/fonts/static/SourceSans3-ExtraBold.ttf") format("truetype");
}
@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-display: swap;
font-weight: 900;
src: local("Source Sans 3 Black"), local("SourceSans3-Black"), url("/fonts/static/SourceSans3-Black.woff2") format("woff2"), url("/fonts/static/SourceSans3-Black.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: normal;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium"), local("SourceCodePro-Medium"), url("/fonts/static/SourceCodePro-Medium.woff2") format("woff2"), url("/fonts/static/SourceCodePro-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'Source Code Pro';
font-style: italic;
font-display: swap;
font-weight: 600;
src: local("Source Code Pro Medium Italic"), local("SourceCodePro-MediumItalic"), url("/fonts/static/SourceCodePro-MediumItalic.woff2") format("woff2"), url("/fonts/static/SourceCodePro-MediumItalic.ttf") format("truetype");
}
* {
font-family: 'Source Sans 3', sans-serif;
}
code {
font-family: 'Source Code Pro', monospace;
}
/* _layout.sass */
/* Variables */
html {
background: #0a0c11;
}
/* Base Layout */
body {
background: #10131a;
color: #ffffff;
font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
width: 100%;
height: 100%;
max-width: 1024px;
margin: 1.5rem auto;
padding: 1.5rem;
box-sizing: border-box;
border-radius: 8px;
}
header {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
border-radius: 8px;
margin: 0 auto;
}
header h1, header h1 a {
margin: 0;
font-size: 1.6rem;
font-weight: 900;
color: #ffffff;
text-decoration: none;
padding: 0;
transition: color 0.4s ease-in-out;
}
header h1:hover, header h1:focus, header h1 a:hover, header h1 a:focus {
color: #6fffd2;
}
nav {
display: flex;
gap: 1.5rem;
align-items: center;
}
nav ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
}
nav ul li {
margin: 0;
padding: 0;
}
nav ul li a {
padding: 0.4rem 0.6rem;
border-radius: 8px;
background: #1a3e70;
color: #ffffff;
text-decoration: none;
font-weight: 500;
transition: background 0.4s ease-in-out;
}
nav ul li a:hover, nav ul li a:focus {
background: #00897b;
color: #ffffff;
}
@media (max-width: 600px) {
header {
flex-direction: column;
align-items: flex-start;
gap: 1.5rem;
}
nav {
width: 100%;
justify-content: flex-start;
margin-top: 1.5rem;
}
}
main {
margin: 1.5rem 0;
padding: 1.5rem;
}
footer {
background: #1a1e29;
margin: 1.5rem;
padding: 1.5rem;
border-radius: 8px;
margin: 0 auto;
text-align: center;
}
footer p {
margin: 0;
font-size: 0.9rem;
color: #bfc9e6;
text-align: center;
}
section {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
}
#page-header {
border-bottom: 3px solid #1a1e29;
margin: 2rem 0;
padding-bottom: 2rem;
text-align: center;
}
#page-header h1 {
margin: 0;
width: 100%;
font-size: 3rem;
word-break: break-word;
}
#page-header .subtitle {
margin: 0;
width: 100%;
font-size: 1.2rem;
font-weight: 300;
color: #bfc9e6;
}
.time {
font-size: 0.8rem;
color: #bfc9e6;
text-align: center;
}
#tool-cards {
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
justify-content: space-between;
}
#tool-cards > article {
flex: 1 1 48%;
min-width: 300px;
max-width: 48%;
box-sizing: border-box;
}
@media (max-width: 900px) {
#tool-cards > article {
flex-basis: 100%;
max-width: 100%;
}
}
article {
background: #1a1e29;
border-radius: 8px;
padding: 1.5rem;
margin: 1.5rem 0;
position: relative;
transition: background 0.5s ease-in-out;
}
article:hover, article:focus {
background: #1a3e70;
}
article h3 {
margin: 0;
font-size: 1.5rem;
font-weight: 700;
color: #ffffff;
}
article a {
color: #ffffff;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
text-indent: -9999px;
overflow: hidden;
text-decoration: none;
transition: color 0.3s ease-in-out;
}
article a:hover, article a:focus {
color: #6fffd2;
}
article:not(a) {
position: relative;
z-index: 2;
}
article p {
margin: 0.5rem 0;
font-size: 1rem;
color: #ffffff;
font-weight: 300;
}
article .subtitle {
margin: 0 0 0 0.5rem;
width: 100%;
font-size: 1.1rem;
font-weight: 300;
color: #bfc9e6;
}
.term-title {
font-weight: 700;
padding: 0.3rem 0.8rem;
margin-bottom: 0.5rem;
border-radius: 8px;
}
p code {
background: #102747;
margin: 0 0.2rem;
padding: 0.2rem 0.4rem;
border-radius: 5px;
font-size: 0.8rem;
}
pre {
padding: 0.5rem;
border-radius: 5px;
overflow-x: auto;
}
pre code {
font-size: 0.8rem;
}
.banner {
position: fixed;
top: 0;
width: 100%;
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px 0;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 1.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner a {
color: #0a0c11;
text-decoration: underline;
font-weight: 700;
transition: color 0.3s ease-in-out;
}
.banner a:hover, .banner a:focus {
color: #1a3e70;
}
body:has(.banner) {
margin-top: 2.6rem;
}
@media (max-width: 600px) {
.banner {
position: absolute;
top: 0;
width: calc(100% - 1.5rem);
max-width: 1024px;
background-color: #1de9b6;
color: #0a0c11;
padding: 5px;
font-weight: 400;
text-align: center;
font-size: 1.1em;
border-radius: 0 0 8px 8px;
z-index: 1000;
font-size: 0.9rem;
height: 4.3rem;
margin-left: calc(0% - 1.5rem);
}
.banner .banner-text {
display: block;
margin: 0 5px;
}
body:has(.banner) {
margin-top: 5.6rem;
}
}
table#taxonomy-table {
width: 100%;
border-collapse: collapse;
box-sizing: border-box;
background: #1a1e29;
text-align: left;
}
table#taxonomy-table tr {
border-bottom: 3px solid #10131a;
}
table#taxonomy-table tr:nth-child(even) {
background: #161923;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:nth-child(odd) {
background: #202532;
transition: background 0.4s ease-in-out;
}
table#taxonomy-table tr:hover, table#taxonomy-table tr:focus {
background: #3a4054;
}
table#taxonomy-table thead {
text-align: left;
border: none;
border-radius: 8px 8px 0 0;
}
table#taxonomy-table th {
color: #ffffff;
background: #0a0c11 !important;
padding: 0.6rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td {
padding: 0.3rem 0.6rem;
text-align: left;
font-weight: 600;
border: none;
}
table#taxonomy-table td.description {
font-weight: 300;
color: #bfc9e6;
}
table#taxonomy-table td.tool {
min-width: 100px;
}
table#taxonomy-table a.term-link {
padding: 0.2rem 0.6rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
table#taxonomy-table a.term-link:hover, table#taxonomy-table a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
table#taxonomy-table a.taxonomy-name {
padding: 0;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
color: #ffffff;
transition: color 0.4s ease-in-out;
}
table#taxonomy-table a.taxonomy-name:hover, table#taxonomy-table a.taxonomy-name:focus {
color: #6fffd2;
}
table#taxonomy-table a {
color: #ffffff;
text-decoration: none;
}
table#taxonomy-table a:hover, table#taxonomy-table a:focus {
color: #1de9b6;
}
#taxonomy-page a.term-link {
padding: 0.3rem 1.2rem;
margin: 0.2rem;
display: inline-block;
border-radius: 8px;
text-decoration: none;
font-weight: 500;
font-size: 1.2rem;
color: #ffffff;
transition: color 0.4s ease-in-out, background 0.4s ease-in-out;
}
#taxonomy-page a.term-link:hover, #taxonomy-page a.term-link:focus {
color: #0a0c11 !important;
background: #bfc9e6 !important;
}
/* _text.sass */
a {
color: #6fffd2;
text-decoration: underline;
transition: color 0.3s ease-in-out;
}
a:hover, a:focus {
color: #3380ff;
}
#quick-links {
text-align: left;
}
#link-list {
display: flex;
gap: 1.5rem;
align-items: center;
flex-wrap: wrap;
margin: 2rem 0 1.5rem 0;
justify-content: center;
}
#link-list h2 {
flex: none;
}
#link-list ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 1rem;
flex-wrap: wrap;
}
#link-list ul li {
margin: 0;
padding: 0;
}
#link-list ul li a {
padding: 0.3rem 0.6rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
#link-list ul li a:hover, #link-list ul li a:focus {
background: #6fffd2;
}
a.button {
padding: 0.3rem 0.6rem;
margin: 0 0.2rem;
border-radius: 8px;
background: #8fc6ff;
color: #0a0c11;
text-decoration: none;
font-weight: 500;
transition: background 0.3s ease-in-out;
}
a.button:hover, a.button:focus {
background: #6fffd2;
}
#publications {
font-weight: 300;
}
#publications ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 1em;
}
#publications ul li {
background: #1a1e29;
border-radius: 8px;
padding: 1em 1.5em;
}
#publications a {
color: #8fc6ff;
text-decoration: none;
font-weight: 100;
transition: color 0.3s ease-in-out;
}
#publications a:hover, #publications a:focus {
color: #6fffd2;
}
/*# sourceMappingURL=styles.css.map */

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1005 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

View File

@ -1 +0,0 @@
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}

View File

@ -122,14 +122,47 @@ Contribute
<article class="tool-card">
<h3>
Glucose
PRISM
<span class="subtitle">Probabilistic Model Checker</span>
</h3>
<p>PRISM is a probabilistic model checker, a tool for formal modelling and analysis of systems that …</p>
<a href="/tools/prob/prism/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">PRISM</a>
</article>
<article class="tool-card">
<h3>
STAMINA
<span class="subtitle">Probabilistic Model Checker</span>
</h3>
<p>A state-space truncation tool for Markov-Chains that can analyze infinite-sized models. Intefaces …</p>
<a href="/tools/prob/stamina/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">STAMINA</a>
</article>
<article class="tool-card">
<h3>
E
<span class="subtitle">Theorem Prover</span>
</h3>
<p>E is a theorem prover for full first-order logic (and now monomorphic higher-order logic) with …</p>
<a href="/tools/sat-smt/e/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">E</a>
</article>
<article class="tool-card">
<h3>
CaDiCaL
<span class="subtitle">SAT Solver</span>
</h3>
<p>Glucose is a SAT solver.
<p>CaDiCaL is a simplified satisfiability solver.
</p>
<a href="/tools/sat-smt/glucose/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">Glucose</a>
<a href="/tools/sat-smt/cadical/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">CaDiCaL</a>
</article>
<article class="tool-card">
@ -145,35 +178,14 @@ Contribute
<article class="tool-card">
<h3>
PRISM
SMTInterpol
<span class="subtitle">Probabilistic Model Checker</span>
<span class="subtitle">Interpolating SMT Solver</span>
</h3>
<p>PRISM is a probabilistic model checker, a tool for formal modelling and analysis of systems that …</p>
<a href="/tools/prob/prism/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">PRISM</a>
</article>
<article class="tool-card">
<h3>
OpenSMT
<span class="subtitle">SMT Solver</span>
</h3>
<p>OpenSMT is a compact and open-source SMT-solver written in C++, with the main goal of making …</p>
<a href="/tools/sat-smt/opensmt/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">OpenSMT</a>
</article>
<article class="tool-card">
<h3>
veriT
<span class="subtitle">SMT Solver</span>
</h3>
<p>veriT is an SMT solver developed by LORIA and ULiege. It supports a wide range of theories and is …</p>
<a href="/tools/sat-smt/verit/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">veriT</a>
<p>SMTInterpol is an SMT Solver that can compute Craig interpolants for various theories.
APIs and …</p>
<a href="/tools/sat-smt/smtinterpol/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">SMTInterpol</a>
</article>
<article class="tool-card">
@ -187,40 +199,6 @@ Contribute
<a href="/tools/sat-smt/alt-ergo/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">Alt-Ergo</a>
</article>
<article class="tool-card">
<h3>
Zipperposition
<span class="subtitle">Theorem Prover</span>
</h3>
<p>Zipperposition is an automated theorem prover for first-order logic with equality and theories.
</p>
<a href="/tools/sat-smt/zipperposition/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">Zipperposition</a>
</article>
<article class="tool-card">
<h3>
Bitwuzla
<span class="subtitle">SMT Solver</span>
</h3>
<p>Bitwuzla is a Satisfiability Modulo Theories (SMT) solver for the theories of fixed-size …</p>
<a href="/tools/sat-smt/bitwuzla/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">Bitwuzla</a>
</article>
<article class="tool-card">
<h3>
ParaFROST
<span class="subtitle">SMT Solver</span>
</h3>
<p>ParaFROST is a parallel SAT solver with GPU-accelerated inprocessing capable of harnessing NVIDIA …</p>
<a href="/tools/sat-smt/parafrost/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">ParaFROST</a>
</article>
<article class="tool-card">
<h3>
cvc5
@ -235,36 +213,68 @@ Contribute
<article class="tool-card">
<h3>
E
<span class="subtitle">Theorem Prover</span>
</h3>
<p>E is a theorem prover for full first-order logic (and now monomorphic higher-order logic) with …</p>
<a href="/tools/sat-smt/e/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">E</a>
</article>
<article class="tool-card">
<h3>
cvc4
<span class="subtitle">Theorem Prover</span>
</h3>
<p> [ Not Maintained Since 2021 ] cvc4 is an automatic theorem prover for SMT problems. It is succeeded …</p>
<a href="/tools/sat-smt/cvc4/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">cvc4</a>
</article>
<article class="tool-card">
<h3>
Colibri
Q3B
<span class="subtitle">SMT Solver</span>
</h3>
<p>Colibri is an SMT solver.
</p>
<a href="/tools/sat-smt/colibri/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">Colibri</a>
<p> [ Not Maintained Since 2023 ] Q3B is an SMT solver for the quantified bit-vector formulas which …</p>
<a href="/tools/sat-smt/q3b/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">Q3B</a>
</article>
<article class="tool-card">
<h3>
OpenSMT
<span class="subtitle">SMT Solver</span>
</h3>
<p>OpenSMT is a compact and open-source SMT-solver written in C++, with the main goal of making …</p>
<a href="/tools/sat-smt/opensmt/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">OpenSMT</a>
</article>
<article class="tool-card">
<h3>
COMICS
<span class="subtitle">DTMC Counterexample Generator</span>
</h3>
<p>COMICS is a stand-alone tool which performs model checking and the generation of counterexamples for …</p>
<a href="/tools/prob/comics/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">COMICS</a>
</article>
<article class="tool-card">
<h3>
veriT
<span class="subtitle">SMT Solver</span>
</h3>
<p>veriT is an SMT solver developed by LORIA and ULiege. It supports a wide range of theories and is …</p>
<a href="/tools/sat-smt/verit/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">veriT</a>
</article>
<article class="tool-card">
<h3>
ParaFROST
<span class="subtitle">SMT Solver</span>
</h3>
<p>ParaFROST is a parallel SAT solver with GPU-accelerated inprocessing capable of harnessing NVIDIA …</p>
<a href="/tools/sat-smt/parafrost/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">ParaFROST</a>
</article>
<article class="tool-card">
<h3>
MathSAT
<span class="subtitle">SMT Solver</span>
</h3>
<p> [ Closed-Source Tool ]&nbsp; MiniSat is a minimalistic, open-source SAT solver, developed to help …</p>
<a href="/tools/sat-smt/mathsat/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">MathSAT</a>
</article>
<article class="tool-card">
@ -281,13 +291,49 @@ Contribute
<article class="tool-card">
<h3>
Boolector
Storm
<span class="subtitle">Probabilistic Model Checker</span>
</h3>
<p>Storm is a tool for the analysis of systems involving random or probabilistic phenomena.
</p>
<a href="/tools/prob/storm/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">Storm</a>
</article>
<article class="tool-card">
<h3>
MiniSat
<span class="subtitle">SAT Solver</span>
</h3>
<p> [ Not Maintained Since 2013 ] MiniSat is a minimalistic, open-source SAT solver, developed to help …</p>
<a href="/tools/sat-smt/minisat/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">MiniSat</a>
</article>
<article class="tool-card">
<h3>
Colibri
<span class="subtitle">SMT Solver</span>
</h3>
<p> [ Not Maintained Since 2024 ] Boolector is a Satisfiability Modulo Theories (SMT) solver for the …</p>
<a href="/tools/sat-smt/boolector/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">Boolector</a>
<p>Colibri is an SMT solver.
</p>
<a href="/tools/sat-smt/colibri/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">Colibri</a>
</article>
<article class="tool-card">
<h3>
Riss
<span class="subtitle">SAT Tool Collection</span>
</h3>
<p> [ Not Maintained Since 2017 ] Riss is a SAT solving tool collection.
</p>
<a href="/tools/sat-smt/riss/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">Riss</a>
</article>
<article class="tool-card">
@ -302,51 +348,6 @@ APIs and Bindings This …</p>
<a href="/tools/sat-smt/z3/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">Z3</a>
</article>
<article class="tool-card">
<h3>
COMICS
<span class="subtitle">Probabilistic Model Checker</span>
</h3>
<p>COMICS is a stand-alone tool which performs model checking and the generation of counterexamples for …</p>
<a href="/tools/prob/comics/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">COMICS</a>
</article>
<article class="tool-card">
<h3>
MathSAT
<span class="subtitle">SMT Solver</span>
</h3>
<p> [ Closed-Source Tool ]&nbsp; MiniSat is a minimalistic, open-source SAT solver, developed to help …</p>
<a href="/tools/sat-smt/mathsat/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">MathSAT</a>
</article>
<article class="tool-card">
<h3>
Yices 2
<span class="subtitle">SMT Solver</span>
</h3>
<p>Yices is an SMT solver developed by SRI International. It is widely used for checking the …</p>
<a href="/tools/sat-smt/yices/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">Yices 2</a>
</article>
<article class="tool-card">
<h3>
STP
<span class="subtitle">Simple Theorem Prover</span>
</h3>
<p>STP is a constraint solver for quantifier-free bitvectors.
APIs and Bindings This tool is available …</p>
<a href="/tools/sat-smt/stp/" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-indent:-9999px;overflow:hidden;">STP</a>
</article>
</div>
</section>
@ -362,7 +363,7 @@ APIs and Bindings This tool is available …</p>
Made with &#9829; using <a href="https://gohugo.io" target="_blank">Hugo</a> <br/>
Rebuilt on <time datetime="2025-06-13T15:05:33-06:00">13 June 2025</time>
Built <time datetime="2025-06-13T15:13:25-06:00">13 June 2025</time>
</div>
</div>

View File

@ -8,6 +8,13 @@
<language>en-us</language>
<lastBuildDate>Sat, 07 Jun 2025 00:00:00 +0000</lastBuildDate>
<atom:link href="https://fmtools.fyi/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>About</title>
<link>https://fmtools.fyi/about/</link>
<pubDate>Sat, 07 Jun 2025 00:00:00 +0000</pubDate>
<guid>https://fmtools.fyi/about/</guid>
<description>&lt;p&gt;The Formal Methods Tools project is dedicated to developing, maintaining, and promoting tools that support the application of formal methods in software engineering. Our goal is to make formal verification, specification, and analysis techniques accessible and practical for both researchers and practitioners.&lt;/p&gt;&#xA;&lt;h2 id=&#34;key-objectives&#34;&gt;Key Objectives&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Provide a comprehensive list of tools for formal methods.&lt;/li&gt;&#xA;&lt;li&gt;Group tools by rich metadata to support collaboration and boost tools&amp;rsquo; strengths.&lt;/li&gt;&#xA;&lt;li&gt;Foster a collaborative community for tool development and support.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;whos-behind-this&#34;&gt;Who&amp;rsquo;s Behind This?&lt;/h2&gt;&#xA;&lt;p&gt;Howdy. My name is Landon Taylor. I sometimes go by mossBiscuits.&#xA;This is one of my hobby projects.&#xA;I have a passion for formal methods. When I started learning about verification, there was a sharp barrier to entry due partially to the sprawl of content online.&#xA;I wanted to solve this problem, so I have been chipping away at this website for a while now.&lt;/p&gt;</description>
</item>
<item>
<title>Alt-Ergo</title>
<link>https://fmtools.fyi/tools/sat-smt/alt-ergo/</link>
@ -50,6 +57,13 @@
<guid>https://fmtools.fyi/tools/prob/comics/</guid>
<description>&lt;p&gt;COMICS is a stand-alone tool which performs model checking and the generation of counterexamples for discrete-time Markov Chains (DTMCs).&lt;/p&gt;</description>
</item>
<item>
<title>Contribute</title>
<link>https://fmtools.fyi/contribute/</link>
<pubDate>Sat, 07 Jun 2025 00:00:00 +0000</pubDate>
<guid>https://fmtools.fyi/contribute/</guid>
<description>&lt;p&gt;Instructions coming soon. Please see &lt;a href=&#34;https://gitmoss.fyi/fmtools/content/wiki/Contribute&#34; target=&#34;_blank&#34; &gt;https://gitmoss.fyi/fmtools/content/wiki/Contribute&lt;/a&gt; for temporary instructions.&lt;/p&gt;&#xA;&lt;h2 id=&#34;quick-links&#34;&gt;Quick Links&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Request addding a tool: &lt;a href=&#34;https://gitmoss.fyi/fmtools/content/issues/new?template=.gitea%2fissue_template%2fadd_tool.md&#34; target=&#34;_blank&#34; &gt;Submit Git Issue&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Request fixing a tool: &lt;a href=&#34;https://gitmoss.fyi/fmtools/content/issues/new?template=.gitea%2fissue_template%2ffix_tool.md&#34; target=&#34;_blank&#34; &gt;Submit Git Issue&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
</item>
<item>
<title>CryptoMiniSat</title>
<link>https://fmtools.fyi/tools/sat-smt/cryptominisat/</link>
@ -113,6 +127,13 @@
<guid>https://fmtools.fyi/tools/sat-smt/minisat/</guid>
<description>&lt;p&gt;&#xA;&#xA;&lt;div style=&#34;display: flex; align-items: center; gap: 8px;&#34;&gt;&#xA; &lt;span style=&#34;display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(240, 85, 85);&#34;&gt;&lt;/span&gt;&#xA; &lt;span style=&#34;display:none&#34;&gt;[&lt;/span&gt;&#xA; &#xA; &lt;span style=&#34;color: rgb(240, 85, 85); font-size: 1rem;&#34;&gt;Not Maintained Since 2013&lt;/span&gt;&#xA; &#xA; &lt;span style=&#34;display:none&#34;&gt;]&lt;/span&gt;&#xA;&lt;/div&gt;&#xA;MiniSat is a minimalistic, open-source SAT solver, developed to help researchers and developers alike to get started on SAT.&lt;/p&gt;</description>
</item>
<item>
<title>MIT License</title>
<link>https://fmtools.fyi/license/</link>
<pubDate>Sat, 07 Jun 2025 00:00:00 +0000</pubDate>
<guid>https://fmtools.fyi/license/</guid>
<description>&lt;p&gt;MIT License&lt;/p&gt;&#xA;&lt;p&gt;Copyright (c) 2025 Landon Taylor.&lt;/p&gt;&#xA;&lt;p&gt;Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the &amp;ldquo;Software&amp;rdquo;), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:&lt;/p&gt;</description>
</item>
<item>
<title>OpenSMT</title>
<link>https://fmtools.fyi/tools/sat-smt/opensmt/</link>
@ -134,6 +155,13 @@
<guid>https://fmtools.fyi/tools/prob/prism/</guid>
<description>&lt;p&gt;PRISM is a probabilistic model checker, a tool for formal modelling and analysis of systems that exhibit random or probabilistic behaviour.&lt;/p&gt;</description>
</item>
<item>
<title>Privacy</title>
<link>https://fmtools.fyi/privacy/</link>
<pubDate>Sat, 07 Jun 2025 00:00:00 +0000</pubDate>
<guid>https://fmtools.fyi/privacy/</guid>
<description>&lt;p&gt;This website does not collect or track any personal data from visitors. No cookies, personalized analytics, or tracking scripts are used. No ads are shown on this website, and there is no money to be made from this project.&lt;/p&gt;&#xA;&lt;p&gt;If you choose to contribute content (including emails, issues, and pull requests), any information you voluntarily provide may be stored as part of the website&amp;rsquo;s content and source code. Only the data you explicitly submit will be saved, and data is not sold by the website&amp;rsquo;s owner. Due to the public nature of its disclosure, this information is not considered private and may be used by the general public as allowed by respective laws and policies. Your privacy is respected, and no unnecessary data is collected or shared.&lt;/p&gt;</description>
</item>
<item>
<title>Q3B</title>
<link>https://fmtools.fyi/tools/sat-smt/q3b/</link>
@ -225,33 +253,5 @@
<guid>https://fmtools.fyi/tools/sat-smt/zipperposition/</guid>
<description>&lt;p&gt;Zipperposition is an automated theorem prover for first-order logic with equality and theories.&lt;/p&gt;</description>
</item>
<item>
<title>About</title>
<link>https://fmtools.fyi/about/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://fmtools.fyi/about/</guid>
<description>&lt;p&gt;The Formal Methods Tools project is dedicated to developing, maintaining, and promoting tools that support the application of formal methods in software engineering. Our goal is to make formal verification, specification, and analysis techniques accessible and practical for both researchers and practitioners.&lt;/p&gt;&#xA;&lt;h2 id=&#34;key-objectives&#34;&gt;Key Objectives&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Provide a comprehensive list of tools for formal methods.&lt;/li&gt;&#xA;&lt;li&gt;Group tools by rich metadata to support collaboration and boost tools&amp;rsquo; strengths.&lt;/li&gt;&#xA;&lt;li&gt;Foster a collaborative community for tool development and support.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;whos-behind-this&#34;&gt;Who&amp;rsquo;s Behind This?&lt;/h2&gt;&#xA;&lt;p&gt;Howdy. My name is Landon Taylor. I sometimes go by mossBiscuits.&#xA;This is one of my hobby projects.&#xA;I have a passion for formal methods. When I started learning about verification, there was a sharp barrier to entry due partially to the sprawl of content online.&#xA;I wanted to solve this problem, so I have been chipping away at this website for a while now.&lt;/p&gt;</description>
</item>
<item>
<title>Contribute</title>
<link>https://fmtools.fyi/contribute/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://fmtools.fyi/contribute/</guid>
<description>&lt;p&gt;Instructions coming soon. Please see &lt;a href=&#34;https://gitmoss.fyi/fmtools/content/wiki/Contribute&#34; target=&#34;_blank&#34; &gt;https://gitmoss.fyi/fmtools/content/wiki/Contribute&lt;/a&gt; for temporary instructions.&lt;/p&gt;&#xA;&lt;h2 id=&#34;quick-links&#34;&gt;Quick Links&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Request addding a tool: &lt;a href=&#34;https://gitmoss.fyi/fmtools/content/issues/new?template=.gitea%2fissue_template%2fadd_tool.md&#34; target=&#34;_blank&#34; &gt;Submit Git Issue&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Request fixing a tool: &lt;a href=&#34;https://gitmoss.fyi/fmtools/content/issues/new?template=.gitea%2fissue_template%2ffix_tool.md&#34; target=&#34;_blank&#34; &gt;Submit Git Issue&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
</item>
<item>
<title>MIT License</title>
<link>https://fmtools.fyi/license/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://fmtools.fyi/license/</guid>
<description>&lt;p&gt;MIT License&lt;/p&gt;&#xA;&lt;p&gt;Copyright (c) 2025 Landon Taylor.&lt;/p&gt;&#xA;&lt;p&gt;Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the &amp;ldquo;Software&amp;rdquo;), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:&lt;/p&gt;</description>
</item>
<item>
<title>Privacy</title>
<link>https://fmtools.fyi/privacy/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://fmtools.fyi/privacy/</guid>
<description>&lt;p&gt;This website does not collect or track any personal data from visitors. No cookies, personalized analytics, or tracking scripts are used. No ads are shown on this website, and there is no money to be made from this project.&lt;/p&gt;&#xA;&lt;p&gt;If you choose to contribute content (including emails, issues, and pull requests), any information you voluntarily provide may be stored as part of the website&amp;rsquo;s content and source code. Only the data you explicitly submit will be saved, and data is not sold by the website&amp;rsquo;s owner. Due to the public nature of its disclosure, this information is not considered private and may be used by the general public as allowed by respective laws and policies. Your privacy is respected, and no unnecessary data is collected or shared.&lt;/p&gt;</description>
</item>
</channel>
</rss>

View File

@ -102,7 +102,21 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of
</section>
<div class="time" style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
<div class="footer-links" style="text-align: left;">
Help improve this page!<br/>
Submit an
<a href="https://gitmoss.fyi/fmtools/content/issues/new?&title=[FIX]%20MIT&#43;License" target="_blank">issue</a> or
<a href="https://gitmoss.fyi/fmtools/content/fork" target="_blank">pull request</a>.
</div>
<div class="footer-date" style="text-align: right;">
Updated <time datetime="2025-06-07T00:00:00&#43;00:00">7 June 2025</time>
</div>
</div>
</main>

View File

@ -1,122 +0,0 @@
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta name="viewport" content ="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Unknown | Formal Methods Tools</title>
<meta name="keywords" content="Formal Methods Tools">
<meta property="og:locale" content='en_US'>
<meta property="og:type" content="article">
<meta property="og:title" content="Unknown">
<meta property="og:description" content="">
<meta property="og:url" content="http://localhost:1313/maintenance/unknown/">
<meta property="og:image" content="images/%!s(&lt;nil&gt;)">
<link rel="canonical" href="http://localhost:1313/maintenance/unknown/">
<link rel="apple-touch-icon" sizes="180x180" href='http://localhost:1313/apple-touch-icon.png'>
<link rel="icon" type="image/png" sizes="32x32" href='http://localhost:1313/favicon-32x32.png'>
<link rel="icon" type="image/png" sizes='16x16' href='http://localhost:1313/favicon-16x16.png'>
<link rel="manifest" href='http://localhost:1313/site.webmanifest'>
<link rel="stylesheet" href="http://localhost:1313/css/styles.256b9fe8f59dcf5eb078f26c8dc26801592eb04b43e5058d5f9b04c2e0e84222d42ff62b207f47e15481a1a1ba359192edeb7bfaac990e44713f5f67852c758f.css" integrity="sha512-JWuf6PWdz16wePJsjcJoAVkusEtD5QWNX5sEwuDoQiLUL/YrIH9H4VSBoaG6NZGS7et7&#43;qyZDkRxP19nhSx1jw==">
<link href="/css/fontawesome.css" rel="stylesheet" />
<link href="/css/brands.css" rel="stylesheet" />
<link href="/css/solid.css" rel="stylesheet" />
<link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<div class="banner">
<span class="banner-text">
&#x1f6a7; This site is a work in progress. Don&rsquo;t be shy to submit an <a href="https://gitmoss.fyi/fmtools/content/issues/new/choose" target="_blank" >issue</a> or <a href="https://gitmoss.fyi/fmtools/content/fork" target="_blank" >pull request</a> &#x1f6a7;
</span>
</div>
<header>
<h1><a href="/">Formal Methods Tools</a></h1>
<nav>
<ul>
<li>
<a href="/tools/">Tools</a>
</li>
<li>
<a href="/taxonomies/">Data</a>
</li>
<li>
<a href="/about/">About</a>
</li>
</ul>
</nav>
</header>
<main>
<h1>
<span
class="term-title"
style="background:rgba(136,24,59,0.4)">
Unknown
</span>
</h1>
<section id="tools-list">
<table id="taxonomy-table">
<thead>
<tr>
<th>Tool</th>
<th>Description</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</main>
<footer>
<p><a href="/contribute">Contribute</a> &nbsp;|&nbsp; <a href="/about">About</a> &nbsp;|&nbsp; <a href="/license">License</a> &nbsp;|&nbsp; <a href="/privacy">Privacy</a> </p>
<p>&copy; Copyright 2025. An open-source project.</p>
</footer>
</body>
</html>

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Unknown on Formal Methods Tools</title>
<link>http://localhost:1313/maintenance/unknown/</link>
<description>Recent content in Unknown on Formal Methods Tools</description>
<generator>Hugo</generator>
<language>en-us</language>
<atom:link href="http://localhost:1313/maintenance/unknown/index.xml" rel="self" type="application/rss+xml" />
</channel>
</rss>

View File

@ -99,7 +99,21 @@
</section>
<div class="time" style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
<div class="footer-links" style="text-align: left;">
Help improve this page!<br/>
Submit an
<a href="https://gitmoss.fyi/fmtools/content/issues/new?&title=[FIX]%20Privacy" target="_blank">issue</a> or
<a href="https://gitmoss.fyi/fmtools/content/fork" target="_blank">pull request</a>.
</div>
<div class="footer-date" style="text-align: right;">
Updated <time datetime="2025-06-07T00:00:00&#43;00:00">7 June 2025</time>
</div>
</div>
</main>

View File

@ -1 +0,0 @@
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}

View File

@ -4,6 +4,9 @@
<url>
<loc>https://fmtools.fyi/interfaces/.net/</loc>
<lastmod>2025-06-07T00:00:00+00:00</lastmod>
</url><url>
<loc>https://fmtools.fyi/about/</loc>
<lastmod>2025-06-07T00:00:00+00:00</lastmod>
</url><url>
<loc>https://fmtools.fyi/maintenance/actively-maintained/</loc>
<lastmod>2025-06-07T00:00:00+00:00</lastmod>
@ -67,6 +70,9 @@
</url><url>
<loc>https://fmtools.fyi/applications/constraint-solver/</loc>
<lastmod>2025-06-07T00:00:00+00:00</lastmod>
</url><url>
<loc>https://fmtools.fyi/contribute/</loc>
<lastmod>2025-06-07T00:00:00+00:00</lastmod>
</url><url>
<loc>https://fmtools.fyi/applications/counterexample-generator/</loc>
<lastmod>2025-06-07T00:00:00+00:00</lastmod>
@ -175,6 +181,9 @@
</url><url>
<loc>https://fmtools.fyi/licenses/mit/</loc>
<lastmod>2025-06-07T00:00:00+00:00</lastmod>
</url><url>
<loc>https://fmtools.fyi/license/</loc>
<lastmod>2025-06-07T00:00:00+00:00</lastmod>
</url><url>
<loc>https://fmtools.fyi/applications/model-checker/</loc>
<lastmod>2025-06-07T00:00:00+00:00</lastmod>
@ -223,6 +232,9 @@
</url><url>
<loc>https://fmtools.fyi/tools/prob/prism/</loc>
<lastmod>2025-06-07T00:00:00+00:00</lastmod>
</url><url>
<loc>https://fmtools.fyi/privacy/</loc>
<lastmod>2025-06-07T00:00:00+00:00</lastmod>
</url><url>
<loc>https://fmtools.fyi/applications/probabilistic-model-checker/</loc>
<lastmod>2025-06-07T00:00:00+00:00</lastmod>
@ -337,17 +349,9 @@
</url><url>
<loc>https://fmtools.fyi/tools/sat-smt/zipperposition/</loc>
<lastmod>2025-06-07T00:00:00+00:00</lastmod>
</url><url>
<loc>https://fmtools.fyi/about/</loc>
</url><url>
<loc>https://fmtools.fyi/taxonomies/</loc>
</url><url>
<loc>https://fmtools.fyi/contribute/</loc>
</url><url>
<loc>https://fmtools.fyi/domains/</loc>
</url><url>
<loc>https://fmtools.fyi/license/</loc>
</url><url>
<loc>https://fmtools.fyi/privacy/</loc>
</url>
</urlset>

View File

@ -86,7 +86,7 @@
<div id="page-header">
<h1>COMICS</h1>
<span class="subtitle">Probabilistic Model Checker</span>
<span class="subtitle">DTMC Counterexample Generator</span>

View File

@ -1,550 +0,0 @@
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta name="viewport" content ="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Storm | Formal Methods Tools</title>
<meta name="keywords" content="Formal Methods Tools">
<meta property="og:locale" content='en_US'>
<meta property="og:type" content="article">
<meta property="og:title" content="Storm">
<meta property="og:description" content="Storm is a tool for the analysis of systems involving random or probabilistic phenomena.">
<meta property="og:url" content="http://localhost:1313/tools/prob/storm-copy/">
<meta property="og:image" content="images/%!s(&lt;nil&gt;)">
<link rel="canonical" href="http://localhost:1313/tools/prob/storm-copy/">
<link rel="apple-touch-icon" sizes="180x180" href='http://localhost:1313/apple-touch-icon.png'>
<link rel="icon" type="image/png" sizes="32x32" href='http://localhost:1313/favicon-32x32.png'>
<link rel="icon" type="image/png" sizes='16x16' href='http://localhost:1313/favicon-16x16.png'>
<link rel="manifest" href='http://localhost:1313/site.webmanifest'>
<link rel="stylesheet" href="http://localhost:1313/css/styles.256b9fe8f59dcf5eb078f26c8dc26801592eb04b43e5058d5f9b04c2e0e84222d42ff62b207f47e15481a1a1ba359192edeb7bfaac990e44713f5f67852c758f.css" integrity="sha512-JWuf6PWdz16wePJsjcJoAVkusEtD5QWNX5sEwuDoQiLUL/YrIH9H4VSBoaG6NZGS7et7&#43;qyZDkRxP19nhSx1jw==">
<link href="/css/fontawesome.css" rel="stylesheet" />
<link href="/css/brands.css" rel="stylesheet" />
<link href="/css/solid.css" rel="stylesheet" />
<link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<div class="banner">
<span class="banner-text">
&#x1f6a7; This site is a work in progress. Don&rsquo;t be shy to submit an <a href="https://gitmoss.fyi/fmtools/content/issues/new/choose" target="_blank" >issue</a> or <a href="https://gitmoss.fyi/fmtools/content/fork" target="_blank" >pull request</a> &#x1f6a7;
</span>
</div>
<header>
<h1><a href="/">Formal Methods Tools</a></h1>
<nav>
<ul>
<li>
<a href="/tools/">Tools</a>
</li>
<li>
<a href="/taxonomies/">Data</a>
</li>
<li>
<a href="/about/">About</a>
</li>
</ul>
</nav>
</header>
<main>
<div id="page-header">
<h1>Storm</h1>
<span class="subtitle">Probabilistic Model Checker</span>
<div id="link-list">
<ul>
<li><a href="https://www.stormchecker.org/" target="_blank" rel="noopener"><i class="fa-solid fa-home"></i>&nbsp;&nbsp;Homepage</a></li>
<li><a href="https://github.com/moves-rwth/storm" target="_blank" rel="noopener"><i class="fa-brands fa-github"></i>&nbsp;&nbsp;Source Code</a></li>
</ul>
</div>
</div>
<section id="taxonomies">
<h2>At a Glance</h2>
<table id="taxonomy-table">
<tbody>
<tr>
<td>
<a
class="taxonomy-name"
href="/applications">
Applications
</a>
</td>
<td>
<a
class="term-link"
id="applications_probabilistic-model-checker"
style="background:rgba(232,228,128,0.4)"
href="/applications/probabilistic-model-checker">
Probabilistic Model Checker
</a>
</td>
</tr>
<tr>
<td>
<a
class="taxonomy-name"
href="/developers">
Developers
</a>
</td>
<td>
<a
class="term-link"
id="developers_rwth-aachen"
style="background:rgba(3,239,109,0.4)"
href="/developers/rwth-aachen">
RWTH Aachen
</a>
</td>
</tr>
<tr>
<td>
<a
class="taxonomy-name"
href="/inputs">
Inputs
</a>
</td>
<td>
<a
class="term-link"
id="inputs_galileo"
style="background:rgba(56,14,206,0.4)"
href="/inputs/galileo">
Galileo
</a>
<a
class="term-link"
id="inputs_greatspn"
style="background:rgba(33,116,195,0.4)"
href="/inputs/greatspn">
GreatSPN
</a>
<a
class="term-link"
id="inputs_jani"
style="background:rgba(193,44,177,0.4)"
href="/inputs/jani">
JANI
</a>
<a
class="term-link"
id="inputs_mrmc"
style="background:rgba(87,205,92,0.4)"
href="/inputs/mrmc">
MRMC
</a>
<a
class="term-link"
id="inputs_pnml"
style="background:rgba(58,17,88,0.4)"
href="/inputs/pnml">
PNML
</a>
<a
class="term-link"
id="inputs_prism"
style="background:rgba(37,96,141,0.4)"
href="/inputs/prism">
PRISM
</a>
</td>
</tr>
<tr>
<td>
<a
class="taxonomy-name"
href="/interfaces">
Interfaces
</a>
</td>
<td>
<a
class="term-link"
id="interfaces_c&#43;&#43;"
style="background:rgba(246,248,124,0.4)"
href="/interfaces/c&#43;&#43;">
C&#43;&#43;
</a>
<a
class="term-link"
id="interfaces_cli"
style="background:rgba(145,175,87,0.4)"
href="/interfaces/cli">
CLI
</a>
<a
class="term-link"
id="interfaces_python"
style="background:rgba(167,245,243,0.4)"
href="/interfaces/python">
Python
</a>
</td>
</tr>
<tr>
<td>
<a
class="taxonomy-name"
href="/licenses">
Licenses
</a>
</td>
<td>
<a
class="term-link"
id="licenses_gplv3"
style="background:rgba(182,14,173,0.4)"
href="/licenses/gplv3">
GPLv3
</a>
</td>
</tr>
<tr>
<td>
<a
class="taxonomy-name"
href="/maintenance">
Maintenance
</a>
</td>
<td>
<a
class="term-link"
id="maintenance_actively-maintained"
style="background:rgba(177,86,105,0.4)"
href="/maintenance/actively-maintained">
Actively Maintained
</a>
</td>
</tr>
</tbody>
</table>
</section>
<section>
<h2>Description</h2>
<p>Storm is a tool for the analysis of systems involving random or probabilistic phenomena.</p>
</section>
<section id="publications">
<h2>Publications</h2>
<ul>
<li>
<strong>The probabilistic model checker Storm</strong>
(2022)
by Hensel, Christian et. al.
(589-610)
| Appears in <em>International Journal on Software Tools for Technology Transfer</em>
| Volume 24
| Published by Springer
| <a href="https://doi.org/10.1007/s10009-021-00633-z" target="_blank" rel="noopener">10.1007/s10009-021-00633-z</a>
</li>
</ul>
</section>
<div class="time" style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
<div class="footer-links" style="text-align: left;">
Help improve this page!<br/>
Submit an
<a href="https://gitmoss.fyi/fmtools/content/issues/new?template=.gitea%2fissue_template%2ffix_tool.md&title=[FIX]%20Storm" target="_blank">issue</a> or
<a href="https://gitmoss.fyi/fmtools/content/fork" target="_blank">pull request</a>.
</div>
<div class="footer-date" style="text-align: right;">
Updated <time datetime="2025-06-07T00:00:00&#43;00:00">7 June 2025</time>
</div>
</div>
</main>
<footer>
<p><a href="/contribute">Contribute</a> &nbsp;|&nbsp; <a href="/about">About</a> &nbsp;|&nbsp; <a href="/license">License</a> &nbsp;|&nbsp; <a href="/privacy">Privacy</a> </p>
<p>&copy; Copyright 2025. An open-source project.</p>
</footer>
</body>
</html>

View File

@ -1,329 +0,0 @@
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta name="viewport" content ="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>E | Formal Methods Tools</title>
<meta name="keywords" content="Formal Methods Tools">
<meta property="og:locale" content='en_US'>
<meta property="og:type" content="article">
<meta property="og:title" content="E">
<meta property="og:description" content="E is a theorem prover for full first-order logic (and now monomorphic higher-order logic) with equality.">
<meta property="og:url" content="http://localhost:1313/tools/sat-smt/e-copy/">
<meta property="og:image" content="images/%!s(&lt;nil&gt;)">
<link rel="canonical" href="http://localhost:1313/tools/sat-smt/e-copy/">
<link rel="apple-touch-icon" sizes="180x180" href='http://localhost:1313/apple-touch-icon.png'>
<link rel="icon" type="image/png" sizes="32x32" href='http://localhost:1313/favicon-32x32.png'>
<link rel="icon" type="image/png" sizes='16x16' href='http://localhost:1313/favicon-16x16.png'>
<link rel="manifest" href='http://localhost:1313/site.webmanifest'>
<link rel="stylesheet" href="http://localhost:1313/css/styles.256b9fe8f59dcf5eb078f26c8dc26801592eb04b43e5058d5f9b04c2e0e84222d42ff62b207f47e15481a1a1ba359192edeb7bfaac990e44713f5f67852c758f.css" integrity="sha512-JWuf6PWdz16wePJsjcJoAVkusEtD5QWNX5sEwuDoQiLUL/YrIH9H4VSBoaG6NZGS7et7&#43;qyZDkRxP19nhSx1jw==">
<link href="/css/fontawesome.css" rel="stylesheet" />
<link href="/css/brands.css" rel="stylesheet" />
<link href="/css/solid.css" rel="stylesheet" />
<link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<div class="banner">
<span class="banner-text">
&#x1f6a7; This site is a work in progress. Don&rsquo;t be shy to submit an <a href="https://gitmoss.fyi/fmtools/content/issues/new/choose" target="_blank" >issue</a> or <a href="https://gitmoss.fyi/fmtools/content/fork" target="_blank" >pull request</a> &#x1f6a7;
</span>
</div>
<header>
<h1><a href="/">Formal Methods Tools</a></h1>
<nav>
<ul>
<li>
<a href="/tools/">Tools</a>
</li>
<li>
<a href="/taxonomies/">Data</a>
</li>
<li>
<a href="/about/">About</a>
</li>
</ul>
</nav>
</header>
<main>
<div id="page-header">
<h1>E</h1>
<span class="subtitle">Theorem Prover</span>
<div id="link-list">
<ul>
<li><a href="https://wwwlehre.dhbw-stuttgart.de/~sschulz/E/" target="_blank" rel="noopener"><i class="fa-solid fa-home"></i>&nbsp;&nbsp;Homepage</a></li>
<li><a href="https://github.com/eprover/eprover" target="_blank" rel="noopener"><i class="fa-brands fa-github"></i>&nbsp;&nbsp;Source Code</a></li>
</ul>
</div>
</div>
<section id="taxonomies">
<h2>At a Glance</h2>
<table id="taxonomy-table">
<tbody>
<tr>
<td>
<a
class="taxonomy-name"
href="/applications">
Applications
</a>
</td>
<td>
<a
class="term-link"
id="applications_theorem-prover"
style="background:rgba(190,35,109,0.4)"
href="/applications/theorem-prover">
Theorem Prover
</a>
</td>
</tr>
<tr>
<td>
<a
class="taxonomy-name"
href="/developers">
Developers
</a>
</td>
<td>
<a
class="term-link"
id="developers_dhbw-stuttgart"
style="background:rgba(88,88,124,0.4)"
href="/developers/dhbw-stuttgart">
DHBW Stuttgart
</a>
</td>
</tr>
<tr>
<td>
<a
class="taxonomy-name"
href="/interfaces">
Interfaces
</a>
</td>
<td>
<a
class="term-link"
id="interfaces_cli"
style="background:rgba(145,175,87,0.4)"
href="/interfaces/cli">
CLI
</a>
</td>
</tr>
<tr>
<td>
<a
class="taxonomy-name"
href="/licenses">
Licenses
</a>
</td>
<td>
<a
class="term-link"
id="licenses_gplv2"
style="background:rgba(220,234,19,0.4)"
href="/licenses/gplv2">
GPLv2
</a>
</td>
</tr>
<tr>
<td>
<a
class="taxonomy-name"
href="/maintenance">
Maintenance
</a>
</td>
<td>
<a
class="term-link"
id="maintenance_actively-maintained"
style="background:rgba(177,86,105,0.4)"
href="/maintenance/actively-maintained">
Actively Maintained
</a>
</td>
</tr>
</tbody>
</table>
</section>
<section>
<h2>Description</h2>
<p>E is a theorem prover for full first-order logic (and now monomorphic higher-order logic) with equality.</p>
</section>
<div class="time" style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
<div class="footer-links" style="text-align: left;">
Help improve this page!<br/>
Submit an
<a href="https://gitmoss.fyi/fmtools/content/issues/new?template=.gitea%2fissue_template%2ffix_tool.md&title=[FIX]%20E" target="_blank">issue</a> or
<a href="https://gitmoss.fyi/fmtools/content/fork" target="_blank">pull request</a>.
</div>
<div class="footer-date" style="text-align: right;">
Updated <time datetime="2025-06-07T00:00:00&#43;00:00">7 June 2025</time>
</div>
</div>
</main>
<footer>
<p><a href="/contribute">Contribute</a> &nbsp;|&nbsp; <a href="/about">About</a> &nbsp;|&nbsp; <a href="/license">License</a> &nbsp;|&nbsp; <a href="/privacy">Privacy</a> </p>
<p>&copy; Copyright 2025. An open-source project.</p>
</footer>
</body>
</html>

View File

@ -1,329 +0,0 @@
<!DOCTYPE html>
<html lang="en-us" dir="ltr">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta name="viewport" content ="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Vampire | Formal Methods Tools</title>
<meta name="keywords" content="Formal Methods Tools">
<meta property="og:locale" content='en_US'>
<meta property="og:type" content="article">
<meta property="og:title" content="Vampire">
<meta property="og:description" content="Vampire is a theorem prover.">
<meta property="og:url" content="http://localhost:1313/tools/sat-smt/vampire-copy/">
<meta property="og:image" content="images/%!s(&lt;nil&gt;)">
<link rel="canonical" href="http://localhost:1313/tools/sat-smt/vampire-copy/">
<link rel="apple-touch-icon" sizes="180x180" href='http://localhost:1313/apple-touch-icon.png'>
<link rel="icon" type="image/png" sizes="32x32" href='http://localhost:1313/favicon-32x32.png'>
<link rel="icon" type="image/png" sizes='16x16' href='http://localhost:1313/favicon-16x16.png'>
<link rel="manifest" href='http://localhost:1313/site.webmanifest'>
<link rel="stylesheet" href="http://localhost:1313/css/styles.256b9fe8f59dcf5eb078f26c8dc26801592eb04b43e5058d5f9b04c2e0e84222d42ff62b207f47e15481a1a1ba359192edeb7bfaac990e44713f5f67852c758f.css" integrity="sha512-JWuf6PWdz16wePJsjcJoAVkusEtD5QWNX5sEwuDoQiLUL/YrIH9H4VSBoaG6NZGS7et7&#43;qyZDkRxP19nhSx1jw==">
<link href="/css/fontawesome.css" rel="stylesheet" />
<link href="/css/brands.css" rel="stylesheet" />
<link href="/css/solid.css" rel="stylesheet" />
<link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<div class="banner">
<span class="banner-text">
&#x1f6a7; This site is a work in progress. Don&rsquo;t be shy to submit an <a href="https://gitmoss.fyi/fmtools/content/issues/new/choose" target="_blank" >issue</a> or <a href="https://gitmoss.fyi/fmtools/content/fork" target="_blank" >pull request</a> &#x1f6a7;
</span>
</div>
<header>
<h1><a href="/">Formal Methods Tools</a></h1>
<nav>
<ul>
<li>
<a href="/tools/">Tools</a>
</li>
<li>
<a href="/taxonomies/">Data</a>
</li>
<li>
<a href="/about/">About</a>
</li>
</ul>
</nav>
</header>
<main>
<div id="page-header">
<h1>Vampire</h1>
<span class="subtitle">Theorem Prover</span>
<div id="link-list">
<ul>
<li><a href="https://vprover.github.io/index.html" target="_blank" rel="noopener"><i class="fa-solid fa-home"></i>&nbsp;&nbsp;Homepage</a></li>
<li><a href="https://github.com/vprover/vampire" target="_blank" rel="noopener"><i class="fa-brands fa-github"></i>&nbsp;&nbsp;Source Code</a></li>
</ul>
</div>
</div>
<section id="taxonomies">
<h2>At a Glance</h2>
<table id="taxonomy-table">
<tbody>
<tr>
<td>
<a
class="taxonomy-name"
href="/applications">
Applications
</a>
</td>
<td>
<a
class="term-link"
id="applications_theorem-prover"
style="background:rgba(190,35,109,0.4)"
href="/applications/theorem-prover">
Theorem Prover
</a>
</td>
</tr>
<tr>
<td>
<a
class="taxonomy-name"
href="/developers">
Developers
</a>
</td>
<td>
<a
class="term-link"
id="developers_tu-wien"
style="background:rgba(98,85,62,0.4)"
href="/developers/tu-wien">
TU Wien
</a>
</td>
</tr>
<tr>
<td>
<a
class="taxonomy-name"
href="/interfaces">
Interfaces
</a>
</td>
<td>
<a
class="term-link"
id="interfaces_cli"
style="background:rgba(145,175,87,0.4)"
href="/interfaces/cli">
CLI
</a>
</td>
</tr>
<tr>
<td>
<a
class="taxonomy-name"
href="/licenses">
Licenses
</a>
</td>
<td>
<a
class="term-link"
id="licenses_bsd"
style="background:rgba(197,57,224,0.4)"
href="/licenses/bsd">
BSD
</a>
</td>
</tr>
<tr>
<td>
<a
class="taxonomy-name"
href="/maintenance">
Maintenance
</a>
</td>
<td>
<a
class="term-link"
id="maintenance_actively-maintained"
style="background:rgba(177,86,105,0.4)"
href="/maintenance/actively-maintained">
Actively Maintained
</a>
</td>
</tr>
</tbody>
</table>
</section>
<section>
<h2>Description</h2>
<p>Vampire is a theorem prover.</p>
</section>
<div class="time" style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
<div class="footer-links" style="text-align: left;">
Help improve this page!<br/>
Submit an
<a href="https://gitmoss.fyi/fmtools/content/issues/new?template=.gitea%2fissue_template%2ffix_tool.md&title=[FIX]%20Vampire" target="_blank">issue</a> or
<a href="https://gitmoss.fyi/fmtools/content/fork" target="_blank">pull request</a>.
</div>
<div class="footer-date" style="text-align: right;">
Updated <time datetime="2025-06-07T00:00:00&#43;00:00">7 June 2025</time>
</div>
</div>
</main>
<footer>
<p><a href="/contribute">Contribute</a> &nbsp;|&nbsp; <a href="/about">About</a> &nbsp;|&nbsp; <a href="/license">License</a> &nbsp;|&nbsp; <a href="/privacy">Privacy</a> </p>
<p>&copy; Copyright 2025. An open-source project.</p>
</footer>
</body>
</html>