diff --git a/.gitignore b/.gitignore index d5bc97e8..02f133c5 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,7 @@ _cache/ _site/ stack.yaml.lock dist-newstyle/ +.DS_Store ### General ### *~ diff --git a/affiliates/about/index.html b/affiliates/about/index.html index 80bdf073..b2ce97f7 100644 --- a/affiliates/about/index.html +++ b/affiliates/about/index.html @@ -1,204 +1,202 @@ --- title: About the Haskell Foundation --- -
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-

What Does Affiliation Entail?

- -
+
+

What Does Affiliation Entail?

- - -
-
-
- -
-
- Affiliation means that the group supports the goals of the Haskell Foundation, and, in return, the Haskell Foundation supports this group. -
-
- Different groups work in different ways, and it would be counter-productive to impose complete uniformity. However, we expect the groups that want to affiliate with the Haskell Foundation to follow a few ground rules, laid out below. -
-
-
-
- Affiliation does not mean that the HF is taking over control of that group’s bailiwick. The group’s powers and responsibilities remain unchanged, although it would be reasonable to expect the group to take into account the views of the HF. -
-
- We make a distinction between projects and committees. -
+
+
+
+
+ +
+
+ Affiliation means that the group supports the goals of the Haskell Foundation, and, in return, the Haskell Foundation supports this group. +
+
+ Different groups work in different ways, and it would be counter-productive to impose complete uniformity. However, we expect the groups that want to affiliate with the Haskell Foundation to follow a few ground rules, laid out below. +
+
+
+ Affiliation does not mean that the HF is taking over control of that group’s bailiwick. The group’s powers and responsibilities remain unchanged, although it would be reasonable to expect the group to take into account the views of the HF. +
+
+ We make a distinction between projects and committees. +
+
+
- +
- -
-
- -

Affiliated Committees

-

Transparency

-
    -
  • - Group must have some website that makes it clear what the goals and responsibilities of this group are -

  • -
  • -

    - All technical discussions must be stored in a publicly accessible location, for example: -

    +
    +
    + +

    Affiliated Committees

    + +

    Transparency

    • - GitHub issues -

    • -
    • - GitLab issues -

    • -
    • - Mailing list archives There is an obvious exception for confidential matters such as financial and security related information -

    • + Group must have some website that makes it clear what the goals and responsibilities of this group are +

      +
    • +

      + All technical discussions must be stored in a publicly accessible location, for example: +

      +
        +
      • + GitHub issues +

      • +
      • + GitLab issues +

      • +
      • + Mailing list archives There is an obvious exception for confidential matters such as financial and security related information +

      • +
      +
    • +
    • + It should be clear what decisions the group has taken, and what are under discussion (if it’s that kind of group). A good example of this are the GHC Steering Committee proposals, but a simple email to a public list can also suffice. +

    • +
    • + The group must have a voting system in place in case it cannot reach unanimity. Votes must be accompanied by reasoning, and a tie-breaking mechanism should be in place. +

    -
  • -
  • - It should be clear what decisions the group has taken, and what are under discussion (if it’s that kind of group). A good example of this are the GHC Steering Committee proposals, but a simple email to a public list can also suffice. -

  • -
  • - The group must have a voting system in place in case it cannot reach unanimity. Votes must be accompanied by reasoning, and a tie-breaking mechanism should be in place. -

  • -
-

Membership

-
    -
  • -

    - The group’s website should list its members (with their affiliations and terms), and the membership rules. -

    -
  • -
  • -

    - Groups should appoint a chair (or co-chairs) or a contact for Haskell Foundation. -

    -
  • -
  • -

    - Groups should ensure a turnover of membership, for example by setting terms. -

    +

    Membership

    • - This only makes sense for "decision-making" bodies, not really for groups that just focus on doing work. + The group’s website should list its members (with their affiliations and terms), and the membership rules.

    • -
    -
  • -
  • -

    - The process for appointing new members should be clearly set out: -

    -
    • - There should be a “way in” for new members who are not already part of the “in crowd”; for example, a regular opportunity to self-nominate. + Groups should appoint a chair (or co-chairs) or a contact for Haskell Foundation.

    • - Criteria for new members should be written down, so that new members can address them in writing a self-nomination. + Groups should ensure a turnover of membership, for example by setting terms.

      +
        +
      • +

        + This only makes sense for "decision-making" bodies, not really for groups that just focus on doing work. +

        +
      • +
    • - A reasonably broad group of people should be involved in making appointment decisions (e.g. not just the chair). Typically the whole group votes on appointing new members. + The process for appointing new members should be clearly set out:

      +
        +
      • +

        + There should be a “way in” for new members who are not already part of the “in crowd”; for example, a regular opportunity to self-nominate. +

        +
      • +
      • +

        + Criteria for new members should be written down, so that new members can address them in writing a self-nomination. +

        +
      • +
      • +

        + A reasonably broad group of people should be involved in making appointment decisions (e.g. not just the chair). Typically the whole group votes on appointing new members. +

        +
      • +
    -
  • -
-

CODE OF CONDUCT

-

- Groups must adopt the Guidelines for Respectful Communication. Groups may additionally adopt other guidelines & CoCs that are stronger; as long as they do not conflict with the GRC. -

-

- Why make a code of conduct as part of HF affiliation? -

-
    -
  • +

    CODE OF CONDUCT

    - We want the Haskell community to be welcoming, diverse, and inclusive. Having explicit guidelines for respectful communication signals that desire, and makes it more explicit and concrete. + Groups must adopt the Guidelines for Respectful Communication. Groups may additionally adopt other guidelines & CoCs that are stronger; as long as they do not conflict with the GRC.

    -
  • -
  • - For all of us, as individuals and as groups, making an explicit commitment to respectful communication encourages us to review our messages to see if they meet the goals set out in the guidelines, and will give others some specifics to point to if we fail. + Why make a code of conduct as part of HF affiliation?

    -
  • -
+
    +
  • +

    + We want the Haskell community to be welcoming, diverse, and inclusive. Having explicit guidelines for respectful communication signals that desire, and makes it more explicit and concrete. +

    +
  • +
  • +

    + For all of us, as individuals and as groups, making an explicit commitment to respectful communication encourages us to review our messages to see if they meet the goals set out in the guidelines, and will give others some specifics to point to if we fail. +

    +
  • +
-

Affiliated Projects

+

Affiliated Projects

-
    -
  • -

    - The project must have a public issue tracker and/or mailing list where discussion about the project takes place -

    -
  • -
  • -

    - The expectation is that the project has at least one responsive maintainer. If this is not the case, it should be clearly signalled that more resources are required. -

    -
  • -
  • -

    - The project must be open to community discussion about possible features and contributions. -

    -
  • -
  • -

    - The project should encourage new contributors and members, i.e. there should be "a way in". -

    -
  • -
  • -

    - Just like committees, the project must adopt the Guidelines for Respectful Communication as a code of conduct. -

    -
  • -
- +
    +
  • +

    + The project must have a public issue tracker and/or mailing list where discussion about the project takes place +

    +
  • +
  • +

    + The expectation is that the project has at least one responsive maintainer. If this is not the case, it should be clearly signalled that more resources are required. +

    +
  • +
  • +

    + The project must be open to community discussion about possible features and contributions. +

    +
  • +
  • +

    + The project should encourage new contributors and members, i.e. there should be "a way in". +

    +
  • +
  • +

    + Just like committees, the project must adopt the Guidelines for Respectful Communication as a code of conduct. +

    +
  • +
+ +
-
+
diff --git a/assets/css/main.css b/assets/css/main.css index 3d210b3a..e68b90ec 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -1,3 +1,3 @@ /*! tailwindcss v2.0.3 | MIT License | https://tailwindcss.com*/ -/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}hr{height:0;color:inherit}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=submit],button{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}button{background-color:transparent;background-image:none}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}fieldset,ol,ul{margin:0;padding:0}ol,ul{list-style:none}html{font-family:Maven Pro,sans-serif;line-height:1.5}body{font-family:inherit;line-height:inherit}*,:after,:before{box-sizing:border-box;border:0 solid #e4e4e7}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder, textarea::-moz-placeholder{opacity:1;color:#a1a1aa}input:-ms-input-placeholder, textarea:-ms-input-placeholder{opacity:1;color:#a1a1aa}input::placeholder,textarea::placeholder{opacity:1;color:#a1a1aa}[role=button],button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}.prose{color:#3f3f46;max-width:65ch}.prose [class~=lead]{color:#52525b;font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose a{color:#7e22ce;text-decoration:none;font-weight:regular}.prose strong{color:#18181b;font-weight:600}.prose ol[type=A]{--list-counter-style:upper-alpha}.prose ol[type=a]{--list-counter-style:lower-alpha}.prose ol[type=I]{--list-counter-style:upper-roman}.prose ol[type=i]{--list-counter-style:lower-roman}.prose ol[type="1"]{--list-counter-style:decimal}.prose ol>li{position:relative;padding-left:1.75em}.prose ol>li:before{content:counter(list-item,var(--list-counter-style,decimal)) ".";position:absolute;font-weight:400;color:#71717a;left:0}.prose ul>li{position:relative;padding-left:1.75em}.prose ul>li:before{content:"";position:absolute;background-color:#7e22ce;border-radius:50%;width:.375em;height:.375em;top:.6875em;left:.25em}.prose hr{border-color:#e4e4e7;border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose blockquote{font-weight:500;font-style:italic;color:#18181b;border-left-width:.25rem;border-left-color:#e4e4e7;quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose blockquote p:first-of-type:before{content:open-quote}.prose blockquote p:last-of-type:after{content:close-quote}.prose h1{color:#18181b;font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose h2{color:#18181b;font-weight:400;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose h3{font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose h3,.prose h4{color:#18181b;font-weight:600}.prose h4{margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose figure figcaption{color:#71717a;font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose code{color:#18181b;font-weight:600;font-size:.875em}.prose code:after,.prose code:before{content:"`"}.prose a code{color:#18181b}.prose pre{color:#e4e4e7;background-color:#27272a;overflow-x:auto;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}.prose pre code{background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:400;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose pre code:after,.prose pre code:before{content:none}.prose table{width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose thead{color:#18181b;font-weight:600;border-bottom-width:1px;border-bottom-color:#d4d4d8}.prose thead th{vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose tbody tr{border-bottom-width:1px;border-bottom-color:#e4e4e7}.prose tbody tr:last-child{border-bottom-width:0}.prose tbody td{vertical-align:top;padding:.5714286em}.prose{font-size:1rem;line-height:1.75}.prose p{margin-top:1.25em;margin-bottom:1.25em;color:#3f3f46}.prose figure,.prose img,.prose video{margin-top:2em;margin-bottom:2em}.prose figure>*{margin-top:0;margin-bottom:0}.prose h2 code{font-size:.875em}.prose h3 code{font-size:.9em}.prose ol,.prose ul{margin-top:1.25em;margin-bottom:1.25em}.prose li{margin-top:.5em;margin-bottom:.5em;color:#3f3f46}.prose>ul>li p{margin-top:.75em;margin-bottom:.75em}.prose>ul>li>:first-child{margin-top:1.25em}.prose>ul>li>:last-child{margin-bottom:1.25em}.prose>ol>li>:first-child{margin-top:1.25em}.prose>ol>li>:last-child{margin-bottom:1.25em}.prose ol ol,.prose ol ul,.prose ul ol,.prose ul ul{margin-top:.75em;margin-bottom:.75em}.prose h2+*,.prose h3+*,.prose h4+*,.prose hr+*{margin-top:0}.prose thead th:first-child{padding-left:0}.prose thead th:last-child{padding-right:0}.prose tbody td:first-child{padding-left:0}.prose tbody td:last-child{padding-right:0}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.25rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem*var(--tw-space-x-reverse));margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem*var(--tw-space-x-reverse));margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)))}.divide-y-2>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(2px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(2px*var(--tw-divide-y-reverse))}.bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgba(244,244,245,var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgba(228,228,231,var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgba(39,39,42,var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(250,250,250,var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgba(244,244,245,var(--tw-bg-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgba(212,212,216,var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgba(161,161,170,var(--tw-border-opacity))}.border-purple-50{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.border-purple-100{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.border-purple-200{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.border-purple-300{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.border-purple-400{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.border-purple-500{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.border-purple-700{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.border-3{border-width:3px}.border{border-width:1px}.border-t-2{border-top-width:2px}.border-l-3{border-left-width:3px}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-l{border-left-width:1px}.cursor-pointer{cursor:pointer}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.self-start{align-self:flex-start}.justify-items-start{justify-items:start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-self-stretch{justify-self:stretch}.flex-1{flex:1 1 0%}.flex-grow{flex-grow:1}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.h-6{height:1.5rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-32{height:8rem}.h-1\/2{height:50%}.h-full{height:100%}.text-sm{font-size:.875rem;line-height:1.25rem}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.leading-relaxed{line-height:1.625}.m-4{margin:1rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.ml-5{margin-left:1.25rem}.mt-6{margin-top:1.5rem}.mb-6{margin-bottom:1.5rem}.mt-8{margin-top:2rem}.mr-8{margin-right:2rem}.ml-8{margin-left:2rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.ml-14{margin-left:3.5rem}.mt-16{margin-top:4rem}.mt-20{margin-top:5rem}.mt-24{margin-top:6rem}.mt-32{margin-top:8rem}.-mt-12{margin-top:-3rem}.max-h-full{max-height:100%}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-screen-md{max-width:768px}.max-w-screen-xl{max-width:1280px}.min-h-screen{min-height:100vh}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.overflow-auto{overflow:auto}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-10{padding:2.5rem}.p-16{padding:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-12{padding-top:3rem;padding-bottom:3rem}.px-12{padding-left:3rem;padding-right:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-20{padding-top:5rem;padding-bottom:5rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pr-4{padding-right:1rem}.pl-4{padding-left:1rem}.pt-6{padding-top:1.5rem}.pl-6{padding-left:1.5rem}.pt-12{padding-top:3rem}.pb-12{padding-bottom:3rem}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.top-1{top:.25rem}.right-1{right:.25rem}.left-1{left:.25rem}.top-6{top:1.5rem}.right-6{right:1.5rem}.bottom-6{bottom:1.5rem}.left-6{left:1.5rem}.top-full{top:100%}*{--tw-shadow:0 0 transparent}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,0.05)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05)}.shadow-lg,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04)}*{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,0.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-gray-50{--tw-text-opacity:1;color:rgba(250,250,250,var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgba(212,212,216,var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgba(161,161,170,var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgba(113,113,122,var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgba(82,82,91,var(--tw-text-opacity))}.text-purple-700{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.text-trueGray-200{--tw-text-opacity:1;color:rgba(229,229,229,var(--tw-text-opacity))}.uppercase{text-transform:uppercase}.align-middle{vertical-align:middle}.break-all{word-break:break-all}.w-6{width:1.5rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-24{width:6rem}.w-36{width:9rem}.w-44{width:11rem}.w-48{width:12rem}.w-full{width:100%}.z-10{z-index:10}.z-20{z-index:20}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-12{gap:3rem}.transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@-webkit-keyframes spin{to{transform:rotate(1turn)}}@keyframes spin{to{transform:rotate(1turn)}}@-webkit-keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}.font-w-800{font-weight:800;font-variation-settings:"wght" 800}a{cursor:pointer;--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}a:hover{text-decoration:underline}a:hover,a:visited{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.arrow-link{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.arrow-link:hover{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.arrow-link{border-bottom-width:3px;line-height:2.25rem;padding-bottom:.25rem}.arrow-link:hover{text-decoration:none}.arrow-link{font-family:Fira Code}.arrow-link.light{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.arrow-link.light:hover{--tw-border-opacity:1;border-color:rgba(161,161,170,var(--tw-border-opacity))}.arrow-link.light{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.arrow-link.light:hover{--tw-text-opacity:1;color:rgba(161,161,170,var(--tw-text-opacity))}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,serif;font-weight:700}.text-xl-2xl{font-size:1.25rem;line-height:1.75rem}@media (min-width:640px){.text-xl-2xl{font-size:1.5rem;line-height:2rem}}.text-2xl-5xl{font-size:1.5rem;line-height:2rem;line-height:1.375}@media (min-width:640px){.text-2xl-5xl{font-size:2.25rem;line-height:2.5rem;line-height:1.25}}@media (min-width:768px){.text-2xl-5xl{font-size:3rem;line-height:1;line-height:1.25}}.text-2xl-4xl{font-size:1.5rem;line-height:2rem;line-height:1.375}@media (min-width:768px){.text-2xl-4xl{font-size:2.25rem;line-height:2.5rem;line-height:1.25}}.text-3xl-4xl{font-size:1.875rem;line-height:2.25rem;line-height:1.375}@media (min-width:768px){.text-3xl-4xl{font-size:2.25rem;line-height:2.5rem;line-height:1.25}}.text-3xl-5xl{font-size:1.875rem;line-height:2.25rem;line-height:1.375}@media (min-width:640px){.text-3xl-5xl{font-size:2.25rem;line-height:2.5rem;line-height:1.25}}@media (min-width:768px){.text-3xl-5xl{font-size:3rem;line-height:1;line-height:1.25}}.text-3xl-6xl{font-size:1.875rem;line-height:2.25rem;line-height:1.375}@media (min-width:640px){.text-3xl-6xl{font-size:2.25rem;line-height:2.5rem;line-height:1.25}}@media (min-width:768px){.text-3xl-6xl{font-size:3rem;line-height:1;line-height:1.25}}@media (min-width:1024px){.text-3xl-6xl{font-size:3.75rem;line-height:1}}.text-4xl-6xl{font-size:2.25rem;line-height:2.5rem;line-height:1.375}@media (min-width:640px){.text-4xl-6xl{font-size:3.75rem;line-height:1;line-height:1.25}}p{--tw-text-opacity:1;color:rgba(113,113,122,var(--tw-text-opacity))}.youtube-video{position:relative;width:100%;height:0;padding-bottom:56.25%}@media (min-width:640px){.sm\:flex{display:flex}.sm\:flex-row{flex-direction:row}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem;}.sm\:border-l-3{border-left-width:3px;}.sm\:border-gray-300{--tw-border-opacity:1;border-color:rgba(212,212,216,var(--tw-border-opacity));}.sm\:ml-5{margin-left:1.25rem;}.sm\:pl-4{padding-left:1rem;}.sm\:pr-4{padding-right:1rem;}.sm\:grid{display:grid;}.sm\:mb-0{margin-bottom:0}.sm\:mt-12{margin-top:3rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:px-12{padding-left:3rem;padding-right:3rem}.sm\:px-16{padding-left:4rem;padding-right:4rem}.sm\:pt-12{padding-top:3rem}.sm\:w-1\/2{width:50%}}@media (min-width:768px){.md\:prose-lg{font-size:1.125rem;line-height:1.7777778}.md\:prose-lg p{margin-top:1.3333333em;margin-bottom:1.3333333em}.md\:prose-lg [class~=lead]{font-size:1.2222222em;line-height:1.4545455;margin-top:1.0909091em;margin-bottom:1.0909091em}.md\:prose-lg blockquote{margin-top:1.6666667em;margin-bottom:1.6666667em;padding-left:1em}.md\:prose-lg h1{font-size:2.6666667em;margin-top:0;margin-bottom:.8333333em;line-height:1}.md\:prose-lg h2{font-size:1.6666667em;margin-top:1.8666667em;margin-bottom:1.0666667em;line-height:1.3333333}.md\:prose-lg h3{font-size:1.3333333em;margin-top:1.6666667em;margin-bottom:.6666667em;line-height:1.5}.md\:prose-lg h4{margin-top:1.7777778em;margin-bottom:.4444444em;line-height:1.5555556}.md\:prose-lg figure,.md\:prose-lg img,.md\:prose-lg video{margin-top:1.7777778em;margin-bottom:1.7777778em}.md\:prose-lg figure>*{margin-top:0;margin-bottom:0}.md\:prose-lg figure figcaption{font-size:.8888889em;line-height:1.5;margin-top:1em}.md\:prose-lg code{font-size:.8888889em}.md\:prose-lg h2 code{font-size:.8666667em}.md\:prose-lg h3 code{font-size:.875em}.md\:prose-lg pre{font-size:.8888889em;line-height:1.75;margin-top:2em;margin-bottom:2em;border-radius:.375rem;padding:1em 1.5em}.md\:prose-lg ol,.md\:prose-lg ul{margin-top:1.3333333em;margin-bottom:1.3333333em}.md\:prose-lg li{margin-top:.6666667em;margin-bottom:.6666667em}.md\:prose-lg ol>li{padding-left:1.6666667em}.md\:prose-lg ol>li:before{left:0}.md\:prose-lg ul>li{padding-left:1.6666667em}.md\:prose-lg ul>li:before{width:.3333333em;height:.3333333em;top:.72222em;left:.2222222em}.md\:prose-lg>ul>li p{margin-top:.8888889em;margin-bottom:.8888889em}.md\:prose-lg>ul>li>:first-child{margin-top:1.3333333em}.md\:prose-lg>ul>li>:last-child{margin-bottom:1.3333333em}.md\:prose-lg>ol>li>:first-child{margin-top:1.3333333em}.md\:prose-lg>ol>li>:last-child{margin-bottom:1.3333333em}.md\:prose-lg ol ol,.md\:prose-lg ol ul,.md\:prose-lg ul ol,.md\:prose-lg ul ul{margin-top:.8888889em;margin-bottom:.8888889em}.md\:prose-lg hr{margin-top:3.1111111em;margin-bottom:3.1111111em}.md\:prose-lg h2+*,.md\:prose-lg h3+*,.md\:prose-lg h4+*,.md\:prose-lg hr+*{margin-top:0}.md\:prose-lg table{font-size:.8888889em;line-height:1.5}.md\:prose-lg thead th{padding-right:.75em;padding-bottom:.75em;padding-left:.75em}.md\:prose-lg thead th:first-child{padding-left:0}.md\:prose-lg thead th:last-child{padding-right:0}.md\:prose-lg tbody td{padding:.75em}.md\:prose-lg tbody td:first-child{padding-left:0}.md\:prose-lg tbody td:last-child{padding-right:0}.md\:prose-lg>:first-child{margin-top:0}.md\:prose-lg>:last-child{margin-bottom:0}.md\:block{display:block}.md\:flex-col{flex-direction:column}.md\:h-16{height:4rem}.md\:h-20{height:5rem}.md\:my-8{margin-top:2rem;margin-bottom:2rem}.md\:mb-6{margin-bottom:1.5rem}.md\:ml-8{margin-left:2rem}.md\:mt-12{margin-top:3rem}.md\:ml-20{margin-left:5rem}.md\:mt-24{margin-top:6rem}.md\:py-4{padding-top:1rem;padding-bottom:1rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-8{padding-top:2rem;padding-bottom:2rem}.md\:px-12{padding-left:3rem;padding-right:3rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:px-24{padding-left:6rem;padding-right:6rem}.md\:py-28{padding-top:7rem;padding-bottom:7rem}.md\:pl-8{padding-left:2rem}.md\:pt-20{padding-top:5rem}.md\:top-2{top:.5rem}.md\:right-2{right:.5rem}.md\:left-2{left:.5rem}.md\:w-20{width:5rem}.md\:gap-8{gap:2rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem*var(--tw-space-x-reverse));margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)))}.lg\:bg-gray-100{--tw-bg-opacity:1;background-color:rgba(244,244,245,var(--tw-bg-opacity))}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:flex-row{flex-direction:row}.lg\:flex-grow{flex-grow:1}.lg\:h-20{height:5rem}.lg\:text-xl{font-size:1.25rem;line-height:1.75rem}.lg\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.lg\:mt-0{margin-top:0}.lg\:ml-10{margin-left:2.5rem}.lg\:mt-16{margin-top:4rem}.lg\:ml-24{margin-left:6rem}.lg\:-ml-36{margin-left:-9rem}.lg\:max-w-xs{max-width:20rem}.lg\:p-3{padding:.75rem}.lg\:px-12{padding-left:3rem;padding-right:3rem}.lg\:px-16{padding-left:4rem;padding-right:4rem}.lg\:py-24{padding-top:6rem;padding-bottom:6rem}.lg\:px-36{padding-left:9rem;padding-right:9rem}.lg\:pl-14{padding-left:3.5rem}.lg\:pr-32{padding-right:8rem}.lg\:absolute{position:absolute}.lg\:top-1\/2{top:50%}.lg\:left-full{left:100%}.lg\:w-2\/3{width:66.666667%}.lg\:gap-2{gap:.5rem}.lg\:gap-16{gap:4rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:-translate-y-1\/2{--tw-translate-y:-50%}}@media (min-width:1280px){.xl\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem*var(--tw-space-x-reverse));margin-left:calc(3rem*(1 - var(--tw-space-x-reverse)))}.xl\:flex{display:flex}.xl\:mb-0{margin-bottom:0}.xl\:mt-20{margin-top:5rem}.xl\:max-w-screen-xl{max-width:1280px}.xl\:py-32{padding-top:8rem;padding-bottom:8rem}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}} +/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}hr{height:0;color:inherit}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=submit],button{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}button{background-color:transparent;background-image:none}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}fieldset,ol,ul{margin:0;padding:0}ol,ul{list-style:none}html{font-family:Maven Pro,sans-serif;line-height:1.5}body{font-family:inherit;line-height:inherit}*,:after,:before{box-sizing:border-box;border:0 solid #e4e4e7}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder, textarea::-moz-placeholder{opacity:1;color:#a1a1aa}input:-ms-input-placeholder, textarea:-ms-input-placeholder{opacity:1;color:#a1a1aa}input::placeholder,textarea::placeholder{opacity:1;color:#a1a1aa}[role=button],button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}.prose{color:#3f3f46;max-width:65ch}.prose [class~=lead]{color:#52525b;font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose a{color:#7e22ce;text-decoration:none;font-weight:regular}.prose strong{color:#18181b;font-weight:600}.prose ol[type=A]{--list-counter-style:upper-alpha}.prose ol[type=a]{--list-counter-style:lower-alpha}.prose ol[type=I]{--list-counter-style:upper-roman}.prose ol[type=i]{--list-counter-style:lower-roman}.prose ol[type="1"]{--list-counter-style:decimal}.prose ol>li{position:relative;padding-left:1.75em}.prose ol>li:before{content:counter(list-item,var(--list-counter-style,decimal)) ".";position:absolute;font-weight:400;color:#71717a;left:0}.prose ul>li{position:relative;padding-left:1.75em}.prose ul>li:before{content:"";position:absolute;background-color:#7e22ce;border-radius:50%;width:.375em;height:.375em;top:.6875em;left:.25em}.prose hr{border-color:#e4e4e7;border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose blockquote{font-weight:500;font-style:italic;color:#18181b;border-left-width:.25rem;border-left-color:#e4e4e7;quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose blockquote p:first-of-type:before{content:open-quote}.prose blockquote p:last-of-type:after{content:close-quote}.prose h1{color:#18181b;font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose h2{color:#18181b;font-weight:400;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose h3{font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose h3,.prose h4{color:#18181b;font-weight:600}.prose h4{margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose figure figcaption{color:#71717a;font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose code{color:#18181b;font-weight:600;font-size:.875em}.prose code:after,.prose code:before{content:"`"}.prose a code{color:#18181b}.prose pre{color:#e4e4e7;background-color:#27272a;overflow-x:auto;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}.prose pre code{background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:400;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose pre code:after,.prose pre code:before{content:none}.prose table{width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose thead{color:#18181b;font-weight:600;border-bottom-width:1px;border-bottom-color:#d4d4d8}.prose thead th{vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose tbody tr{border-bottom-width:1px;border-bottom-color:#e4e4e7}.prose tbody tr:last-child{border-bottom-width:0}.prose tbody td{vertical-align:top;padding:.5714286em}.prose{font-size:1rem;line-height:1.75}.prose p{margin-top:1.25em;margin-bottom:1.25em;color:#3f3f46}.prose figure,.prose img,.prose video{margin-top:2em;margin-bottom:2em}.prose figure>*{margin-top:0;margin-bottom:0}.prose h2 code{font-size:.875em}.prose h3 code{font-size:.9em}.prose ol,.prose ul{margin-top:1.25em;margin-bottom:1.25em}.prose li{margin-top:.5em;margin-bottom:.5em;color:#3f3f46}.prose>ul>li p{margin-top:.75em;margin-bottom:.75em}.prose>ul>li>:first-child{margin-top:1.25em}.prose>ul>li>:last-child{margin-bottom:1.25em}.prose>ol>li>:first-child{margin-top:1.25em}.prose>ol>li>:last-child{margin-bottom:1.25em}.prose ol ol,.prose ol ul,.prose ul ol,.prose ul ul{margin-top:.75em;margin-bottom:.75em}.prose h2+*,.prose h3+*,.prose h4+*,.prose hr+*{margin-top:0}.prose thead th:first-child{padding-left:0}.prose thead th:last-child{padding-right:0}.prose tbody td:first-child{padding-left:0}.prose tbody td:last-child{padding-right:0}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.25rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem*var(--tw-space-x-reverse));margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem*var(--tw-space-x-reverse));margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)))}.divide-y-2>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(2px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(2px*var(--tw-divide-y-reverse))}.bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.theme-middle-ground{--tw-bg-opacity:1;background-color:rgba(244,244,245,var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgba(228,228,231,var(--tw-bg-opacity))}.theme-foreground{--tw-bg-opacity:1;background-color:rgba(39,39,42,var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(250,250,250,var(--tw-bg-opacity))}.hover\:theme-middle-ground:hover{--tw-bg-opacity:1;background-color:rgba(244,244,245,var(--tw-bg-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgba(212,212,216,var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgba(161,161,170,var(--tw-border-opacity))}.border-purple-50{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.border-purple-100{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.border-purple-200{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.border-purple-300{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.border-purple-400{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.border-purple-500{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.border-purple-700{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.border-3{border-width:3px}.border{border-width:1px}.border-t-2{border-top-width:2px}.border-l-3{border-left-width:3px}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-l{border-left-width:1px}.cursor-pointer{cursor:pointer}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.self-start{align-self:flex-start}.justify-items-start{justify-items:start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-self-stretch{justify-self:stretch}.flex-1{flex:1 1 0%}.flex-grow{flex-grow:1}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.h-6{height:1.5rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-32{height:8rem}.h-1\/2{height:50%}.h-full{height:100%}.text-sm{font-size:.875rem;line-height:1.25rem}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.leading-relaxed{line-height:1.625}.m-4{margin:1rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.ml-5{margin-left:1.25rem}.mt-6{margin-top:1.5rem}.mb-6{margin-bottom:1.5rem}.mt-8{margin-top:2rem}.mr-8{margin-right:2rem}.ml-8{margin-left:2rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.ml-14{margin-left:3.5rem}.mt-16{margin-top:4rem}.mt-20{margin-top:5rem}.mt-24{margin-top:6rem}.mt-32{margin-top:8rem}.-mt-12{margin-top:-3rem}.max-h-full{max-height:100%}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-screen-md{max-width:768px}.max-w-screen-xl{max-width:1280px}.min-h-screen{min-height:100vh}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.overflow-auto{overflow:auto}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-10{padding:2.5rem}.p-16{padding:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-12{padding-top:3rem;padding-bottom:3rem}.px-12{padding-left:3rem;padding-right:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-20{padding-top:5rem;padding-bottom:5rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pr-4{padding-right:1rem}.pl-4{padding-left:1rem}.pt-6{padding-top:1.5rem}.pl-6{padding-left:1.5rem}.pt-12{padding-top:3rem}.pb-12{padding-bottom:3rem}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.top-1{top:.25rem}.right-1{right:.25rem}.left-1{left:.25rem}.top-6{top:1.5rem}.right-6{right:1.5rem}.bottom-6{bottom:1.5rem}.left-6{left:1.5rem}.top-full{top:100%}*{--tw-shadow:0 0 transparent}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,0.05)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05)}.shadow-lg,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04)}*{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,0.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-gray-50{--tw-text-opacity:1;color:rgba(250,250,250,var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgba(212,212,216,var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgba(161,161,170,var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgba(113,113,122,var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgba(82,82,91,var(--tw-text-opacity))}.text-purple-700{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.text-trueGray-200{--tw-text-opacity:1;color:rgba(229,229,229,var(--tw-text-opacity))}.uppercase{text-transform:uppercase}.align-middle{vertical-align:middle}.break-all{word-break:break-all}.w-6{width:1.5rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-24{width:6rem}.w-36{width:9rem}.w-44{width:11rem}.w-48{width:12rem}.w-full{width:100%}.z-10{z-index:10}.z-20{z-index:20}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-12{gap:3rem}.transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@-webkit-keyframes spin{to{transform:rotate(1turn)}}@keyframes spin{to{transform:rotate(1turn)}}@-webkit-keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}.font-w-800{font-weight:800;font-variation-settings:"wght" 800}a{cursor:pointer;--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}a:hover{text-decoration:underline}a:hover,a:visited{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.arrow-link{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.arrow-link:hover{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.arrow-link{border-bottom-width:3px;line-height:2.25rem;padding-bottom:.25rem}.arrow-link:hover{text-decoration:none}.arrow-link{font-family:Fira Code}.arrow-link.light{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.arrow-link.light:hover{--tw-border-opacity:1;border-color:rgba(161,161,170,var(--tw-border-opacity))}.arrow-link.light{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.arrow-link.light:hover{--tw-text-opacity:1;color:rgba(161,161,170,var(--tw-text-opacity))}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,serif;font-weight:700}.text-xl-2xl{font-size:1.25rem;line-height:1.75rem}@media (min-width:640px){.text-xl-2xl{font-size:1.5rem;line-height:2rem}}.text-2xl-5xl{font-size:1.5rem;line-height:2rem;line-height:1.375}@media (min-width:640px){.text-2xl-5xl{font-size:2.25rem;line-height:2.5rem;line-height:1.25}}@media (min-width:768px){.text-2xl-5xl{font-size:3rem;line-height:1;line-height:1.25}}.text-2xl-4xl{font-size:1.5rem;line-height:2rem;line-height:1.375}@media (min-width:768px){.text-2xl-4xl{font-size:2.25rem;line-height:2.5rem;line-height:1.25}}.text-3xl-4xl{font-size:1.875rem;line-height:2.25rem;line-height:1.375}@media (min-width:768px){.text-3xl-4xl{font-size:2.25rem;line-height:2.5rem;line-height:1.25}}.text-3xl-5xl{font-size:1.875rem;line-height:2.25rem;line-height:1.375}@media (min-width:640px){.text-3xl-5xl{font-size:2.25rem;line-height:2.5rem;line-height:1.25}}@media (min-width:768px){.text-3xl-5xl{font-size:3rem;line-height:1;line-height:1.25}}.text-3xl-6xl{font-size:1.875rem;line-height:2.25rem;line-height:1.375}@media (min-width:640px){.text-3xl-6xl{font-size:2.25rem;line-height:2.5rem;line-height:1.25}}@media (min-width:768px){.text-3xl-6xl{font-size:3rem;line-height:1;line-height:1.25}}@media (min-width:1024px){.text-3xl-6xl{font-size:3.75rem;line-height:1}}.text-4xl-6xl{font-size:2.25rem;line-height:2.5rem;line-height:1.375}@media (min-width:640px){.text-4xl-6xl{font-size:3.75rem;line-height:1;line-height:1.25}}p{--tw-text-opacity:1;color:rgba(113,113,122,var(--tw-text-opacity))}.youtube-video{position:relative;width:100%;height:0;padding-bottom:56.25%}@media (min-width:640px){.sm\:flex{display:flex}.sm\:flex-row{flex-direction:row}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem;}.sm\:border-l-3{border-left-width:3px;}.sm\:border-gray-300{--tw-border-opacity:1;border-color:rgba(212,212,216,var(--tw-border-opacity));}.sm\:ml-5{margin-left:1.25rem;}.sm\:pl-4{padding-left:1rem;}.sm\:pr-4{padding-right:1rem;}.sm\:grid{display:grid;}.sm\:mb-0{margin-bottom:0}.sm\:mt-12{margin-top:3rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:px-12{padding-left:3rem;padding-right:3rem}.sm\:px-16{padding-left:4rem;padding-right:4rem}.sm\:pt-12{padding-top:3rem}.sm\:w-1\/2{width:50%}}@media (min-width:768px){.md\:prose-lg{font-size:1.125rem;line-height:1.7777778}.md\:prose-lg p{margin-top:1.3333333em;margin-bottom:1.3333333em}.md\:prose-lg [class~=lead]{font-size:1.2222222em;line-height:1.4545455;margin-top:1.0909091em;margin-bottom:1.0909091em}.md\:prose-lg blockquote{margin-top:1.6666667em;margin-bottom:1.6666667em;padding-left:1em}.md\:prose-lg h1{font-size:2.6666667em;margin-top:0;margin-bottom:.8333333em;line-height:1}.md\:prose-lg h2{font-size:1.6666667em;margin-top:1.8666667em;margin-bottom:1.0666667em;line-height:1.3333333}.md\:prose-lg h3{font-size:1.3333333em;margin-top:1.6666667em;margin-bottom:.6666667em;line-height:1.5}.md\:prose-lg h4{margin-top:1.7777778em;margin-bottom:.4444444em;line-height:1.5555556}.md\:prose-lg figure,.md\:prose-lg img,.md\:prose-lg video{margin-top:1.7777778em;margin-bottom:1.7777778em}.md\:prose-lg figure>*{margin-top:0;margin-bottom:0}.md\:prose-lg figure figcaption{font-size:.8888889em;line-height:1.5;margin-top:1em}.md\:prose-lg code{font-size:.8888889em}.md\:prose-lg h2 code{font-size:.8666667em}.md\:prose-lg h3 code{font-size:.875em}.md\:prose-lg pre{font-size:.8888889em;line-height:1.75;margin-top:2em;margin-bottom:2em;border-radius:.375rem;padding:1em 1.5em}.md\:prose-lg ol,.md\:prose-lg ul{margin-top:1.3333333em;margin-bottom:1.3333333em}.md\:prose-lg li{margin-top:.6666667em;margin-bottom:.6666667em}.md\:prose-lg ol>li{padding-left:1.6666667em}.md\:prose-lg ol>li:before{left:0}.md\:prose-lg ul>li{padding-left:1.6666667em}.md\:prose-lg ul>li:before{width:.3333333em;height:.3333333em;top:.72222em;left:.2222222em}.md\:prose-lg>ul>li p{margin-top:.8888889em;margin-bottom:.8888889em}.md\:prose-lg>ul>li>:first-child{margin-top:1.3333333em}.md\:prose-lg>ul>li>:last-child{margin-bottom:1.3333333em}.md\:prose-lg>ol>li>:first-child{margin-top:1.3333333em}.md\:prose-lg>ol>li>:last-child{margin-bottom:1.3333333em}.md\:prose-lg ol ol,.md\:prose-lg ol ul,.md\:prose-lg ul ol,.md\:prose-lg ul ul{margin-top:.8888889em;margin-bottom:.8888889em}.md\:prose-lg hr{margin-top:3.1111111em;margin-bottom:3.1111111em}.md\:prose-lg h2+*,.md\:prose-lg h3+*,.md\:prose-lg h4+*,.md\:prose-lg hr+*{margin-top:0}.md\:prose-lg table{font-size:.8888889em;line-height:1.5}.md\:prose-lg thead th{padding-right:.75em;padding-bottom:.75em;padding-left:.75em}.md\:prose-lg thead th:first-child{padding-left:0}.md\:prose-lg thead th:last-child{padding-right:0}.md\:prose-lg tbody td{padding:.75em}.md\:prose-lg tbody td:first-child{padding-left:0}.md\:prose-lg tbody td:last-child{padding-right:0}.md\:prose-lg>:first-child{margin-top:0}.md\:prose-lg>:last-child{margin-bottom:0}.md\:block{display:block}.md\:flex-col{flex-direction:column}.md\:h-16{height:4rem}.md\:h-20{height:5rem}.md\:my-8{margin-top:2rem;margin-bottom:2rem}.md\:mb-6{margin-bottom:1.5rem}.md\:ml-8{margin-left:2rem}.md\:mt-12{margin-top:3rem}.md\:ml-20{margin-left:5rem}.md\:mt-24{margin-top:6rem}.md\:py-4{padding-top:1rem;padding-bottom:1rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-8{padding-top:2rem;padding-bottom:2rem}.md\:px-12{padding-left:3rem;padding-right:3rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:px-24{padding-left:6rem;padding-right:6rem}.md\:py-28{padding-top:7rem;padding-bottom:7rem}.md\:pl-8{padding-left:2rem}.md\:pt-20{padding-top:5rem}.md\:top-2{top:.5rem}.md\:right-2{right:.5rem}.md\:left-2{left:.5rem}.md\:w-20{width:5rem}.md\:gap-8{gap:2rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lg\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem*var(--tw-space-x-reverse));margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)))}.lg\:theme-middle-ground{--tw-bg-opacity:1;background-color:rgba(244,244,245,var(--tw-bg-opacity))}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:flex-row{flex-direction:row}.lg\:flex-grow{flex-grow:1}.lg\:h-20{height:5rem}.lg\:text-xl{font-size:1.25rem;line-height:1.75rem}.lg\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.lg\:mt-0{margin-top:0}.lg\:ml-10{margin-left:2.5rem}.lg\:mt-16{margin-top:4rem}.lg\:ml-24{margin-left:6rem}.lg\:-ml-36{margin-left:-9rem}.lg\:max-w-xs{max-width:20rem}.lg\:p-3{padding:.75rem}.lg\:px-12{padding-left:3rem;padding-right:3rem}.lg\:px-16{padding-left:4rem;padding-right:4rem}.lg\:py-24{padding-top:6rem;padding-bottom:6rem}.lg\:px-36{padding-left:9rem;padding-right:9rem}.lg\:pl-14{padding-left:3.5rem}.lg\:pr-32{padding-right:8rem}.lg\:absolute{position:absolute}.lg\:top-1\/2{top:50%}.lg\:left-full{left:100%}.lg\:w-2\/3{width:66.666667%}.lg\:gap-2{gap:.5rem}.lg\:gap-16{gap:4rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:-translate-y-1\/2{--tw-translate-y:-50%}}@media (min-width:1280px){.xl\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem*var(--tw-space-x-reverse));margin-left:calc(3rem*(1 - var(--tw-space-x-reverse)))}.xl\:flex{display:flex}.xl\:mb-0{margin-bottom:0}.xl\:mt-20{margin-top:5rem}.xl\:max-w-screen-xl{max-width:1280px}.xl\:py-32{padding-top:8rem;padding-bottom:8rem}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}} diff --git a/assets/css/theme.css b/assets/css/theme.css new file mode 100644 index 00000000..398f0398 --- /dev/null +++ b/assets/css/theme.css @@ -0,0 +1,91 @@ +:root { + --logo-gold: #ffbe00; +} + +body { + --bg-color: #FFFFFF; + --bg-header: #000000; + --bg-text: #000000; + + --mg-color: #F4F4F5; + --mg-header: #000000; + --mg-text: #3D3D40; // #71717A; + + --fg-color: #27272A; + --fg-header: #FAFAFA; + --fg-text: #D4D4D8; + + --anchor: #6D28D9; + --bg-nav: transparent; +} + +@media (prefers-color-scheme: dark) { + body { + --bg-color: #646066; + --bg-header: #FFFFFF; // #747279; + --bg-text: #FFFFFF; // #f4f1e2; + + --mg-color: #333333; + --mg-header: #FFFFFF; + --mg-text: #FEFEFE; + + --fg-color: #5E5184; + --fg-header: #FFFFFF; + --fg-text: #fefefe; + + --anchor: #EB82DC; + --bg-nav: #393939; + } +} + +.theme-gold { + color: var(--logo-gold); +} + +.theme-nav { + background-color: var(--bg-nav); +} + +.theme-background, .theme-background :is(p, li, .prose) { + background-color: var(--bg-color); + color: var(--bg-text); +} + +.theme-background :is(h1, h2, h3, h4, h5, h6) { + color: var(--bg-header); +} + +.theme-background ul > li:before { + background-color: var(--anchor); +} + +.theme-middle-ground, .theme-middle-ground :is(p, li, .prose) { + background-color: var(--mg-color); + color: var(--mg-text); +} + +.theme-middle-ground :is(h1, h2, h3, h4, h5, h6) { + color: var(--mg-header); +} + +.theme-foreground, .theme-foreground :is(p, li, .prose) { + background-color: var(--fg-color); + color: var(--fg-text); +} + +.theme-foreground :is(h1, h2, h3, h4, h5, h6) { + color: var(--fg-header); +} + +.theme-icon, :is(.theme-nav, .theme-background, .theme-middle-ground, .theme-foreground) a:not(:hover) { + color: var(--anchor); +} + +a p { + color: inherit; +} + +.theme-list > * { + border-top-width: 1px; + border-color: rgba(150, 150, 150, 0.3); +} diff --git a/assets/images/logos/hf-logo-gold-svg.svg b/assets/images/logos/hf-logo-gold-svg.svg new file mode 100644 index 00000000..528b088a --- /dev/null +++ b/assets/images/logos/hf-logo-gold-svg.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/js/main.js b/assets/js/main.js index 062155ac..84f78c2c 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -37,7 +37,7 @@ whoWeAreButton.addEventListener('mouseover', () => { }); whoWeAreButton.addEventListener('mouseout', () => { whoWeAreButtonTimeout = setTimeout(() => { - whoWeAreMenu.classList.add('hidden'); + whoWeAreMenu.classList.add('hidden'); }, 200); }); @@ -47,10 +47,10 @@ whoWeAreMenu.addEventListener('mouseover', () => { whoWeAreMenu.addEventListener('mouseout', function(event) { var e = event.toElement || event.relatedTarget; if (e.parentNode == this || e == this) { - return; + return; } whoWeAreMenuTimeout = setTimeout(() => { - whoWeAreMenu.classList.add('hidden'); + whoWeAreMenu.classList.add('hidden'); }, 200); }, true); @@ -68,7 +68,7 @@ affiliatesButton.addEventListener('mouseover', () => { }); affiliatesButton.addEventListener('mouseout', () => { affiliatesButtonTimeout = setTimeout(() => { - affiliatesMenu.classList.add('hidden'); + affiliatesMenu.classList.add('hidden'); }, 200); }); @@ -78,10 +78,10 @@ affiliatesMenu.addEventListener('mouseover', () => { affiliatesMenu.addEventListener('mouseout', function(event) { var e = event.toElement || event.relatedTarget; if (e.parentNode == this || e == this) { - return; + return; } affiliatesMenuTimeout = setTimeout(() => { - affiliatesMenu.classList.add('hidden'); + affiliatesMenu.classList.add('hidden'); }, 200); }, true); @@ -100,7 +100,7 @@ newsButton.addEventListener('mouseover', () => { }); newsButton.addEventListener('mouseout', () => { newsButtonTimeout = setTimeout(() => { - newsMenu.classList.add('hidden'); + newsMenu.classList.add('hidden'); }, 200); }); @@ -110,9 +110,9 @@ newsMenu.addEventListener('mouseover', () => { newsMenu.addEventListener('mouseout', function(event) { var e = event.toElement || event.relatedTarget; if (e.parentNode == this || e == this) { - return; + return; } newsMenuTimeout = setTimeout(() => { - newsMenu.classList.add('hidden'); + newsMenu.classList.add('hidden'); }, 200); }, true); diff --git a/board-nominations/2022/index.html b/board-nominations/2022/index.html index bf67f72e..c87c8d88 100644 --- a/board-nominations/2022/index.html +++ b/board-nominations/2022/index.html @@ -1,88 +1,86 @@ --- title: 2022 Board Nominations for the Haskell Foundation --- -
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
+
+

2022 Call for Nominations for the Haskell Foundation

-
-
-

2022 Call for Nominations for the Haskell Foundation

- -
+
+ +
+
+ +

+ The Board of Directors of the Haskell Foundation is pleased to announce the nomination process for Board seats. + As per the + Board membership lifecycle rules, and since the current board has 13 members, at most one position may + be filled by this call. Note that the Board may also choose to not elect any new members at this stage, since it is + not about to drop below the minimum of 8 members. +

+ +

+ The Board provides the strategic leadership for the Foundation, and is the final decision-making body for everything + the Foundation does. More specifically, it ensures that the Foundation is working toward achieving its mission, + and it appoints and supervises senior members of Foundation staff. +

+

The Foundation Board

+

Membership

+
    +
  • Being a member of the Foundation Board means giving you the opportunity to contribute directly to the + strategic direction of the Foundation, to help build the Haskell community, and to help promote the broader + adoption of functional programming.
  • +
  • Being a member of the Board is not an honorary post; it involves real work. There will typically be ad-hoc or + permanent working groups, on which Board members are expected to serve or chair.
  • +
  • Currently, the Board meets for one hour every two weeks, with attendance taken. + Board members may excuse themselves from meeting by an email to the Chair, but such excuses should ideally be + infrequent.
  • +
  • Once appointed, Board members should act in the best interests of the Foundation and the entire Haskell + community; they are not appointed to represent the interests of a particular group.
  • +
+ +

Criteria

+

Nominations for membership of the Board will be evaluated against the following criteria:

+ +
    +
  • You have a positive drive and vision for the Haskell community and ecosystem
  • +
  • You have a track record of contribution to the Haskell community and ecosystem
  • +
  • You are widely trusted and respected in the community.
  • +
  • You have enough time and energy to devote to being a member of the board; it is not an honorary position!
  • +
-
-
- -

- The Board of Directors of the Haskell Foundation is pleased to announce the nomination process for Board seats. - As per the - Board membership lifecycle rules, and since the current board has 13 members, at most one position may - be filled by this call. Note that the Board may also choose to not elect any new members at this stage, since it is - not about to drop below the minimum of 8 members. -

- -

- The Board provides the strategic leadership for the Foundation, and is the final decision-making body for everything - the Foundation does. More specifically, it ensures that the Foundation is working toward achieving its mission, - and it appoints and supervises senior members of Foundation staff. -

- -

The Foundation Board

-

Membership

- -
    -
  • Being a member of the Foundation Board means giving you the opportunity to contribute directly to the - strategic direction of the Foundation, to help build the Haskell community, and to help promote the broader - adoption of functional programming.
  • -
  • Being a member of the Board is not an honorary post; it involves real work. There will typically be ad-hoc or - permanent working groups, on which Board members are expected to serve or chair.
  • -
  • Currently, the Board meets for one hour every two weeks, with attendance taken. - Board members may excuse themselves from meeting by an email to the Chair, but such excuses should ideally be - infrequent.
  • -
  • Once appointed, Board members should act in the best interests of the Foundation and the entire Haskell - community; they are not appointed to represent the interests of a particular group.
  • -
- -

Criteria

-

Nominations for membership of the Board will be evaluated against the following criteria:

- -
    -
  • You have a positive drive and vision for the Haskell community and ecosystem
  • -
  • You have a track record of contribution to the Haskell community and ecosystem
  • -
  • You are widely trusted and respected in the community.
  • -
  • You have enough time and energy to devote to being a member of the board; it is not an honorary position!
  • -
- -

- Moreover, the Haskell Foundation Board aims to reflect the priorities of Haskell’s various constituencies, including: -

+

+ Moreover, the Haskell Foundation Board aims to reflect the priorities of Haskell’s various constituencies, including: +

  • Companies that use Haskell in production, and Haskell consultancies; giving this group a stronger voice is one of the HF’s main goals.
  • @@ -93,23 +91,25 @@

    Criteria

  • Functional programming researchers who build on and/or develop Haskell.
-

NB: nominations are also welcome from individuals who meet other criteria but do not represent any particular constituency.

+

NB: nominations are also welcome from individuals who meet other criteria but do not represent any particular constituency.

-

Simultaneously hitting all these criteria is nigh impossible. However, each subsequent round of nominations for new Board members offers a fresh chance to rectify any imbalances.

+

Simultaneously hitting all these criteria is nigh impossible. However, each subsequent round of nominations for new Board members offers a fresh chance to rectify any imbalances.

-

Nominations

-

Please submit your nomination to nominations@haskell.foundation, by 1st March 2022.

+

Nominations

+

Please submit your nomination to nominations@haskell.foundation, by 1st March 2022.

-

Your nomination should be accompanied by a brief CV and a covering letter that says

+

Your nomination should be accompanied by a brief CV and a covering letter that says

-
    -
  • How you fit the above criteria.
  • -
  • Why you would like to be a Board member
  • -
  • What you feel you could contribute
  • -
+
    +
  • How you fit the above criteria.
  • +
  • Why you would like to be a Board member
  • +
  • What you feel you could contribute
  • +
-

- For further information about the nomination process, please contact the secretariat of the Foundation - (Secretary Théophile Hécate Choutri and Vice Secretary José Pedro Magalhães) at - secretariat@haskell.foundation. -

+

+ For further information about the nomination process, please contact the secretariat of the Foundation + (Secretary Théophile Hécate Choutri and Vice Secretary José Pedro Magalhães) at + secretariat@haskell.foundation. +

+
+
diff --git a/board-nominations/index.html b/board-nominations/index.html index ef039a17..ac33eafe 100644 --- a/board-nominations/index.html +++ b/board-nominations/index.html @@ -2,176 +2,174 @@ title: Board Nominations for the Haskell Foundation (historical) ---
Note: This page is for historical purposes, the call for nominations has expired.
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
+
+

Haskell Foundation Board Call For Nominations

-
-
-

Haskell Foundation Board Call For Nominations

- -
+
+ +
+
+ +

The Haskell Foundation seeks nominations for the Foundation Board.

+

The Haskell Foundation is a new non-profit organisation that seeks to articulate the benefits of functional programming to a broader audience, to erase barriers to entry, and to support Haskell as a solidly reliable basis for mission-critical applications.

+

The Foundation Board

+

Remit Of The Board

+

The Board provides the strategic leadership for the Foundation, and is the decision-making body for everything the Foundation does. More specifically

-
-
- -

The Haskell Foundation seeks nominations for the Foundation Board.

- -

The Haskell Foundation is a new non-profit organisation that seeks to articulate the benefits of functional programming to a broader audience, to erase barriers to entry, and to support Haskell as a solidly reliable basis for mission-critical applications.

- -

The Foundation Board

-

Remit Of The Board

-

The Board provides the strategic leadership for the Foundation, and is the decision-making body for everything the Foundation does. More specifically

- -
    -
  • Governance: leadership and direction - set strategy, provide guidance
  • -
  • Staff: appoint senior members of Foundation staff
  • -
  • Define, curate and track Foundation goals
  • -
  • Deploy the funds raised by the Foundation to support the Foundation’s goals.
  • -
  • Seek out opportunities to further the goals of the Foundation
  • -
  • Represent the Haskell community to the world: liaise with sponsors, public bodies (ACM, standards committees) etc
  • -
  • Ensure success and long-term continuity of the Foundation
  • -
  • Receive and review financial accounts
  • -
- -

- The Foundation will not supplant or replace the excellent work of existing groups. So, for example, the GHC Steering Group is responsible for making decisions about GHC proposals. Similarly, decisions about stack are taken by the stack team, and about Haddock are taken by the Haddock team. The Board will hopefully influence these groups, and improve communication between them, but they remain individually responsible for decisions in their bailiwicks. -

- -

Membership

-

- - Being a member of the Foundation Board means gives you the opportunity to contribute directly to the strategic direction of the Foundation, to help build the Haskell community, and to help promote the broader adoption of functional programming. -

- -
    -
  • - Being a member of the Board is not an honorary post; it involves real work. There will typically be ad-hoc or permanent working groups, on which Board members are expected to serve or chair. -
  • -
  • - The Board needs to be big enough to have a breadth of expertise and representation, but small enough to be effective. We will start with a Board of 12 members. -
  • -
  • - Once appointed, board members should act in the best interests of the Foundation and the entire Haskell community; they are not appointed to represent the interests of a particular group. -
  • -
  • - Members will have fixed terms, to ensure a steady turnover of members. There is a balance here: it’s a pity to lose strong, well-qualified members too quickly. The details remain to be settled, but will be something like: three or four year terms, but with the possibility of being renewed once, and the possibility of returning after a gap. -
  • -
  • - Terms will be staggered so that a similar number of members reach the end of their term at regular intervals. “Regular intervals” might mean annually or every two years; again there is a balance between providing a regular “way in” and the overheads of nomination, selection, and onboarding. To bootstrap this process the Interim Board may invite some members to serve for shorter initial terms. -
  • -
  • - No two members should be paid employees of the same organisation -
  • -
- -

- The Executive Director reports to the board, attends all board meetings, but does not vote. -

- -

- The initial membership of the Board will be chosen by the Interim Board, based on open nominations against written criteria. (After this bootstrap process, the Board itself chooses its new members, based on a similar call for nominations.) This document is the call for nominations. -

- -

Key Roles

-
    -
  • Chair (elected annually by the Foundation Board members)
  • -
  • Treasurer
  • -
  • Secretary
  • -
- -

Transparency

-

The Board should conduct its business as transparently as possible. Specifically:

- -
    -
  • It should publish public minutes of meetings and decisions.
  • -
  • It should be open about its finances: where money comes from, and what it is spent on.
  • -
  • It should conduct most conversations on a publicly-readable mailing list.
  • -
- -

In all cases there may be some aspects of the Board’s work that should properly be private, e.g. relating to security, staff, or money. The Board will have to make judgements about this, but the strong default is to work in public.

- -

Nominations For The Board

-

Please submit your nomination to nominations@haskell.foundation, by Monday 11 January 2021.

- -

Your nomination should be accompanied by a brief CV and a covering letter that says

- -
    -
  • How you fit the criteria below.
  • -
  • Why you would like to be a Board member
  • -
  • What you feel you could contribute
  • -
- -

Please indicate whether you would consider the role of Secretary (legal knowledge/experience useful) or Treasurer (financial knowledge/experience useful).

- -

These nominations will be evaluated by the Interim Board, which will disband once the Foundation Board is in place. Its members are:

- -
    -
  • Lennart Augustsson (Epic Games)
  • -
  • Chris Dornan (IRIS Connect)
  • -
  • Jasper van der Jeugt (haskell.org)
  • -
  • Gabriele Keller (Utrecht University)
  • -
  • Ed Kmett (Miri)
  • -
  • Simon Marlow (Facebook)
  • -
  • Simon Peyton Jones (Microsoft Research)
  • -
  • Stephanie Weirich (University of Pennsylvania)
  • -
- -

Criteria

-

Nominations for membership of the Board will be evaluated against the following criteria:

- -
    -
  • You have a positive drive and vision for the Haskell community and ecosystem
  • -
  • You have a track record of contribution to the Haskell community and ecosystem
  • -
  • You are widely trusted and respected in the community.
  • -
  • You have enough time and energy to devote to being a member of the board; it is not an honorary position!
  • -
-

The Interim Board will seek to appoint a Board that, collectively, satisfies these criteria:

- -
    -
  • Includes individuals with the skills, expertise and experience (e.g. technical, legal, organisational, community-building) that the Board needs.
  • -
  • Reflects the rich diversity (e.g. of age, gender, geographical spread) that is in the Haskell community.
  • -
  • Includes individuals who are well-equipped to reflect the priorities of Haskell’s various constituencies, including
      -
    • Companies that use Haskell in production, and Haskell consultancies; giving this group a stronger voice is one of the HF’s main goals.
    • -
    • Users of Haskell. That might include companies, but also includes the broader open-source community, hobbyists, etc.
    • -
    • Sponsors: companies (or even individuals) who are funding the Foundation.
    • -
    • People who build and run the infrastructure of the Haskell ecosystem: compilers, libraries, packaging and distribution, IDEs etc.
    • -
    • Educators, including school, university, and commercial training courses.
    • -
    • Functional programming researchers who build on and/or develop Haskell.
    • +
    • Governance: leadership and direction - set strategy, provide guidance
    • +
    • Staff: appoint senior members of Foundation staff
    • +
    • Define, curate and track Foundation goals
    • +
    • Deploy the funds raised by the Foundation to support the Foundation’s goals.
    • +
    • Seek out opportunities to further the goals of the Foundation
    • +
    • Represent the Haskell community to the world: liaise with sponsors, public bodies (ACM, standards committees) etc
    • +
    • Ensure success and long-term continuity of the Foundation
    • +
    • Receive and review financial accounts
    -
  • -
-

NB: nominations are also welcome from individuals who meet other criteria but do not represent any particular constituency.

-

Simultaneously hitting all these criteria is nigh impossible. However, each subsequent round of nominations for new Board members offers a fresh chance to rectify any imbalances.

+

+ The Foundation will not supplant or replace the excellent work of existing groups. So, for example, the GHC Steering Group is responsible for making decisions about GHC proposals. Similarly, decisions about stack are taken by the stack team, and about Haddock are taken by the Haddock team. The Board will hopefully influence these groups, and improve communication between them, but they remain individually responsible for decisions in their bailiwicks. +

+ +

Membership

+

+ + Being a member of the Foundation Board means gives you the opportunity to contribute directly to the strategic direction of the Foundation, to help build the Haskell community, and to help promote the broader adoption of functional programming. +

+ +
    +
  • + Being a member of the Board is not an honorary post; it involves real work. There will typically be ad-hoc or permanent working groups, on which Board members are expected to serve or chair. +
  • +
  • + The Board needs to be big enough to have a breadth of expertise and representation, but small enough to be effective. We will start with a Board of 12 members. +
  • +
  • + Once appointed, board members should act in the best interests of the Foundation and the entire Haskell community; they are not appointed to represent the interests of a particular group. +
  • +
  • + Members will have fixed terms, to ensure a steady turnover of members. There is a balance here: it’s a pity to lose strong, well-qualified members too quickly. The details remain to be settled, but will be something like: three or four year terms, but with the possibility of being renewed once, and the possibility of returning after a gap. +
  • +
  • + Terms will be staggered so that a similar number of members reach the end of their term at regular intervals. “Regular intervals” might mean annually or every two years; again there is a balance between providing a regular “way in” and the overheads of nomination, selection, and onboarding. To bootstrap this process the Interim Board may invite some members to serve for shorter initial terms. +
  • +
  • + No two members should be paid employees of the same organisation +
  • +
+ +

+ The Executive Director reports to the board, attends all board meetings, but does not vote. +

+ +

+ The initial membership of the Board will be chosen by the Interim Board, based on open nominations against written criteria. (After this bootstrap process, the Board itself chooses its new members, based on a similar call for nominations.) This document is the call for nominations. +

+ +

Key Roles

+
    +
  • Chair (elected annually by the Foundation Board members)
  • +
  • Treasurer
  • +
  • Secretary
  • +
+ +

Transparency

+

The Board should conduct its business as transparently as possible. Specifically:

+ +
    +
  • It should publish public minutes of meetings and decisions.
  • +
  • It should be open about its finances: where money comes from, and what it is spent on.
  • +
  • It should conduct most conversations on a publicly-readable mailing list.
  • +
+ +

In all cases there may be some aspects of the Board’s work that should properly be private, e.g. relating to security, staff, or money. The Board will have to make judgements about this, but the strong default is to work in public.

+ +

Nominations For The Board

+

Please submit your nomination to nominations@haskell.foundation, by Monday 11 January 2021.

+ +

Your nomination should be accompanied by a brief CV and a covering letter that says

+ +
    +
  • How you fit the criteria below.
  • +
  • Why you would like to be a Board member
  • +
  • What you feel you could contribute
  • +
+ +

Please indicate whether you would consider the role of Secretary (legal knowledge/experience useful) or Treasurer (financial knowledge/experience useful).

+ +

These nominations will be evaluated by the Interim Board, which will disband once the Foundation Board is in place. Its members are:

+ +
    +
  • Lennart Augustsson (Epic Games)
  • +
  • Chris Dornan (IRIS Connect)
  • +
  • Jasper van der Jeugt (haskell.org)
  • +
  • Gabriele Keller (Utrecht University)
  • +
  • Ed Kmett (Miri)
  • +
  • Simon Marlow (Facebook)
  • +
  • Simon Peyton Jones (Microsoft Research)
  • +
  • Stephanie Weirich (University of Pennsylvania)
  • +
+ +

Criteria

+

Nominations for membership of the Board will be evaluated against the following criteria:

+ +
    +
  • You have a positive drive and vision for the Haskell community and ecosystem
  • +
  • You have a track record of contribution to the Haskell community and ecosystem
  • +
  • You are widely trusted and respected in the community.
  • +
  • You have enough time and energy to devote to being a member of the board; it is not an honorary position!
  • +
+

The Interim Board will seek to appoint a Board that, collectively, satisfies these criteria:

+ +
    +
  • Includes individuals with the skills, expertise and experience (e.g. technical, legal, organisational, community-building) that the Board needs.
  • +
  • Reflects the rich diversity (e.g. of age, gender, geographical spread) that is in the Haskell community.
  • +
  • Includes individuals who are well-equipped to reflect the priorities of Haskell’s various constituencies, including +
      +
    • Companies that use Haskell in production, and Haskell consultancies; giving this group a stronger voice is one of the HF’s main goals.
    • +
    • Users of Haskell. That might include companies, but also includes the broader open-source community, hobbyists, etc.
    • +
    • Sponsors: companies (or even individuals) who are funding the Foundation.
    • +
    • People who build and run the infrastructure of the Haskell ecosystem: compilers, libraries, packaging and distribution, IDEs etc.
    • +
    • Educators, including school, university, and commercial training courses.
    • +
    • Functional programming researchers who build on and/or develop Haskell.
    • +
    +
  • +
+

NB: nominations are also welcome from individuals who meet other criteria but do not represent any particular constituency.

+ +

Simultaneously hitting all these criteria is nigh impossible. However, each subsequent round of nominations for new Board members offers a fresh chance to rectify any imbalances.

-
+
diff --git a/contact/index.html b/contact/index.html index 91efa147..99041f00 100644 --- a/contact/index.html +++ b/contact/index.html @@ -1,137 +1,135 @@ --- title: Contacting the Haskell Foundation --- -
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-

Contact

- -
+
+
+

Contact

-
-

General Information

-

For general information or volunteer opportunities, please email us:

+
+

General Information

+

For general information or volunteer opportunities, please email us:

-
+
-
-

Sponsorship

-

Does your company use Haskell? Email us to join the conversation with other enterprise users of Haskell.

+
+

Sponsorship

+

Does your company use Haskell? Email us to join the conversation with other enterprise users of Haskell.

-
+
-
-

Press Kit

-

For press-related information, including branding, logos, and syndication opportunities, please email us:

+
+

Press Kit

+

For press-related information, including branding, logos, and syndication opportunities, please email us:

-
+
-
-

Volunteers

-

For more information on volunteer opportunities, please email us:

+
+

Volunteers

+

For more information on volunteer opportunities, please email us:

-
+
-
-

Board of Directors

-

To contact the Haskell Foundation Board of Directors, email the Google Group:

+
+

Board of Directors

+

To contact the Haskell Foundation Board of Directors, email the Google Group:

-

You can also read the Google Group:

- +

You can also read the Google Group:

+ -
+
-
-
-

Follow HF Developments

-

Follow us on or join a mailing list

-
- -
-
-
-

HF Discourse

-

- Discourse is where HF presents its major announcements, and solicits feedback on proposals and ongoing development. Additionally, this is a great place to make your desire to participate known, and to get up to date meeting minutes. All posted meeting minutes are archived at the HF gitlab repository. -

-
- - +
+
+

Follow HF Developments

+

Follow us on or join a mailing list

-
-
-

HF Slack

-

- Joining the Slack is a great way to begin volunteering and participating in HF projects. All HF Slack communications are considered informal and are expected to conform to the Guidelines for Respectful Communication. -

-
-
- >> Slack Invite + +
+
+
+

HF Discourse

+

+ Discourse is where HF presents its major announcements, and solicits feedback on proposals and ongoing development. Additionally, this is a great place to make your desire to participate known, and to get up to date meeting minutes. All posted meeting minutes are archived at the HF gitlab repository. +

+ +
+
+

HF Slack

+

+ Joining the Slack is a great way to begin volunteering and participating in HF projects. All HF Slack communications are considered informal and are expected to conform to the Guidelines for Respectful Communication. +

+
+ +
+
- -
-
diff --git a/site.hs b/site.hs index ce062f99..3f77edda 100644 --- a/site.hs +++ b/site.hs @@ -22,6 +22,10 @@ main = hakyll $ do route idRoute compile compressCssCompiler + match "assets/css/theme.css" $ do + route idRoute + compile compressCssCompiler + match "assets/**" $ do route idRoute compile copyFileCompiler diff --git a/templates/affiliates/list.html b/templates/affiliates/list.html index 5e3e4102..50e7df99 100644 --- a/templates/affiliates/list.html +++ b/templates/affiliates/list.html @@ -2,8 +2,8 @@ title: Affiliates ---
-
-
+
+
We invite existing Haskell projects, committees and communities to explicitly affiliate and align themselves with the Haskell Foundation. Affiliation means that the group supports the goals of the Haskell Foundation, and diff --git a/templates/affiliates/tile.html b/templates/affiliates/tile.html index bc2700c4..a67c91ea 100644 --- a/templates/affiliates/tile.html +++ b/templates/affiliates/tile.html @@ -1,5 +1,5 @@ - -
$title$
-
$externalUrl$
+ $title$ +

$externalUrl$

diff --git a/templates/boilerplate.html b/templates/boilerplate.html index cc51a4c2..ad4eaa06 100644 --- a/templates/boilerplate.html +++ b/templates/boilerplate.html @@ -1,58 +1,60 @@ + - + + + + + + + + + - - - - - - - - - - - - - $title$ - - - - - - - - - - + + - - - - -$partial("templates/mobile-nav-flyout.html")$ + } + + + + + $partial("templates/mobile-nav-flyout.html")$ - -
-
- $partial("templates/nav.html")$ -
+ +
+
+ $partial("templates/nav.html")$ +
-
- $body$ -
+
+ $body$ +
- $partial("templates/footer.html")$ -
+
+ $partial("templates/footer.html")$ +
+
- + diff --git a/templates/careers/list.html b/templates/careers/list.html index 2d0ec37f..4724dae7 100644 --- a/templates/careers/list.html +++ b/templates/careers/list.html @@ -46,9 +46,9 @@

Careers

$if(openreqs)$
-
-

Working at the Haskell Foundation

-

+

+

Working at the Haskell Foundation

+

Interested in working at the crossroads of the Haskell ecosystem?

@@ -64,9 +64,9 @@

Working at the Has $endif$
-
-

Haskell Foundation Sponsors Hiring Haskellers

-

+

+

Haskell Foundation Sponsors Hiring Haskellers

+

Many of our sponsors are actively hiring Haskell engineers.

diff --git a/templates/careers/page.html b/templates/careers/page.html index 65fc9db0..32a58432 100644 --- a/templates/careers/page.html +++ b/templates/careers/page.html @@ -6,7 +6,7 @@

$title$

-
+
Posted: $postedOn$
Status: $status$
diff --git a/templates/careers/tile.html b/templates/careers/tile.html index 25ac23ae..4c0f001b 100644 --- a/templates/careers/tile.html +++ b/templates/careers/tile.html @@ -1,5 +1,5 @@ -
-
+
+

$title$

$summary$

diff --git a/templates/donations/list.html b/templates/donations/list.html index dd73092a..5d2f93b5 100644 --- a/templates/donations/list.html +++ b/templates/donations/list.html @@ -4,39 +4,39 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
+
-
-

Donations

-
+
+

Donations

+
-
+

Donating To The Haskell Foundation

@@ -55,43 +55,43 @@

Donating To The Haskell Foundat -
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
+
-
-

Sponsorship

-
+
+

Sponsorship

+
-
+

Sponsoring The Haskell Foundation

@@ -105,97 +105,97 @@

Sponsoring The Haskell Foundati

-
-
-
-

Sponsorship Levels

-
+
+
+
+

Sponsorship Levels

+
-
-
+
+
-
+
-
-
-

Functor

-
USD $$10k+ / year
-
-

- Receive ongoing acknowledgements on social media channels and have a small logo displayed on the HF website. -

+
+

Functor

+
USD $$10k+ / year
+
+

+ Receive ongoing acknowledgements on social media channels and have a small logo displayed on the HF website. +

+
-
-
+
+
-
+
-
+
-
-
-

Applicative

-
USD $$25k+ / year
-
-

- Have your logo and story featured in the Supporter Spotlight on the website and newsletter, a medium- sized logo displayed on the HF website, and receive ongoing recognition on our social media pages. -

+
+

Applicative

+
USD $$25k+ / year
+
+

+ Have your logo and story featured in the Supporter Spotlight on the website and newsletter, a medium- sized logo displayed on the HF website, and receive ongoing recognition on our social media pages. +

+
-
-
+
+
-
+
-
+
-
+
-
-
-

Monad

-
USD $$70k+ / year
-
-

- All of the benefits of Functor and Applicative memberships, with the addition of a full interview for the Haskell Foundation blog, as well as having your logo prominently displayed on the HF website. -

+
+

Monad

+
USD $$70k+ / year
+
+

+ All of the benefits of Functor and Applicative memberships, with the addition of a full interview for the Haskell Foundation blog, as well as having your logo prominently displayed on the HF website. +

+
+
-
-
+
-
-
-

In-Kind Support

-

+

+
+

In-Kind Support

+

- Non-financial contributions to HF are also welcome. As a volunteer-based organization, the Haskell Foundation needs volunteers who can work on software, documentation, promotion, and other tasks to support the HF affiliated projects and the Haskell community. Individuals who contribute their own time or on behalf of their company are the backbone of our organization. Please reach out to us at contact@haskell.foundation to learn more about how you can volunteer or offer in-kind support. + Non-financial contributions to HF are also welcome. As a volunteer-based organization, the Haskell Foundation needs volunteers who can work on software, documentation, promotion, and other tasks to support the HF affiliated projects and the Haskell community. Individuals who contribute their own time or on behalf of their company are the backbone of our organization. Please reach out to us at contact@haskell.foundation to learn more about how you can volunteer or offer in-kind support. -

+

-
-
-
-
- +
+
+
+
+ +
+

In-Kind Donations

+
+
+ $for(inkinds)$ + $partial("templates/donations/tile.html")$ + $endfor$
-

In-Kind Donations

-
-
- $for(inkinds)$ - $partial("templates/donations/tile.html")$ - $endfor$
-
-
+
diff --git a/templates/donations/page.html b/templates/donations/page.html index 478e1442..58c24131 100644 --- a/templates/donations/page.html +++ b/templates/donations/page.html @@ -1,40 +1,39 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-

$title$

-
-
- -
-
-
- $body$ -
-
+
+

$title$

+
+
+
+ +
+
+
+ $body$
- \ No newline at end of file +
+
diff --git a/templates/donations/tile.html b/templates/donations/tile.html index 8c89f5f1..c2edc39f 100644 --- a/templates/donations/tile.html +++ b/templates/donations/tile.html @@ -1,5 +1,5 @@ -
-
+
+
@@ -66,6 +66,7 @@
+
@@ -78,4 +79,3 @@
-
diff --git a/templates/homepage.html b/templates/homepage.html index 6e72f9f9..4c059a14 100644 --- a/templates/homepage.html +++ b/templates/homepage.html @@ -6,8 +6,8 @@

The Haskell Foundation

-

Amplify Haskell’s impact on humanity.

-
An independent, non-profit organization dedicated to broadening the adoption of Haskell, by supporting its ecosystem of tools, libraries, education, and research.
+

Amplify Haskell’s impact on humanity.

+
An independent, non-profit organization dedicated to broadening the adoption of Haskell, by supporting its ecosystem of tools, libraries, education, and research.
@@ -15,38 +15,38 @@

Amplify Haskell’s impact on humanity.

-
+
- $if(openreqs)$ - $for(openreqs)$ - $partial("templates/careers/tile.html")$ - $endfor$ - $endif$ - - $for(episodes)$ -
-
-

- $episode$ – $title$ -

-
- $body$ - -
+ $if(openreqs)$ + $for(openreqs)$ + $partial("templates/careers/tile.html")$ + $endfor$ + $endif$ + + $for(episodes)$ +
+
+

+ $episode$ – $title$ +

+
+ $body$ + +
- $endfor$ +
+ $endfor$
-
+
-
+
-
+
@@ -66,11 +66,10 @@

We drive change.

- -
+

Not “just another programming language”

-

+

Haskell embodies a radical and elegant attack on the entire enterprise of writing software. It profoundly influences the world of software for the better.

@@ -79,129 +78,127 @@

Not “just another programming langu

- -
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-

Our Ethos

+
+
+

Our Ethos

-

Ideas that guide our every decision

+

Ideas that guide our every decision

-
+
-
- -

Faithfulness to Haskell’s founding design principles.

-

Haskell’s design puts principle ahead of expediency by cleaving closely to the principles of purely functional programming.

-
+
+ +

Faithfulness to Haskell’s founding design principles.

+

Haskell’s design puts principle ahead of expediency by cleaving closely to the principles of purely functional programming.

+
-
- -

Open source.

-

All Haskell Foundation efforts are open source.

-
+
+ +

Open source.

+

All Haskell Foundation efforts are open source.

+
-
- -

Empowering the community.

-

HF augments, celebrates, and coordinates the contributions and leadership of Haskell’s vibrant community.

-
+
+ +

Empowering the community.

+

HF augments, celebrates, and coordinates the contributions and leadership of Haskell’s vibrant community.

+
-
- -

Openness, friendliness, and diversity.

-

For many, Haskell is more a way of life than a programming language. All are welcome, all can contribute. To this end we have adopted the Haskell Guidelines For Respectful Communication.

-
+
+ +

Openness, friendliness, and diversity.

+

For many, Haskell is more a way of life than a programming language. All are welcome, all can contribute. To this end we have adopted the Haskell Guidelines For Respectful Communication.

+
-
- -

Transparency.

-

All technical decisions related to HF’s open source projects are proposed and debated in public.

-
+
+ +

Transparency.

+

All technical decisions related to HF’s open source projects are proposed and debated in public.

+
- -
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-

Follow HF Developments

+
+

Follow HF Developments

-
-

Follow us on or join a mailing list

+
+

Follow us on or join a mailing list

-
+
-
-

Haskell Foundation Discourse

-

- The Haskell Foundation category in the Haskell Discourse is where we make official announcements, and have discussions with the community. -

-
+
+

Haskell Foundation Discourse

+

+ The Haskell Foundation category in the Haskell Discourse is where we make official announcements, and have discussions with the community. +

+
-
+

Haskell Foundation Board Google Group

Official communication channel for HF Board members, the archive is publicly available.

-
+
diff --git a/templates/mobile-nav-flyout.html b/templates/mobile-nav-flyout.html index df3a5f46..1dd51e46 100644 --- a/templates/mobile-nav-flyout.html +++ b/templates/mobile-nav-flyout.html @@ -1,50 +1,52 @@ -