added files
diff --git a/Components/Docs.js b/Components/Docs.js
new file mode 100644
index 0000000..5e6b623
--- /dev/null
+++ b/Components/Docs.js
@@ -0,0 +1,35 @@
+import react, { Component } from "react";
+import Styles from '../styles/Components/cardrow.module.css';
+
+class Docs extends Component {
+ /*
+ Properties:
+ - header: Header component
+ Children:
+ - List of sections
+ */
+ constructor(props) {
+ super(props);
+ }
+
+ render() {
+ return "a"
+ }
+}
+
+class Section extends Component {
+ /*
+
+ */
+ constructor(props) {
+ super(props);
+ }
+
+ render() {
+ return "a"
+ }
+}
+
+
+
+export default CardRow;
\ No newline at end of file
diff --git a/Components/LEGACY/AutoSpacing.js b/Components/LEGACY/AutoSpacing.js
new file mode 100644
index 0000000..e90da58
--- /dev/null
+++ b/Components/LEGACY/AutoSpacing.js
@@ -0,0 +1,23 @@
+import react, { Component } from "react";
+import Styles from '../styles/autospacing.module.css';
+
+class AutoSpacing extends Component {
+ constructor(props) {
+ super(props);
+ }
+
+
+ render() {
+ return (
+ <div className={Styles.container}>
+ {
+ react.Children.toArray(this.props.children).map((item, index) => {
+ return <div className={Styles.item} key={index}>{item}</div>
+ })
+ }
+ </div>
+ )
+ }
+}
+
+export default AutoSpacing;
\ No newline at end of file
diff --git a/Components/LEGACY/Paragraph.js b/Components/LEGACY/Paragraph.js
new file mode 100644
index 0000000..c332832
--- /dev/null
+++ b/Components/LEGACY/Paragraph.js
@@ -0,0 +1,13 @@
+import { Component } from 'react';
+
+class Paragraph extends Component {
+ render () {
+ return (
+ <p style={{width: "100%", textAlign: "left", paddingLeft: "15%", paddingRight: "15%", fontSize: "120%", color: "var(--card-text-color)"}}>
+ {this.props.children}
+ </p>
+ );
+ }
+}
+
+export default Paragraph;
\ No newline at end of file
diff --git a/Components/LEGACY/Scroller.js b/Components/LEGACY/Scroller.js
new file mode 100644
index 0000000..69e0fa3
--- /dev/null
+++ b/Components/LEGACY/Scroller.js
@@ -0,0 +1,22 @@
+import { Component } from "react";
+import Styles from '../styles/scroller.module.css';
+
+class Scroller extends Component {
+ constructor(props) {
+ super(props);
+ }
+ render() {
+ this.props.text = this.props.text.concat(this.props.text);
+ return (
+ <div className={Styles.container}>
+ {
+ this.props.text.map((item, index) => {
+ console.log([this.props.text, this.props.text])
+ return <div className={Styles.item} key={index}>{item}</div>;
+ })
+ }
+ </div>
+ )
+ }
+}
+export default Scroller;
diff --git a/Components/LEGACY/SectionHeading.js b/Components/LEGACY/SectionHeading.js
new file mode 100644
index 0000000..ed77661
--- /dev/null
+++ b/Components/LEGACY/SectionHeading.js
@@ -0,0 +1,17 @@
+import { Component } from "react";
+import Styles from '../styles/sectionheading.module.css';
+
+class SectionHeading extends Component {
+ constructor(props) {
+ super(props);
+ }
+
+
+ render() {
+ return (
+ <h1 className={Styles.title} id={this.props.id}>{this.props.children}</h1>
+ )
+ }
+}
+
+export default SectionHeading;
\ No newline at end of file
diff --git a/Components/LEGACY/Subheading.js b/Components/LEGACY/Subheading.js
new file mode 100644
index 0000000..964f1dd
--- /dev/null
+++ b/Components/LEGACY/Subheading.js
@@ -0,0 +1,17 @@
+import { Component } from "react";
+import Styles from '../styles/subheading.module.css';
+
+class SubHeading extends Component {
+ constructor(props) {
+ super(props);
+ }
+
+
+ render() {
+ return (
+ <h2 className={Styles.title} id={this.props.id}>{this.props.children}</h2>
+ )
+ }
+}
+
+export default SubHeading;
\ No newline at end of file
diff --git a/Components/LEGACY/TileRow.js b/Components/LEGACY/TileRow.js
new file mode 100644
index 0000000..ed0bf0b
--- /dev/null
+++ b/Components/LEGACY/TileRow.js
@@ -0,0 +1,33 @@
+import react, { Component, cloneElement } from "react";
+import Styles from '../styles/tilerow.module.css';
+
+class TileRow extends Component {
+ constructor(props) {
+ super(props);
+ }
+ render() {
+ return (
+ <div className={Styles.container}>
+ {
+ react.Children.toArray(this.props.children).map((item, index) => {
+ if (this.props.divless !== false) { // Intentional comparison to false, initially had a default of false, now has a default of true
+ const className = (item.props.className ? item.props.className + " " : "") + Styles.item
+
+ const key = index;
+
+ const props = {
+ className,
+ key
+ }
+
+ return cloneElement(item, props);
+ } else {
+ return <div className={Styles.item + " " + Styles.fitItemWidth} key={index}>{item}</div>;
+ }
+ })
+ }
+ </div>
+ )
+ }
+}
+export default TileRow;
diff --git a/Components/LEGACY/Timeline.js b/Components/LEGACY/Timeline.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Components/LEGACY/Timeline.js
diff --git a/Components/Panels.js b/Components/Panels.js
new file mode 100644
index 0000000..3c1d2e6
--- /dev/null
+++ b/Components/Panels.js
@@ -0,0 +1,105 @@
+import react, { Component } from "react";
+import Styles from '../styles/Components/panels.module.css';
+import handleViewport from 'react-in-viewport';
+
+
+class PanelClass extends Component {
+ constructor(props) {
+ super(props);
+ }
+
+ getStyle() {
+ const { inViewport, enterCount } = this.props;
+ if (inViewport && enterCount === 1) { return { WebkitTransition: 'all 0.75s ease-in-out', opacity: '1', transform: "translateY(0px)" };
+ } else if (!inViewport && enterCount < 1) { return { WebkitTransition: 'none', opacity: '0', transform: "translateY(20px)" };
+ } else { return {}; }
+ }
+
+ render() {
+ return <div className={Styles.panel} style={this.getStyle()} id={this.props.id}>
+ {
+ react.Children.toArray(this.props.children).map((child, index) => {
+ return child;
+ })
+ }
+ </div>
+ }
+}
+
+
+class AutoLayout extends Component {
+ constructor(props) {
+ super(props);
+ this.children = react.Children.toArray(this.props.children)
+ this.validity = []
+ this.calculateValidity()
+ }
+
+ calculateValidity() {
+ this.children.map((item, index) => {
+ if ( index > 0 && item.props.halfSize && this.validity[index - 1] == 'half1' ) {
+ this.validity[index] = 'half2';
+ } else if ( index > 0 && !item.props.halfSize && this.validity[index - 1] == 'half1' ) {
+ this.validity[index] = 'full';
+ this.validity[index - 1] = 'full';
+ } else if ( item.props.halfSize && !(index == this.props.children.length - 1) ) {
+ this.validity[index] = 'half1';
+ } else if ( index == this.props.children.length - 1 && this.validity[index - 1] == 'half1' ) {
+ this.validity[index] = 'full';
+ this.validity[index - 1] = 'full';
+ } else if ( index == this.props.children.length - 1 && this.validity[index - 1] == 'half2' ) {
+ this.validity[index] = 'full';
+ } else {
+ this.validity[index] = 'full';
+ }
+ })
+ }
+
+ render() {
+ return (
+ <div className={Styles.container}>
+ {
+ this.children.map((item, index) => {
+ if ( this.validity[index] == 'full' ) {
+ return this.children[index]
+ } else if ( this.validity[index] == 'half1' ) {
+ return <div key={index} className={Styles.doublePanel}>
+ {this.children[index]}
+ {this.children[index + 1]}
+ </div>
+ }
+ })
+ }
+ </div>
+ )
+ }
+}
+
+
+class Title extends Component {
+ render() {
+ return <h1 className={Styles.title}>{this.props.children}</h1>
+ }
+}
+
+class Subtitle extends Component {
+ render() {
+ return <h2 className={Styles.subtitle}>{this.props.children}</h2>
+ }
+}
+
+class Text extends Component {
+ render() {
+ return <p className={Styles.text}>{this.props.children}</p>
+ }
+}
+
+class Divider extends Component {
+ render() {
+ return <div className={Styles.divider}></div>
+ }
+}
+
+const Panel = handleViewport(PanelClass, { rootMargin: '-1.0px' });
+
+export { AutoLayout, Panel, Title, Subtitle, Text, Divider };
\ No newline at end of file
diff --git a/Components/Texttools.js b/Components/Texttools.js
new file mode 100644
index 0000000..5f929bd
--- /dev/null
+++ b/Components/Texttools.js
@@ -0,0 +1,72 @@
+import react, { Component } from "react";
+import Styles from '../styles/Components/texttools.module.css';
+import { Popover } from 'react-tiny-popover';
+
+
+class List extends Component {
+ constructor(props) {
+ super(props);
+ }
+
+ render() {
+ return (
+ <div className={Styles.list}>
+ {
+ react.Children.toArray(this.props.children).map((item, index) => {
+ return <div key={index} className={Styles.listItem}>
+ <div className={Styles.square} style={{borderColor: `#${this.props.colour}`}} />
+ <div>{item}</div>
+ </div>
+ })
+ }
+ </div>
+ )
+ }
+}
+
+class ListItem extends Component {
+ render() {
+ return this.props.children
+ }
+}
+
+class Code extends Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ isPopoverOpen: false,
+ };
+ }
+
+ clicked() {
+ let content = this.props.children
+ navigator.clipboard.writeText(content)
+ this.setState({isPopoverOpen: true})
+ setTimeout(() => {
+ this.setState({isPopoverOpen: false})
+ }, 1000)
+ }
+
+ render() {
+ if ( this.props.clickable === false) {
+ return <pre
+ className={Styles.code}
+ style={{color: `#${this.props.colour}`, boxShadow: `0px -3px 10px 2px #000000`}}
+ >{this.props.children}</pre>
+ } else {
+ return <Popover
+ isOpen={this.state.isPopoverOpen}
+ positions={['top', 'bottom', 'left', 'right']} // preferred positions by priority
+ content={<Code colour={this.props.colour} clickable={false}>Copied!</Code>}
+ >
+ <pre
+ className={Styles.code}
+ style={{color: `#${this.props.colour}`}}
+ onClick={() => this.clicked()}
+ >{this.props.children}</pre>
+ </Popover>
+ }
+ }
+}
+
+export { List, ListItem, Code };
\ No newline at end of file
diff --git a/pages/supporters.js b/pages/supporters.js
new file mode 100644
index 0000000..2cde96c
--- /dev/null
+++ b/pages/supporters.js
@@ -0,0 +1,23 @@
+import Header from '../Components/Header'
+
+export default function Home() {
+ return (
+ <>
+ <Header
+ name="Supporters"
+ subtext="The people who help Clicks function"
+ gradient={["71AFE5", "6576CC"]}
+ wave="web/waves/header/clicksforms"
+ buttons={[]}
+ />
+ {/* <AutoSpacing>
+ <br />
+ <Scroller text={[
+ "PineappleFan",
+ "TheCodedProf",
+ "Minion3665"
+ ]} />
+ </AutoSpacing>*/}
+ </>
+ )
+}
diff --git a/styles/Components/card.module.css b/styles/Components/card.module.css
new file mode 100644
index 0000000..52544a4
--- /dev/null
+++ b/styles/Components/card.module.css
@@ -0,0 +1,120 @@
+.backgroundImage {
+ position: absolute;
+ bottom: -5px;
+ left: 0;
+ width: calc(100% + 5px);
+ height: auto;
+ scale: stretch;
+ border-radius: 0;
+ filter: var(--theme-ui-colors-cardFilter);
+ transition: filter 0.3s ease-in-out;
+}
+
+.backgroundGradient {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ scale: stretch;
+ border-radius: 0;
+ filter: var(--theme-ui-colors-cardFilter);
+ transition: filter 0.3s ease-in-out;
+}
+
+.card {
+ border-radius: 17px;
+ width: 100%;
+ height: 204px;
+ padding-inline: 5px;
+ padding-bottom: 5px;
+ position: relative;
+ overflow: hidden;
+ margin: 100px;
+ transition: filter 0.3s ease-in-out;
+}
+
+
+.panel {
+ position: absolute;
+ overflow-x: hidden;
+ overflow-y: hidden;
+ width: 88%;
+ height: 76%;
+ top: 12%;
+ left: 6%;
+ padding-top: 10px;
+ padding-bottom: 10px;
+ border-radius: 17px;
+ background-color: var(--theme-ui-colors-cardBackground);
+ transition: background-color 0.3s ease-in-out;
+ backdrop-filter: blur(7px);
+}
+
+.titleContainer {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ width: 100%;
+ height: 32px;
+ padding-inline: 10px;
+ margin-top: 10px;
+}
+
+.title {
+ font-weight: 100;
+ font-size: 25px;
+ margin-left: 1vw;
+ line-height: 24px;
+ max-lines: 2;
+ color: var(--theme-ui-colors-text);
+ transition: color 0.3s ease-in-out;
+}
+
+.image {
+ height: 40px;
+ width: 40px;
+}
+
+.subtext {
+ width: 100%;
+ padding-inline: 10px;
+ text-align: center;
+ color: var(--theme-ui-colors-text);
+ transition: color 0.3s ease-in-out;
+}
+
+
+.buttonLayout {
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-end;
+ align-items: center;
+ flex-wrap: wrap;
+ padding: 0px;
+ position: absolute;
+ bottom: 5px;
+ right: 5px;
+}
+
+.button {
+ display: flex;
+ flex-direction: row;
+ align-items: flex-start;
+ justify-content: right;
+ position: static;
+ flex: none;
+ order: 1;
+ flex-grow: 0;
+
+ margin: 5px;
+ padding: 5px 10px;
+ border-radius: 8px;
+}
+
+@media (max-width: 500px) {
+ .card {
+ height: 254px;
+ }
+}
\ No newline at end of file
diff --git a/styles/Components/cardrow.module.css b/styles/Components/cardrow.module.css
new file mode 100644
index 0000000..dde471f
--- /dev/null
+++ b/styles/Components/cardrow.module.css
@@ -0,0 +1,12 @@
+.container {
+ width: calc(100% - 20px);
+ height: 100%;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: center;
+ gap: 20px;
+}
+
+.item {
+ width: min(428px, 90%);
+}
\ No newline at end of file
diff --git a/styles/Components/header.module.css b/styles/Components/header.module.css
new file mode 100644
index 0000000..d37417d
--- /dev/null
+++ b/styles/Components/header.module.css
@@ -0,0 +1,128 @@
+.backgroundImage {
+ position: absolute;
+ bottom: -10px;
+ width: calc(100% + 6px);
+ border-radius: 0 0 16.5px 16.5px;
+ filter: var(--theme-ui-colors-cardFilter);
+ transition: filter 0.3s ease-in-out;
+}
+.backgroundGradient {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ filter: var(--theme-ui-colors-cardFilter);
+ transition: filter 0.3s ease-in-out;
+}
+
+.header {
+ width: 100vw;
+ position: relative;
+ overflow: hidden;
+ transition: filter 0.3s ease-in-out;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+}
+
+.panel {
+ position: relative;
+ overflow: hidden;
+ width: min(calc(100vw - 40px), 1000px);
+ border-radius: 16.5px;
+ background-color: var(--theme-ui-colors-cardBackground);
+ transition: background-color 0.3s ease-in-out;
+ backdrop-filter: blur(7px);
+ padding-top: 30px;
+ padding-bottom: 40px;
+ padding-left: 10px;
+ padding-right: 10px;
+ margin-top: 20px;
+ margin-bottom: 20vh;
+}
+
+.title {
+ width: 100%;
+ text-align: center;
+ font-weight: 100;
+ margin-top: 0px;
+ margin-bottom: -20px;
+ font-size: 3em;
+ color: var(--theme-ui-colors-text);
+ transition: color 0.3s ease-in-out;
+ word-break: break-word;
+}
+
+.subtext {
+ margin-bottom: 0px;
+ width: 100%;
+ text-align: center;
+ font-weight: 100;
+ font-size: 1.5em;
+ margin-top: 50px;
+ color: var(--theme-ui-colors-text);
+ transition: color 0.3s ease-in-out;
+}
+
+.subtextExtra {
+ margin-bottom: 40px;
+}
+
+@keyframes arrow-slide {
+ 0% {
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+ }
+ 50% {
+ -webkit-transform: translateY(-1em);
+ transform: translateY(-1em);
+ }
+ 100% {
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+ }
+}
+.arrow {
+ -webkit-animation: arrow-slide 2s ease-in-out infinite both;
+ animation: arrow-slide 2s ease-in-out infinite both;
+}
+
+.arrowSpan {
+ position: absolute;
+ bottom: min(10vh, 1em);
+ width: 100%;
+ text-align: center;
+}
+
+.arrowHidden {
+ display: none;
+}
+
+.buttonLayout {
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-end;
+ align-items: center;
+ flex-wrap: wrap;
+ padding: 0px;
+ position: absolute;
+ bottom: 5px;
+ right: 5px;
+}
+
+.button {
+ display: flex;
+ flex-direction: row;
+ align-items: flex-start;
+ justify-content: right;
+ position: static;
+ flex: none;
+ order: 1;
+ flex-grow: 0;
+
+ margin: 5px;
+ padding: 5px 10px;
+ border-radius: 8px;
+}
diff --git a/styles/Components/navbar.module.css b/styles/Components/navbar.module.css
new file mode 100644
index 0000000..88aa580
--- /dev/null
+++ b/styles/Components/navbar.module.css
@@ -0,0 +1,134 @@
+.container {
+ display: flex;
+ flex-direction: column;
+ justify-content: top;
+ align-items: center;
+
+ position: fixed;
+ top: 0;
+ left: 0;
+ overflow: hidden;
+ margin: 20px;
+
+ width: 64px;
+ max-height: 64px;
+ padding-bottom: -1px;
+ height: auto;
+
+ border-radius: 32px;
+ transition: 0.5s ease-in-out;
+}
+.group {
+ display: flex;
+ flex-direction: column;
+ justify-content: top;
+ align-items: center;
+
+ background-color: var(--theme-ui-colors-cardBackground);
+ transition: background-color 0.3s ease-in-out;
+ backdrop-filter: blur(2px);
+ border-radius: 32px;
+
+ width: 64px;
+ margin-bottom: 20px;
+ padding-top: 7px;
+}
+
+.headerIcon {
+ height: 64px;
+ width: 64px;
+ margin-bottom: 20px;
+ margin-right: 0;
+ margin-top: -7px;
+ border-radius: 50vw;
+
+ cursor: pointer;
+}
+
+.icon {
+ height: 50px;
+ width: 50px;
+ border-radius: 50vw;
+ margin-bottom: 5px;
+ cursor: pointer;
+ display: block;
+}
+
+.ThemeChangeButton {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.containerOpen {
+ max-height: 460px;
+}
+
+.containerDesktop {
+ animation-name: containerCloseOnStart;
+ animation-duration: 0.5s;
+ animation-direction: forwards;
+ animation-timing-function: ease-in-out;
+}
+
+@keyframes containerCloseOnStart {
+ from { max-height: 460px; }
+ to { max-height: 64px ; }
+}
+
+.containerDesktop:hover {
+ max-height: 460px;
+ animation-name: none;
+}
+
+@media screen and (min-width: 450px) {
+ .container {
+ flex-direction: row;
+ justify-content: left;
+
+ margin: 20px;
+
+ height: 64px;
+ max-width: 64px;
+ width: auto;
+ border-radius: 32px;
+
+ border-radius: 32px;
+ transition: 0.5s ease-in-out;
+ }
+ .group {
+ flex-direction: row;
+ justify-content: left;
+
+ height: 64px;
+ width: auto;
+ padding-right: 7px;
+ margin-bottom: 0;
+ padding-top: 7px;
+ margin-right: 20px;
+ padding-left: 3px;
+ }
+ .headerIcon {
+ height: 64px;
+ width: 64px;
+ margin-top: 12px;
+ margin-left: -3px;
+ }
+ .containerOpen {
+ max-width: 460px;
+ max-height: 64px;
+ }
+ .containerDesktop:hover {
+ max-width: 460px;
+ max-height: 64px;
+ }
+ .icon {
+ height: 50px;
+ width: 50px;
+ margin-left: 5px;
+ }
+ @keyframes containerCloseOnStart {
+ from { max-width: 460px; }
+ to { max-width: 64px ; }
+ }
+}
diff --git a/styles/Components/panels.module.css b/styles/Components/panels.module.css
new file mode 100644
index 0000000..94af64c
--- /dev/null
+++ b/styles/Components/panels.module.css
@@ -0,0 +1,92 @@
+.panel {
+ min-height: 50px;
+ padding: 10px;
+ padding-block: 30px;
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ width: 100%;
+ gap: 10px;
+
+ background-color: var(--theme-ui-colors-panelColor);
+ border-radius: 20px;
+ transition: background-color 0.3s ease-in-out;
+
+}
+
+.doublePanel {
+ width: 100%;
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ grid-gap: 20px;
+ column-width: 100%;
+}
+
+@media (max-width: 900px) {
+ .doublePanel {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ width: 100%;
+ gap: 20px;
+ }
+ .halfWidth {
+ width: 100%;
+ }
+}
+
+
+.container {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ gap: 20px;
+ margin-block: 20px;
+ padding-inline: 20px;
+}
+
+.title {
+ width: 100%;
+ font-size: max(2em, 3.25vw);
+ margin: 0;
+ color: var(--theme-ui-colors-text);
+ transition: color 0.3s ease-in-out;
+ font-weight: lighter;
+ text-align: center;
+ word-break: break-all;
+}
+
+.subtitle {
+ width: 100%;
+ font-size: max(2em, 2vw);
+ color: var(--theme-ui-colors-text);
+ transition: color 0.3s ease-in-out;
+ font-weight: lighter;
+ text-align: center;
+ word-break: break-word;
+ margin-block: 0;
+}
+
+.text {
+ width: 100%;
+ text-align: center;
+ padding-inline: "15%";
+ font-size: 120%;
+ color: var(--card-text-color);
+ transition: color 0.3s ease-in-out;
+ margin-top: 0;
+ margin: 10px
+}
+
+.divider {
+ width: 75%;
+ height: 4px;
+ border-radius: 100vw;
+ margin-block: 10px;
+ background-color: var(--theme-ui-colors-hint);
+ transition: background-color 0.3s ease-in-out;
+}
diff --git a/styles/Components/texttools.module.css b/styles/Components/texttools.module.css
new file mode 100644
index 0000000..b07fd6d
--- /dev/null
+++ b/styles/Components/texttools.module.css
@@ -0,0 +1,42 @@
+.square {
+ height: 15px !important;
+ width: 15px !important;
+ position: relative;
+ border-radius: 5px;
+ border: solid 4px #000;
+}
+
+.list {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ width: fit-content;
+ gap: 5px;
+}
+
+.listItem {
+ display: flex;
+ flex-direction: row;
+ justify-content: left;
+ align-items: center;
+ gap: 5px;
+ width: 100%;
+}
+
+.text {
+ margin: 0;
+}
+
+.code {
+ font-family: monospace;
+ font-weight: bold;
+ background-color: var(--theme-ui-colors-hint);
+ transition: background-color 0.3s ease-in-out;
+ padding: 2px;
+ font-size: 105%;
+ border-radius: 5px;
+ padding-left: 5px;
+ width: fit-content;
+ display: inline;
+}