diff --git a/assets/css/main.css b/assets/css/main.css deleted file mode 100644 index 77cf0cf..0000000 --- a/assets/css/main.css +++ /dev/null @@ -1,187 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; - -@layer base { - html { - @apply scroll-smooth; - } - - body { - @apply font-sans text-gray-700 antialiased; - } - - h1, h2, h3, h4, h5, h6 { - @apply font-heading font-bold text-gray-900; - } -} - -@layer utilities { - .rounded-lg { - border-radius: 2rem; - } -} - -@layer components { - .cta-section { - padding-top: 3rem; - padding-bottom: 3rem; - margin-top: 2rem; - margin-bottom: 2rem; - } - - .cta-gradient { - background: linear-gradient(calc(var(--gradient-angle) * 1deg), var(--gradient-from), var(--gradient-to)); - } - - .btn { - @apply inline-flex items-center justify-center px-6 py-3 font-medium transition duration-200 ease-in-out; - border-radius: 2rem; - } - - .btn-primary { - @apply btn bg-primary-600 text-white hover:bg-primary-700 hover:scale-105; - } - - .btn-secondary { - @apply btn bg-secondary-600 text-white hover:bg-secondary-700 hover:scale-105; - } - - .btn-outline { - @apply btn border-2 border-primary-600 text-primary-600 hover:scale-105; - } - - .container { - @apply mx-auto px-4 sm:px-6 lg:px-8 max-w-7xl; - } - - .section { - @apply py-16 md:py-24; - } - - .card { - @apply bg-white p-6 transition duration-200 hover:shadow-md; - border-radius: 2rem; - } - - .nav-link { - @apply text-gray-600 hover:text-primary-600 font-bold transition duration-200; - } - - .feature-grid { - @apply grid gap-8 md:grid-cols-2 lg:grid-cols-3; - } - - /* Blog and Syntax Highlighting Styles */ - .highlight { - @apply text-sm font-mono text-gray-200; - } - - .highlight table { - @apply w-full border-separate border-spacing-0; - } - - .highlight table td { - @apply p-0; - } - - .highlight table td:first-child { - @apply pr-4 text-right select-none text-gray-500 border-r border-gray-700; - } - - .highlight table td:last-child { - @apply pl-4 w-full; - } - - .highlight .k, .highlight .kd { - @apply text-purple-400 font-semibold; - } - - .highlight .nf, .highlight .nx { - @apply text-blue-400; - } - - .highlight .s, .highlight .s1, .highlight .s2 { - @apply text-green-400; - } - - .highlight .mi, .highlight .mf { - @apply text-orange-400; - } - - .highlight .c, .highlight .c1, .highlight .cm { - @apply text-gray-500 italic; - } - - .highlight .o { - @apply text-yellow-400; - } - - .highlight .p { - @apply text-gray-400; - } - - .prose { - @apply max-w-none; - } - - .prose h1, .prose h2, .prose h3, .prose h4 { - @apply font-heading font-bold text-gray-900; - } - - .prose h1 { - @apply text-4xl mb-8; - } - - .prose h2 { - @apply text-3xl mt-12 mb-6; - } - - .prose h3 { - @apply text-2xl mt-8 mb-4; - } - - .prose p { - @apply text-gray-700 leading-relaxed mb-6; - } - - .prose a { - @apply text-primary-600 hover:text-primary-700 no-underline; - } - - .prose ul, .prose ol { - @apply my-6 ml-6; - } - - .prose li { - @apply mb-2; - } - - .prose blockquote { - @apply border-l-4 border-gray-200 pl-4 italic text-gray-700 my-8; - } - - .prose img { - @apply rounded-lg shadow-lg my-8; - } - - .prose code:not(pre code) { - @apply bg-gray-100 text-gray-900 px-1.5 py-0.5 rounded text-sm font-mono; - } - - .table-of-contents { - @apply bg-gray-50 p-6 rounded-lg my-8; - } - - .table-of-contents nav { - @apply space-y-2; - } - - .table-of-contents a { - @apply text-gray-700 hover:text-primary-600 no-underline; - } - - .table-of-contents ul { - @apply list-none ml-4 space-y-2; - } -} diff --git a/assets/fonts/Lato/Lato-Black.ttf b/assets/fonts/Lato/Lato-Black.ttf new file mode 100644 index 0000000..4340502 Binary files /dev/null and b/assets/fonts/Lato/Lato-Black.ttf differ diff --git a/assets/fonts/Lato/Lato-BlackItalic.ttf b/assets/fonts/Lato/Lato-BlackItalic.ttf new file mode 100644 index 0000000..4df1555 Binary files /dev/null and b/assets/fonts/Lato/Lato-BlackItalic.ttf differ diff --git a/assets/fonts/Lato/Lato-Bold.ttf b/assets/fonts/Lato/Lato-Bold.ttf new file mode 100644 index 0000000..016068b Binary files /dev/null and b/assets/fonts/Lato/Lato-Bold.ttf differ diff --git a/assets/fonts/Lato/Lato-BoldItalic.ttf b/assets/fonts/Lato/Lato-BoldItalic.ttf new file mode 100644 index 0000000..a05d503 Binary files /dev/null and b/assets/fonts/Lato/Lato-BoldItalic.ttf differ diff --git a/assets/fonts/Lato/Lato-Italic.ttf b/assets/fonts/Lato/Lato-Italic.ttf new file mode 100644 index 0000000..0d0f69e Binary files /dev/null and b/assets/fonts/Lato/Lato-Italic.ttf differ diff --git a/assets/fonts/Lato/Lato-Light.ttf b/assets/fonts/Lato/Lato-Light.ttf new file mode 100644 index 0000000..dfa72ce Binary files /dev/null and b/assets/fonts/Lato/Lato-Light.ttf differ diff --git a/assets/fonts/Lato/Lato-LightItalic.ttf b/assets/fonts/Lato/Lato-LightItalic.ttf new file mode 100644 index 0000000..12f2b6c Binary files /dev/null and b/assets/fonts/Lato/Lato-LightItalic.ttf differ diff --git a/assets/fonts/Lato/Lato-Regular.ttf b/assets/fonts/Lato/Lato-Regular.ttf new file mode 100644 index 0000000..bb2e887 Binary files /dev/null and b/assets/fonts/Lato/Lato-Regular.ttf differ diff --git a/assets/fonts/Lato/Lato-Thin.ttf b/assets/fonts/Lato/Lato-Thin.ttf new file mode 100644 index 0000000..ba58da1 Binary files /dev/null and b/assets/fonts/Lato/Lato-Thin.ttf differ diff --git a/assets/fonts/Lato/Lato-ThinItalic.ttf b/assets/fonts/Lato/Lato-ThinItalic.ttf new file mode 100644 index 0000000..4d82766 Binary files /dev/null and b/assets/fonts/Lato/Lato-ThinItalic.ttf differ diff --git a/assets/fonts/Lato/OFL.txt b/assets/fonts/Lato/OFL.txt new file mode 100644 index 0000000..1d7bf3b --- /dev/null +++ b/assets/fonts/Lato/OFL.txt @@ -0,0 +1,93 @@ +Copyright (c) 2010-2014 by tyPoland Lukasz Dziedzic (team@latofonts.com) with Reserved Font Name "Lato" + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/assets/images/avatar-sm.png b/assets/images/avatar-sm.png new file mode 100644 index 0000000..e1699dc Binary files /dev/null and b/assets/images/avatar-sm.png differ diff --git a/assets/images/avatar.png b/assets/images/avatar.png new file mode 100755 index 0000000..387b035 Binary files /dev/null and b/assets/images/avatar.png differ diff --git a/assets/images/call-to-action.png b/assets/images/call-to-action.png new file mode 100755 index 0000000..ec2d625 Binary files /dev/null and b/assets/images/call-to-action.png differ diff --git a/assets/images/favicon.png b/assets/images/favicon.png new file mode 100644 index 0000000..301c575 Binary files /dev/null and b/assets/images/favicon.png differ diff --git a/assets/images/gallery/01.jpg b/assets/images/gallery/01.jpg new file mode 100644 index 0000000..662fc1d Binary files /dev/null and b/assets/images/gallery/01.jpg differ diff --git a/assets/images/gallery/02.jpg b/assets/images/gallery/02.jpg new file mode 100644 index 0000000..22fb37f Binary files /dev/null and b/assets/images/gallery/02.jpg differ diff --git a/assets/images/gallery/03.jpg b/assets/images/gallery/03.jpg new file mode 100644 index 0000000..cea735f Binary files /dev/null and b/assets/images/gallery/03.jpg differ diff --git a/assets/images/gallery/04.jpg b/assets/images/gallery/04.jpg new file mode 100644 index 0000000..48d7c32 Binary files /dev/null and b/assets/images/gallery/04.jpg differ diff --git a/assets/images/gallery/05.jpg b/assets/images/gallery/05.jpg new file mode 100644 index 0000000..0987809 Binary files /dev/null and b/assets/images/gallery/05.jpg differ diff --git a/assets/images/gallery/06.jpg b/assets/images/gallery/06.jpg new file mode 100644 index 0000000..662fc1d Binary files /dev/null and b/assets/images/gallery/06.jpg differ diff --git a/assets/images/illustrations/collection-1.png b/assets/images/illustrations/collection-1.png new file mode 100644 index 0000000..87fd5d6 Binary files /dev/null and b/assets/images/illustrations/collection-1.png differ diff --git a/assets/images/illustrations/collection-2.png b/assets/images/illustrations/collection-2.png new file mode 100644 index 0000000..7fd037b Binary files /dev/null and b/assets/images/illustrations/collection-2.png differ diff --git a/assets/images/illustrations/hero-image.png b/assets/images/illustrations/hero-image.png new file mode 100644 index 0000000..5c1ca8c Binary files /dev/null and b/assets/images/illustrations/hero-image.png differ diff --git a/assets/images/image-placeholder.png b/assets/images/image-placeholder.png new file mode 100755 index 0000000..a61a0c0 Binary files /dev/null and b/assets/images/image-placeholder.png differ diff --git a/assets/images/init/favicon.png b/assets/images/init/favicon.png new file mode 100644 index 0000000..13f24a3 Binary files /dev/null and b/assets/images/init/favicon.png differ diff --git a/assets/images/init/logo.png b/assets/images/init/logo.png new file mode 100644 index 0000000..afee107 Binary files /dev/null and b/assets/images/init/logo.png differ diff --git a/assets/images/logo-darkmode.png b/assets/images/logo-darkmode.png new file mode 100644 index 0000000..eb6c936 Binary files /dev/null and b/assets/images/logo-darkmode.png differ diff --git a/assets/images/logo.png b/assets/images/logo.png new file mode 100644 index 0000000..0221ac1 Binary files /dev/null and b/assets/images/logo.png differ diff --git a/assets/images/matrix.svg b/assets/images/matrix.svg new file mode 100644 index 0000000..b922fc8 --- /dev/null +++ b/assets/images/matrix.svg @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/assets/images/no-search-found.png b/assets/images/no-search-found.png new file mode 100755 index 0000000..1e1e6e1 Binary files /dev/null and b/assets/images/no-search-found.png differ diff --git a/assets/scss/custom.scss b/assets/scss/custom.scss new file mode 100755 index 0000000..0235335 --- /dev/null +++ b/assets/scss/custom.scss @@ -0,0 +1,620 @@ +///// HOMEPAGE + +/// Chill brand colors +$chill-blue: #334d5c; +$chill-green: rgba(67, 178, 157, 0.61); +$chill-beige: #d3c7b1; +$chill-red: #dc516d; +$chill-pink: #e57469; +$chill-orange: #e89463; +$chill-lightgray: #efefef; +$chill-yellow: #f1d275; + +/// Other custom colors +$bg-dark-blue: #0d242e; +$bg-light-blue: #a0dcff; +$orange: #f46839; +$text-green: #56c4aa; +$red: #f0384d; +$yellow: #fcc958; + +@font-face { + font-family: 'Lato', Arial; + src: url('assets/fonts/Lato/Lato-Regular.ttf') format('truetype'); + font-display: optional; + font-weight: normal; + font-style: normal; +} + +// Pattern +@mixin add-bg-pattern($id) { + background-repeat: repeat; + background-position: top center; + background-image: url('/images/bg/pattern-#{$id}.png'); +} + +// Sections bg transitions +@mixin add-horizontal-curve($id, $pos) { + position: relative; + &:before { + content: ''; + position: absolute; + width: 100%; + height: 100%; + background-image: url('/images/svg/curve-#{$id}.svg'); + background-size: contain; + background-position: $pos center; + background-repeat: no-repeat; + pointer-events: none; + } +} + +// Colored design element: square or circle +@mixin add-decorative-shape($color, $shape: 'square', $scale: 1, $pos-top: -60%, $pos-left: 44%) { + position: relative; + z-index: 1; + &:before { + content: ''; + position: absolute; + width: 100px * $scale; + height: 100px * $scale; + left: $pos-left; + top: $pos-top; + margin-left: -35px; + background-color: $color; + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5); + z-index: 0; + @if $shape == 'circle' { + border-radius: 50px; + } + @else { + border-radius: 0; + } + } +} + +body{ + font-family: 'Lato', sans-serif; + .highlight { + padding: .25rem; + } + .highlight-1 { + background-color: $chill-green; + } + .highlight-2 { + background-color: $chill-pink; + } + .highlight-3 { + background-color: $chill-yellow; + } +} + +// Theme custom sections +header.header { + background-color: $bg-dark-blue; +} + +.chill-pres { + padding-top: 0rem; +} + +.navbar { + .btn-primary { + background-color: $orange; + border: 1px solid $orange; + color: white; + &:hover { + background-color: $chill-orange; + border: 1px solid $chill-orange; + } + } + .lang-select { + color: white; + } +} + +main > section { + &.hero { + height: 100vh; + background-color: $bg-dark-blue; + h1 { color: $chill-green; } + .hero-img { + padding-top: 3rem; + } + .btn-primary { + background-color: $orange; + color: white; + border-color: $orange; + &:hover { + background-color: $chill-orange; + border: 1px solid $chill-orange; + } + } + } + &.section-1 { + background-color: white; + padding-top: 10rem; + li { font-weight: 600; } + } + &.section-2 { + .container { + color: $bg-dark-blue; + text-align: center; + margin-top: 4rem; + h2 { + line-height: 3.5rem; + } + } + background: rgb(233,227,216); + background: linear-gradient(180deg, rgba(233,227,216,1) 0%, rgba(239,239,239,1) 100%); + } + &.section-3 { + background: rgb(239,239,239); + background: linear-gradient(180deg, rgba(239,239,239,1) 0%, rgba(255,255,255,1) 100%); + h2 { + @include add-decorative-shape($orange, 'circle', .7, -30%, -10%); + } + } + &.section-4 { + position: relative; + background-color: white; + .row { + padding-bottom: 5rem; + } + h4 { + font-weight: bold; + height: 175px; + color: $bg-dark-blue; + border: 1px dashed $bg-dark-blue; + border-radius: 15px; + padding: 3rem; + } + .btn-primary { + position: absolute; + top: 52%; + left: 28%; + } + } + &.section-5 { + background-color: transparentize($color: $chill-green, $amount: 0.5) + } + &.section-6 { + background-color: $bg-dark-blue !important; + @include add-bg-pattern(1); + } + &.section-7 { + h2 { + @include add-decorative-shape($yellow, 'square', .7, -30%, -15%); + } + } +} + +section { + h2.title { + color: $bg-dark-blue; + } + // Centered text + &.big-text, + &.li-block { + h2, p { + width: fit-content; + margin-left: auto; + margin-right: auto; + } + } + &.big-text { + .container .row { + & > div { + &:last-child { + width: 80%; + margin-left: 10%; + } + } + } + } + // Change bulletlists rendering in flex bloc } + &.li-block { + .container .row { + & > div { + &:last-child { + width: 100%; + } + ul { + display: flex; + li { + i:first-child { + display: none; + } + flex: 1 0 0; + margin: 0.5em 2rem 0.5em 2rem; + padding: 2em 1em 1em 1em; + text-align: center; + border-radius: 20px; + } + } + } + } + // Add custom colored icons on each item + &.section-1 { + ul li { + font-weight: 500; + font-size: large; + position: relative; + &:nth-child(1) { + @include add-decorative-shape($text-green, 'square', 1); + } + &:nth-child(2) { + @include add-decorative-shape($red, 'circle', 1); + } + &:nth-child(3) { + @include add-decorative-shape($chill-orange, 'triangle', 1); + } + &:nth-child(4) { + @include add-decorative-shape($yellow, 'circle', 1); + } + } + } + + &.section-5 { + .container .row { + p { + margin-bottom: 5rem; + } + ul li { + border-radius: 1em; + background: transparentize(white, 0.8); + backdrop-filter: blur(20px); + width: 400px; + height: 180px; + padding: .85rem; + position: relative; + z-index: 0; + overflow: hidden; + transition: 0.6s ease-in; + &::before { + content: ""; + position: absolute; + z-index: -1; + top: -15px; + right: -15px; + height:220px; + width: 25px; + border-radius: 32px; + transform: scale(1); + transform-origin: 50% 50%; + transition: transform 0.25s ease-out; + } + &:nth-child(1)::before { + background-color: rgba(240, 56, 77, 0.85); + } + &:nth-child(2)::before { + background-color: rgba(232, 148, 99, 0.85); + } + &:nth-child(3)::before { + background-color: rgba(67, 178, 157, 0.85); + } + &:nth-child(4)::before { + background-color: rgb(241, 210, 117); + } + &:hover::before { + transition-delay:0.2s ; + transform: scale(40); + } + &:hover { + color: #ffffff; + h5 { + color: $chill-lightgray; + } + } + h5 { + color: $bg-dark-blue; + font-weight: bold; + } + } + } + } + // button styling + a.btn-chill { + background-color: #fc3636; + } + } +} + +// Dark context (homepage header, hero, footer) +// Overwrite primary button design +.btn-primary { + background-color: $orange; + color: white; + border: 1px solid $orange; + border-radius: 2em; +} + +.download { + margin-right: auto; + margin-left: auto; + display: block; + a { + text-decoration: none; + padding: .5rem; + } +} + +// Dark but only in sections +section.dark { + p { + color: white; + font-weight: bolder; + } +} + +.hop { + color: red; +} + + +///// PAGES + +main > section { + &.page-hero { + height: 40vh; + background-color: $bg-dark-blue; + @include add-bg-pattern(1); + h1 { color: $text-green; } + i { + color: $chill-lightgray; + } + } + .content-subtitle { + text-transform: uppercase; + padding-left: 2rem; + } + .bord-1 { + border-left: 4px solid $chill-orange; + } + .bord-2 { + border-left: 4px solid $chill-beige; + } + .bord-3 { + border-left: 4px solid $chill-yellow; + } + .bord-4 { + border-left: 4px solid $chill-green; + } +} + +.chapo { + font-size: large; + font-weight: 600; + text-align: center; + padding-bottom: 2rem; + font-style: italic; + position: relative; + margin-bottom: 5rem; + &::after { + content:''; + position:absolute; + left:0; right:0; + top:100%; + margin:10px auto; + width:15%; + height:6px; + background: $chill-red; + } +} + +figure.image { + //background-color: $chill-lightgray; + //padding: 1em; + display: flex; + flex-direction: column; + &.left { + float: left; + margin-right: 1.5em; + } + &.right { + float: right; + margin-left: 1.5em; + } + &.center { + display: flex; + justify-content: center; + align-items: center; + } + img { + margin-bottom: 0; + } + figcaption {} +} + +.text-brochure { + text-align: center; +} + +// RESPONSIVENESS + +@media screen and (max-width: 1279px) { + section { + &.li-block { + &.section-5 { + .container .row { + ul { + flex-wrap: wrap; + } + ul li { + flex: 30%; + } + } + } + } + } +} + +@media screen and (max-width: 1023px) { + main > section { + &.section-4 { + h4 { + height: 224px; + } + .btn-primary { + top: 56%; + } + } + } + + section { + &.li-block { + &.section-5 { + .container .row { + ul { + flex-wrap: wrap; + } + ul li { + flex: 50%; + } + } + } + } + } +} + +@media screen and (max-width: 767px) { + main > section { + &.hero { + height: 110vh; + } + &.section-3 { + h2:before { + top: -70%; + left: 5%; + z-index: -1; + } + } + &.section-4 { + h4 { + height: 280px; + } + .btn-primary { + top: 64%; + } + } + } + + section { + &.li-block { + .container .row { + & > div { + ul { + flex-direction: column; + li { + margin-bottom: 4rem; + } + } + } + } + // Add custom colored icons on each item + &.section-1 { + ul li { + &:nth-child(1) { + top: -66%; + } + &:nth-child(2) { + top: -66%; + } + &:nth-child(3):before { + top: -85%; + } + &:nth-child(4):before { + top: -85%; + } + } + } + &.section-5 { + .container .row { + ul { + flex-wrap: wrap; + } + ul li { + flex: 50%; + } + } + } + } + } +} + +@media screen and (max-width: 513px) { + main > section { + &.hero { + height: 120vh; + } + &.section-4 { + h4 { + font-size: 1.1rem; + } + .btn-primary { + top: 64%; + } + } + &.section-5 { + .container .row { + ul li { + width: 350px; + } + } + } + } +} + +@media screen and (max-width: 470px) { + main > section { + &.section-4 { + h4 { + height: 280px; + } + .btn-primary { + top: 64%; + } + } + } + + section { + &.li-block { + &.section-1 { + ul li { + &:nth-child(3):before { + top: -70%; + } + &:nth-child(4):before { + top: -70%; + } + } + } + + &.section-5 { + .container .row { + ul { + flex-wrap: wrap; + } + ul li { + width: 350px; + } + } + } + } + } +} + +@media screen and (max-width: 420px) { + section { + &.li-block { + &.section-5 { + .container .row { + ul li { + width: 300px; + } + } + } + } + } +} + diff --git a/content/blog/customizing-your-hugo-theme.md b/content/blog/customizing-your-hugo-theme.md index 0574ca7..f1b0e95 100644 --- a/content/blog/customizing-your-hugo-theme.md +++ b/content/blog/customizing-your-hugo-theme.md @@ -24,7 +24,7 @@ Before diving into customization, it's important to understand how Hugo themes a The easiest way to start customizing your theme is by modifying the CSS: -{{< code css "assets/css/main.css" >}} +{{< code css "assets/scss/main.scss" >}} :root { --primary-color: #007bff; --secondary-color: #6c757d; diff --git a/data/social.json b/data/social.json deleted file mode 100644 index c79998d..0000000 --- a/data/social.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "main": [ - { - "name": "mastodon", - "icon": "fab fa-mastodon", - "link": "https://mastodon.libre-entreprise.com/@Chill" - }, - { - "name": "gitlab", - "icon": "fab fa-gitlab", - "link": "https://gitlab.com/Chill-Projet/chill-bundles" - } - ] -} diff --git a/data/theme.json b/data/theme.json deleted file mode 100644 index d4ff439..0000000 --- a/data/theme.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "colors": { - "default": { - "theme_color": { - "primary": "#121212", - "body": "#fff", - "border": "#eaeaea", - "theme_light": "#f6f6f6", - "theme_dark": "" - }, - "text_color": { - "default": "#444444", - "dark": "#040404", - "light": "#717171" - } - }, - "darkmode": { - "theme_color": { - "primary": "#fff", - "body": "#1c1c1c", - "border": "#ffffff09", - "theme_light": "#0d242e", - "theme_dark": "" - }, - "text_color": { - "default": "#B4AFB6", - "dark": "#fff", - "light": "#B4AFB6" - } - } - }, - "fonts": { - "font_family": { - "primary": "OpenSans:wght@300;400;500;600;700;800", - "primary_type": "sans-serif" - }, - "font_size": { - "base": "15", - "scale": "1.25" - } - } -} diff --git a/hugo.toml b/hugo.toml index 172b08f..f5643d9 100644 --- a/hugo.toml +++ b/hugo.toml @@ -1,161 +1,35 @@ -baseURL = "https://saasify-demo.chaoming.li/" -title = "Saasify" -defaultContentLanguage = "en" +# Basic Configuration +baseURL = "/" +title = "" +theme = "chill-theme" +defaultContentLanguage = "fr" -# Theme Config -theme = "../.." - -# Enable emoji support -enableEmoji = true - -# Enable Git info for lastmod -enableGitInfo = true - -# Enable taxonomies -[taxonomies] - category = 'categories' - tag = 'tags' +# Required Features +enableEmoji = true # Enable emoji support +enableGitInfo = true # Enable Git info for lastmod # Pagination paginate = 6 paginatePath = "page" -[params] - description = "" - author = "Chaoming Li" - logo = "/images/logo.svg" - # Google Analytics ID (e.g., "G-XXXXXXXXXX") - # googleAnalytics = "G-XXXXXXXXXX" - - # Global CTA Configuration - [params.cta] - enable = true - title = "Ready to Build Your SaaS Website?" - description = "Join companies already using our theme to create beautiful, high-performance websites." - gradient_from = "#2563eb" # Indigo-600 - gradient_to = "#7c3aed" # Purple-600 - gradient_angle = 30 - [params.cta.primary_button] - text = "Get Started Free" - url = "/get-started" - [params.cta.secondary_button] - text = "Book Demo" - url = "/demo" - - # Social Media Links - [params.social] - linkedin = "https://linkedin.com/in/chaomingli" - twitter = "https://twitter.com/lichaoming" - bluesky = "https://bsky.app/profile/bsky.app" - youtube = "https://youtube.com/@chaomingli" - facebook = "https://facebook.com/lichaoming" - instagram = "https://instagram.com/lichaoming" - github = "https://github.com/chaoming" - telegram = "https://t.me/yourchannel" - discord = "https://discord.gg/yourinvite" - slack = "https://yourteam.slack.com" - medium = "https://medium.com/@yourhandle" - dribbble = "https://dribbble.com/yourprofile" - behance = "https://behance.net/yourprofile" - - # Footer Configuration - [params.footer] - column_1_title = "Features" - column_2_title = "COMPANY" - column_3_title = "LEGAL" - - [params.header] - # Header background and border styles (optional) - background = "bg-white/80 backdrop-blur-sm" - border = "border-b border-gray-100" - - # Logo configuration - [params.header.logo] - src = "/images/logo.svg" - - # Menu configuration - [params.header.menu] - spacing = "space-x-8" - - # Dropdown menu configuration - [params.header.menu.dropdown] - width = "w-72" - container_padding = "py-6" - item_padding = "px-8 py-3" - background = "bg-white" - border = "border border-gray-100" - shadow = "shadow-xl" - radius = "rounded-lg" - text_color = "text-gray-700" - hover_background = "hover:bg-gray-50" - text_size = "text-sm" - - # Button configuration - [params.header.buttons] - # Sign In button - [params.header.buttons.signIn] - text = "Sign in" - url = "/signin" - - # Get Started button - [params.header.buttons.getStarted] - text = "Get Started" - url = "/get-started" - - # Blog configuration - [params.blog] - enable = true - title = "Latest Articles" - subtitle = "Learn more about web development and best practices" - - # Blog CTA configuration - [params.blog.cta] - enable = true # Enable/disable CTA in blog posts - - # Sidebar configuration - [params.blog.sidebar] - # Recent articles section - [params.blog.sidebar.recent] - enable = true - title = "Recent Articles" - count = 5 - - # Categories section - [params.blog.sidebar.categories] - enable = true - title = "Categories" - - # Tags section - [params.blog.sidebar.tags] - enable = true - title = "Popular Tags" - count = 20 - - # Subscribe form section - [params.blog.sidebar.subscribe] - enable = true - title = "Subscribe to Newsletter" - description = "Get the latest posts delivered right to your inbox" - action = "https://formspree.io/f/your-form-id" - emailName = "email" - buttonText = "Subscribe" - placeholder = "Enter your email" - disclaimer = "We respect your privacy. Unsubscribe at any time." - +# Required Module Configuration [module] [module.hugoVersion] extended = true min = "0.80.0" +# Required Build Configuration [build] - writeStats = true + writeStats = true # Required for TailwindCSS [build.buildStats] enable = true +# Security Configuration [security.funcs] getenv = ['^HUGO_', '^CI$'] +# Required Markup Configuration [markup] [markup.highlight] noClasses = false @@ -164,95 +38,84 @@ paginatePath = "page" guessSyntax = true lineNumbersInTable = true [markup.goldmark.renderer] - unsafe = true + unsafe = true # Allow HTML in markdown [markup.tableOfContents] endLevel = 3 ordered = false startLevel = 2 -# Multilingual Configuration -# Uncomment the sections below to enable multilingual support -# See docs/CONFIGURATION.md for detailed instructions +# Taxonomies +[taxonomies] + category = 'categories' + tag = 'tags' -# [languages] -# [languages.en] -# languageCode = "en-us" -# languageName = "English" -# title = "Saasify" -# weight = 1 -# contentDir = "content" -# -# [languages.zh-cn] -# languageCode = "zh-cn" -# languageName = "简体中文" -# title = "Saasify" -# weight = 2 -# contentDir = "content/zh-cn" +# Theme Parameters +[params] + description = "Logiciel libre d'accompagnement social" + author = "Champs-Libres" + logo = "/images/logo.png" # Path to your logo + # Google Analytics ID (e.g., "G-XXXXXXXXXX") + googleAnalytics = "G-XXXXXXXXXX" # Only enabled in production + + # Google Tag Manager ID (e.g., "GTM-XXXXXXX") + # Only enabled in production + googleTagManager = "GTM-XXXXXXX" + + # Header Configuration + [params.header] + background = "bg-white/80 backdrop-blur-sm" + border = "border-b border-gray-100" + + # Header Logo + [params.header.logo] + src = "/images/logo.png" + + # Global CTA Configuration (optional) + [params.cta] + enable = true + title = "Le compagnon du travailleur social" + description = "Une application web open source dédiée à faciliter le travail social." + [params.cta.primary_button] + text = "Essayer la démo" + url = "http://demo.chill.social/" + + + # Social Media Links (optional) + [params.social] + mastodon = "https://mastodon.libre-entreprise.com/@Chill" + gitlab = "https://gitlab.com/Chill-Projet/chill-bundles" # Navigation Menu [menu] [[menu.main]] - name = "Features" + name = "Fonctionnalités" + url = "/features" weight = 1 + [[menu.main]] + name = "Installation" + weight = 2 [menu.main.params] has_submenu = true submenu = [ - { name = "Performance", url = "/features/performance/" }, - { name = "Design System", url = "/features/design-system/" }, - { name = "Developer Experience", url = "/features/developer-experience/" } + { name = "Par Champs Libres", url = "/install/hosted" }, + { name = "En auto-hébergement", url = "/install/on-premise" } ] [[menu.main]] - name = "Pricing" + name = "Tarification" url = "/pricing" - weight = 2 - [[menu.main]] - name = "Blog" - url = "/blog" weight = 3 [[menu.main]] - name = "Company" + name = "Ressources" weight = 4 [menu.main.params] has_submenu = true submenu = [ - { name = "About Us", url = "/company/" }, - { name = "Careers", url = "/careers/" } + { name = "Documentation technique", url = "/resources/technical_documentation" }, + { name = "Manuels", url = "/resources/manuals" } ] - - # Footer Column 1 Menu - [[menu.footer_column_1]] - name = "Performance" - url = "/features/performance/" - weight = 1 - [[menu.footer_column_1]] - name = "Design System" - url = "/features/design-system/" - weight = 2 - [[menu.footer_column_1]] - name = "Developer Experience" - url = "/features/developer-experience/" + [[menu.main]] + name = "Nous contacter" + url = "/pricing" weight = 3 - # Footer Column 2 Menu - [[menu.footer_column_2]] - name = "Blog" - url = "/blog" - weight = 1 - [[menu.footer_column_2]] - name = "About Us" - url = "/company" - weight = 2 - [[menu.footer_column_2]] - name = "Careers" - url = "/careers" - weight = 3 - - # Footer Column 3 Menu - [[menu.footer_column_3]] - name = "License" - url = "/license" - weight = 1 - [[menu.footer_column_3]] - name = "Privacy Policy" - url = "/privacy" - weight = 2 + \ No newline at end of file diff --git a/package.json b/package.json index 9fe30bb..f015acc 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,8 @@ "author": "Chaoming Li", "license": "MIT", "scripts": { - "start": "concurrently \"npx tailwindcss -i themes/hugo-saasify-theme/assets/css/main.css -o static/css/style.css --watch\" \"hugo server -D\"", - "build": "tailwindcss -i themes/hugo-saasify-theme/assets/css/main.css -o static/css/style.css --minify && hugo --minify" + "start": "concurrently \"npx tailwindcss -i themes/hugo-saasify-theme/assets/scss/main.scss -o static/css/style.css --watch\" \"hugo server -D\"", + "build": "tailwindcss -i themes/hugo-saasify-theme/assets/scss/main.scss -o static/css/style.css --minify && hugo --minify" }, "devDependencies": { "@tailwindcss/forms": "^0.5.7", @@ -17,4 +17,4 @@ "postcss-cli": "^10.1.0", "tailwindcss": "^3.3.5" } -} +} \ No newline at end of file diff --git a/static/css/style.css b/static/css/style.css index ada89a0..eea8f28 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -107,7 +107,7 @@ } /* -! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com +! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */ /* @@ -554,7 +554,7 @@ video { display: none; } -[type='text'],input:where(:not([type])),[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select { +input:where([type='text']),input:where(:not([type])),input:where([type='email']),input:where([type='url']),input:where([type='password']),input:where([type='number']),input:where([type='date']),input:where([type='datetime-local']),input:where([type='month']),input:where([type='search']),input:where([type='tel']),input:where([type='time']),input:where([type='week']),select:where([multiple]),textarea,select { -webkit-appearance: none; -moz-appearance: none; appearance: none; @@ -571,7 +571,7 @@ video { --tw-shadow: 0 0 #0000; } -[type='text']:focus, input:where(:not([type])):focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus { +input:where([type='text']):focus, input:where(:not([type])):focus, input:where([type='email']):focus, input:where([type='url']):focus, input:where([type='password']):focus, input:where([type='number']):focus, input:where([type='date']):focus, input:where([type='datetime-local']):focus, input:where([type='month']):focus, input:where([type='search']):focus, input:where([type='tel']):focus, input:where([type='time']):focus, input:where([type='week']):focus, select:where([multiple]):focus, textarea:focus, select:focus { outline: 2px solid transparent; outline-offset: 2px; --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); @@ -622,7 +622,7 @@ select { print-color-adjust: exact; } -[multiple],[size]:where(select:not([size="1"])) { +select:where([multiple]),select:where([size]:not([size="1"])) { background-image: initial; background-position: initial; background-repeat: unset; @@ -632,7 +632,7 @@ select { print-color-adjust: unset; } -[type='checkbox'],[type='radio'] { +input:where([type='checkbox']),input:where([type='radio']) { -webkit-appearance: none; -moz-appearance: none; appearance: none; @@ -655,15 +655,15 @@ select { --tw-shadow: 0 0 #0000; } -[type='checkbox'] { +input:where([type='checkbox']) { border-radius: 0px; } -[type='radio'] { +input:where([type='radio']) { border-radius: 100%; } -[type='checkbox']:focus,[type='radio']:focus { +input:where([type='checkbox']):focus,input:where([type='radio']):focus { outline: 2px solid transparent; outline-offset: 2px; --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); @@ -675,7 +675,7 @@ select { box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } -[type='checkbox']:checked,[type='radio']:checked { +input:where([type='checkbox']):checked,input:where([type='radio']):checked { border-color: transparent; background-color: currentColor; background-size: 100% 100%; @@ -683,36 +683,36 @@ select { background-repeat: no-repeat; } -[type='checkbox']:checked { +input:where([type='checkbox']):checked { background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e"); } @media (forced-colors: active) { - [type='checkbox']:checked { + input:where([type='checkbox']):checked { -webkit-appearance: auto; -moz-appearance: auto; appearance: auto; } } -[type='radio']:checked { +input:where([type='radio']):checked { background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e"); } @media (forced-colors: active) { - [type='radio']:checked { + input:where([type='radio']):checked { -webkit-appearance: auto; -moz-appearance: auto; appearance: auto; } } -[type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus { +input:where([type='checkbox']):checked:hover,input:where([type='checkbox']):checked:focus,input:where([type='radio']):checked:hover,input:where([type='radio']):checked:focus { border-color: transparent; background-color: currentColor; } -[type='checkbox']:indeterminate { +input:where([type='checkbox']):indeterminate { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e"); border-color: transparent; background-color: currentColor; @@ -722,19 +722,19 @@ select { } @media (forced-colors: active) { - [type='checkbox']:indeterminate { + input:where([type='checkbox']):indeterminate { -webkit-appearance: auto; -moz-appearance: auto; appearance: auto; } } -[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus { +input:where([type='checkbox']):indeterminate:hover,input:where([type='checkbox']):indeterminate:focus { border-color: transparent; background-color: currentColor; } -[type='file'] { +input:where([type='file']) { background: unset; border-color: inherit; border-width: 0; @@ -744,7 +744,202 @@ select { line-height: inherit; } -[type='file']:focus { +input:where([type='file']):focus { + outline: 1px solid ButtonText; + outline: 1px auto -webkit-focus-ring-color; +} + +input:where([type='text']),input:where(:not([type])),input:where([type='email']),input:where([type='url']),input:where([type='password']),input:where([type='number']),input:where([type='date']),input:where([type='datetime-local']),input:where([type='month']),input:where([type='search']),input:where([type='tel']),input:where([type='time']),input:where([type='week']),select:where([multiple]),textarea,select { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + border-color: #6b7280; + border-width: 1px; + border-radius: 0px; + padding-top: 0.5rem; + padding-right: 0.75rem; + padding-bottom: 0.5rem; + padding-left: 0.75rem; + font-size: 1rem; + line-height: 1.5rem; + --tw-shadow: 0 0 #0000; +} + +input:where([type='text']):focus, input:where(:not([type])):focus, input:where([type='email']):focus, input:where([type='url']):focus, input:where([type='password']):focus, input:where([type='number']):focus, input:where([type='date']):focus, input:where([type='datetime-local']):focus, input:where([type='month']):focus, input:where([type='search']):focus, input:where([type='tel']):focus, input:where([type='time']):focus, input:where([type='week']):focus, select:where([multiple]):focus, textarea:focus, select:focus { + outline: 2px solid transparent; + outline-offset: 2px; + --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: #2563eb; + --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-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + border-color: #2563eb; +} + +input::-moz-placeholder, textarea::-moz-placeholder { + color: #6b7280; + opacity: 1; +} + +input::placeholder,textarea::placeholder { + color: #6b7280; + opacity: 1; +} + +::-webkit-datetime-edit-fields-wrapper { + padding: 0; +} + +::-webkit-date-and-time-value { + min-height: 1.5em; + text-align: inherit; +} + +::-webkit-datetime-edit { + display: inline-flex; +} + +::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field { + padding-top: 0; + padding-bottom: 0; +} + +select { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e"); + background-position: right 0.5rem center; + background-repeat: no-repeat; + background-size: 1.5em 1.5em; + padding-right: 2.5rem; + -webkit-print-color-adjust: exact; + print-color-adjust: exact; +} + +select:where([multiple]),select:where([size]:not([size="1"])) { + background-image: initial; + background-position: initial; + background-repeat: unset; + background-size: initial; + padding-right: 0.75rem; + -webkit-print-color-adjust: unset; + print-color-adjust: unset; +} + +input:where([type='checkbox']),input:where([type='radio']) { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + padding: 0; + -webkit-print-color-adjust: exact; + print-color-adjust: exact; + display: inline-block; + vertical-align: middle; + background-origin: border-box; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + flex-shrink: 0; + height: 1rem; + width: 1rem; + color: #2563eb; + background-color: #fff; + border-color: #6b7280; + border-width: 1px; + --tw-shadow: 0 0 #0000; +} + +input:where([type='checkbox']) { + border-radius: 0px; +} + +input:where([type='radio']) { + border-radius: 100%; +} + +input:where([type='checkbox']):focus,input:where([type='radio']):focus { + outline: 2px solid transparent; + outline-offset: 2px; + --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); + --tw-ring-offset-width: 2px; + --tw-ring-offset-color: #fff; + --tw-ring-color: #2563eb; + --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(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); +} + +input:where([type='checkbox']):checked,input:where([type='radio']):checked { + border-color: transparent; + background-color: currentColor; + background-size: 100% 100%; + background-position: center; + background-repeat: no-repeat; +} + +input:where([type='checkbox']):checked { + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e"); +} + +@media (forced-colors: active) { + input:where([type='checkbox']):checked { + -webkit-appearance: auto; + -moz-appearance: auto; + appearance: auto; + } +} + +input:where([type='radio']):checked { + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e"); +} + +@media (forced-colors: active) { + input:where([type='radio']):checked { + -webkit-appearance: auto; + -moz-appearance: auto; + appearance: auto; + } +} + +input:where([type='checkbox']):checked:hover,input:where([type='checkbox']):checked:focus,input:where([type='radio']):checked:hover,input:where([type='radio']):checked:focus { + border-color: transparent; + background-color: currentColor; +} + +input:where([type='checkbox']):indeterminate { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e"); + border-color: transparent; + background-color: currentColor; + background-size: 100% 100%; + background-position: center; + background-repeat: no-repeat; +} + +@media (forced-colors: active) { + input:where([type='checkbox']):indeterminate { + -webkit-appearance: auto; + -moz-appearance: auto; + appearance: auto; + } +} + +input:where([type='checkbox']):indeterminate:hover,input:where([type='checkbox']):indeterminate:focus { + border-color: transparent; + background-color: currentColor; +} + +input:where([type='file']) { + background: unset; + border-color: inherit; + border-width: 0; + border-radius: 0; + padding: 0; + font-size: unset; + line-height: inherit; +} + +input:where([type='file']):focus { outline: 1px solid ButtonText; outline: 1px auto -webkit-focus-ring-color; } @@ -1801,6 +1996,1005 @@ h1, h2, h3, h4, h5, h6 { margin-bottom: 0; } +.prose { + color: var(--tw-prose-body); + max-width: 65ch; +} + +.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.25em; + margin-bottom: 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-top: 1.2em; + margin-bottom: 1.2em; +} + +.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-links); + text-decoration: underline; + font-weight: 500; +} + +.prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-bold); + font-weight: 600; +} + +.prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} + +.prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} + +.prose :where(thead th strong):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-top: 1.25em; + margin-bottom: 1.25em; + padding-inline-start: 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="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: upper-alpha; +} + +.prose :where(ol[type="a" s]):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="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: upper-roman; +} + +.prose :where(ol[type="i" s]):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-top: 1.25em; + margin-bottom: 1.25em; + padding-inline-start: 1.625em; +} + +.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker { + font-weight: 400; + color: var(--tw-prose-counters); +} + +.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-top: 3em; + margin-bottom: 3em; +} + +.prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 500; + font-style: italic; + color: var(--tw-prose-quotes); + border-inline-start-width: 0.25rem; + border-inline-start-color: var(--tw-prose-quote-borders); + quotes: "\201C""\201D""\2018""\2019"; + margin-top: 1.6em; + margin-bottom: 1.6em; + padding-inline-start: 1em; +} + +.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { + content: open-quote; +} + +.prose :where(blockquote p: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-weight: 800; + font-size: 2.25em; + margin-top: 0; + margin-bottom: 0.8888889em; + line-height: 1.1111111; +} + +.prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 900; + color: inherit; +} + +.prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 700; + font-size: 1.5em; + margin-top: 2em; + margin-bottom: 1em; + line-height: 1.3333333; +} + +.prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 800; + color: inherit; +} + +.prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + font-size: 1.25em; + margin-top: 1.6em; + margin-bottom: 0.6em; + line-height: 1.6; +} + +.prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 700; + color: inherit; +} + +.prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + margin-top: 1.5em; + margin-bottom: 0.5em; + line-height: 1.5; +} + +.prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 700; + color: inherit; +} + +.prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 2em; + margin-bottom: 2em; +} + +.prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + display: block; + margin-top: 2em; + margin-bottom: 2em; +} + +.prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 2em; + margin-bottom: 2em; +} + +.prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 500; + font-family: inherit; + color: var(--tw-prose-kbd); + box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows); + font-size: 0.875em; + border-radius: 0.3125rem; + padding-top: 0.1875em; + padding-inline-end: 0.375em; + padding-bottom: 0.1875em; + padding-inline-start: 0.375em; +} + +.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-code); + font-weight: 600; + font-size: 0.875em; +} + +.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(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} + +.prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} + +.prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; + font-size: 0.875em; +} + +.prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; + font-size: 0.9em; +} + +.prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} + +.prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} + +.prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; +} + +.prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-pre-code); + background-color: var(--tw-prose-pre-bg); + overflow-x: auto; + font-weight: 400; + font-size: 0.875em; + line-height: 1.7142857; + margin-top: 1.7142857em; + margin-bottom: 1.7142857em; + border-radius: 0.375rem; + padding-top: 0.8571429em; + padding-inline-end: 1.1428571em; + padding-bottom: 0.8571429em; + padding-inline-start: 1.1428571em; +} + +.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + background-color: transparent; + border-width: 0; + border-radius: 0; + padding: 0; + font-weight: inherit; + color: inherit; + font-size: inherit; + font-family: inherit; + line-height: inherit; +} + +.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { + content: none; +} + +.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { + content: none; +} + +.prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + width: 100%; + table-layout: auto; + margin-top: 2em; + margin-bottom: 2em; + font-size: 0.875em; + line-height: 1.7142857; +} + +.prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-bottom-width: 1px; + border-bottom-color: var(--tw-prose-th-borders); +} + +.prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + vertical-align: bottom; + padding-inline-end: 0.5714286em; + padding-bottom: 0.5714286em; + padding-inline-start: 0.5714286em; +} + +.prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-bottom-width: 1px; + border-bottom-color: var(--tw-prose-td-borders); +} + +.prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-bottom-width: 0; +} + +.prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + vertical-align: baseline; +} + +.prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-top-width: 1px; + border-top-color: var(--tw-prose-th-borders); +} + +.prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + vertical-align: top; +} + +.prose :where(th, td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + text-align: start; +} + +.prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + margin-bottom: 0; +} + +.prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-captions); + font-size: 0.875em; + line-height: 1.4285714; + margin-top: 0.8571429em; +} + +.prose { + --tw-prose-body: #374151; + --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: rgb(17 24 39 / 10%); + --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: rgb(255 255 255 / 10%); + --tw-prose-invert-code: #fff; + --tw-prose-invert-pre-code: #d1d5db; + --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%); + --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-top: 0; + margin-bottom: 0; +} + +.prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.5em; + margin-bottom: 0.5em; +} + +.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0.375em; +} + +.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0.375em; +} + +.prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.75em; + margin-bottom: 0.75em; +} + +.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.25em; +} + +.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 1.25em; +} + +.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.25em; +} + +.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 1.25em; +} + +.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.75em; + margin-bottom: 0.75em; +} + +.prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.25em; + margin-bottom: 1.25em; +} + +.prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.5em; + padding-inline-start: 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; +} + +.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(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0; +} + +.prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-end: 0; +} + +.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-top: 0.5714286em; + padding-inline-end: 0.5714286em; + padding-bottom: 0.5714286em; + padding-inline-start: 0.5714286em; +} + +.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0; +} + +.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-end: 0; +} + +.prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 2em; + margin-bottom: 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; +} + +.prose-sm { + font-size: 0.875rem; + line-height: 1.7142857; +} + +.prose-sm :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.1428571em; + margin-bottom: 1.1428571em; +} + +.prose-sm :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 1.2857143em; + line-height: 1.5555556; + margin-top: 0.8888889em; + margin-bottom: 0.8888889em; +} + +.prose-sm :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.3333333em; + margin-bottom: 1.3333333em; + padding-inline-start: 1.1111111em; +} + +.prose-sm :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 2.1428571em; + margin-top: 0; + margin-bottom: 0.8em; + line-height: 1.2; +} + +.prose-sm :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 1.4285714em; + margin-top: 1.6em; + margin-bottom: 0.8em; + line-height: 1.4; +} + +.prose-sm :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 1.2857143em; + margin-top: 1.5555556em; + margin-bottom: 0.4444444em; + line-height: 1.5555556; +} + +.prose-sm :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.4285714em; + margin-bottom: 0.5714286em; + line-height: 1.4285714; +} + +.prose-sm :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.7142857em; + margin-bottom: 1.7142857em; +} + +.prose-sm :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.7142857em; + margin-bottom: 1.7142857em; +} + +.prose-sm :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + margin-bottom: 0; +} + +.prose-sm :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.7142857em; + margin-bottom: 1.7142857em; +} + +.prose-sm :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8571429em; + border-radius: 0.3125rem; + padding-top: 0.1428571em; + padding-inline-end: 0.3571429em; + padding-bottom: 0.1428571em; + padding-inline-start: 0.3571429em; +} + +.prose-sm :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8571429em; +} + +.prose-sm :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.9em; +} + +.prose-sm :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8888889em; +} + +.prose-sm :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8571429em; + line-height: 1.6666667; + margin-top: 1.6666667em; + margin-bottom: 1.6666667em; + border-radius: 0.25rem; + padding-top: 0.6666667em; + padding-inline-end: 1em; + padding-bottom: 0.6666667em; + padding-inline-start: 1em; +} + +.prose-sm :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.1428571em; + margin-bottom: 1.1428571em; + padding-inline-start: 1.5714286em; +} + +.prose-sm :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.1428571em; + margin-bottom: 1.1428571em; + padding-inline-start: 1.5714286em; +} + +.prose-sm :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.2857143em; + margin-bottom: 0.2857143em; +} + +.prose-sm :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0.4285714em; +} + +.prose-sm :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0.4285714em; +} + +.prose-sm :where(.prose-sm > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.5714286em; + margin-bottom: 0.5714286em; +} + +.prose-sm :where(.prose-sm > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.1428571em; +} + +.prose-sm :where(.prose-sm > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 1.1428571em; +} + +.prose-sm :where(.prose-sm > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.1428571em; +} + +.prose-sm :where(.prose-sm > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 1.1428571em; +} + +.prose-sm :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.5714286em; + margin-bottom: 0.5714286em; +} + +.prose-sm :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.1428571em; + margin-bottom: 1.1428571em; +} + +.prose-sm :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.1428571em; +} + +.prose-sm :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.2857143em; + padding-inline-start: 1.5714286em; +} + +.prose-sm :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 2.8571429em; + margin-bottom: 2.8571429em; +} + +.prose-sm :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} + +.prose-sm :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} + +.prose-sm :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} + +.prose-sm :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} + +.prose-sm :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8571429em; + line-height: 1.5; +} + +.prose-sm :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-end: 1em; + padding-bottom: 0.6666667em; + padding-inline-start: 1em; +} + +.prose-sm :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0; +} + +.prose-sm :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-end: 0; +} + +.prose-sm :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-top: 0.6666667em; + padding-inline-end: 1em; + padding-bottom: 0.6666667em; + padding-inline-start: 1em; +} + +.prose-sm :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0; +} + +.prose-sm :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-end: 0; +} + +.prose-sm :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.7142857em; + margin-bottom: 1.7142857em; +} + +.prose-sm :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + margin-bottom: 0; +} + +.prose-sm :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8571429em; + line-height: 1.3333333; + margin-top: 0.6666667em; +} + +.prose-sm :where(.prose-sm > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} + +.prose-sm :where(.prose-sm > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 0; +} + +.prose-lg { + font-size: 1.125rem; + line-height: 1.7777778; +} + +.prose-lg :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.3333333em; + margin-bottom: 1.3333333em; +} + +.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 1.2222222em; + line-height: 1.4545455; + margin-top: 1.0909091em; + margin-bottom: 1.0909091em; +} + +.prose-lg :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.6666667em; + margin-bottom: 1.6666667em; + padding-inline-start: 1em; +} + +.prose-lg :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 2.6666667em; + margin-top: 0; + margin-bottom: 0.8333333em; + line-height: 1; +} + +.prose-lg :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 1.6666667em; + margin-top: 1.8666667em; + margin-bottom: 1.0666667em; + line-height: 1.3333333; +} + +.prose-lg :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 1.3333333em; + margin-top: 1.6666667em; + margin-bottom: 0.6666667em; + line-height: 1.5; +} + +.prose-lg :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.7777778em; + margin-bottom: 0.4444444em; + line-height: 1.5555556; +} + +.prose-lg :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.7777778em; + margin-bottom: 1.7777778em; +} + +.prose-lg :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.7777778em; + margin-bottom: 1.7777778em; +} + +.prose-lg :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + margin-bottom: 0; +} + +.prose-lg :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.7777778em; + margin-bottom: 1.7777778em; +} + +.prose-lg :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8888889em; + border-radius: 0.3125rem; + padding-top: 0.2222222em; + padding-inline-end: 0.4444444em; + padding-bottom: 0.2222222em; + padding-inline-start: 0.4444444em; +} + +.prose-lg :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8888889em; +} + +.prose-lg :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8666667em; +} + +.prose-lg :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.875em; +} + +.prose-lg :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8888889em; + line-height: 1.75; + margin-top: 2em; + margin-bottom: 2em; + border-radius: 0.375rem; + padding-top: 1em; + padding-inline-end: 1.5em; + padding-bottom: 1em; + padding-inline-start: 1.5em; +} + +.prose-lg :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.3333333em; + margin-bottom: 1.3333333em; + padding-inline-start: 1.5555556em; +} + +.prose-lg :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.3333333em; + margin-bottom: 1.3333333em; + padding-inline-start: 1.5555556em; +} + +.prose-lg :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.6666667em; + margin-bottom: 0.6666667em; +} + +.prose-lg :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0.4444444em; +} + +.prose-lg :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0.4444444em; +} + +.prose-lg :where(.prose-lg > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.8888889em; + margin-bottom: 0.8888889em; +} + +.prose-lg :where(.prose-lg > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.3333333em; +} + +.prose-lg :where(.prose-lg > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 1.3333333em; +} + +.prose-lg :where(.prose-lg > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.3333333em; +} + +.prose-lg :where(.prose-lg > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 1.3333333em; +} + +.prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.8888889em; + margin-bottom: 0.8888889em; +} + +.prose-lg :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.3333333em; + margin-bottom: 1.3333333em; +} + +.prose-lg :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.3333333em; +} + +.prose-lg :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.6666667em; + padding-inline-start: 1.5555556em; +} + +.prose-lg :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 3.1111111em; + margin-bottom: 3.1111111em; +} + +.prose-lg :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} + +.prose-lg :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} + +.prose-lg :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} + +.prose-lg :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} + +.prose-lg :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8888889em; + line-height: 1.5; +} + +.prose-lg :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-end: 0.75em; + padding-bottom: 0.75em; + padding-inline-start: 0.75em; +} + +.prose-lg :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0; +} + +.prose-lg :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-end: 0; +} + +.prose-lg :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-top: 0.75em; + padding-inline-end: 0.75em; + padding-bottom: 0.75em; + padding-inline-start: 0.75em; +} + +.prose-lg :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0; +} + +.prose-lg :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-end: 0; +} + +.prose-lg :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.7777778em; + margin-bottom: 1.7777778em; +} + +.prose-lg :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + margin-bottom: 0; +} + +.prose-lg :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8888889em; + line-height: 1.5; + margin-top: 1em; +} + +.prose-lg :where(.prose-lg > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; +} + +.prose-lg :where(.prose-lg > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 0; +} + .cta-section { padding-top: 3rem; padding-bottom: 3rem; @@ -1841,7 +3035,7 @@ h1, h2, h3, h4, h5, h6 { transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); border-radius: 2rem; --tw-bg-opacity: 1; - background-color: rgb(2 132 199 / var(--tw-bg-opacity, 1)); + background-color: rgb(244 104 57 / var(--tw-bg-opacity, 1)); --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity, 1)); } @@ -1851,7 +3045,7 @@ h1, h2, h3, h4, h5, h6 { --tw-scale-y: 1.05; 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)); --tw-bg-opacity: 1; - background-color: rgb(3 105 161 / var(--tw-bg-opacity, 1)); + background-color: rgb(229 116 105 / var(--tw-bg-opacity, 1)); } .btn-outline { @@ -1869,9 +3063,9 @@ h1, h2, h3, h4, h5, h6 { border-radius: 2rem; border-width: 2px; --tw-border-opacity: 1; - border-color: rgb(2 132 199 / var(--tw-border-opacity, 1)); + border-color: rgb(244 104 57 / var(--tw-border-opacity, 1)); --tw-text-opacity: 1; - color: rgb(2 132 199 / var(--tw-text-opacity, 1)); + color: rgb(244 104 57 / var(--tw-text-opacity, 1)); } .btn-outline:hover { @@ -2031,13 +3225,13 @@ h1, h2, h3, h4, h5, h6 { .prose a { --tw-text-opacity: 1; - color: rgb(2 132 199 / var(--tw-text-opacity, 1)); + color: rgb(244 104 57 / var(--tw-text-opacity, 1)); text-decoration-line: none; } .prose a:hover { --tw-text-opacity: 1; - color: rgb(3 105 161 / var(--tw-text-opacity, 1)); + color: rgb(229 116 105 / var(--tw-text-opacity, 1)); } .prose ul, .prose ol { @@ -2837,17 +4031,17 @@ h1, h2, h3, h4, h5, h6 { .bg-primary-100 { --tw-bg-opacity: 1; - background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1)); + background-color: rgb(241 243 245 / var(--tw-bg-opacity, 1)); } .bg-primary-50 { --tw-bg-opacity: 1; - background-color: rgb(240 249 255 / var(--tw-bg-opacity, 1)); + background-color: rgb(248 249 250 / var(--tw-bg-opacity, 1)); } .bg-primary-600 { --tw-bg-opacity: 1; - background-color: rgb(2 132 199 / var(--tw-bg-opacity, 1)); + background-color: rgb(244 104 57 / var(--tw-bg-opacity, 1)); } .bg-red-500 { @@ -2895,8 +4089,8 @@ h1, h2, h3, h4, h5, h6 { } .from-primary-600 { - --tw-gradient-from: #0284c7 var(--tw-gradient-from-position); - --tw-gradient-to: rgb(2 132 199 / 0) var(--tw-gradient-to-position); + --tw-gradient-from: #f46839 var(--tw-gradient-from-position); + --tw-gradient-to: rgb(244 104 57 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); } @@ -2906,7 +4100,7 @@ h1, h2, h3, h4, h5, h6 { } .to-primary-700 { - --tw-gradient-to: #0369a1 var(--tw-gradient-to-position); + --tw-gradient-to: #e57469 var(--tw-gradient-to-position); } .to-white { @@ -3247,12 +4441,12 @@ h1, h2, h3, h4, h5, h6 { .text-primary-100 { --tw-text-opacity: 1; - color: rgb(224 242 254 / var(--tw-text-opacity, 1)); + color: rgb(241 243 245 / var(--tw-text-opacity, 1)); } .text-primary-600 { --tw-text-opacity: 1; - color: rgb(2 132 199 / var(--tw-text-opacity, 1)); + color: rgb(244 104 57 / var(--tw-text-opacity, 1)); } .text-white { @@ -3900,6 +5094,511 @@ h1, h2, h3, h4, h5, h6 { margin-bottom: 0; } + .sm\:prose { + color: var(--tw-prose-body); + max-width: 65ch; + } + + .sm\:prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.25em; + margin-bottom: 1.25em; + } + + .sm\: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-top: 1.2em; + margin-bottom: 1.2em; + } + + .sm\:prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-links); + text-decoration: underline; + font-weight: 500; + } + + .sm\:prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-bold); + font-weight: 600; + } + + .sm\:prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; + } + + .sm\:prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; + } + + .sm\:prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; + } + + .sm\:prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: decimal; + margin-top: 1.25em; + margin-bottom: 1.25em; + padding-inline-start: 1.625em; + } + + .sm\:prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: upper-alpha; + } + + .sm\:prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: lower-alpha; + } + + .sm\:prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: upper-alpha; + } + + .sm\:prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: lower-alpha; + } + + .sm\:prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: upper-roman; + } + + .sm\:prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: lower-roman; + } + + .sm\:prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: upper-roman; + } + + .sm\:prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: lower-roman; + } + + .sm\:prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: decimal; + } + + .sm\:prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + list-style-type: disc; + margin-top: 1.25em; + margin-bottom: 1.25em; + padding-inline-start: 1.625em; + } + + .sm\:prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker { + font-weight: 400; + color: var(--tw-prose-counters); + } + + .sm\:prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker { + color: var(--tw-prose-bullets); + } + + .sm\:prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + margin-top: 1.25em; + } + + .sm\:prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-color: var(--tw-prose-hr); + border-top-width: 1px; + margin-top: 3em; + margin-bottom: 3em; + } + + .sm\:prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 500; + font-style: italic; + color: var(--tw-prose-quotes); + border-inline-start-width: 0.25rem; + border-inline-start-color: var(--tw-prose-quote-borders); + quotes: "\201C""\201D""\2018""\2019"; + margin-top: 1.6em; + margin-bottom: 1.6em; + padding-inline-start: 1em; + } + + .sm\:prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { + content: open-quote; + } + + .sm\:prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { + content: close-quote; + } + + .sm\:prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 800; + font-size: 2.25em; + margin-top: 0; + margin-bottom: 0.8888889em; + line-height: 1.1111111; + } + + .sm\:prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 900; + color: inherit; + } + + .sm\:prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 700; + font-size: 1.5em; + margin-top: 2em; + margin-bottom: 1em; + line-height: 1.3333333; + } + + .sm\:prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 800; + color: inherit; + } + + .sm\:prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + font-size: 1.25em; + margin-top: 1.6em; + margin-bottom: 0.6em; + line-height: 1.6; + } + + .sm\:prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 700; + color: inherit; + } + + .sm\:prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + margin-top: 1.5em; + margin-bottom: 0.5em; + line-height: 1.5; + } + + .sm\:prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 700; + color: inherit; + } + + .sm\:prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 2em; + margin-bottom: 2em; + } + + .sm\:prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + display: block; + margin-top: 2em; + margin-bottom: 2em; + } + + .sm\:prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 2em; + margin-bottom: 2em; + } + + .sm\:prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-weight: 500; + font-family: inherit; + color: var(--tw-prose-kbd); + box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows); + font-size: 0.875em; + border-radius: 0.3125rem; + padding-top: 0.1875em; + padding-inline-end: 0.375em; + padding-bottom: 0.1875em; + padding-inline-start: 0.375em; + } + + .sm\:prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-code); + font-weight: 600; + font-size: 0.875em; + } + + .sm\:prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { + content: "`"; + } + + .sm\:prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { + content: "`"; + } + + .sm\:prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; + } + + .sm\:prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; + } + + .sm\:prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; + font-size: 0.875em; + } + + .sm\:prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; + font-size: 0.9em; + } + + .sm\:prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; + } + + .sm\:prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; + } + + .sm\:prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: inherit; + } + + .sm\:prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-pre-code); + background-color: var(--tw-prose-pre-bg); + overflow-x: auto; + font-weight: 400; + font-size: 0.875em; + line-height: 1.7142857; + margin-top: 1.7142857em; + margin-bottom: 1.7142857em; + border-radius: 0.375rem; + padding-top: 0.8571429em; + padding-inline-end: 1.1428571em; + padding-bottom: 0.8571429em; + padding-inline-start: 1.1428571em; + } + + .sm\:prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + background-color: transparent; + border-width: 0; + border-radius: 0; + padding: 0; + font-weight: inherit; + color: inherit; + font-size: inherit; + font-family: inherit; + line-height: inherit; + } + + .sm\:prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before { + content: none; + } + + .sm\:prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { + content: none; + } + + .sm\:prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + width: 100%; + table-layout: auto; + margin-top: 2em; + margin-bottom: 2em; + font-size: 0.875em; + line-height: 1.7142857; + } + + .sm\:prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-bottom-width: 1px; + border-bottom-color: var(--tw-prose-th-borders); + } + + .sm\:prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + vertical-align: bottom; + padding-inline-end: 0.5714286em; + padding-bottom: 0.5714286em; + padding-inline-start: 0.5714286em; + } + + .sm\:prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-bottom-width: 1px; + border-bottom-color: var(--tw-prose-td-borders); + } + + .sm\:prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-bottom-width: 0; + } + + .sm\:prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + vertical-align: baseline; + } + + .sm\:prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + border-top-width: 1px; + border-top-color: var(--tw-prose-th-borders); + } + + .sm\:prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + vertical-align: top; + } + + .sm\:prose :where(th, td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + text-align: start; + } + + .sm\:prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + margin-bottom: 0; + } + + .sm\:prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + color: var(--tw-prose-captions); + font-size: 0.875em; + line-height: 1.4285714; + margin-top: 0.8571429em; + } + + .sm\:prose { + --tw-prose-body: #374151; + --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: rgb(17 24 39 / 10%); + --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: rgb(255 255 255 / 10%); + --tw-prose-invert-code: #fff; + --tw-prose-invert-pre-code: #d1d5db; + --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%); + --tw-prose-invert-th-borders: #4b5563; + --tw-prose-invert-td-borders: #374151; + font-size: 1rem; + line-height: 1.75; + } + + .sm\:prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + margin-bottom: 0; + } + + .sm\:prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.5em; + margin-bottom: 0.5em; + } + + .sm\:prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0.375em; + } + + .sm\:prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0.375em; + } + + .sm\:prose :where(.sm\:prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.75em; + margin-bottom: 0.75em; + } + + .sm\:prose :where(.sm\:prose > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.25em; + } + + .sm\:prose :where(.sm\:prose > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 1.25em; + } + + .sm\:prose :where(.sm\:prose > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.25em; + } + + .sm\:prose :where(.sm\:prose > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 1.25em; + } + + .sm\:prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.75em; + margin-bottom: 0.75em; + } + + .sm\:prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.25em; + margin-bottom: 1.25em; + } + + .sm\:prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.5em; + padding-inline-start: 1.625em; + } + + .sm\:prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + } + + .sm\:prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + } + + .sm\:prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + } + + .sm\:prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + } + + .sm\:prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0; + } + + .sm\:prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-end: 0; + } + + .sm\:prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-top: 0.5714286em; + padding-inline-end: 0.5714286em; + padding-bottom: 0.5714286em; + padding-inline-start: 0.5714286em; + } + + .sm\:prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0; + } + + .sm\:prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-end: 0; + } + + .sm\:prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 2em; + margin-bottom: 2em; + } + + .sm\:prose :where(.sm\:prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + } + + .sm\:prose :where(.sm\:prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 0; + } + .sm\:prose { max-width: none; } @@ -3940,13 +5639,13 @@ h1, h2, h3, h4, h5, h6 { .sm\:prose a { --tw-text-opacity: 1; - color: rgb(2 132 199 / var(--tw-text-opacity, 1)); + color: rgb(244 104 57 / var(--tw-text-opacity, 1)); text-decoration-line: none; } .sm\:prose a:hover { --tw-text-opacity: 1; - color: rgb(3 105 161 / var(--tw-text-opacity, 1)); + color: rgb(229 116 105 / var(--tw-text-opacity, 1)); } .sm\:prose ul,.sm\:prose ol { @@ -4243,6 +5942,253 @@ h1, h2, h3, h4, h5, h6 { .lg\:prose-lg :where(.lg\:prose-lg > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { margin-bottom: 0; } + + .lg\:prose-lg { + font-size: 1.125rem; + line-height: 1.7777778; + } + + .lg\:prose-lg :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.3333333em; + margin-bottom: 1.3333333em; + } + + .lg\:prose-lg :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 1.2222222em; + line-height: 1.4545455; + margin-top: 1.0909091em; + margin-bottom: 1.0909091em; + } + + .lg\:prose-lg :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.6666667em; + margin-bottom: 1.6666667em; + padding-inline-start: 1em; + } + + .lg\:prose-lg :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 2.6666667em; + margin-top: 0; + margin-bottom: 0.8333333em; + line-height: 1; + } + + .lg\:prose-lg :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 1.6666667em; + margin-top: 1.8666667em; + margin-bottom: 1.0666667em; + line-height: 1.3333333; + } + + .lg\:prose-lg :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 1.3333333em; + margin-top: 1.6666667em; + margin-bottom: 0.6666667em; + line-height: 1.5; + } + + .lg\:prose-lg :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.7777778em; + margin-bottom: 0.4444444em; + line-height: 1.5555556; + } + + .lg\:prose-lg :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.7777778em; + margin-bottom: 1.7777778em; + } + + .lg\:prose-lg :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.7777778em; + margin-bottom: 1.7777778em; + } + + .lg\:prose-lg :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + margin-bottom: 0; + } + + .lg\:prose-lg :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.7777778em; + margin-bottom: 1.7777778em; + } + + .lg\:prose-lg :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8888889em; + border-radius: 0.3125rem; + padding-top: 0.2222222em; + padding-inline-end: 0.4444444em; + padding-bottom: 0.2222222em; + padding-inline-start: 0.4444444em; + } + + .lg\:prose-lg :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8888889em; + } + + .lg\:prose-lg :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8666667em; + } + + .lg\:prose-lg :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.875em; + } + + .lg\:prose-lg :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8888889em; + line-height: 1.75; + margin-top: 2em; + margin-bottom: 2em; + border-radius: 0.375rem; + padding-top: 1em; + padding-inline-end: 1.5em; + padding-bottom: 1em; + padding-inline-start: 1.5em; + } + + .lg\:prose-lg :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.3333333em; + margin-bottom: 1.3333333em; + padding-inline-start: 1.5555556em; + } + + .lg\:prose-lg :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.3333333em; + margin-bottom: 1.3333333em; + padding-inline-start: 1.5555556em; + } + + .lg\:prose-lg :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.6666667em; + margin-bottom: 0.6666667em; + } + + .lg\:prose-lg :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0.4444444em; + } + + .lg\:prose-lg :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0.4444444em; + } + + .lg\:prose-lg :where(.lg\:prose-lg > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.8888889em; + margin-bottom: 0.8888889em; + } + + .lg\:prose-lg :where(.lg\:prose-lg > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.3333333em; + } + + .lg\:prose-lg :where(.lg\:prose-lg > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 1.3333333em; + } + + .lg\:prose-lg :where(.lg\:prose-lg > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.3333333em; + } + + .lg\:prose-lg :where(.lg\:prose-lg > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 1.3333333em; + } + + .lg\:prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.8888889em; + margin-bottom: 0.8888889em; + } + + .lg\:prose-lg :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.3333333em; + margin-bottom: 1.3333333em; + } + + .lg\:prose-lg :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.3333333em; + } + + .lg\:prose-lg :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0.6666667em; + padding-inline-start: 1.5555556em; + } + + .lg\:prose-lg :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 3.1111111em; + margin-bottom: 3.1111111em; + } + + .lg\:prose-lg :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + } + + .lg\:prose-lg :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + } + + .lg\:prose-lg :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + } + + .lg\:prose-lg :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + } + + .lg\:prose-lg :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8888889em; + line-height: 1.5; + } + + .lg\:prose-lg :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-end: 0.75em; + padding-bottom: 0.75em; + padding-inline-start: 0.75em; + } + + .lg\:prose-lg :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0; + } + + .lg\:prose-lg :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-end: 0; + } + + .lg\:prose-lg :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-top: 0.75em; + padding-inline-end: 0.75em; + padding-bottom: 0.75em; + padding-inline-start: 0.75em; + } + + .lg\:prose-lg :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-start: 0; + } + + .lg\:prose-lg :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + padding-inline-end: 0; + } + + .lg\:prose-lg :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 1.7777778em; + margin-bottom: 1.7777778em; + } + + .lg\:prose-lg :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + margin-bottom: 0; + } + + .lg\:prose-lg :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + font-size: 0.8888889em; + line-height: 1.5; + margin-top: 1em; + } + + .lg\:prose-lg :where(.lg\:prose-lg > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-top: 0; + } + + .lg\:prose-lg :where(.lg\:prose-lg > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) { + margin-bottom: 0; + } } .hover\:-translate-y-1:hover { @@ -4258,7 +6204,7 @@ h1, h2, h3, h4, h5, h6 { .hover\:border-primary-600:hover { --tw-border-opacity: 1; - border-color: rgb(2 132 199 / var(--tw-border-opacity, 1)); + border-color: rgb(244 104 57 / var(--tw-border-opacity, 1)); } .hover\:bg-gray-100:hover { @@ -4278,12 +6224,12 @@ h1, h2, h3, h4, h5, h6 { .hover\:bg-primary-100:hover { --tw-bg-opacity: 1; - background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1)); + background-color: rgb(241 243 245 / var(--tw-bg-opacity, 1)); } .hover\:bg-primary-700:hover { --tw-bg-opacity: 1; - background-color: rgb(3 105 161 / var(--tw-bg-opacity, 1)); + background-color: rgb(229 116 105 / var(--tw-bg-opacity, 1)); } .hover\:text-gray-900:hover { @@ -4293,12 +6239,12 @@ h1, h2, h3, h4, h5, h6 { .hover\:text-primary-600:hover { --tw-text-opacity: 1; - color: rgb(2 132 199 / var(--tw-text-opacity, 1)); + color: rgb(244 104 57 / var(--tw-text-opacity, 1)); } .hover\:text-primary-700:hover { --tw-text-opacity: 1; - color: rgb(3 105 161 / var(--tw-text-opacity, 1)); + color: rgb(229 116 105 / var(--tw-text-opacity, 1)); } .hover\:opacity-90:hover { @@ -4330,7 +6276,7 @@ h1, h2, h3, h4, h5, h6 { .focus\:border-primary-500:focus { --tw-border-opacity: 1; - border-color: rgb(14 165 233 / var(--tw-border-opacity, 1)); + border-color: rgb(18 18 18 / var(--tw-border-opacity, 1)); } .focus\:outline-none:focus { @@ -4346,12 +6292,12 @@ h1, h2, h3, h4, h5, h6 { .focus\:ring-primary-500:focus { --tw-ring-opacity: 1; - --tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity, 1)); + --tw-ring-color: rgb(18 18 18 / var(--tw-ring-opacity, 1)); } .focus\:ring-primary-600:focus { --tw-ring-opacity: 1; - --tw-ring-color: rgb(2 132 199 / var(--tw-ring-opacity, 1)); + --tw-ring-color: rgb(244 104 57 / var(--tw-ring-opacity, 1)); } .focus\:ring-offset-2:focus { @@ -4370,22 +6316,22 @@ h1, h2, h3, h4, h5, h6 { .group:hover .group-hover\:border-primary-100 { --tw-border-opacity: 1; - border-color: rgb(224 242 254 / var(--tw-border-opacity, 1)); + border-color: rgb(241 243 245 / var(--tw-border-opacity, 1)); } .group:hover .group-hover\:bg-primary-100 { --tw-bg-opacity: 1; - background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1)); + background-color: rgb(241 243 245 / var(--tw-bg-opacity, 1)); } .group:hover .group-hover\:text-primary-600 { --tw-text-opacity: 1; - color: rgb(2 132 199 / var(--tw-text-opacity, 1)); + color: rgb(244 104 57 / var(--tw-text-opacity, 1)); } .group:hover .group-hover\:text-primary-700 { --tw-text-opacity: 1; - color: rgb(3 105 161 / var(--tw-text-opacity, 1)); + color: rgb(229 116 105 / var(--tw-text-opacity, 1)); } .group:hover .group-hover\:opacity-100 { diff --git a/static/images/favicon.ico b/static/images/favicon.ico index daf0d2d..301c575 100644 Binary files a/static/images/favicon.ico and b/static/images/favicon.ico differ diff --git a/static/images/logo-darkmode.png b/static/images/logo-darkmode.png new file mode 100644 index 0000000..eb6c936 Binary files /dev/null and b/static/images/logo-darkmode.png differ diff --git a/static/images/logo.png b/static/images/logo.png new file mode 100644 index 0000000..0221ac1 Binary files /dev/null and b/static/images/logo.png differ diff --git a/static/images/social/gitlab.svg b/static/images/social/gitlab.svg new file mode 100644 index 0000000..c667186 --- /dev/null +++ b/static/images/social/gitlab.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/static/images/social/mastodon.svg b/static/images/social/mastodon.svg new file mode 100644 index 0000000..a5ea1a8 --- /dev/null +++ b/static/images/social/mastodon.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/tailwind.config.js b/tailwind.config.js index 457be3e..0b429e3 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,34 +1,25 @@ -const fs = require("fs"); -const path = require("path"); -const themePath = path.join(__dirname, "data/theme.json"); -const themeRead = fs.readFileSync(themePath, "utf8"); -const theme = JSON.parse(themeRead); -let font_base = Number(theme.fonts.font_size.base.replace("px", "")); -let font_scale = Number(theme.fonts.font_size.scale); -let h6 = font_base / font_base; -let h5 = h6 * font_scale; -let h4 = h5 * font_scale; -let h3 = h4 * font_scale; -let h2 = h3 * font_scale; -let h1 = h2 * font_scale; -let fontPrimary, fontPrimaryType, fontSecondary, fontSecondaryType; -if (theme.fonts.font_family.primary) { - fontPrimary = theme.fonts.font_family.primary - .replace(/\+/g, " ") - .replace(/:[ital,]*[ital@]*[wght@]*[0-9,;]+/gi, ""); - fontPrimaryType = theme.fonts.font_family.primary_type; -} -if (theme.fonts.font_family.secondary) { - fontSecondary = theme.fonts.font_family.secondary - .replace(/\+/g, " ") - .replace(/:[ital,]*[ital@]*[wght@]*[0-9,;]+/gi, ""); - fontSecondaryType = theme.fonts.font_family.secondary_type; -} +// Définition statique des couleurs principales (extraites de theme.json) +const primary = { + 50: '#f8f9fa', + 100: '#f1f3f5', + 200: '#e9ecef', + 300: '#dee2e6', + 400: '#ced4da', + 500: '#121212', + 600: '#f46839', + 700: '#e57469', + 800: '#334d5c', + 900: '#121212', +}; +const secondary = '#e57469'; // à adapter si besoin + +const fontPrimary = 'Open Sans, sans-serif'; +const fontSecondary = 'Arial, sans-serif'; /** @type {import('tailwindcss').Config} */ module.exports = { - presets: [require('./themes/hugo-saasify-theme/tailwind.config.js')], + presets: [require('./themes/chill-theme/tailwind.config.js')], content: [ "./themes/hugo-saasify-theme/layouts/**/*.html", "./layouts/**/*.html", @@ -36,53 +27,20 @@ module.exports = { ], theme: { extend: { + colors: { + primary, + secondary, + // Ajoutez ici d'autres couleurs statiques si besoin + }, + fontFamily: { - sans: ['Inter', 'system-ui', 'sans-serif'], - heading: ['Plus Jakarta Sans', 'sans-serif'], + primary: [fontPrimary], + secondary: [fontSecondary], }, - colors: { - text: theme.colors.default.text_color.default, - light: theme.colors.default.text_color.light, - dark: theme.colors.default.text_color.dark, - primary: theme.colors.default.theme_color.primary, - secondary: theme.colors.default.theme_color.secondary, - body: theme.colors.default.theme_color.body, - border: theme.colors.default.theme_color.border, - "theme-light": theme.colors.default.theme_color.theme_light, - "theme-dark": theme.colors.default.theme_color.theme_dark, - darkmode: { - text: theme.colors.darkmode.text_color.default, - light: theme.colors.darkmode.text_color.light, - dark: theme.colors.darkmode.text_color.dark, - primary: theme.colors.darkmode.theme_color.primary, - secondary: theme.colors.darkmode.theme_color.secondary, - body: theme.colors.darkmode.theme_color.body, - border: theme.colors.darkmode.theme_color.border, - "theme-light": theme.colors.darkmode.theme_color.theme_light, - "theme-dark": theme.colors.darkmode.theme_color.theme_dark, - }, - }, - fontSize: { - base: font_base + "px", - h1: h1 + "rem", - "h1-sm": h1 * 0.8 + "rem", - h2: h2 + "rem", - "h2-sm": h2 * 0.8 + "rem", - h3: h3 + "rem", - "h3-sm": h3 * 0.8 + "rem", - h4: h4 + "rem", - h5: h5 + "rem", - h6: h6 + "rem", - }, - fontFamily: { - primary: [fontPrimary, fontPrimaryType], - secondary: [fontSecondary, fontSecondaryType], - }, }, }, plugins: [ require('@tailwindcss/forms'), require('@tailwindcss/typography'), ], - } \ No newline at end of file diff --git a/themes/hugo-saasify-theme b/themes/hugo-saasify-theme deleted file mode 160000 index 5d19f48..0000000 --- a/themes/hugo-saasify-theme +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5d19f48b3d3d047ddd4142fb00821aca251c9f02