diff --git a/404.html b/404.html index ec13b59..bdc278a 100644 --- a/404.html +++ b/404.html @@ -23,7 +23,7 @@ - + diff --git a/about/index.html b/about/index.html index 3a782f3..6e52a25 100644 --- a/about/index.html +++ b/about/index.html @@ -23,7 +23,7 @@ - + diff --git a/applications/constraint-solver/index.html b/applications/constraint-solver/index.html index d66f509..59e48f3 100644 --- a/applications/constraint-solver/index.html +++ b/applications/constraint-solver/index.html @@ -23,7 +23,7 @@ - + diff --git a/applications/counterexample-generator/index.html b/applications/counterexample-generator/index.html new file mode 100644 index 0000000..6958962 --- /dev/null +++ b/applications/counterexample-generator/index.html @@ -0,0 +1,130 @@ + + + + + + + + +Counterexample Generator | Formal Methods Tools + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Formal Methods Tools

+ + + + +
+
+ +

+ + + + + + + Counterexample Generator + +

+ +
+ + + + + + + + + + + + + + + + + + + + +
ToolDescription
COMICSCOMICS is a stand-alone tool which performs model checking and the generation of counterexamples for …
+ +
+ + + diff --git a/applications/counterexample-generator/index.xml b/applications/counterexample-generator/index.xml new file mode 100644 index 0000000..77c541b --- /dev/null +++ b/applications/counterexample-generator/index.xml @@ -0,0 +1,19 @@ + + + + Counterexample Generator on Formal Methods Tools + http://localhost:1313/applications/counterexample-generator/ + Recent content in Counterexample Generator on Formal Methods Tools + Hugo + en-us + Sat, 07 Jun 2025 00:00:00 +0000 + + + COMICS + http://localhost:1313/tools/prob/comics/ + Sat, 07 Jun 2025 00:00:00 +0000 + http://localhost:1313/tools/prob/comics/ + <p>COMICS is a stand-alone tool which performs model checking and the generation of counterexamples for discrete-time Markov Chains (DTMCs).</p> + + + diff --git a/applications/index.html b/applications/index.html index a706acb..9f47141 100644 --- a/applications/index.html +++ b/applications/index.html @@ -23,7 +23,7 @@ - + @@ -114,6 +114,24 @@ + + Counterexample Generator + + + + + + + + + + + + http://localhost:1313/applications/constraint-solver/ + + Counterexample Generator + http://localhost:1313/applications/counterexample-generator/ + Sat, 07 Jun 2025 00:00:00 +0000 + http://localhost:1313/applications/counterexample-generator/ + + Model Checker http://localhost:1313/applications/model-checker/ diff --git a/applications/model-checker/index.html b/applications/model-checker/index.html index fa6905a..60f7b1a 100644 --- a/applications/model-checker/index.html +++ b/applications/model-checker/index.html @@ -23,7 +23,7 @@ - + diff --git a/applications/probabilistic-model-checker/index.html b/applications/probabilistic-model-checker/index.html index d4cb45f..45f8007 100644 --- a/applications/probabilistic-model-checker/index.html +++ b/applications/probabilistic-model-checker/index.html @@ -23,7 +23,7 @@ - + diff --git a/applications/sat-solver/index.html b/applications/sat-solver/index.html index 51158b9..ace4b15 100644 --- a/applications/sat-solver/index.html +++ b/applications/sat-solver/index.html @@ -23,7 +23,7 @@ - + @@ -121,6 +121,15 @@ + + + + CaDiCaL + CaDiCaL is a simplified satisfiability solver. + + + + diff --git a/applications/sat-solver/index.xml b/applications/sat-solver/index.xml index 4518a85..94120b7 100644 --- a/applications/sat-solver/index.xml +++ b/applications/sat-solver/index.xml @@ -22,6 +22,13 @@ http://localhost:1313/tools/sat-smt/boolector/ <p> <div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(240, 85, 85);"></span> <span style="display:none">[</span> <span style="color: rgb(240, 85, 85); font-size: 1rem;">Not Maintained Since 2024</span> <span style="display:none">]</span> </div> Boolector is a Satisfiability Modulo Theories (SMT) solver for the theories of fixed-size bit-vectors, arrays and uninterpreted functions. Succeeded by <a href="../bitwuzla" >Bitwuzla</a></p> + + CaDiCaL + http://localhost:1313/tools/sat-smt/cadical/ + Sat, 07 Jun 2025 00:00:00 +0000 + http://localhost:1313/tools/sat-smt/cadical/ + <p>CaDiCaL is a simplified satisfiability solver.</p> + CryptoMiniSat http://localhost:1313/tools/sat-smt/cryptominisat/ diff --git a/applications/smt-solver/index.html b/applications/smt-solver/index.html index 528fbf5..7af8910 100644 --- a/applications/smt-solver/index.html +++ b/applications/smt-solver/index.html @@ -23,7 +23,7 @@ - + diff --git a/applications/theorem-prover/index.html b/applications/theorem-prover/index.html index 4cea332..a45235f 100644 --- a/applications/theorem-prover/index.html +++ b/applications/theorem-prover/index.html @@ -23,7 +23,7 @@ - + @@ -138,6 +138,14 @@ + + + + E + E is a theorem prover for full first-order logic (and now monomorphic higher-order logic) with … + + + @@ -147,6 +155,15 @@ APIs and Bindings This tool is available … + + + + Vampire + Vampire is a theorem prover. + + + + @@ -156,6 +173,15 @@ APIs and Bindings This … + + + + Zipperposition + Zipperposition is an automated theorem prover for first-order logic with equality and theories. + + + + diff --git a/applications/theorem-prover/index.xml b/applications/theorem-prover/index.xml index 67391fd..9960957 100644 --- a/applications/theorem-prover/index.xml +++ b/applications/theorem-prover/index.xml @@ -36,6 +36,13 @@ http://localhost:1313/tools/sat-smt/cvc5/ <p>cvc5 is an automatic theorem prover for SMT problems.</p> + + E + http://localhost:1313/tools/sat-smt/e/ + Sat, 07 Jun 2025 00:00:00 +0000 + http://localhost:1313/tools/sat-smt/e/ + <p>E is a theorem prover for full first-order logic (and now monomorphic higher-order logic) with equality.</p> + STP http://localhost:1313/tools/sat-smt/stp/ @@ -43,6 +50,13 @@ http://localhost:1313/tools/sat-smt/stp/ <p>STP is a constraint solver for quantifier-free bitvectors.</p> <h2 id="apis-and-bindings">APIs and Bindings</h2> <p>This tool is available through the following interfaces:</p> <ul> <li><strong>C API:</strong> <a href="https://stp.readthedocs.io/en/latest/#c-library-usage" target="_blank" >stp C API Reference</a></li> <li><strong>Python bindings:</strong> <a href="https://stp.readthedocs.io/en/latest/#python-usage" target="_blank" >stp PyPI package</a></li> </ul> + + Vampire + http://localhost:1313/tools/sat-smt/vampire/ + Sat, 07 Jun 2025 00:00:00 +0000 + http://localhost:1313/tools/sat-smt/vampire/ + <p>Vampire is a theorem prover.</p> + Z3 http://localhost:1313/tools/sat-smt/z3/ @@ -50,5 +64,12 @@ http://localhost:1313/tools/sat-smt/z3/ <p>Z3 is a general-purpose theorem prover widely used for SAT &amp; SMT solving.</p> <h2 id="apis-and-bindings">APIs and Bindings</h2> <p>This tool is available through the following interfaces:</p> <ul> <li><strong>C API:</strong> <a href="https://z3prover.github.io/api/html/group__capi.html" target="_blank" >Z3 C API Reference</a></li> <li><strong>C++ API:</strong> <a href="https://z3prover.github.io/api/html/namespacez3.html" target="_blank" >Z3 C++ Namespace Reference</a></li> <li><strong>.NET API:</strong> <a href="https://z3prover.github.io/api/html/namespace_microsoft_1_1_z3.html" target="_blank" >Z3 .NET Namespace Reference</a></li> <li><strong>Java API:</strong> <a href="https://z3prover.github.io/api/html/namespacecom_1_1microsoft_1_1z3.html" target="_blank" >Z3 Java API Reference</a></li> <li><strong>Python bindings:</strong> <a href="https://pypi.org/project/z3-solver/" target="_blank" >z3-solver PyPI package</a> (<a href="https://z3prover.github.io/api/html/z3.html" target="_blank" >Documentation</a>)</li> <li><strong>Rust bindings:</strong> <a href="https://crates.io/crates/z3" target="_blank" >z3 crate on crates.io</a></li> </ul> + + Zipperposition + http://localhost:1313/tools/sat-smt/zipperposition/ + Sat, 07 Jun 2025 00:00:00 +0000 + http://localhost:1313/tools/sat-smt/zipperposition/ + <p>Zipperposition is an automated theorem prover for first-order logic with equality and theories.</p> + diff --git a/contribute/index.html b/contribute/index.html index b41371e..ac61ea2 100644 --- a/contribute/index.html +++ b/contribute/index.html @@ -26,7 +26,7 @@ Request addding a tool: Submit"> - + diff --git a/css/styles.0277d1714bd680ab748db439eb5ba3a01878c7fc0c2454d169b97e4e18ced623e2346f2d80ddf3b512abafbf4b691b4b53d252beaf465990992181819c6dd200.css b/css/styles.0277d1714bd680ab748db439eb5ba3a01878c7fc0c2454d169b97e4e18ced623e2346f2d80ddf3b512abafbf4b691b4b53d252beaf465990992181819c6dd200.css new file mode 100644 index 0000000..b72931f --- /dev/null +++ b/css/styles.0277d1714bd680ab748db439eb5ba3a01878c7fc0c2454d169b97e4e18ced623e2346f2d80ddf3b512abafbf4b691b4b53d252beaf465990992181819c6dd200.css @@ -0,0 +1,640 @@ +@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 */ \ No newline at end of file diff --git a/css/styles.087ff949adeb037c9d6370b3a80a17a4b8f4204b6fdf8cb5a90bad5ce63d3f2544441f97ae4816783cef4a07366d3912b75f05d5d2892d3bc718274a7468e887.css b/css/styles.087ff949adeb037c9d6370b3a80a17a4b8f4204b6fdf8cb5a90bad5ce63d3f2544441f97ae4816783cef4a07366d3912b75f05d5d2892d3bc718274a7468e887.css new file mode 100644 index 0000000..3759333 --- /dev/null +++ b/css/styles.087ff949adeb037c9d6370b3a80a17a4b8f4204b6fdf8cb5a90bad5ce63d3f2544441f97ae4816783cef4a07366d3912b75f05d5d2892d3bc718274a7468e887.css @@ -0,0 +1,640 @@ +@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 */ \ No newline at end of file diff --git a/css/styles.18b7f5118d1dcf0e8f3d7435b8e20b3123ce1f2a6b4c4d8f1a7c57146f48e5edb58dae611a93b4553219d54eb4eecc9323aba90bd059afaa8cab4f01149f7898.css b/css/styles.18b7f5118d1dcf0e8f3d7435b8e20b3123ce1f2a6b4c4d8f1a7c57146f48e5edb58dae611a93b4553219d54eb4eecc9323aba90bd059afaa8cab4f01149f7898.css new file mode 100644 index 0000000..85b1fea --- /dev/null +++ b/css/styles.18b7f5118d1dcf0e8f3d7435b8e20b3123ce1f2a6b4c4d8f1a7c57146f48e5edb58dae611a93b4553219d54eb4eecc9323aba90bd059afaa8cab4f01149f7898.css @@ -0,0 +1,640 @@ +@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 */ \ No newline at end of file diff --git a/css/styles.1c30669efbad6e9c5eadc5dd780867ab0f98c06db8b75428718e33f9f2e178784c105e51b68a377dec81c529aadab3fb0bf40e1b6f686bc3f10d03246d027d29.css b/css/styles.1c30669efbad6e9c5eadc5dd780867ab0f98c06db8b75428718e33f9f2e178784c105e51b68a377dec81c529aadab3fb0bf40e1b6f686bc3f10d03246d027d29.css new file mode 100644 index 0000000..7147339 --- /dev/null +++ b/css/styles.1c30669efbad6e9c5eadc5dd780867ab0f98c06db8b75428718e33f9f2e178784c105e51b68a377dec81c529aadab3fb0bf40e1b6f686bc3f10d03246d027d29.css @@ -0,0 +1,640 @@ +@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 */ \ No newline at end of file diff --git a/css/styles.256b9fe8f59dcf5eb078f26c8dc26801592eb04b43e5058d5f9b04c2e0e84222d42ff62b207f47e15481a1a1ba359192edeb7bfaac990e44713f5f67852c758f.css b/css/styles.256b9fe8f59dcf5eb078f26c8dc26801592eb04b43e5058d5f9b04c2e0e84222d42ff62b207f47e15481a1a1ba359192edeb7bfaac990e44713f5f67852c758f.css new file mode 100644 index 0000000..8a080ee --- /dev/null +++ b/css/styles.256b9fe8f59dcf5eb078f26c8dc26801592eb04b43e5058d5f9b04c2e0e84222d42ff62b207f47e15481a1a1ba359192edeb7bfaac990e44713f5f67852c758f.css @@ -0,0 +1,638 @@ +@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; +} + +#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 */ \ No newline at end of file diff --git a/css/styles.2deb1a8fcb78105cb53040860ad7e932dfbe5d2294174212986b85c14582497ac987f7269d84839aa49597a2d3104aa937aad9683dc00bd9ba251f0c386cdd70.css b/css/styles.2deb1a8fcb78105cb53040860ad7e932dfbe5d2294174212986b85c14582497ac987f7269d84839aa49597a2d3104aa937aad9683dc00bd9ba251f0c386cdd70.css new file mode 100644 index 0000000..f47570b --- /dev/null +++ b/css/styles.2deb1a8fcb78105cb53040860ad7e932dfbe5d2294174212986b85c14582497ac987f7269d84839aa49597a2d3104aa937aad9683dc00bd9ba251f0c386cdd70.css @@ -0,0 +1,640 @@ +@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 */ \ No newline at end of file diff --git a/css/styles.32e14209d14690574fc586eaf6c8e3646751df5aa66d4249a5e22d4b4ea0bdcc23b4e88aa5a625fef7d90b4966897fcb8805ed2f6fc0c232c75be051a177e8f6.css b/css/styles.32e14209d14690574fc586eaf6c8e3646751df5aa66d4249a5e22d4b4ea0bdcc23b4e88aa5a625fef7d90b4966897fcb8805ed2f6fc0c232c75be051a177e8f6.css new file mode 100644 index 0000000..791edf3 --- /dev/null +++ b/css/styles.32e14209d14690574fc586eaf6c8e3646751df5aa66d4249a5e22d4b4ea0bdcc23b4e88aa5a625fef7d90b4966897fcb8805ed2f6fc0c232c75be051a177e8f6.css @@ -0,0 +1,639 @@ +@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 */ \ No newline at end of file diff --git a/css/styles.578881480ce66a12f64771a4e0739355e385e34f80ac1cb42838023ce21f2b1e6e6cae32b6f6311a958e68d9d1cbcf5a0dbadd62760226df965ec3dbb86dfa41.css b/css/styles.578881480ce66a12f64771a4e0739355e385e34f80ac1cb42838023ce21f2b1e6e6cae32b6f6311a958e68d9d1cbcf5a0dbadd62760226df965ec3dbb86dfa41.css new file mode 100644 index 0000000..1bd5b95 --- /dev/null +++ b/css/styles.578881480ce66a12f64771a4e0739355e385e34f80ac1cb42838023ce21f2b1e6e6cae32b6f6311a958e68d9d1cbcf5a0dbadd62760226df965ec3dbb86dfa41.css @@ -0,0 +1,640 @@ +@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 */ \ No newline at end of file diff --git a/css/styles.b66e385fd50f900667398f3d748f95f200501822c897d1bf8b45292ea077d761348f7962021c16995dcbb8fe7ed7e8055a60a99b02eea96eb03acacb2659f08a.css b/css/styles.b66e385fd50f900667398f3d748f95f200501822c897d1bf8b45292ea077d761348f7962021c16995dcbb8fe7ed7e8055a60a99b02eea96eb03acacb2659f08a.css new file mode 100644 index 0000000..ef6e641 --- /dev/null +++ b/css/styles.b66e385fd50f900667398f3d748f95f200501822c897d1bf8b45292ea077d761348f7962021c16995dcbb8fe7ed7e8055a60a99b02eea96eb03acacb2659f08a.css @@ -0,0 +1,640 @@ +@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 */ \ No newline at end of file diff --git a/css/styles.cccc9b579e6530591e43f498830c7b929d88df3c45da07b91ea167e31179e0d72afe23418c5c10ee0ba73ddb8c3a1c3a8a5d75ebfc83e160333112e4f33d68d8.css b/css/styles.cccc9b579e6530591e43f498830c7b929d88df3c45da07b91ea167e31179e0d72afe23418c5c10ee0ba73ddb8c3a1c3a8a5d75ebfc83e160333112e4f33d68d8.css new file mode 100644 index 0000000..d714509 --- /dev/null +++ b/css/styles.cccc9b579e6530591e43f498830c7b929d88df3c45da07b91ea167e31179e0d72afe23418c5c10ee0ba73ddb8c3a1c3a8a5d75ebfc83e160333112e4f33d68d8.css @@ -0,0 +1,640 @@ +@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 */ \ No newline at end of file diff --git a/css/styles.css.map b/css/styles.css.map index 0838033..ba76c46 100644 --- a/css/styles.css.map +++ b/css/styles.css.map @@ -15,11 +15,11 @@ "@import \"fonts\";\n@import \"colors\";\n@import \"layout\";\n@import \"taxonomy\";\n@import \"links\";\n@import \"publications\";\n", "$font-path: '/fonts/static/';\n\n@font-face {\n font-family: 'Source Sans 3';\n font-style: normal;\n font-display: swap;\n font-weight: 100;\n src: local('Source Sans 3 ExtraLight'), local('SourceSans3-ExtraLight'), url('#{$font-path}SourceSans3-ExtraLight.woff2') format('woff2'), url('#{$font-path}SourceSans3-ExtraLight.ttf') format('truetype'); }\n@font-face {\n font-family: 'Source Sans 3';\n font-style: normal;\n font-display: swap;\n font-weight: 200;\n src: local('Source Sans 3 ExtraLight'), local('SourceSans3-ExtraLight'), url('#{$font-path}SourceSans3-ExtraLight.woff2') format('woff2'), url('#{$font-path}SourceSans3-ExtraLight.ttf') format('truetype'); }\n\n@font-face {\n font-family: 'Source Sans 3';\n font-style: normal;\n font-display: swap;\n font-weight: 300;\n src: local('Source Sans 3 Light'), local('SourceSans3-Light'), url('#{$font-path}SourceSans3-Light.woff2') format('woff2'), url('#{$font-path}SourceSans3-Light.ttf') format('truetype'); }\n\n@font-face {\n font-family: 'Source Sans 3';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: local('Source Sans 3 Regular'), local('SourceSans3-Regular'), url('#{$font-path}SourceSans3-Regular.woff2') format('woff2'), url('#{$font-path}SourceSans3-Regular.ttf') format('truetype'); }\n\n@font-face {\n font-family: 'Source Sans 3';\n font-style: italic;\n font-display: swap;\n font-weight: 400;\n src: local('Source Sans 3 Italic'), local('SourceSans3-Italic'), url('#{$font-path}SourceSans3-Italic.woff2') format('woff2'), url('#{$font-path}SourceSans3-Italic.ttf') format('truetype'); }\n\n@font-face {\n font-family: 'Source Sans 3';\n font-style: normal;\n font-display: swap;\n font-weight: 500;\n src: local('Source Sans 3 Medium'), local('SourceSans3-Medium'), url('#{$font-path}SourceSans3-Medium.woff2') format('woff2'), url('#{$font-path}SourceSans3-Medium.ttf') format('truetype'); }\n\n@font-face {\n font-family: 'Source Sans 3';\n font-style: normal;\n font-display: swap;\n font-weight: 600;\n src: local('Source Sans 3 SemiBold'), local('SourceSans3-SemiBold'), url('#{$font-path}SourceSans3-SemiBold.woff2') format('woff2'), url('#{$font-path}SourceSans3-SemiBold.ttf') format('truetype'); }\n\n@font-face {\n font-family: 'Source Sans 3';\n font-style: normal;\n font-display: swap;\n font-weight: 700;\n src: local('Source Sans 3 Bold'), local('SourceSans3-Bold'), url('#{$font-path}SourceSans3-Bold.woff2') format('woff2'), url('#{$font-path}SourceSans3-Bold.ttf') format('truetype'); }\n\n@font-face {\n font-family: 'Source Sans 3';\n font-style: italic;\n font-display: swap;\n font-weight: 700;\n src: local('Source Sans 3 Bold Italic'), local('SourceSans3-BoldItalic'), url('#{$font-path}SourceSans3-BoldItalic.woff2') format('woff2'), url('#{$font-path}SourceSans3-BoldItalic.ttf') format('truetype'); }\n\n@font-face {\n font-family: 'Source Sans 3';\n font-style: normal;\n font-display: swap;\n font-weight: 800;\n src: local('Source Sans 3 ExtraBold'), local('SourceSans3-ExtraBold'), url('#{$font-path}SourceSans3-ExtraBold.woff2') format('woff2'), url('#{$font-path}SourceSans3-ExtraBold.ttf') format('truetype'); }\n\n@font-face {\n font-family: 'Source Sans 3';\n font-style: normal;\n font-display: swap;\n font-weight: 900;\n src: local('Source Sans 3 Black'), local('SourceSans3-Black'), url('#{$font-path}SourceSans3-Black.woff2') format('woff2'), url('#{$font-path}SourceSans3-Black.ttf') format('truetype'); }\n\n@font-face {\n font-family: 'Source Code Pro';\n font-style: normal;\n font-display: swap;\n font-weight: 600;\n src: local('Source Code Pro Medium'), local('SourceCodePro-Medium'), url('#{$font-path}SourceCodePro-Medium.woff2') format('woff2'), url('#{$font-path}SourceCodePro-Medium.ttf') format('truetype'); }\n\n@font-face {\n font-family: 'Source Code Pro';\n font-style: italic;\n font-display: swap;\n font-weight: 600;\n src: local('Source Code Pro Medium Italic'), local('SourceCodePro-MediumItalic'), url('#{$font-path}SourceCodePro-MediumItalic.woff2') format('woff2'), url('#{$font-path}SourceCodePro-MediumItalic.ttf') format('truetype'); }\n\n\n\n\n* {\n font-family: 'Source Sans 3', sans-serif; }\ncode {\n font-family: 'Source Code Pro', monospace; }\n", "//\n// _colors.sass\n// Attractive dark mode color scheme for fmtools\n//\n\n// Primary palette\n$primary: #3380ff;\n$primary-dark: #1a3e70;\n$primary-light: #8fc6ff;\n\n// Accent colors\n$accent: #1de9b6;\n$accent-dark: #00897b;\n$accent-light: #6fffd2;\n\n\n// Success, warning, error\n$success: #00e676;\n$warning: #ffd600;\n$error: #ff1744;\n\n// Neutral palette (dark mode)\n$darkest: #0a0c11;\n$background: #10131a;\n$surface: #1a1e29;\n$border: #3a4054;\n$text: #ffffff;\n$text-subtle: #bfc9e6;\n", - "/* _layout.sass */\n\n/* Variables */\n$spacing-unit: 1.5rem;\n$section-spacing: 2rem;\n$border-radius: 8px;\n$body-width: 1024px;\n\nhtml {\n background: darken($background, 3%); }\n\n/* Base Layout */\nbody {\n background: $background;\n color: $text;\n font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;\n width: 100%;\n height: 100%;\n max-width: $body-width;\n margin: $spacing-unit auto;\n padding: $spacing-unit;\n box-sizing: border-box;\n border-radius: $border-radius; }\n\nheader {\n background: $surface;\n margin: $spacing-unit;\n padding: $spacing-unit;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n border-radius: $border-radius;\n margin: 0 auto; }\n\nheader h1, header h1 a {\n margin: 0;\n font-size: 1.6rem;\n font-weight: 900;\n color: $text;\n text-decoration: none;\n padding: 0;\n transition: color 0.4s ease-in-out;\n &:hover, &:focus {\n color: $accent-light; } }\n\nnav {\n display: flex;\n gap: $spacing-unit;\n align-items: center; }\n\nnav ul {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n gap: 0.5rem;\n flex-wrap: wrap; }\n\nnav ul li {\n margin: 0;\n padding: 0; }\n\nnav ul li a {\n padding: 0.4rem 0.6rem;\n border-radius: $border-radius;\n background: $primary-dark;\n color: $text;\n text-decoration: none;\n font-weight: 500;\n transition: background 0.4s ease-in-out;\n &:hover, &:focus {\n background: $accent-dark;\n color: $text; } }\n\n@media (max-width: 600px) {\n header {\n flex-direction: column;\n align-items: flex-start;\n gap: $spacing-unit; }\n\n nav {\n width: 100%;\n justify-content: flex-start;\n margin-top: $spacing-unit; } }\n\nmain {\n margin: $spacing-unit 0;\n padding: $spacing-unit; }\n\nfooter {\n background: $surface;\n margin: $spacing-unit;\n padding: $spacing-unit;\n border-radius: $border-radius;\n margin: 0 auto;\n text-align: center; }\n\nfooter p {\n margin: 0;\n font-size: 0.9rem;\n color: $text-subtle;\n text-align: center; }\n\nsection {\n border-bottom: 3px solid $surface;\n margin: $section-spacing 0;\n padding-bottom: $section-spacing; }\n\n#page-header {\n border-bottom: 3px solid $surface;\n margin: $section-spacing 0;\n padding-bottom: $section-spacing;\n text-align: center;\n h1 {\n margin: 0;\n width: 100%;\n font-size: 3rem;\n word-break: break-word; }\n .subtitle {\n margin: 0;\n width: 100%;\n font-size: 1.2rem;\n font-weight: 300;\n color: $text-subtle; } }\n.time {\n font-size: 0.8rem;\n color: $text-subtle;\n text-align: center; }\n\narticle {\n background: $surface;\n border-radius: 8px;\n padding: $spacing-unit;\n margin: $spacing-unit 0;\n position: relative;\n transition: background 0.5s ease-in-out;\n &:hover, &:focus {\n background: $primary-dark; }\n h3 {\n margin: 0;\n font-size: 1.5rem;\n font-weight: 700;\n color: $text; }\n a {\n color: $text;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1;\n text-indent: -9999px;\n overflow: hidden;\n text-decoration: none;\n transition: color 0.3s ease-in-out;\n &:hover, &:focus {\n color: $accent-light; } }\n &:not(a) {\n position: relative;\n z-index: 2; }\n p {\n margin: 0.5rem 0;\n font-size: 1rem;\n color: $text;\n font-weight: 300; }\n\n .subtitle {\n margin: 0 0 0 0.5rem;\n width: 100%;\n font-size: 1.1rem;\n font-weight: 300;\n color: $text-subtle; } }\n\n.term-title {\n font-weight: 700;\n padding: 0.3rem 0.8rem;\n margin-bottom: 0.5rem;\n border-radius: $border-radius; }\n\np code {\n background: darken($primary-dark,10%);\n margin: 0 0.2rem;\n padding: 0.2rem 0.4rem;\n border-radius: 5px;\n font-size: 0.8rem; }\n\npre {\n padding: 0.5rem;\n border-radius: 5px;\n overflow-x: auto;\n code {\n font-size: 0.8rem; } }\n\n.banner {\n position: fixed;\n top: 0;\n width: 100%;\n max-width: $body-width;\n background-color: $accent;\n color: $darkest;\n padding: 5px 0;\n font-weight: 400;\n text-align: center;\n font-size: 1.1em;\n border-radius: 0 0 8px 8px;\n z-index: 1000;\n font-size: 0.9rem;\n height: 1.3rem;\n margin-left: calc(0% - #{$spacing-unit});\n\n a {\n color: $darkest;\n text-decoration: underline;\n font-weight: 700;\n transition: color 0.3s ease-in-out;\n &:hover, &:focus {\n color: $primary-dark; } } }\n\nbody:has(.banner) {\n margin-top: 2.6rem; }\n\n@media (max-width: 600px) {\n .banner {\n position: absolute;\n top: 0;\n width: calc(100% - #{$spacing-unit});\n max-width: $body-width;\n background-color: $accent;\n color: $darkest;\n padding: 5px;\n font-weight: 400;\n text-align: center;\n font-size: 1.1em;\n border-radius: 0 0 8px 8px;\n z-index: 1000;\n font-size: 0.9rem;\n height: 4.3rem;\n margin-left: calc(0% - #{$spacing-unit});\n\n .banner-text {\n display: block;\n margin: 0 5px; } }\n\n\n body:has(.banner) {\n margin-top: 5.6rem; } }\n", + "/* _layout.sass */\n\n/* Variables */\n$spacing-unit: 1.5rem;\n$section-spacing: 2rem;\n$border-radius: 8px;\n$body-width: 1024px;\n\nhtml {\n background: darken($background, 3%); }\n\n/* Base Layout */\nbody {\n background: $background;\n color: $text;\n font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;\n width: 100%;\n height: 100%;\n max-width: $body-width;\n margin: $spacing-unit auto;\n padding: $spacing-unit;\n box-sizing: border-box;\n border-radius: $border-radius; }\n\nheader {\n background: $surface;\n margin: $spacing-unit;\n padding: $spacing-unit;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n border-radius: $border-radius;\n margin: 0 auto; }\n\nheader h1, header h1 a {\n margin: 0;\n font-size: 1.6rem;\n font-weight: 900;\n color: $text;\n text-decoration: none;\n padding: 0;\n transition: color 0.4s ease-in-out;\n &:hover, &:focus {\n color: $accent-light; } }\n\nnav {\n display: flex;\n gap: $spacing-unit;\n align-items: center; }\n\nnav ul {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n gap: 0.5rem;\n flex-wrap: wrap; }\n\nnav ul li {\n margin: 0;\n padding: 0; }\n\nnav ul li a {\n padding: 0.4rem 0.6rem;\n border-radius: $border-radius;\n background: $primary-dark;\n color: $text;\n text-decoration: none;\n font-weight: 500;\n transition: background 0.4s ease-in-out;\n &:hover, &:focus {\n background: $accent-dark;\n color: $text; } }\n\n@media (max-width: 600px) {\n header {\n flex-direction: column;\n align-items: flex-start;\n gap: $spacing-unit; }\n\n nav {\n width: 100%;\n justify-content: flex-start;\n margin-top: $spacing-unit; } }\n\nmain {\n margin: $spacing-unit 0;\n padding: $spacing-unit; }\n\nfooter {\n background: $surface;\n margin: $spacing-unit;\n padding: $spacing-unit;\n border-radius: $border-radius;\n margin: 0 auto;\n text-align: center; }\n\nfooter p {\n margin: 0;\n font-size: 0.9rem;\n color: $text-subtle;\n text-align: center; }\n\nsection {\n border-bottom: 3px solid $surface;\n margin: $section-spacing 0;\n padding-bottom: $section-spacing; }\n\n#page-header {\n border-bottom: 3px solid $surface;\n margin: $section-spacing 0;\n padding-bottom: $section-spacing;\n text-align: center;\n h1 {\n margin: 0;\n width: 100%;\n font-size: 3rem;\n word-break: break-word; }\n .subtitle {\n margin: 0;\n width: 100%;\n font-size: 1.2rem;\n font-weight: 300;\n color: $text-subtle; } }\n.time {\n font-size: 0.8rem;\n color: $text-subtle;\n text-align: center; }\n\n#tool-cards {\n display: flex;\n flex-wrap: wrap;\n gap: $spacing-unit;\n // justify-content: space-between\n\n > article {\n flex: 1 1 48%;\n min-width: 300px;\n max-width: 48%;\n box-sizing: border-box; }\n\n @media (max-width: 900px) {\n > article {\n flex-basis: 100%;\n max-width: 100%; } } }\n\narticle {\n background: $surface;\n border-radius: 8px;\n padding: 1rem 1.5rem;\n // margin: $spacing-unit 0\n // position: relative\n transition: background 0.5s ease-in-out;\n &:hover, &:focus {\n background: $primary-dark; }\n h3 {\n margin: 0;\n font-size: 1.5rem;\n font-weight: 700;\n color: $text; }\n a {\n color: $text;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1;\n text-indent: -9999px;\n overflow: hidden;\n text-decoration: none;\n transition: color 0.3s ease-in-out;\n &:hover, &:focus {\n color: $accent-light; } }\n &:not(a) {\n position: relative;\n z-index: 2; }\n p {\n margin: 0.5rem 0;\n font-size: 1rem;\n color: $text;\n font-weight: 300; }\n\n .subtitle {\n margin: 0 0 0 0.5rem;\n width: 100%;\n font-size: 1.1rem;\n font-weight: 300;\n color: $text-subtle; } }\n\n.term-title {\n font-weight: 700;\n padding: 0.3rem 0.8rem;\n margin-bottom: 0.5rem;\n border-radius: $border-radius; }\n\np code {\n background: darken($primary-dark,10%);\n margin: 0 0.2rem;\n padding: 0.2rem 0.4rem;\n border-radius: 5px;\n font-size: 0.8rem; }\n\npre {\n padding: 0.5rem;\n border-radius: 5px;\n overflow-x: auto;\n code {\n font-size: 0.8rem; } }\n\n.banner {\n position: fixed;\n top: 0;\n width: 100%;\n max-width: $body-width;\n background-color: $accent;\n color: $darkest;\n padding: 5px 0;\n font-weight: 400;\n text-align: center;\n font-size: 1.1em;\n border-radius: 0 0 8px 8px;\n z-index: 1000;\n font-size: 0.9rem;\n height: 1.3rem;\n margin-left: calc(0% - #{$spacing-unit});\n\n a {\n color: $darkest;\n text-decoration: underline;\n font-weight: 700;\n transition: color 0.3s ease-in-out;\n &:hover, &:focus {\n color: $primary-dark; } } }\n\nbody:has(.banner) {\n margin-top: 2.6rem; }\n\n@media (max-width: 600px) {\n .banner {\n position: absolute;\n top: 0;\n width: calc(100% - #{$spacing-unit});\n max-width: $body-width;\n background-color: $accent;\n color: $darkest;\n padding: 5px;\n font-weight: 400;\n text-align: center;\n font-size: 1.1em;\n border-radius: 0 0 8px 8px;\n z-index: 1000;\n font-size: 0.9rem;\n height: 4.3rem;\n margin-left: calc(0% - #{$spacing-unit});\n\n .banner-text {\n display: block;\n margin: 0 5px; } }\n\n\n body:has(.banner) {\n margin-top: 5.6rem; } }\n", "\ntable#taxonomy-table {\n width: 100%;\n border-collapse: collapse;\n // border: 3px solid $darkest\n box-sizing: border-box;\n background: $surface;\n text-align: left;\n\n tr {\n border-bottom: 3px solid $background;\n &:nth-child(even) {\n background: darken($surface, 2%);\n transition: background 0.4s ease-in-out; }\n &:nth-child(odd) {\n background: lighten($surface, 3%);\n transition: background 0.4s ease-in-out; }\n &:hover, &:focus {\n background: $border; } }\n\n thead {\n text-align: left;\n border: none;\n border-radius: $border-radius $border-radius 0 0; }\n\n th {\n color: $text;\n background: $darkest !important;\n padding: 0.6rem 0.6rem;\n text-align: left;\n font-weight: 600;\n border: none; }\n\n td {\n padding: 0.3rem 0.6rem;\n text-align: left;\n font-weight: 600;\n border: none; }\n\n td.description {\n font-weight: 300;\n color: $text-subtle; }\n td.tool {\n min-width: 100px; }\n\n a.term-link {\n padding: 0.2rem 0.6rem;\n margin: 0.2rem;\n display: inline-block;\n border-radius: $border-radius;\n text-decoration: none;\n font-weight: 500;\n color: $text;\n transition: color 0.4s ease-in-out, background 0.4s ease-in-out;\n &:hover, &:focus {\n color: $darkest !important;\n background: $text-subtle !important; } }\n\n a.taxonomy-name {\n padding: 0;\n margin: 0.2rem;\n display: inline-block;\n border-radius: $border-radius;\n text-decoration: none;\n font-weight: 500;\n color: $text;\n transition: color 0.4s ease-in-out;\n &:hover, &:focus {\n color: $accent-light; } }\n\n a {\n color: $text;\n text-decoration: none;\n &:hover, &:focus {\n color: $accent; } } }\n\n#taxonomy-page a.term-link {\n padding: 0.3rem 1.2rem;\n margin: 0.2rem;\n display: inline-block;\n border-radius: $border-radius;\n text-decoration: none;\n font-weight: 500;\n font-size: 1.2rem;\n color: $text;\n transition: color 0.4s ease-in-out, background 0.4s ease-in-out;\n &:hover, &:focus {\n color: $darkest !important;\n background: $text-subtle !important; } }\n\n", "/* _text.sass */\n\na {\n color: $accent-light;\n text-decoration: underline;\n transition: color 0.3s ease-in-out;\n &:hover, &:focus {\n color: $primary; } }\n\n#quick-links {\n text-align: left; }\n\n#link-list {\n display: flex;\n gap: $spacing-unit;\n align-items: center;\n flex-wrap: wrap;\n margin: 2rem 0 $spacing-unit 0;\n justify-content: center; }\n\n#link-list h2 {\n flex: none; }\n\n#link-list ul {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n gap: 1rem;\n flex-wrap: wrap; }\n\n#link-list ul li {\n margin: 0;\n padding: 0; }\n\n#link-list ul li a {\n padding: 0.3rem 0.6rem;\n border-radius: $border-radius;\n background: $primary-light;\n color: $darkest;\n text-decoration: none;\n font-weight: 500;\n transition: background 0.3s ease-in-out;\n &:hover, &:focus {\n background: $accent-light; } }\n\na.button {\n padding: 0.3rem 0.6rem;\n margin: 0 0.2rem;\n border-radius: $border-radius;\n background: $primary-light;\n color: $darkest;\n text-decoration: none;\n font-weight: 500;\n transition: background 0.3s ease-in-out;\n &:hover, &:focus {\n background: $accent-light; } }\n", "#publications {\n font-weight: 300;\n ul {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 1em;\n\n li {\n background: $surface;\n border-radius: 8px;\n padding: 1em 1.5em; } }\n a {\n color: $primary-light;\n text-decoration: none;\n font-weight: 100;\n transition: color 0.3s ease-in-out;\n &:hover, &:focus {\n color: $accent-light; } } }\n" ], "names": [], - "mappings": "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" + "mappings": "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" } \ No newline at end of file diff --git a/css/styles.d4f303f1ff2cc812b2e0b183220644579ba7aa860938854dafccb29277d93943d3561dee6700ff044cb4325f6f998f7c8bcdc05825337eef616dbd49e7328e3e.css b/css/styles.d4f303f1ff2cc812b2e0b183220644579ba7aa860938854dafccb29277d93943d3561dee6700ff044cb4325f6f998f7c8bcdc05825337eef616dbd49e7328e3e.css new file mode 100644 index 0000000..f1862cd --- /dev/null +++ b/css/styles.d4f303f1ff2cc812b2e0b183220644579ba7aa860938854dafccb29277d93943d3561dee6700ff044cb4325f6f998f7c8bcdc05825337eef616dbd49e7328e3e.css @@ -0,0 +1,639 @@ +@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 */ \ No newline at end of file diff --git a/css/styles.ebf2566cba8f43f92944cd7386e2406d102cd1549d0eb96c8aad4719a336e4ee8b4e1b4171a11d912b19a8a176340f395c49749fe3a4e11392fe59be5f941282.css b/css/styles.ebf2566cba8f43f92944cd7386e2406d102cd1549d0eb96c8aad4719a336e4ee8b4e1b4171a11d912b19a8a176340f395c49749fe3a4e11392fe59be5f941282.css new file mode 100644 index 0000000..6915161 --- /dev/null +++ b/css/styles.ebf2566cba8f43f92944cd7386e2406d102cd1549d0eb96c8aad4719a336e4ee8b4e1b4171a11d912b19a8a176340f395c49749fe3a4e11392fe59be5f941282.css @@ -0,0 +1,627 @@ +@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 */ \ No newline at end of file diff --git a/css/styles.fc75b23e06647821502a4513924807f5f51292b031cbb185dac8461df71993ee1b734acd2a13cc0e7e8b3c992e47232d75c2370b5f1d25ab55a532e03f6ba419.css b/css/styles.fc75b23e06647821502a4513924807f5f51292b031cbb185dac8461df71993ee1b734acd2a13cc0e7e8b3c992e47232d75c2370b5f1d25ab55a532e03f6ba419.css new file mode 100644 index 0000000..09b9c00 --- /dev/null +++ b/css/styles.fc75b23e06647821502a4513924807f5f51292b031cbb185dac8461df71993ee1b734acd2a13cc0e7e8b3c992e47232d75c2370b5f1d25ab55a532e03f6ba419.css @@ -0,0 +1,641 @@ +@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 */ \ No newline at end of file diff --git a/developers/albert-ludwigs-universität/index.html b/developers/albert-ludwigs-universität/index.html index 1873558..f48bb50 100644 --- a/developers/albert-ludwigs-universität/index.html +++ b/developers/albert-ludwigs-universität/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/cea/index.html b/developers/cea/index.html index c635ef0..4d4e137 100644 --- a/developers/cea/index.html +++ b/developers/cea/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/dhbw-stuttgart/index.html b/developers/dhbw-stuttgart/index.html new file mode 100644 index 0000000..8f58182 --- /dev/null +++ b/developers/dhbw-stuttgart/index.html @@ -0,0 +1,130 @@ + + + + + + + + +DHBW Stuttgart | Formal Methods Tools + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Formal Methods Tools

+ + + + +
+
+ +

+ + + + + + + DHBW Stuttgart + +

+ +
+ + + + + + + + + + + + + + + + + + + + +
ToolDescription
EE is a theorem prover for full first-order logic (and now monomorphic higher-order logic) with …
+ +
+ + + diff --git a/developers/dhbw-stuttgart/index.xml b/developers/dhbw-stuttgart/index.xml new file mode 100644 index 0000000..16b9694 --- /dev/null +++ b/developers/dhbw-stuttgart/index.xml @@ -0,0 +1,19 @@ + + + + DHBW Stuttgart on Formal Methods Tools + http://localhost:1313/developers/dhbw-stuttgart/ + Recent content in DHBW Stuttgart on Formal Methods Tools + Hugo + en-us + Sat, 07 Jun 2025 00:00:00 +0000 + + + E + http://localhost:1313/tools/sat-smt/e/ + Sat, 07 Jun 2025 00:00:00 +0000 + http://localhost:1313/tools/sat-smt/e/ + <p>E is a theorem prover for full first-order logic (and now monomorphic higher-order logic) with equality.</p> + + + diff --git a/developers/disi-university-of-trento/index.html b/developers/disi-university-of-trento/index.html index e4061d2..e99ed39 100644 --- a/developers/disi-university-of-trento/index.html +++ b/developers/disi-university-of-trento/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/eindhoven-university-of-technology/index.html b/developers/eindhoven-university-of-technology/index.html index 31f773f..bf5eba5 100644 --- a/developers/eindhoven-university-of-technology/index.html +++ b/developers/eindhoven-university-of-technology/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/fondazione-bruno-kessler/index.html b/developers/fondazione-bruno-kessler/index.html index 5ef35f8..653df9a 100644 --- a/developers/fondazione-bruno-kessler/index.html +++ b/developers/fondazione-bruno-kessler/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/gilles-audemard/index.html b/developers/gilles-audemard/index.html index d69e7ed..5240c49 100644 --- a/developers/gilles-audemard/index.html +++ b/developers/gilles-audemard/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/index.html b/developers/index.html index cb3b19d..a9b9611 100644 --- a/developers/index.html +++ b/developers/index.html @@ -23,7 +23,7 @@ - + @@ -132,6 +132,24 @@ + + DHBW Stuttgart + + + + + + + + + + + + + TU Wien + + + + + + + + + + + + http://localhost:1313/developers/cea/ + + DHBW Stuttgart + http://localhost:1313/developers/dhbw-stuttgart/ + Sat, 07 Jun 2025 00:00:00 +0000 + http://localhost:1313/developers/dhbw-stuttgart/ + + DISI-University of Trento http://localhost:1313/developers/disi-university-of-trento/ @@ -148,6 +155,13 @@ http://localhost:1313/developers/stanford-university/ + + TU Wien + http://localhost:1313/developers/tu-wien/ + Sat, 07 Jun 2025 00:00:00 +0000 + http://localhost:1313/developers/tu-wien/ + + ULiege http://localhost:1313/developers/uliege/ diff --git a/developers/inria-rhône-alpes/index.html b/developers/inria-rhône-alpes/index.html index f095be4..7def371 100644 --- a/developers/inria-rhône-alpes/index.html +++ b/developers/inria-rhône-alpes/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/johannes-kepler-universität-linz/index.html b/developers/johannes-kepler-universität-linz/index.html index a897240..6264200 100644 --- a/developers/johannes-kepler-universität-linz/index.html +++ b/developers/johannes-kepler-universität-linz/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/laurent-simon/index.html b/developers/laurent-simon/index.html index 6f2b55f..1b99a1c 100644 --- a/developers/laurent-simon/index.html +++ b/developers/laurent-simon/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/loria/index.html b/developers/loria/index.html index e64ab1c..4d59a64 100644 --- a/developers/loria/index.html +++ b/developers/loria/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/masaryk-university/index.html b/developers/masaryk-university/index.html index 0cf579b..11ebba1 100644 --- a/developers/masaryk-university/index.html +++ b/developers/masaryk-university/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/microsoft-research/index.html b/developers/microsoft-research/index.html index 912918c..28c8cf0 100644 --- a/developers/microsoft-research/index.html +++ b/developers/microsoft-research/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/niklas-eén/index.html b/developers/niklas-eén/index.html index 049a276..3f40539 100644 --- a/developers/niklas-eén/index.html +++ b/developers/niklas-eén/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/niklas-sörensson/index.html b/developers/niklas-sörensson/index.html index 358205a..f51ffd4 100644 --- a/developers/niklas-sörensson/index.html +++ b/developers/niklas-sörensson/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/norbert-manthey/index.html b/developers/norbert-manthey/index.html index b7fea0c..fa5178a 100644 --- a/developers/norbert-manthey/index.html +++ b/developers/norbert-manthey/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/ocaml-pro/index.html b/developers/ocaml-pro/index.html index 354a749..e978698 100644 --- a/developers/ocaml-pro/index.html +++ b/developers/ocaml-pro/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/oxford-university/index.html b/developers/oxford-university/index.html index 739bfee..e79171e 100644 --- a/developers/oxford-university/index.html +++ b/developers/oxford-university/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/rwth-aachen/index.html b/developers/rwth-aachen/index.html index a083098..102d56a 100644 --- a/developers/rwth-aachen/index.html +++ b/developers/rwth-aachen/index.html @@ -23,7 +23,7 @@ - + @@ -107,6 +107,14 @@ + + COMICS + COMICS is a stand-alone tool which performs model checking and the generation of counterexamples for … + + + + + SMT-RAT SMT-RAT is an SMT Real Algebra Toolbox. diff --git a/developers/rwth-aachen/index.xml b/developers/rwth-aachen/index.xml index 127bd39..fb855c7 100644 --- a/developers/rwth-aachen/index.xml +++ b/developers/rwth-aachen/index.xml @@ -8,6 +8,13 @@ en-us Sat, 07 Jun 2025 00:00:00 +0000 + + COMICS + http://localhost:1313/tools/prob/comics/ + Sat, 07 Jun 2025 00:00:00 +0000 + http://localhost:1313/tools/prob/comics/ + <p>COMICS is a stand-alone tool which performs model checking and the generation of counterexamples for discrete-time Markov Chains (DTMCs).</p> + SMT-RAT http://localhost:1313/tools/sat-smt/smt-rat/ diff --git a/developers/sri-international/index.html b/developers/sri-international/index.html index c189b01..eda635c 100644 --- a/developers/sri-international/index.html +++ b/developers/sri-international/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/stanford-university/index.html b/developers/stanford-university/index.html index 10e7ece..1ba4919 100644 --- a/developers/stanford-university/index.html +++ b/developers/stanford-university/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/tu-wien/index.html b/developers/tu-wien/index.html new file mode 100644 index 0000000..a23925f --- /dev/null +++ b/developers/tu-wien/index.html @@ -0,0 +1,140 @@ + + + + + + + + +TU Wien | Formal Methods Tools + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Formal Methods Tools

+ + + + +
+
+ +

+ + + + + + + TU Wien + +

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ToolDescription
VampireVampire is a theorem prover. +
ZipperpositionZipperposition is an automated theorem prover for first-order logic with equality and theories. +
+ +
+ + + diff --git a/developers/tu-wien/index.xml b/developers/tu-wien/index.xml new file mode 100644 index 0000000..422ec05 --- /dev/null +++ b/developers/tu-wien/index.xml @@ -0,0 +1,26 @@ + + + + TU Wien on Formal Methods Tools + http://localhost:1313/developers/tu-wien/ + Recent content in TU Wien on Formal Methods Tools + Hugo + en-us + Sat, 07 Jun 2025 00:00:00 +0000 + + + Vampire + http://localhost:1313/tools/sat-smt/vampire/ + Sat, 07 Jun 2025 00:00:00 +0000 + http://localhost:1313/tools/sat-smt/vampire/ + <p>Vampire is a theorem prover.</p> + + + Zipperposition + http://localhost:1313/tools/sat-smt/zipperposition/ + Sat, 07 Jun 2025 00:00:00 +0000 + http://localhost:1313/tools/sat-smt/zipperposition/ + <p>Zipperposition is an automated theorem prover for first-order logic with equality and theories.</p> + + + diff --git a/developers/uliege/index.html b/developers/uliege/index.html index 1d4cb04..02e9944 100644 --- a/developers/uliege/index.html +++ b/developers/uliege/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/university-of-freiburg/index.html b/developers/university-of-freiburg/index.html index 7bdb183..c8508c9 100644 --- a/developers/university-of-freiburg/index.html +++ b/developers/university-of-freiburg/index.html @@ -23,7 +23,7 @@ - + @@ -107,6 +107,15 @@ + + CaDiCaL + CaDiCaL is a simplified satisfiability solver. + + + + + + SMTInterpol SMTInterpol is an SMT Solver that can compute Craig interpolants for various theories. diff --git a/developers/university-of-freiburg/index.xml b/developers/university-of-freiburg/index.xml index e659c8d..83498d9 100644 --- a/developers/university-of-freiburg/index.xml +++ b/developers/university-of-freiburg/index.xml @@ -8,6 +8,13 @@ en-us Sat, 07 Jun 2025 00:00:00 +0000 + + CaDiCaL + http://localhost:1313/tools/sat-smt/cadical/ + Sat, 07 Jun 2025 00:00:00 +0000 + http://localhost:1313/tools/sat-smt/cadical/ + <p>CaDiCaL is a simplified satisfiability solver.</p> + SMTInterpol http://localhost:1313/tools/sat-smt/smtinterpol/ diff --git a/developers/university-of-illinois/index.html b/developers/university-of-illinois/index.html index ae28329..a0515d3 100644 --- a/developers/university-of-illinois/index.html +++ b/developers/university-of-illinois/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/university-of-iowa/index.html b/developers/university-of-iowa/index.html index c78bbac..400141c 100644 --- a/developers/university-of-iowa/index.html +++ b/developers/university-of-iowa/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/university-of-lugano/index.html b/developers/university-of-lugano/index.html index ff41290..94f0c3e 100644 --- a/developers/university-of-lugano/index.html +++ b/developers/university-of-lugano/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/university-of-virginia/index.html b/developers/university-of-virginia/index.html index 5d44ad3..5291835 100644 --- a/developers/university-of-virginia/index.html +++ b/developers/university-of-virginia/index.html @@ -23,7 +23,7 @@ - + diff --git a/developers/utah-state-university/index.html b/developers/utah-state-university/index.html index b5c52ec..ed19e21 100644 --- a/developers/utah-state-university/index.html +++ b/developers/utah-state-university/index.html @@ -23,7 +23,7 @@ - + diff --git a/domains/index.html b/domains/index.html index e639737..b3f3807 100644 --- a/domains/index.html +++ b/domains/index.html @@ -23,7 +23,7 @@ - + diff --git a/index.html b/index.html index 9e79c06..ab92f05 100644 --- a/index.html +++ b/index.html @@ -24,7 +24,7 @@ - + @@ -118,6 +118,31 @@ Contribute

Try Something New

This list shows a selection of 20 random tools, refreshed every time this site is updated.

+
+ +
+

+ STP + + Simple Theorem Prover + +

+

STP is a constraint solver for quantifier-free bitvectors. +APIs and Bindings This tool is available …

+ STP +
+ +
+

+ Storm + + Probabilistic Model Checker + +

+

Storm is a tool for the analysis of systems involving random or probabilistic phenomena. +

+ Storm +

@@ -127,43 +152,43 @@ Contribute

CryptoMiniSat is a SAT solver. -APIs and Bindings This tool is available through the following interfaces: -C++ Namespace: …

+APIs and Bindings This tool is available through the following …

CryptoMiniSat

- Sally - - Probabilistic Model Checker - -

-

Sally is a model checker for infinite state systems described as transition systems. -

- Sally -
- -
-

- STAMINA - - Probabilistic Model Checker - -

-

A state-space truncation tool for Markov-Chains that can analyze infinite-sized models. Intefaces with either Storm or PRISM. …

- STAMINA -
- -
-

- veriT + MathSAT SMT Solver

-

veriT is an SMT solver developed by LORIA and ULiege. It supports a wide range of theories and is designed for use in formal …

- veriT +

[ Closed-Source Tool ]  MiniSat is a minimalistic, open-source SAT solver, developed to help …

+ MathSAT +
+ +
+

+ Lingeling + + SAT Solver + +

+

Lingeling is a SAT solver. +

+ Lingeling +
+ +
+

+ Zipperposition + + Theorem Prover + +

+

Zipperposition is an automated theorem prover for first-order logic with equality and theories. +

+ Zipperposition
@@ -173,7 +198,7 @@ C++ Namespace: …

SMT Solver -

Alt-Ergo is an automatic prover of mathematical formulas used behind software verification tools such as Frama-C, SPARK, …

+

Alt-Ergo is an automatic prover of mathematical formulas used behind software verification tools …

Alt-Ergo
@@ -191,14 +216,127 @@ C++ Namespace: …

- cvc5 + Boolector - Theorem Prover + SMT Solver

-

cvc5 is an automatic theorem prover for SMT problems. +

[ Not Maintained Since 2024 ] Boolector is a Satisfiability Modulo Theories (SMT) solver for the …

+ Boolector +
+ +
+

+ Yices 2 + + SMT Solver + +

+

Yices is an SMT solver developed by SRI International. It is widely used for checking the …

+ Yices 2 +
+ +
+

+ SMT-RAT + + SMT Toolbox + +

+

SMT-RAT is an SMT Real Algebra Toolbox. +APIs and Bindings This tool is available through the …

+ SMT-RAT +
+ +
+

+ dReal + + SMT Solver + +

+

[ Not Maintained Since 2023 ] dReal is an automated reasoning tool. It focuses on solving problems …

+ dReal +
+ +
+

+ SMTInterpol + + Interpolating SMT Solver + +

+

SMTInterpol is an SMT Solver that can compute Craig interpolants for various theories. +APIs and …

+ SMTInterpol +
+ +
+

+ Q3B + + SMT Solver + +

+

[ Not Maintained Since 2023 ] Q3B is an SMT solver for the quantified bit-vector formulas which …

+ Q3B +
+ +
+

+ CaDiCaL + + SAT Solver + +

+

CaDiCaL is a simplified satisfiability solver.

- cvc5 + CaDiCaL +
+ +
+

+ ParaFROST + + SMT Solver + +

+

ParaFROST is a parallel SAT solver with GPU-accelerated inprocessing capable of harnessing NVIDIA …

+ ParaFROST +
+ +
+

+ OpenSMT + + SMT Solver + +

+

OpenSMT is a compact and open-source SMT-solver written in C++, with the main goal of making …

+ OpenSMT +
+ +
+

+ MiniSat + + SAT Solver + +

+

[ Not Maintained Since 2013 ] MiniSat is a minimalistic, open-source SAT solver, developed to help …

+ MiniSat +
+ +
+

+ Sally + + Probabilistic Model Checker + +

+

Sally is a model checker for infinite state systems described as transition systems. +

+ Sally
@@ -213,145 +351,27 @@ C++ Namespace: …

Riss
-
-

- Boolector - - SMT Solver - -

-

[ Not Maintained Since 2024 ] Boolector is a Satisfiability Modulo Theories (SMT) solver for the theories of fixed-size …

- Boolector -
- -
-

- SMTInterpol - - Interpolating SMT Solver - -

-

SMTInterpol is an SMT Solver that can compute Craig interpolants for various theories. -APIs and Bindings This tool is …

- SMTInterpol -
- -
-

- MathSAT - - SMT Solver - -

-

[ Closed-Source Tool ]  MiniSat is a minimalistic, open-source SAT solver, developed to help researchers and developers …

- MathSAT -
- -
-

- Z3 - - Theorem Prover - -

-

Z3 is a general-purpose theorem prover widely used for SAT & SMT solving. -APIs and Bindings This tool is available …

- Z3 -
- -
-

- Bitwuzla - - SMT Solver - -

-

Bitwuzla is a Satisfiability Modulo Theories (SMT) solver for the theories of fixed-size bit-vectors, floating-point …

- Bitwuzla -
- -
-

- Yices 2 - - SMT Solver - -

-

Yices is an SMT solver developed by SRI International. It is widely used for checking the satisfiability of logical formulas …

- Yices 2 -
- -
-

- Lingeling - - SAT Solver - -

-

Lingeling is a SAT solver. -

- Lingeling -
- -
-

- dReal - - SMT Solver - -

-

[ Not Maintained Since 2023 ] dReal is an automated reasoning tool. It focuses on solving problems that can be encoded as …

- dReal -
- -
-

- MiniSat - - SAT Solver - -

-

[ Not Maintained Since 2013 ] MiniSat is a minimalistic, open-source SAT solver, developed to help researchers and …

- MiniSat -
- -
-

- OpenSMT - - SMT Solver - -

-

OpenSMT is a compact and open-source SMT-solver written in C++, with the main goal of making SMT-Solvers easy to understand …

- OpenSMT -
- -
-

- cvc4 - - Theorem Prover - -

-

[ Not Maintained Since 2021 ] cvc4 is an automatic theorem prover for SMT problems. It is succeeded by cvc5 -

- cvc4 -
- -
-

- STP - - Simple Theorem Prover - -

-

STP is a constraint solver for quantifier-free bitvectors. -APIs and Bindings This tool is available through the following …

- STP -
- +
+
+ + + + +
+ +