1<!doctype html> 2<html data-n-head-ssr dir="ltr" lang="en-GB" data-n-head="%7B%22dir%22:%7B%22ssr%22:%22ltr%22%7D,%22lang%22:%7B%22ssr%22:%22en-GB%22%7D%7D"> 3 <head> 4 <meta data-n-head="ssr" charset="utf-8"><meta data-n-head="ssr" name="viewport" content="width=device-width,initial-scale=1"><meta data-n-head="ssr" data-hid="twitter:card" name="twitter:card" content="summary_large_image"><meta data-n-head="ssr" data-hid="twitter:site" name="twitter:site" content="@violoncello_ch"><meta data-n-head="ssr" data-hid="og:site_name" property="og:site_name" content="violoncello.ch"><meta data-n-head="ssr" data-hid="og:type" property="og:type" content="website"><meta data-n-head="ssr" data-hid="i18n-og" property="og:locale" content="en_GB"><meta data-n-head="ssr" data-hid="i18n-og-alt-de-CH" property="og:locale:alternate" content="de_CH"><meta data-n-head="ssr" data-hid="i18n-og-alt-fr-CH" property="og:locale:alternate" content="fr_CH"><meta data-n-head="ssr" data-hid="description" name="description" content="A collection of random thoughts, projects and experiences."><meta data-n-head="ssr" data-hid="twitter:url" name="twitter:url" content="https://violoncello.ch/blog/"><meta data-n-head="ssr" data-hid="twitter:title" name="twitter:title" content="Blog"><meta data-n-head="ssr" data-hid="twitter:description" name="twitter:description" content="A collection of random thoughts, projects and experiences."><meta data-n-head="ssr" data-hid="twitter:image" name="twitter:image" content="https://violoncello.ch/header-background-c.svg"><meta data-n-head="ssr" data-hid="twitter:image:alt" name="twitter:image:alt" content="Blog"><meta data-n-head="ssr" data-hid="og:url" property="og:url" content="https://violoncello.ch/blog/"><meta data-n-head="ssr" data-hid="og:title" property="og:title" content="Blog"><meta data-n-head="ssr" data-hid="og:description" property="og:description" content="A collection of random thoughts, projects and experiences."><meta data-n-head="ssr" data-hid="og:image" property="og:image" content="https://violoncello.ch/header-background-c.svg"><meta data-n-head="ssr" data-hid="og:image:secure_url" property="og:image:secure_url" content="https://violoncello.ch/header-background-c.svg"><meta data-n-head="ssr" data-hid="og:image:alt" property="og:image:alt" content="Blog"><title>Blog | violoncello.ch</title><link data-n-head="ssr" rel="icon" type="image/png" href="/favicon.png"><link data-n-head="ssr" rel="apple-touch-icon-precomposed" href="/favicon.png"><link data-n-head="ssr" data-hid="i18n-alt-de" rel="alternate" href="https://violoncello.ch/de/blog/" hreflang="de"><link data-n-head="ssr" data-hid="i18n-alt-de-CH" rel="alternate" href="https://violoncello.ch/de/blog/" hreflang="de-CH"><link data-n-head="ssr" data-hid="i18n-alt-fr" rel="alternate" href="https://violoncello.ch/fr/blog/" hreflang="fr"><link data-n-head="ssr" data-hid="i18n-alt-fr-CH" rel="alternate" href="https://violoncello.ch/fr/blog/" hreflang="fr-CH"><link data-n-head="ssr" data-hid="i18n-alt-en" rel="alternate" href="https://violoncello.ch/blog/" hreflang="en"><link data-n-head="ssr" data-hid="i18n-alt-en-GB" rel="alternate" href="https://violoncello.ch/blog/" hreflang="en-GB"><link data-n-head="ssr" data-hid="i18n-xd" rel="alternate" href="https://violoncello.ch/blog/" hreflang="x-default"><link data-n-head="ssr" data-hid="i18n-can" rel="canonical" href="https://violoncello.ch/blog/"><link data-n-head="ssr" data-hid="canonical" rel="canonical" href="https://violoncello.ch/blog/"><link rel="preload" href="/_nuxt/d657e71.js" as="script"><link rel="preload" href="/_nuxt/6f95ab8.js" as="script"><link rel="preload" href="/_nuxt/538f15e.js" as="script"><link rel="preload" href="/_nuxt/923ce02.js" as="script"><link rel="preload" href="/_nuxt/55cf7be.js" as="script"><style data-vue-ssr-id="d706d280:0 15f0552d:0 5fa1174a:0 59a803b0:0 1af9dc03:0 a7d34d86:0 3eebf3f2:0">/*! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #edf2f7;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}
4code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#cbd5e0;opacity:1}input::placeholder,textarea::placeholder{color:#cbd5e0;opacity:1}
4[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(66,153,225,.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent;--tw-shadow:0 0 transparent;--tw-shadow-colored:0 0 transparent}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(66,153,225,.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent;--tw-shadow:0 0 transparent;--tw-shadow-colored:0 0 transparent}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}.prose{color:#cbd5e0;max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose]*)){color:#f6a066;font-weight:500;-webkit-text-decoration:underline;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose]*)):hover{color:#f06000}.prose{strong:#edf2f7}.prose :where(astrong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(blockquotestrong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(theadthstrong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-left:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:lower-alpha}.prose :where(ol[type=As]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:upper-alpha}.prose :where(ol[type=as]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:lower-roman}.prose :where(ol[type=Is]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:upper-roman}.prose :where(ol[type=is]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-left:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose]*))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose]*))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose]*)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose]*)){border-left-color:#2d3748;border-left-width:.25rem;color:#f9bf99;font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-left:1em;quotes:"\201C""\201D""\2018""\2019"}.prose :where(blockquotep:first-of-type):not(:where([class~=not-prose],[class~=not-prose]*)):before{content:open-quote}.prose :where(blockquotep:last-of-type):not(:where([class~=not-prose],[class~=not-prose]*)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose]*)){color:#f6a066;font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose]*)){color:#f9bf99;font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose]*)){color:#edf2f7;font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose]*)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose]*)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px 0 rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding:.1875em .375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose]*)){background-color:#2d3748;color:#edf2f7;font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose]*)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose]*)):after{content:"`"}.prose :where(acode):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(h1code):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(h2code):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-size:.875em}.prose :where(h3code):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-size:.9em}.prose :where(h4code):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(blockquotecode):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(theadthcode):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose]*)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding:.8571429em 1.1428571em}.prose :where(precode):not(:where([class~=not-prose],[class~=not-prose]*)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(precode):not(:where([class~=not-prose],[class~=not-prose]*)):before{content:none}.prose :where(precode):not(:where([class~=not-prose],[class~=not-prose]*)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose]*)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:left;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose]*)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(theadth):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-weight:600;padding-bottom:.5714286em;padding-left:.5714286em;padding-right:.5714286em;vertical-align:bottom}.prose :where(tbodytr):not(:where([class~=not-prose],[class~=not-prose]*)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbodytr:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){border-bottom-width:0}.prose :where(tbodytd):not(:where([class~=not-prose],[class~=not-prose]*)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose]*)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoottd):not(:where([class~=not-prose],[class~=not-prose]*)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;
4--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:0;margin-top:0}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:2em;margin-top:2em}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose]*)){padding-left:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose]*)){padding-left:.375em}.prose :where(.prose>ul>lip):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:1.25em}.prose :where(.prose>ul>li>:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:1.25em}.prose :where(.prose>ol>li>:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:1.25em}.prose :where(.prose>ol>li>:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:1.25em}.prose :where(ulul,ulol,olul,olol):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:.5em;padding-left:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}
4.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(theadth:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){padding-left:0}.prose :where(theadth:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){padding-right:0}.prose :where(tbodytd,tfoottd):not(:where([class~=not-prose],[class~=not-prose]*)){padding:.5714286em}.prose :where(tbodytd:first-child,tfoottd:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){padding-left:0}.prose :where(tbodytd:last-child,tfoottd:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){padding-right:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:0}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{bottom:0;left:0;right:0;top:0}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.m-0{margin:0}.m-14{margin:3.5rem}.m-auto{margin:auto}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-16{margin-bottom:4rem;margin-top:4rem}.my-2{margin-bottom:.5rem;margin-top:.5rem}.my-20{margin-bottom:5rem;margin-top:5rem}.my-4{margin-bottom:1rem;margin-top:1rem}.my-8{margin-bottom:2rem;margin-top:2rem}.-mr-1{margin-right:-.25rem}.-mt-16{margin-top:-4rem}.mb-1{margin-bottom:.25rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mt-2{margin-top:.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-10{height:2.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-full{width:100%}.max-w-md{max-width:28rem}.max-w-prose{max-width:65ch}.max-w-xl{max-width:36rem}.shrink{flex-shrink:1}.origin-top-right{transform-origin:top right}.-translate-x-full{--tw-translate-x:-100%;transform:translate(-100%,var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px;transform:translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%;transform:translate(100%,var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(1) scaleY(1);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(.95) scaleY(.95)}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-center{align-content:center}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.overflow-y-scroll{overflow-y:scroll}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}
4.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.border{border-width:1px}.border-2{border-width:2px}.border-gray-700{--tw-border-opacity:1;border-color:#4a5568}@supports (color:rgb(0 0 0/0)){.border-gray-700{border-color:rgb(74 85 104/var(--tw-border-opacity))}}.border-prim-500{--tw-border-opacity:1;border-color:#f06000}@supports (color:rgb(0 0 0/0)){.border-prim-500{border-color:rgb(240 96 0/var(--tw-border-opacity))}}.border-prim-700{--tw-border-opacity:1;border-color:#903a00}@supports (color:rgb(0 0 0/0)){.border-prim-700{border-color:rgb(144 58 0/var(--tw-border-opacity))}}.border-red-500{--tw-border-opacity:1;border-color:#f56565}@supports (color:rgb(0 0 0/0)){.border-red-500{border-color:rgb(245 101 101/var(--tw-border-opacity))}}.bg-black{--tw-bg-opacity:1;background-color:#000}@supports (color:rgb(0 0 0/0)){.bg-black{background-color:rgb(0 0 0/var(--tw-bg-opacity))}}.bg-gray-800{--tw-bg-opacity:1;background-color:#2d3748}@supports (color:rgb(0 0 0/0)){.bg-gray-800{background-color:rgb(45 55 72/var(--tw-bg-opacity))}}.bg-gray-900{--tw-bg-opacity:1;
4background-color:#1a202c}@supports (color:rgb(0 0 0/0)){.bg-gray-900{background-color:rgb(26 32 44/var(--tw-bg-opacity))}}.bg-prim-500{--tw-bg-opacity:1;background-color:#f06000}@supports (color:rgb(0 0 0/0)){.bg-prim-500{background-color:rgb(240 96 0/var(--tw-bg-opacity))}}.bg-prim-600{--tw-bg-opacity:1;background-color:#c04d00}@supports (color:rgb(0 0 0/0)){.bg-prim-600{background-color:rgb(192 77 0/var(--tw-bg-opacity))}}.bg-prim-800{--tw-bg-opacity:1;background-color:#602600}@supports (color:rgb(0 0 0/0)){.bg-prim-800{background-color:rgb(96 38 0/var(--tw-bg-opacity))}}.bg-prim-900{--tw-bg-opacity:1;background-color:#301300}@supports (color:rgb(0 0 0/0)){.bg-prim-900{background-color:rgb(48 19 0/var(--tw-bg-opacity))}}.bg-red-900{--tw-bg-opacity:1;background-color:#742a2a}@supports (color:rgb(0 0 0/0)){.bg-red-900{background-color:rgb(116 42 42/var(--tw-bg-opacity))}}.bg-super-gray{--tw-bg-opacity:1;background-color:#111}@supports (color:rgb(0 0 0/0)){.bg-super-gray{background-color:rgb(17 17 17/var(--tw-bg-opacity))}}.bg-cover{background-size:cover}.bg-fixed{background-attachment:fixed}.bg-center{background-position:50%}.bg-no-repeat{background-repeat:no-repeat}.fill-white{fill:#fff}.object-cover{-o-object-fit:cover;object-fit:cover}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pl-3{padding-left:.75rem}.pr-4{padding-right:1rem}.pt-16{padding-top:4rem}.text-left{text-align:left}.text-center{text-align:center}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-light{font-weight:300}.font-medium{font-weight:500}.lowercase{text-transform:lowercase}.italic{font-style:italic}.leading-5{line-height:1.25rem}.leading-normal{line-height:1.5}.leading-tight{line-height:1.25}.tracking-tighter{letter-spacing:-.05em}.tracking-wide{letter-spacing:.025em}.text-black{--tw-text-opacity:1;color:#000}@supports (color:rgb(0 0 0/0)){.text-black{color:rgb(0 0 0/var(--tw-text-opacity))}}.text-gray-100{--tw-text-opacity:1;color:#f7fafc}@supports (color:rgb(0 0 0/0)){.text-gray-100{color:rgb(247 250 252/var(--tw-text-opacity))}}.text-gray-300{--tw-text-opacity:1;color:#e2e8f0}@supports (color:rgb(0 0 0/0)){.text-gray-300{color:rgb(226 232 240/var(--tw-text-opacity))}}.text-gray-400{--tw-text-opacity:1;color:#cbd5e0}@supports (color:rgb(0 0 0/0)){.text-gray-400{color:rgb(203 213 224/var(--tw-text-opacity))}}.text-gray-500{--tw-text-opacity:1;color:#a0aec0}@supports (color:rgb(0 0 0/0)){.text-gray-500{color:rgb(160 174 192/var(--tw-text-opacity))}}.text-green-500{--tw-text-opacity:1;color:#48bb78}@supports (color:rgb(0 0 0/0)){.text-green-500{color:rgb(72 187 120/var(--tw-text-opacity))}}.text-prim-500{--tw-text-opacity:1;color:#f06000}@supports (color:rgb(0 0 0/0)){.text-prim-500{color:rgb(240 96 0/var(--tw-text-opacity))}}.text-red-500{--tw-text-opacity:1;color:#f56565}@supports (color:rgb(0 0 0/0)){.text-red-500{color:rgb(245 101 101/var(--tw-text-opacity))}}.text-white{--tw-text-opacity:1;color:#fff}@supports (color:rgb(0 0 0/0)){.text-white{color:rgb(255 255 255/var(--tw-text-opacity))}}.underline{text-decoration-line:underline}.placeholder-gray-600::-moz-placeholder{--tw-placeholder-opacity:1;color:#718096}.placeholder-gray-600::placeholder{--tw-placeholder-opacity:1;color:#718096}@supports (color:rgb(0 0 0/0)){.placeholder-gray-600::-moz-placeholder{color:rgb(113 128 150/var(--tw-placeholder-opacity))}.placeholder-gray-600::placeholder{color:rgb(113 128 150/var(--tw-placeholder-opacity))}}.opacity-0{opacity:0}
4.opacity-100{opacity:1}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:0 0 transparent,0 0 transparent,0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:0 0 transparent,0 0 transparent,0 1px 2px 0 rgba(0,0,0,.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color),var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color),0 0 transparent;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-sha
4dow,0 0 #0000)}.ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(0,0,0,var(--tw-ring-opacity))}.ring-prim-500{--tw-ring-opacity:1;--tw-ring-color:rgba(240,96,0,var(--tw-ring-opacity))}.ring-opacity-5{--tw-ring-opacity:0.05}.ring-opacity-50{--tw-ring-opacity:0.5}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:#4a5568}@supports (color:rgb(0 0 0/0)){.hover\:bg-gray-700:hover{background-color:rgb(74 85 104/var(--tw-bg-opacity))}}.hover\:bg-prim-600:hover{--tw-bg-opacity:1;background-color:#c04d00}@supports (color:rgb(0 0 0/0)){.hover\:bg-prim-600:hover{background-color:rgb(192 77 0/var(--tw-bg-opacity))}}.hover\:text-gray-200:hover{--tw-text-opacity:1;color:#edf2f7}@supports (color:rgb(0 0 0/0)){.hover\:text-gray-200:hover{color:rgb(237 242 247/var(--tw-text-opacity))}}.hover\:text-gray-400:hover{--tw-text-opacity:1;color:#cbd5e0}@supports (color:rgb(0 0 0/0)){.hover\:text-gray-400:hover{color:rgb(203 213 224/var(--tw-text-opacity))}}.hover\:text-prim-200:hover{--tw-text-opacity:1;color:#f9bf99}@supports (color:rgb(0 0 0/0)){.hover\:text-prim-200:hover{color:rgb(249 191 153/var(--tw-text-opacity))}}.hover\:text-prim-500:hover{--tw-text-opacity:1;color:#f06000}@supports (color:rgb(0 0 0/0)){.hover\:text-prim-500:hover{color:rgb(240 96 0/var(--tw-text-opacity))}}.hover\:text-white:hover{--tw-text-opacity:1;color:#fff}@supports (color:rgb(0 0 0/0)){.hover\:text-white:hover{color:rgb(255 255 255/var(--tw-text-opacity))}}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-prim-500:focus{--tw-border-opacity:1;border-color:#f06000}@supports (color:rgb(0 0 0/0)){.focus\:border-prim-500:focus{border-color:rgb(240 96 0/var(--tw-border-opacity))}}.focus\:border-prim-700:focus{--tw-border-opacity:1;border-color:#903a00}@supports (color:rgb(0 0 0/0)){.focus\:border-prim-700:focus{border-color:rgb(144 58 0/var(--tw-border-opacity))}}.focus\:bg-gray-700:focus{--tw-bg-opacity:1;background-color:#4a5568}@supports (color:rgb(0 0 0/0)){.focus\:bg-gray-700:focus{background-color:rgb(74 85 104/var(--tw-bg-opacity))}}.focus\:bg-gray-900:focus{--tw-bg-opacity:1;
4background-color:#1a202c}@supports (color:rgb(0 0 0/0)){.focus\:bg-gray-900:focus{background-color:rgb(26 32 44/var(--tw-bg-opacity))}}.focus\:text-gray-200:focus{--tw-text-opacity:1;color:#edf2f7}@supports (color:rgb(0 0 0/0)){.focus\:text-gray-200:focus{color:rgb(237 242 247/var(--tw-text-opacity))}}.focus\:text-gray-400:focus{--tw-text-opacity:1;color:#cbd5e0}@supports (color:rgb(0 0 0/0)){.focus\:text-gray-400:focus{color:rgb(203 213 224/var(--tw-text-opacity))}}.focus\:text-prim-200:focus{--tw-text-opacity:1;color:#f9bf99}@supports (color:rgb(0 0 0/0)){.focus\:text-prim-200:focus{color:rgb(249 191 153/var(--tw-text-opacity))}}.focus\:text-white:focus{--tw-text-opacity:1;color:#fff}@supports (color:rgb(0 0 0/0)){.focus\:text-white:focus{color:rgb(255 255 255/var(--tw-text-opacity))}}.focus\:underline:focus{text-decoration-line:underline}.focus\:shadow-inner:focus{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:0 0 transparent,0 0 transparent,inset 0 2px 4px 0 rgba(0,0,0,.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-sha
4dow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color),var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color),0 0 transparent;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.active\:bg-gray-900:active{--tw-bg-opacity:1;background-color:#1a202c}@supports (color:rgb(0 0 0/0)){.active\:bg-gray-900:active{background-color:rgb(26 32 44/var(--tw-bg-opacity))}}.active\:text-gray-300:active{--tw-text-opacity:1;color:#e2e8f0}@supports (color:rgb(0 0 0/0)){.active\:text-gray-300:active{color:rgb(226 232 240/var(--tw-text-opacity))}}.active\:outline-none:active{outline:2px solid transparent;outline-offset:2px}@media (min-width:640px){.sm\:static{position:static}.sm\:z-0{z-index:0}.sm\:mx-12{margin-left:3rem;margin-right:3rem}.sm\:mb-0{margin-bottom:0}.sm\:mb-2{margin-bottom:.5rem}.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:h-auto{height:auto}.sm\:w-auto{width:auto}.sm\:translate-x-0{--tw-translate-x:0px;transform:translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-16{gap:4rem}.sm\:gap-8{gap:2rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:.5rem;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:0;margin-right:calc(.5rem*var(--tw-space-x-reverse))}.sm\:overflow-hidden{overflow:hidden}.sm\:bg-transparent{background-color:transparent}.sm\:px-2{padding-left:.5rem;padding-right:.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-4{padding-bottom:1rem;padding-top:1rem}.sm\:text-left{text-align:left}.sm\:text-justify{text-align:justify}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:text-8xl{font-size:6rem;line-height:1}}@media (min-width:768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-nowrap{flex-wrap:nowrap}.md\:text-extreme{font-size:8rem;line-height:100%}}@media (min-width:1024px){.lg\:mr-4{margin-right:1rem}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:1rem;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:0;margin-right:calc(1rem*var(--tw-space-x-reverse))}.lg\:text-9xl{font-size:8rem;line-height:1}}code[class*=language-],pre[class*=language-]{background:0 0;color:#000;font-family:Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace;font-size:1em;text-align:left;text-shadow:0 1px #fff;white-space:pre;word-break:normal;word-spacing:normal;word-wrap:normal;-webkit-hyphens:none;hyphens:none;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{background:#b3d4fc;text-shadow:none}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{background:#b3d4fc;text-shadow:none}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{margin:.5em 0;overflow:auto;padding:1em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{background:hsla(0,0%,100%,.5);color:#9a6e3a}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.nuxt-progress{background-color:#f06000;height:2px;left:0;opacity:1;position:fixed;right:0;top:0;transition:width .1s,opacity .4s;width:0;z-index:999999}.nuxt-progress.nuxt-progress-notransition{transition:none}.nuxt-progress-failed{background-color:red}.min-h-screen-nav{min-height:calc(100vh - 4rem)}.viologo[data-v-31247f8c]{animation:appear-31247f8c 1s forwards;animation-delay:5s;margin:auto;opacity:0}
4@keyframes appear-31247f8c{0%{opacity:0}to{opacity:1}}.link[data-v-70308f8c]:after{border-radius:.25rem;display:block;height:.25rem;margin-left:auto;margin-right:auto;--tw-bg-opacity:1;background-color:#f06000;content:"";transition:width .1s ease-in-out;width:0}@supports (color:rgb(0 0 0/0)){.link[data-v-70308f8c]:after{background-color:rgb(240 96 0/var(--tw-bg-opacity))}}.link[data-v-70308f8c]:focus:after,.link[data-v-70308f8c]:hover:after,.nuxt-link-active[data-v-70308f8c]:after{width:45%}.nuxt-link-active[data-v-70308f8c]{--tw-text-opacity:1;color:#cbd5e0}@supports (color:rgb(0 0 0/0)){.nuxt-link-active[data-v-70308f8c]{color:rgb(203 213 224/var(--tw-text-opacity))}}[data-v-6550919b] .nuxt-link-exact-active{--tw-text-opacity:1;color:#f06000}@supports (color:rgb(0 0 0/0)){[data-v-6550919b] .nuxt-link-exact-active{color:rgb(240 96 0/var(--tw-text-opacity))}}</style><link rel="preload" href="/_nuxt/static/1719955559/blog/state.js" as="script"><link rel="preload" href="/_nuxt/static/1719955559/blog/payload.js" as="script"><link rel="preload" href="/_nuxt/static/1719955559/manifest.js" as="script"> 5 </head> 6 <body> 7 <div data-server-rendered="true" id="__nuxt"><!----><div id="__layout"><div class="relative min-h-screen-nav min-h-screen bg-black text-gray-400"><nav class="h-16 sticky top-0 flex justify-between items-center bg-black z-10"><div class="hidden sm:block ml-4 w-16"></div> <button aria-label="language menu" class="sm:hidden pl-3 pr-4 py-4 hover:text-gray-200 focus:text-gray-200 focus:outline-none"><svg fill="currentColor" viewBox="0 0 24 24" class="h-8 w-8"><path d="M3 6C3 5.44772 3.44772 5 4 5H20C20.5523 5 21 5.44772 21 6C21 6.55228 20.5523 7 20 7H4C3.44772 7 3 6.55228 3 6Z"></path> <path d="M3 12C3 11.4477 3.44772 11 4 11H20C20.5523 11 21 11.4477 21 12C21 12.5523 20.5523 13 20 13H4C3.44772 13 3 12.5523 3 12Z"></path> <path d="M4 17C3.44772 17 3 17.4477 3 18C3 18.5523 3.44772 19 4 19H20C20.5523 19 21 18.5523 21 18C21 17.4477 20.5523 17 20 17H4Z"></path></svg></button> <div class="hidden"></div> <div class="overflow-y-scroll sm:overflow-hidden transition-transform duration-500 ease-in-out sm:translate-x-0 absolute sm:static top-0 h-screen sm:h-auto w-64 sm:w-auto sm:flex sm:space-x-2 lg:space-x-4 text-center z-40 sm:z-0 bg-prim-900 sm:bg-transparent -translate-x-full"><button type="button" aria-label="Close" class="p-4 absolute sm:hidden top-0 right-0 z-10 text-gray-400 focus:outline-none focus:text-gray-200"><svg fill="currentColor" viewBox="0 0 24 24" class="h-6 w-6"><path d="M18.2929 19.7071C18.6834 20.0976 19.3166 20.0976 19.7071 19.7071C20.0976 19.3166 20.0976 18.6834 19.7071 18.2929L13.4142 12L19.7071 5.70711C20.0976 5.31658 20.0976 4.68342 19.7071 4.29289C19.3166 3.90237 18.6834 3.90237 18.2929 4.29289L12 10.5858L5.70711 4.29289C5.31658 3.90237 4.68342 3.90237 4.29289 4.29289C3.90237 4.68342 3.90237 5.31658 4.29289 5.70711L10.5858 12L4.29289 18.2929C3.90237 18.6834 3.90237 19.3166 4.29289 19.7071C4.68342 20.0976 5.31658 20.0976 5.70711 19.7071L12 13.4142L18.2929 19.7071Z"></path></svg></button> <svg version="1.1" viewBox="0 0 39.655 39.67" xmlns="http://www.w3.org/2000/svg" class="sm:hidden w-full" data-v-31247f8c><g transform="translate(-40.269 -257.38)" data-v-31247f8c><g transform="matrix(.047408 0 0 .047408 40.99 272.47)" data-v-31247f8c><rect x="-14.8" y="-318.34" width="836.04" height="836.04" data-v-31247f8c></rect> <path d="m-14.801-318.34-2e-5 836.79zm674.34 836.35c-6.5692-29.658-15.15-56.752-23.842-83.801-12.338-36.452-33.968-72.402-48.03-104.34-11.896-29.505-26.593-57.022-31.138-87.647-0.4073-15.818-0.1631-32.086 6.6684-45.692 4.1216-7.5406 7.5807-13.565 11.867-20.277 3.6978-5.6168 6.2681-10.563 5.1424-17.05-1.5551-9.1339-0.025-25.007-4.8341-25.117-13.373-0.7474-21.902 8.1715-32.588 14.395-10.244 5.5662-23.049 7.0259-32.414 7.2066-3.3151 0.04-34.633-4.6605-48.966-10.789-35.328-17.797-60.909-62.629-74.417-95.439-18.537-37.939-24.998-79.774-32.292-118.74-8.5729-51.112-16.173-102.95-12.878-152.12 2.763-33.132 5.5116-66.689 15.027-96.938 0 0-196.6-5e-3 -371.65-6e-3l-2e-5 836.79 674.33-0.4413z" fill="#ee5e00" stroke-width=".35278" data-v-31247f8c></path> <path d="m342.98 260.98c-9.7448-1.122-17.963-4.4386-26.291-9.3162-9.4034-4.7746-16.094-9.6396-23.491-15.875-17.165-15.82-26.053-35.626-34.039-54.682-11.864-32.23-14.348-67.602-18.528-99.483-0.37885-5.921-2.7187-12.419-4.6983-13.047-0.90477-0.2871-2.1344-2.3086-2.1344-3.5087 0-0.70952 0.64439-1.5932 2.542-3.4862 0 0 2.4348-2.2562 2.4984-3.4513 2.1433-40.33 0.56936-85.087-3.0972-121.53-3.3417-24.562-6.527-50.215-20.227-71.007-5.5269-7.7442-11.965-14.026-17.964-19.613-2.5282-3.039-5.7763-3.3056-7.935-3.6965-4.2394 0.0279-5.5811 0.65277-9.804 4.5645-5.5291 5.1216-9.009 8.5993-9.7077 9.7014-2.5214 2.1906-3.4092 6.3642-2.4518 7.5847 1.8269 2.9908 4.3797 4.8277 6.825 7.0279 4.6946 3.2988 6.9243 7.0003 6.7455 12.673-0.61935 8.9886-4.5021 15.75-10.702 20.55-8.4615 3.5424-16.172 3.8519-23.369-1.3376-6.4-5.5137-8.2564-12.964-8.8064-20.552 1.3704-14.1 8.9536-29.734 19.774-36.92 6.2962-4.1863 12.295-6.521 18.575-8.738 8.8175-1.7488 16.867-1.3608 23.877 2.0868 20.631 7.1049 34.064 26.672 42.893 43.5 8.8789 19.857 15.178 42.256 18.735 61.614 4.4738 30.423 5.89 62.216 7.9415 90.646-9e-3 3.1025 0.77762 5.5495 2.9924 7.5996 3.1304 1.7013 4.057 2.6341 4.057 4.0846 0 1.1573-0.23446 1.429-3.596 4.1671 0 0-1.9193 0.5319-1.7239 4.9243-0.78236 11.637 0.50633 20.1 1.0904 31.806 0.41269 28.342 3.5863 54.832 8.6215 80.433 5.2646 25.994 15.482 49.784 31.421 67.719 9.3756 9.4984 21.697 18.79 30.38 18.23 9.3776-1.9296 11.769-11.232 16.674-18.039 1.5335-1.8886 2.3916-3.5916 3.5746-5.7633 0.63055-1.426 0.6877-1.8677 0.34787-2.6883-0.47673
7-1.1509-1.5915-1.2208-3.379-1.7789-10.079-3.4037-13.529-6.5848-18.351-22.049-2.1739-8.2183-0.31684-16.374 3.9039-24.165 6.4738-10.108 15.661-13.056 24.884-13.431 9.6022-0.1521 16.581 4.5253 23.223 10.75 5.4598 6.4074 6.6692 13.924 7.708 21.113 0.82771 11.959-4.3954 23.199-9.8093 32.369-4.3473 6.0152-9.4974 12.331-14.101 17.127-8.5233 6.5161-16.753 10.275-25.78 12.966-3.1235 1.2547-6.41 1.0375-9.2966 0.9198z" stroke-width=".35278" data-v-31247f8c></path> <rect transform="matrix(.99982 -.01872 .016443 .99986 0 0)" x="15.762" y="-308.13" width="8.3218" height="389.2" ry="0" fill="#000007" data-v-31247f8c></rect> <path d="m-14.801-263.14v-55.202h100.19l2.5004 55.538z" stroke-width=".35278" data-v-31247f8c></path> <rect transform="matrix(.99982 -.01872 .016443 .99986 0 0)" x="67.065" y="-306.97" width="8.3218" height="389.2" ry="0" fill="#000007" data-v-31247f8c></rect> <path d="m-14.8 499.05v-19.403c30.581-0.5585 61.977-3.1219 89.219-2.9349 9.1597 0.5876 25.027-0.6091 27.374 0.97442 1.5532 1.5822 1.5186 11.356 1.3119 16.567-0.3659 9.2132-0.4398 16.088-0.8448 24.2h-58.531l-58.53-1e-4z" stroke-width=".35278" data-v-31247f8c></path> <rect transform="matrix(.99997 -.0076934 .0031664 .99999 0 0)" x="16.838" y="80.897" width="8.322" height="414.84" ry="0" fill="#000007" data-v-31247f8c></rect> <rect transform="matrix(.99997 -.0076934 .0031664 .99999 0 0)" x="67.841" y="81.488" width="8.322" height="414.84" ry="0" fill="#000007" data-v-31247f8c></rect></g> <path d="m40.269 276.86 0.0044-0.69589 0.0044-0.6959c0.99839-0.0739 1.8321-0.10609 3.0557-0.0939 0.80438-0.0479 0.06128-0.18743 0.68356-0.54491 1.364 0.0218 4.2048 0.0369 4.185 0.13841 0.0381 0.27485 0.0272 1.1667 0.02767 1.6346-0.08279 0.0254-0.10037 6e-3 -0.24717 0.0207-0.83459 0.0331-1.2969-0.0885-2.3916 0.0568-0.13519 0.0179-0.26808 0.16841-0.40922 0.17452-1.9551 0.0846-3.2945 0.13181-4.9127 6e-3z" stroke-width=".016724" data-v-31247f8c></path></g></svg> <a href="/" class="link py-2 sm:py-4 px-4 sm:px-2 block lowercase text-gray-500 hover:text-gray-400 focus:text-gray-400 focus:outline-none" data-v-70308f8c> 8 home 9</a><a href="/blog/" aria-current="page" class="link py-2 sm:py-4 px-4 sm:px-2 block lowercase text-gray-500 hover:text-gray-400 focus:text-gray-400 focus:outline-none nuxt-link-exact-active nuxt-link-active" data-v-70308f8c> 10 blog 11</a><a href="/music/" class="link py-2 sm:py-4 px-4 sm:px-2 block lowercase text-gray-500 hover:text-gray-400 focus:text-gray-400 focus:outline-none" data-v-70308f8c> 12 music 13</a><a href="/contact/" class="link py-2 sm:py-4 px-4 sm:px-2 block lowercase text-gray-500 hover:text-gray-400 focus:text-gray-400 focus:outline-none" data-v-70308f8c> 14 contact 15</a> <a href="https://git.violoncello.ch/explore" target="_blank" rel="noreferrer" class="link py-2 sm:py-4 px-4 sm:px-2 block lowercase text-gray-500 hover:text-gray-400 focus:text-gray-400 focus:outline-none" data-v-70308f8c> 16 git 17</a></div> <div class="flex z-30"><div class="relative inline-block text-left w-20 mr-4" data-v-6550919b><div data-v-6550919b><span class="relative z-10 rounded-md shadow-sm" data-v-6550919b><button id="options-menu" type="button" aria-haspopup="true" aria-expanded="true" class="inline-flex justify-left w-full rounded-md border border-gray-700 px-4 py-2 bg-gray-900 text-sm leading-5 font-medium text-gray-500 hover:text-gray-400 focus:outline-none focus:border-prim-700 active:bg-gray-900 active:text-gray-300 transition ease-in-out duration-150" data-v-6550919b> 18 en 19 <svg viewBox="0 0 20 20" fill="currentColor" class="-mr-1 ml-3 h-5 w-5" data-v-6550919b><path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" data-v-6550919b></path></svg></button></span></div> <div class="hidden" data-v-6550919b></div> <div class="z-10 origin-top-right absolute right-0 mt-2 w-20 rounded-md shadow-lg" style="display:none" data-v-6550919b data-v-6550919b><div role="menu" aria-orientation="vertical" aria-labelledby="options-menu" class="rounded-md bg-gray-800 ring-1 ring-black ring-opacity-5" data-v-6550919b><div class="py-1" data-v-6550919b><a href="/de/blog/" class="block px-4 py-2 text-sm leading-5 text-gray-300 hover:bg-gray-700 hover:text-white focus:outline-none focus:bg-gray-700 focus:text-white" data-v-6550919b> 20 de 21 </a><a href="/fr/blog/" class="block px-4 py-2 text-sm leading-5 text-gray-300 hover:bg-gray-700 hover:text-white focus:outline-none focus:bg-gray-700 focus:text-white" data-v-6550919b> 22 fr 23 </a><a href="/blog/" aria-current="page" class="block px-4 py-2 text-sm leading-5 text-gray-300 hover:bg-gray-700 hover:text-white focus:outline-none focus:bg-gray-700 focus:text-white nuxt-link-exact-active nuxt-link-active" data-v-6550919b> 24 en 25 </a></div></div></div></div></div></nav> <div class="min-h-screen-nav"><div class="container mx-auto my-4 px-4" data-v-16d72830><!----> <div id="Automated dependency updates with Renovate Bot integrated into Gitlab CI" class="hidden" data-v-16d72830></div> <div class="grid gap-4 grid-cols-1 sm:grid-cols-2 md:grid-cols-3" data-v-16d72830><div data-v-16d72830><a href="/blog/2019/11/automated-dependency-updates-with-renovate-bot-integrated-into-gitlab-ci/"><div class="bg-gray-900 rounded-2xl"><img src="/_nuxt/image/gitlab-802be2.jpg" alt="Gitlab article header image" sizes="(max-width: 320px) 320px, (max-width: 640px) 600px, (max-width: 768px) 296px, (max-width: 1024px) 235px, (max-width: 1280px) 320px, 405px" srcset="/_nuxt/image/gitlab-2a84f7.jpg 320w, /_nuxt/image/gitlab-bb8a73.jpg 600w, /_nuxt/image/gitlab-ae7550.jpg 296w, /_nuxt/image/gitlab-3a251f.jpg 235w, /_nuxt/image/gitlab-2a84f7.jpg 320w, /_nuxt/image/gitlab-802be2.jpg 405w" class="w-full h-40 object-cover rounded-t-2xl"> <div class="p-4 text-sm leading-normal"><h2 class="text-xl leading-normal text-white mb-1 sm:mb-2"> 26 Automated dependency updates with Renovate Bot integrated into Gitlab CI 27 </h2> <div class="nuxt-content"><p>Looking for a way to automatically (or semi automatically) update my project's depen
27dencies on my selfhosted Gitlab instance, 28I stumbled upon the opensource tool Renovate Bot. 29Renovate Bot works with most git hosting platforms (public or selfhosted) 30and as it's also possible to host Renovate Bot yourself because it's open source as well, 31it looked like the perfect choice...</p></div> <div class="mt-2 flex flex-row justify-between content-center items-center"><img src="/_nuxt/image/profilepicJonasSulzer-eecc22.jpg" width="40" alt="Author's profile image" class="w-10 h-10 rounded-full"> <div class="underline"> 32 read more 33 </div> <div class="w-10 h-10"></div></div></div></div></a></div><div data-v-16d72830><a href="/blog/2019/01/about-my-journey-to-become-a-nextclouder/"><div class="bg-gray-900 rounded-2xl"><img src="/_nuxt/image/group-pic-contributor-week-Nov-2018-6e0b8f.jpg" alt="Group pic Nextcloud contributor week Nov 2018" sizes="(max-width: 320px) 320px, (max-width: 640px) 600px, (max-width: 768px) 296px, (max-width: 1024px) 235px, (max-width: 1280px) 320px, 405px" srcset="/_nuxt/image/group-pic-contributor-week-Nov-2018-5f88af.jpg 320w, /_nuxt/image/group-pic-contributor-week-Nov-2018-b90f02.jpg 600w, /_nuxt/image/group-pic-contributor-week-Nov-2018-934c48.jpg 296w, /_nuxt/image/group-pic-contributor-week-Nov-2018-7f18e7.jpg 235w, /_nuxt/image/group-pic-contributor-week-Nov-2018-5f88af.jpg 320w, /_nuxt/image/group-pic-contributor-week-Nov-2018-6e0b8f.jpg 405w" class="w-full h-40 object-cover rounded-t-2xl"> <div class="p-4 text-sm leading-normal"><h2 class="text-xl leading-normal text-white mb-1 sm:mb-2"> 34 About my journey to become a Nextclouder 35 </h2> <div class="nuxt-content"><p>It all started when I decided on my Matura paper topic. 36(The Matura paper is a graduation paper one does in Swiss high schools.) 37My goal was to improve the schools infrastructure or at least to come up with a possible solution for this. 38Our school's infrastructure for storing and distributing files was â until now â nothing more than a blank WebDAV-Server. 39Most not-so-techie students and teachers don't know how to use this and it has bugs and problems quite chronically. 40Honestly, 41you can't expect regular users to know how to set up and configure a network drive 42and if it has problems regularly, 43how should people know if they are doing it wrong or if it's a problem of the infrastructure?</p></div> <div class="mt-2 flex flex-row justify-between content-center items-center"><img src="/_nuxt/image/profilepicJonasSulzer-eecc22.jpg" width="40" alt="Author's profile image" class="w-10 h-10 rounded-full"> <div class="underline"> 44 read more 45 </div> <div class="w-10 h-10"></div></div></div></div></a></div><div data-v-16d72830><a href="/blog/2017/06/bericht-schnupperpraktikum/"><div class="bg-gray-900 rounded-2xl"><img src="/_nuxt/image/Arbeitsplatz-5e43ba.jpg" alt="Picture workplace" sizes="(max-width: 320px) 320px, (max-width: 640px) 600px, (max-width: 768px) 296px, (max-width: 1024px) 235px, (max-width: 1280px) 320px, 405px" srcset="/_nuxt/image/Arbeitsplatz-aad1a1.jpg 320w, /_nuxt/image/Arbeitsplatz-9297f5.jpg 600w, /_nuxt/image/Arbeitsplatz-ede597.jpg 296w, /_nuxt/image/Arbeitsplatz-7907cf.jpg 235w, /_nuxt/image/Arbeitsplatz-aad1a1.jpg 320w, /_nuxt/image/Arbeitsplatz-5e43ba.jpg 405w" class="w-full h-40 object-cover rounded-t-2xl"> <div class="p-4 text-sm leading-normal"><h2 class="text-xl leading-normal text-white mb-1 sm:mb-2"> 46 Trial internship report 47 </h2> <div class="nuxt-content"><p>At High School I got the Chance 48to do a two-week trial internship. 49We practiced during a block week to apply for it.</p> 50<p>I'm interested in computer science since my childhood. 51Since I'm already investing a lot of time and effort in my second passion 52due to the fact that I have chosen to focus on music at High school, 53it was clear to me to do this internship in computer science.<br> 54My interests in computer science and especially in the related 55security aspects have been proven by the internship.</p></div> <div class="mt-2 flex flex-row justify-between content-center items-center"><img src="/_nuxt/image/profilepicJonasSulzer-eecc22.jpg" width="40" alt="Author's profile image" class="w-10 h-10 rounded-full"> <div class="underline"> 56 read more 57 </div> <div class="w-10 h-10"></div></div></div></div></a></div></div></div></div> <div class="bottom-0 w-full px-2 sm:px-8 py-4 bg-prim-600 text-white text-center sm:text-left"><div class="container mx-auto text-small leading-normal"> 58 © Jonas Sulzer 59 <span class="hidden sm:inline-block"> 60  | 61 </span> <br class="sm:hidden"> 62 Proudly presented by 63 <a href="/" class="text-white hover:text-gray-200 hover:underline focus:text-gray-200 focus:underline focus:outline-none nuxt-link-active"> 64 violoncello.ch 65 </a></div></div></div></div></div>
65<script defer src="/_nuxt/static/1719955559/blog/state.js"></script>
65<script src="/_nuxt/d657e71.js" defer></script>
65<script src="/_nuxt/55cf7be.js" defer></script>
65<script src="/_nuxt/6f95ab8.js" defer></script>
65<script src="/_nuxt/538f15e.js" defer></script>
65<script src="/_nuxt/923ce02.js" defer></script>
65 66 </body> 67</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.