(function (Prism) { var attributes = { pattern: /(^[ \t]*)\[(?!\[)(?:(["'$`])(?:(?!\2)[^\\]|\\.)*\2|\[(?:[^\[\]\\]|\\.)*\]|[^\[\]\\"'$`]|\\.)*\]/m, lookbehind: true, inside: { quoted: { pattern: /([$`])(?:(?!\1)[^\\]|\\.)*\1/, inside: { punctuation: /^[$`]|[$`]$/, }, }, interpreted: { pattern: /'(?:[^'\\]|\\.)*'/, inside: { punctuation: /^'|'$/, // See rest below }, }, string: /"(?:[^"\\]|\\.)*"/, variable: /\w+(?==)/, punctuation: /^\[|\]$|,/, operator: /=/, // The negative look-ahead prevents blank matches 'attr-value': /(?!^\s+$).+/, }, }; var asciidoc = (Prism.languages.asciidoc = { 'comment-block': { pattern: /^(\/{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1/m, alias: 'comment', }, table: { pattern: /^\|={3,}(?:(?:\r?\n|\r(?!\n)).*)*?(?:\r?\n|\r)\|={3,}$/m, inside: { specifiers: { pattern: /(?:(?:(?:\d+(?:\.\d+)?|\.\d+)[+*](?:[<^>](?:\.[<^>])?|\.[<^>])?|[<^>](?:\.[<^>])?|\.[<^>])[a-z]*|[a-z]+)(?=\|)/, alias: 'attr-value', }, punctuation: { pattern: /(^|[^\\])[|!]=*/, lookbehind: true, }, // See rest below }, }, 'passthrough-block': { pattern: /^(\+{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m, inside: { punctuation: /^\++|\++$/, // See rest below }, }, // Literal blocks and listing blocks 'literal-block': { pattern: /^(-{4,}|\.{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m, inside: { punctuation: /^(?:-+|\.+)|(?:-+|\.+)$/, // See rest below }, }, // Sidebar blocks, quote blocks, example blocks and open blocks 'other-block': { pattern: /^(--|\*{4,}|_{4,}|={4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m, inside: { punctuation: /^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/, // See rest below }, }, // list-punctuation and list-label must appear before indented-block 'list-punctuation': { pattern: /(^[ \t]*)(?:-|\*{1,5}|\.{1,5}|(?:[a-z]|\d+)\.|[xvi]+\))(?= )/im, lookbehind: true, alias: 'punctuation', }, 'list-label': { pattern: /(^[ \t]*)[a-z\d].+(?::{2,4}|;;)(?=\s)/im, lookbehind: true, alias: 'symbol', }, 'indented-block': { pattern: /((\r?\n|\r)\2)([ \t]+)\S.*(?:(?:\r?\n|\r)\3.+)*(?=\2{2}|$)/, lookbehind: true, }, comment: /^\/\/.*/m, title: { pattern: /^.+(?:\r?\n|\r)(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|^={1,5} .+|^\.(?![\s.]).*/m, alias: 'important', inside: { punctuation: /^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/, // See rest below }, }, 'attribute-entry': { pattern: /^:[^:\r\n]+:(?: .*?(?: \+(?:\r?\n|\r).*?)*)?$/m, alias: 'tag', }, attributes: attributes, hr: { pattern: /^'{3,}$/m, alias: 'punctuation', }, 'page-break': { pattern: /^<{3,}$/m, alias: 'punctuation', }, admonition: { pattern: /^(?:CAUTION|IMPORTANT|NOTE|TIP|WARNING):/m, alias: 'keyword', }, callout: [ { pattern: /(^[ \t]*)/m, lookbehind: true, alias: 'symbol', }, { pattern: /<\d+>/, alias: 'symbol', }, ], macro: { pattern: /\b[a-z\d][a-z\d-]*::?(?:[^\s\[\]]*\[(?:[^\]\\"']|(["'])(?:(?!\1)[^\\]|\\.)*\1|\\.)*\])/, inside: { function: /^[a-z\d-]+(?=:)/, punctuation: /^::?/, attributes: { pattern: /(?:\[(?:[^\]\\"']|(["'])(?:(?!\1)[^\\]|\\.)*\1|\\.)*\])/, inside: attributes.inside, }, }, }, inline: { /* The initial look-behind prevents the highlighting of escaped quoted text. Quoted text can be multi-line but cannot span an empty line. All quoted text can have attributes before [foobar, 'foobar', baz="bar"]. First, we handle the constrained quotes. Those must be bounded by non-word chars and cannot have spaces between the delimiter and the first char. They are, in order: _emphasis_, ``double quotes'', `single quotes', `monospace`, 'emphasis', *strong*, +monospace+ and #unquoted# Then we handle the unconstrained quotes. Those do not have the restrictions of the constrained quotes. They are, in order: __emphasis__, **strong**, ++monospace++, +++passthrough+++, ##unquoted##, $$passthrough$$, ~subscript~, ^superscript^, {attribute-reference}, [[anchor]], [[[bibliography anchor]]], <>, (((indexes))) and ((indexes)) */ pattern: /(^|[^\\])(?:(?:\B\[(?:[^\]\\"']|(["'])(?:(?!\2)[^\\]|\\.)*\2|\\.)*\])?(?:\b_(?!\s)(?: _|[^_\\\r\n]|\\.)+(?:(?:\r?\n|\r)(?: _|[^_\\\r\n]|\\.)+)*_\b|\B``(?!\s).+?(?:(?:\r?\n|\r).+?)*''\B|\B`(?!\s)(?:[^`'\s]|\s+\S)+['`]\B|\B(['*+#])(?!\s)(?: \3|(?!\3)[^\\\r\n]|\\.)+(?:(?:\r?\n|\r)(?: \3|(?!\3)[^\\\r\n]|\\.)+)*\3\B)|(?:\[(?:[^\]\\"']|(["'])(?:(?!\4)[^\\]|\\.)*\4|\\.)*\])?(?:(__|\*\*|\+\+\+?|##|\$\$|[~^]).+?(?:(?:\r?\n|\r).+?)*\5|\{[^}\r\n]+\}|\[\[\[?.+?(?:(?:\r?\n|\r).+?)*\]?\]\]|<<.+?(?:(?:\r?\n|\r).+?)*>>|\(\(\(?.+?(?:(?:\r?\n|\r).+?)*\)?\)\)))/m, lookbehind: true, inside: { attributes: attributes, url: { pattern: /^(?:\[\[\[?.+?\]?\]\]|<<.+?>>)$/, inside: { punctuation: /^(?:\[\[\[?|<<)|(?:\]\]\]?|>>)$/, }, }, 'attribute-ref': { pattern: /^\{.+\}$/, inside: { variable: { pattern: /(^\{)[a-z\d,+_-]+/, lookbehind: true, }, operator: /^[=?!#%@$]|!(?=[:}])/, punctuation: /^\{|\}$|::?/, }, }, italic: { pattern: /^(['_])[\s\S]+\1$/, inside: { punctuation: /^(?:''?|__?)|(?:''?|__?)$/, }, }, bold: { pattern: /^\*[\s\S]+\*$/, inside: { punctuation: /^\*\*?|\*\*?$/, }, }, punctuation: /^(?:``?|\+{1,3}|##?|\$\$|[~^]|\(\(\(?)|(?:''?|\+{1,3}|##?|\$\$|[~^`]|\)?\)\))$/, }, }, replacement: { pattern: /\((?:C|R|TM)\)/, alias: 'builtin', }, entity: /&#?[\da-z]{1,8};/i, 'line-continuation': { pattern: /(^| )\+$/m, lookbehind: true, alias: 'punctuation', }, }); // Allow some nesting. There is no recursion though, so cloning should not be needed. function copyFromAsciiDoc(keys) { keys = keys.split(' '); var o = {}; for (var i = 0, l = keys.length; i < l; i++) { o[keys[i]] = asciidoc[keys[i]]; } return o; } attributes.inside['interpreted'].inside.rest = copyFromAsciiDoc( 'macro inline replacement entity' ); asciidoc['passthrough-block'].inside.rest = copyFromAsciiDoc('macro'); asciidoc['literal-block'].inside.rest = copyFromAsciiDoc('callout'); asciidoc['table'].inside.rest = copyFromAsciiDoc( 'comment-block passthrough-block literal-block other-block list-punctuation indented-block comment title attribute-entry attributes hr page-break admonition list-label callout macro inline replacement entity line-continuation' ); asciidoc['other-block'].inside.rest = copyFromAsciiDoc( 'table list-punctuation indented-block comment attribute-entry attributes hr page-break admonition list-label macro inline replacement entity line-continuation' ); asciidoc['title'].inside.rest = copyFromAsciiDoc( 'macro inline replacement entity' ); // Plugin to make entity title show the real entity, idea by Roman Komarov Prism.hooks.add('wrap', function (env) { if (env.type === 'entity') { env.attributes['title'] = env.content.replace(/&/, '&'); } }); Prism.languages.adoc = Prism.languages.asciidoc; })(Prism); */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
@use "@styles/abstracts/functions" as fun;

.icon {
  display: block;
  margin: auto;
  width: var(--icon-size, #{fun.convert-px(40)});
}

.lock {
  fill: var(--color-bg);
  stroke: var(--color-primary-darker);
  stroke-width: 3;
}

.lines {
  fill: var(--color-fg);
  stroke-width: 4;
}

.seal-top {
  fill: var(--color-primary-lighter);
  stroke: var(--color-primary-darker);
  stroke-width: 2;
}

.seal-bottom {
  fill: var(--color-primary-lighter);
  stroke: var(--color-primary-darker);
  stroke-width: 2;
}

.diploma {
  fill: var(--color-bg);
  stroke: var(--color-primary-darker);
  stroke-width: 4;
}

.top {
  fill: var(--color-primary-lighter);
  stroke: var(--color-primary-darker);
  stroke-width: 4;
}

.handle {
  fill: var(--color-primary-lighter);
  stroke: var(--color-primary-darker);
  stroke-width: 3;
}

.bottom {
  fill: var(--color-primary);
  stroke: var(--color-primary-darker);
  stroke-width: 4;
}