diff --git a/admin/config.yml b/admin/config.yml
index 86fa2e55..1020f39c 100644
--- a/admin/config.yml
+++ b/admin/config.yml
@@ -13,10 +13,6 @@ i18n:
default_locale: en
collections:
- ########################################################################
- # Single Pages
- ########################################################################
-
# PAGE: Home #####################################################
- name: "_index"
label: "Home page"
@@ -92,50 +88,6 @@ collections:
fields: [{ label: "Item", name: "item", widget: string }],
}
- # PAGE: Volunteers #####################################################
-
- - name: "volunteers"
- label: "Volunteers"
- folder: "content/contribute/volunteers"
- slug: "_index"
- i18n: true
- create: true
- fields:
- - label: "type"
- name: "type"
- widget: "hidden"
- value: "volunteers"
- - label: "title"
- name: "title"
- widget: "string"
- default: "Become a volunteer"
- i18n: true
- - label: "opener"
- name: "opener"
- widget: "string"
- i18n: true
- - label: "Intro"
- name: "intro"
- widget: "text"
- i18n: true
- - label: "Core Values Title"
- name: "corevaluestitle"
- widget: "string"
- i18n: true
- - label: "Core values"
- name: "corevalues"
- widget: "list"
- i18n: true
- fields:
- - label: "title"
- name: "title"
- widget: "string"
- i18n: true
- - label: "description"
- name: "description"
- widget: "text"
- i18n: true
-
# PAGE: FAQ #####################################################
- name: "faq"
@@ -217,23 +169,18 @@ collections:
required: false,
}
- # PAGE: Partners #####################################################
-
- - name: "partners"
- label: "Partners"
- folder: "content/contribute/partners"
+ # PAGE: Contact #####################################################
+ - name: "contact"
+ label: "Contact"
+ folder: "content/contact"
slug: "_index"
create: true
i18n: true
fields:
- - label: "type"
- name: "type"
- widget: "hidden"
- value: "partners"
- - label: "title"
+ - label: "Title"
name: "title"
widget: "string"
- default: "Become a partner"
+ default: "Contact"
i18n: true
- label: "Opener"
name: "opener"
@@ -241,61 +188,30 @@ collections:
i18n: true
- label: "Intro"
name: "intro"
- widget: "text"
- i18n: true
- - label: "Partners Title"
- name: "partnerstitle"
- widget: "string"
+ widget: text
i18n: true
- - label: "Partners Intro"
- name: "partnersintro"
- widget: "text"
+ - label: "Form"
+ name: "form"
i18n: true
- - label: "Partner Quote"
- name: "partnerquote"
widget: "object"
- i18n: true
- fields:
- - { label: "Name", name: "name", widget: "string" }
- - { label: "Website", name: "website", widget: "string" }
- - { label: "Role", name: "role", widget: "string", i18n: true }
- - { label: "Quote", name: "quote", widget: "text", i18n: true }
- - {
- label: "Image",
- name: "image",
- widget: "image",
- public_folder: "/images/partners",
- media_folder: "/assets/images/partners",
- }
- - label: "Partners"
- name: "partnerlist"
- widget: "list"
- i18n: true
fields:
- - label: "name"
- name: "name"
+ - label: "Title"
+ name: "title"
widget: "string"
i18n: true
- - label: "description"
+ - label: "Description"
name: "description"
widget: "text"
i18n: true
- - label: "website"
- name: "website"
- widget: "string"
- i18n: true
- - label: "Image"
- name: "image"
- widget: "image"
- public_folder: "/images/partners"
- media_folder: "/assets/images/partners"
- required: false
- # PAGE: Who we are #####################################################
+ ######################################
+ # SECTION: Newsroom
+ ####
- - name: "whoweare"
- label: "Who we are"
- folder: "content/who-we-are"
+ # PAGE: Newsroom #####################################################
+ - label: "Newsroom"
+ name: "newsroom"
+ folder: "content/newsroom"
slug: "_index"
create: true
i18n: true
@@ -303,7 +219,7 @@ collections:
- label: "Title"
name: "title"
widget: "string"
- default: "Who we are"
+ default: "Newsroom"
i18n: true
- label: "Opener"
name: "opener"
@@ -313,8 +229,11 @@ collections:
name: "intro"
widget: text
i18n: true
- - label: "Mission and History"
- name: "missionandhistory"
+ - label: "Newsletter link"
+ name: "newsletter"
+ widget: "string"
+ - label: "Starter"
+ name: "starter"
i18n: true
widget: "object"
fields:
@@ -322,43 +241,82 @@ collections:
name: "title"
widget: "string"
i18n: true
- - label: "Intro"
- name: "intro"
- widget: "text"
- i18n: true
- - label: "Description"
- name: "description"
- widget: "text"
- i18n: true
- - label: "Communication Manager"
- name: "communicationmanager"
- i18n: true
- widget: "object"
- fields:
- - label: "Name"
- name: "name"
- widget: "string"
- i18n: true
- - label: "Role"
- name: "role"
- widget: "string"
- i18n: true
- label: "Description"
name: "description"
widget: "text"
i18n: true
- - label: "Image"
- name: "image"
- widget: "image"
- public_folder: "/images/whoweare"
- media_folder: "/assets/images/whoweare"
- required: false
+ - label: "highlight"
+ name: "highlight"
+ widget: "relation"
+ collection: "articles"
+ search_fields: ["title", "case.caseid"]
+ value_field: "/newsroom/article/{{slug}}"
+ display_fields: ["title", "case.caseid"]
- # PAGE : What we do #####################################################
+ # COLLECTION: Articles #####################################################
+ - label: "Articles"
+ name: "articles"
+ i18n:
+ structure: multiple_files
+ folder: "content/newsroom/articles"
+ create: true
+ slug: "{{slug}}"
+ fields:
+ - { label: "Title", name: "title", widget: "string", i18n: true }
+ - { label: "Publish Date", name: "date", widget: "datetime" }
+ - {
+ label: "Tag",
+ name: "tag",
+ widget: "select",
+ options: ["case", "news", "updates", "culture"],
+ }
+ - { label: "Intro", name: "intro", widget: "text", i18n: true }
+ - {
+ label: "Image",
+ name: "image",
+ widget: "image",
+ public_folder: "/images/articles",
+ media_folder: "/assets/images/articles",
+ required: false,
+ }
+ - {
+ label: "case",
+ required: false,
+ name: "case",
+ widget: "object",
+ collapsed: true,
+ fields:
+ [
+ {
+ label: "Case ID",
+ name: "caseid",
+ widget: "string",
+ required: false,
+ },
+ {
+ label: "Case closed",
+ name: "closed",
+ widget: "boolean",
+ required: false,
+ },
+ {
+ label: "Case link",
+ name: "link",
+ widget: "string",
+ required: false,
+ },
+ ],
+ }
+ - { label: "Body", name: "body", widget: "markdown", i18n: true }
- - name: "whatwedo"
- label: "What we do"
- folder: "content/what-we-do"
+ ######################################
+ # SECTION: Contribute
+ ####
+
+ # PAGE: Contribute #####################################################
+ - name: "contribute"
+ label: "Contribute"
+ folder: "content/contribute"
slug: "_index"
create: true
i18n: true
@@ -366,13 +324,18 @@ collections:
- label: "Title"
name: "title"
widget: "string"
+ default: "Contribute"
+ i18n: true
+ - label: "Opener"
+ name: "opener"
+ widget: "string"
i18n: true
- label: "Intro"
name: "intro"
widget: text
i18n: true
- - label: "What we do content"
- name: "whatwedocontent"
+ - label: "Become a Volunteer"
+ name: "becomevolunteer"
i18n: true
widget: "object"
fields:
@@ -384,8 +347,8 @@ collections:
name: "description"
widget: "text"
i18n: true
- - label: "Scouting"
- name: "scouting"
+ - label: "Become a Partner"
+ name: "becomepartner"
i18n: true
widget: "object"
fields:
@@ -397,8 +360,9 @@ collections:
name: "description"
widget: "text"
i18n: true
- - label: "Assessing"
- name: "assessing"
+
+ - label: "Appreciate"
+ name: "appreciate"
i18n: true
widget: "object"
fields:
@@ -410,12 +374,13 @@ collections:
name: "description"
widget: "text"
i18n: true
- - label: "Reporting"
- name: "reporting"
+
+ - label: "Donate SUPP"
+ name: "donatesupp"
i18n: true
widget: "object"
fields:
- - label: "Title"
+ - label: "SUPP"
name: "title"
widget: "string"
i18n: true
@@ -423,81 +388,180 @@ collections:
name: "description"
widget: "text"
i18n: true
+ - label: "Value Links"
+ name: "links"
+ widget: "list"
+ i18n: true
+ max: 3
+ fields:
+ - label: "Label"
+ name: "label"
+ widget: "string"
+ i18n: true
+ - label: "Link"
+ name: "link"
+ widget: "string"
+ i18n: true
+ - label: "Custome ammount link"
+ name: "customlink"
+ widget: "string"
+ i18n: true
- # PAGE: The Team #####################################################
- - name: "team"
- label: "Team"
- folder: "content/team"
- slug: "_index"
- create: true
+ - label: "Donate Paypal"
+ name: "donatepaypal"
+ i18n: true
+ widget: "object"
+ fields:
+ - label: "Label"
+ name: "label"
+ widget: "string"
+ i18n: true
+ - label: "Link"
+ name: "link"
+ widget: "string"
+ i18n: true
+
+ - label: "Donate Bank transfer"
+ name: "donatebanktransfer"
+ i18n: true
+ widget: "object"
+ fields:
+ - label: "Label"
+ name: "label"
+ widget: "string"
+ i18n: true
+ - label: "Link"
+ name: "link"
+ widget: "string"
+ i18n: true
+
+ # PAGE: Partners #####################################################
+
+ - name: "partners"
+ label: "Partners"
+ folder: "content/contribute/partners"
+ slug: "_index"
+ create: true
i18n: true
fields:
- - label: "Title"
+ - label: "type"
+ name: "type"
+ widget: "hidden"
+ value: "partners"
+ - label: "title"
name: "title"
widget: "string"
- default: "The Team"
+ default: "Become a partner"
i18n: true
- - label: "Teams"
- name: "teams"
+ - label: "Opener"
+ name: "opener"
+ widget: "string"
+ i18n: true
+ - label: "Intro"
+ name: "intro"
+ widget: "text"
+ i18n: true
+ - label: "Partners Title"
+ name: "partnerstitle"
+ widget: "string"
+ i18n: true
+ - label: "Partners Intro"
+ name: "partnersintro"
+ widget: "text"
+ i18n: true
+ - label: "Partner Quote"
+ name: "partnerquote"
+ widget: "object"
i18n: true
+ fields:
+ - { label: "Name", name: "name", widget: "string" }
+ - { label: "Website", name: "website", widget: "string" }
+ - { label: "Role", name: "role", widget: "string", i18n: true }
+ - { label: "Quote", name: "quote", widget: "text", i18n: true }
+ - {
+ label: "Image",
+ name: "image",
+ widget: "image",
+ public_folder: "/images/partners",
+ media_folder: "/assets/images/partners",
+ }
+ - label: "Partners"
+ name: "partnerlist"
widget: "list"
+ i18n: true
fields:
- - label: "Title"
- name: "title"
+ - label: "name"
+ name: "name"
widget: "string"
i18n: true
- - label: "Description"
+ - label: "description"
name: "description"
widget: "text"
i18n: true
- - label: "Members"
- name: "members"
- widget: relation
- collection: "people"
- value_field: "/people/{{slug}}"
- display_fields: ["name"]
- search_fields: ["name"]
- multiple: true
+ - label: "website"
+ name: "website"
+ widget: "string"
+ i18n: true
+ - label: "Image"
+ name: "image"
+ widget: "image"
+ public_folder: "/images/partners"
+ media_folder: "/assets/images/partners"
+ required: false
- # PAGE: Contact #####################################################
- - name: "contact"
- label: "Contact"
- folder: "content/contact"
+ # PAGE: Volunteers #####################################################
+
+ - name: "volunteers"
+ label: "Volunteers"
+ folder: "content/contribute/volunteers"
slug: "_index"
- create: true
i18n: true
+ create: true
fields:
- - label: "Title"
+ - label: "type"
+ name: "type"
+ widget: "hidden"
+ value: "volunteers"
+ - label: "title"
name: "title"
widget: "string"
- default: "Contact"
+ default: "Become a volunteer"
i18n: true
- - label: "Opener"
+ - label: "opener"
name: "opener"
widget: "string"
i18n: true
- label: "Intro"
name: "intro"
- widget: text
+ widget: "text"
i18n: true
- - label: "Form"
- name: "form"
+ - label: "Core Values Title"
+ name: "corevaluestitle"
+ widget: "string"
+ i18n: true
+ - label: "Core values"
+ name: "corevalues"
+ widget: "list"
i18n: true
- widget: "object"
fields:
- - label: "Title"
+ - label: "title"
name: "title"
widget: "string"
i18n: true
- - label: "Description"
+ - label: "description"
name: "description"
widget: "text"
i18n: true
- # PAGE: Contribute #####################################################
- - name: "contribute"
- label: "Contribute"
- folder: "content/contribute"
+ ######################################
+ # SECTION: What we do
+ ####
+
+ # PAGE : What we do #####################################################
+
+ - name: "whatwedo"
+ label: "What we do"
+ folder: "content/what-we-do"
slug: "_index"
create: true
i18n: true
@@ -505,18 +569,13 @@ collections:
- label: "Title"
name: "title"
widget: "string"
- default: "Contribute"
- i18n: true
- - label: "Opener"
- name: "opener"
- widget: "string"
i18n: true
- label: "Intro"
name: "intro"
widget: text
i18n: true
- - label: "Become a Volunteer"
- name: "becomevolunteer"
+ - label: "What we do content"
+ name: "whatwedocontent"
i18n: true
widget: "object"
fields:
@@ -528,8 +587,8 @@ collections:
name: "description"
widget: "text"
i18n: true
- - label: "Become a Partner"
- name: "becomepartner"
+ - label: "Scouting"
+ name: "scouting"
i18n: true
widget: "object"
fields:
@@ -541,9 +600,8 @@ collections:
name: "description"
widget: "text"
i18n: true
-
- - label: "Appreciate"
- name: "appreciate"
+ - label: "Assessing"
+ name: "assessing"
i18n: true
widget: "object"
fields:
@@ -555,13 +613,12 @@ collections:
name: "description"
widget: "text"
i18n: true
-
- - label: "Donate SUPP"
- name: "donatesupp"
+ - label: "Reporting"
+ name: "reporting"
i18n: true
widget: "object"
fields:
- - label: "SUPP"
+ - label: "Title"
name: "title"
widget: "string"
i18n: true
@@ -569,52 +626,154 @@ collections:
name: "description"
widget: "text"
i18n: true
- - label: "Value Links"
- name: "links"
- widget: "list"
- i18n: true
- max: 3
- fields:
- - label: "Label"
- name: "label"
- widget: "string"
- i18n: true
- - label: "Link"
- name: "link"
- widget: "string"
- i18n: true
- - label: "Custome ammount link"
- name: "customlink"
+
+ # PAGE: Code of Conduct #####################################################
+ - name: codeofconduct
+ label: "Code of conduct"
+ folder: "content/what-we-do/code-of-conduct"
+ slug: "_index"
+ create: true
+ i18n: true
+ fields:
+ - {
+ label: "type",
+ name: "type",
+ widget: "hidden",
+ value: "codeofconduct",
+ }
+ - { label: "Title", name: "title", widget: "string", i18n: true }
+ - { label: "Body", name: "body", widget: "markdown", i18n: true }
+
+ ######################################
+ # SECTION: Who we are
+ ####
+
+ # PAGE: Who we are #####################################################
+
+ - name: "whoweare"
+ label: "Who we are"
+ folder: "content/who-we-are"
+ slug: "_index"
+ create: true
+ i18n: true
+ fields:
+ - label: "Title"
+ name: "title"
+ widget: "string"
+ default: "Who we are"
+ i18n: true
+ - label: "Opener"
+ name: "opener"
+ widget: "string"
+ i18n: true
+ - label: "Intro"
+ name: "intro"
+ widget: text
+ i18n: true
+ - label: "Mission and History"
+ name: "missionandhistory"
+ i18n: true
+ widget: "object"
+ fields:
+ - label: "Title"
+ name: "title"
widget: "string"
i18n: true
-
- - label: "Donate Paypal"
- name: "donatepaypal"
+ - label: "Intro"
+ name: "intro"
+ widget: "text"
+ i18n: true
+ - label: "Description"
+ name: "description"
+ widget: "text"
+ i18n: true
+ - label: "Communication Manager"
+ name: "communicationmanager"
i18n: true
widget: "object"
fields:
- - label: "Label"
- name: "label"
+ - label: "Name"
+ name: "name"
widget: "string"
i18n: true
- - label: "Link"
- name: "link"
+ - label: "Role"
+ name: "role"
widget: "string"
i18n: true
+ - label: "Description"
+ name: "description"
+ widget: "text"
+ i18n: true
+ - label: "Image"
+ name: "image"
+ widget: "image"
+ public_folder: "/images/whoweare"
+ media_folder: "/assets/images/whoweare"
+ required: false
- - label: "Donate Bank transfer"
- name: "donatebanktransfer"
+ # PAGE: The Team #####################################################
+ - name: "team"
+ label: "Team"
+ folder: "content/who-we-are/team"
+ slug: "_index"
+ create: true
+ i18n: true
+ fields:
+ - label: "Title"
+ name: "title"
+ widget: "string"
+ default: "The Team"
i18n: true
- widget: "object"
+ - label: "Teams"
+ name: "teams"
+ i18n: true
+ widget: "list"
fields:
- - label: "Label"
- name: "label"
+ - { label: "type", name: "type", widget: "hidden", value: "team" }
+ - label: "Title"
+ name: "title"
widget: "string"
i18n: true
- - label: "Link"
- name: "link"
- widget: "string"
+ - label: "Description"
+ name: "description"
+ widget: "text"
i18n: true
+ - label: "Members"
+ name: "members"
+ widget: relation
+ collection: "people"
+ value_field: "/people/{{slug}}"
+ display_fields: ["name"]
+ search_fields: ["name"]
+ multiple: true
+
+ # COLLECTION: People #####################################################
+ - name: "people"
+ label: "People"
+ i18n:
+ structure: multiple_files
+ folder: "content/who-we-are/team/people"
+ create: true
+ slug: "{{slug}}"
+ identifier_field: name
+ fields:
+ - { label: "type", name: "type", widget: "hidden", default: "people" }
+ - { label: "Name", name: "name", widget: "string" }
+ - {
+ label: "Image",
+ name: "image",
+ widget: "image",
+ media_folder: "/public/static/people",
+ required: false,
+ }
+ - { label: "Role", name: "role", widget: "string" }
+ - { label: "Bio", name: "bio", widget: "text", i18n: true }
+ - {
+ label: "Links",
+ name: "links",
+ widget: "list",
+ fields: [{ label: "Link", name: "link", widget: "string" }],
+ }
########################################################################
# CONTENT BLOCKS
@@ -748,88 +907,3 @@ collections:
- label: "Link"
name: "link"
widget: "string"
-
- ########################################################################
- # COlLECTIONS
- ########################################################################
-
- - name: "people"
- label: "People"
- i18n:
- structure: multiple_files
- folder: "content/people"
- create: true
- slug: "{{slug}}"
- identifier_field: name
- fields:
- - { label: "Name", name: "name", widget: "string" }
- - {
- label: "Image",
- name: "image",
- widget: "image",
- media_folder: "/public/static/people",
- required: false,
- }
- - { label: "Role", name: "role", widget: "string" }
- - { label: "Bio", name: "bio", widget: "text", i18n: true }
- - {
- label: "Links",
- name: "links",
- widget: "list",
- fields: [{ label: "Link", name: "link", widget: "string" }],
- }
-
- - label: "Articles"
- name: "articles"
- i18n:
- structure: multiple_files
- folder: "content/newsroom/articles"
- create: true
- slug: "{{slug}}"
- fields:
- - { label: "Title", name: "title", widget: "string", i18n: true }
- - { label: "Publish Date", name: "date", widget: "datetime" }
- - {
- label: "Tag",
- name: "tag",
- widget: "select",
- options: ["case", "news", "updates", "culture"],
- }
- - { label: "Intro", name: "intro", widget: "text", i18n: true }
- - {
- label: "Image",
- name: "image",
- widget: "image",
- public_folder: "/images/articles",
- media_folder: "/assets/images/articles",
- required: false,
- }
- - {
- label: "case",
- required: false,
- name: "case",
- widget: "object",
- collapsed: true,
- fields:
- [
- {
- label: "Case ID",
- name: "caseid",
- widget: "string",
- required: false,
- },
- {
- label: "Case closed",
- name: "closed",
- widget: "boolean",
- required: false,
- },
- {
- label: "Case link",
- name: "link",
- widget: "string",
- required: false,
- },
- ],
- }
- - { label: "Body", name: "body", widget: "markdown", i18n: true }
diff --git a/assets/icons/chevronleft.svg b/assets/icons/chevronleft.svg
new file mode 100644
index 00000000..8cc38e62
--- /dev/null
+++ b/assets/icons/chevronleft.svg
@@ -0,0 +1,4 @@
+
+
+
\ No newline at end of file
diff --git a/assets/icons/chevronright.svg b/assets/icons/chevronright.svg
new file mode 100644
index 00000000..07de51fa
--- /dev/null
+++ b/assets/icons/chevronright.svg
@@ -0,0 +1,4 @@
+
+
+
\ No newline at end of file
diff --git a/assets/icons/email.svg b/assets/icons/email.svg
new file mode 100644
index 00000000..13cb1ec7
--- /dev/null
+++ b/assets/icons/email.svg
@@ -0,0 +1,4 @@
+
+
+
\ No newline at end of file
diff --git a/assets/icons/search.svg b/assets/icons/search.svg
new file mode 100644
index 00000000..f3953669
--- /dev/null
+++ b/assets/icons/search.svg
@@ -0,0 +1,4 @@
+
+
+
\ No newline at end of file
diff --git a/assets/images/global/codeofconduct_header.png b/assets/images/global/codeofconduct_header.png
new file mode 100644
index 00000000..ef06f8b6
Binary files /dev/null and b/assets/images/global/codeofconduct_header.png differ
diff --git a/assets/scss/core.scss b/assets/scss/core.scss
index 49c386fb..588b4167 100644
--- a/assets/scss/core.scss
+++ b/assets/scss/core.scss
@@ -132,4 +132,119 @@ a.cta {
}
}
}
+}
+
+
+.partner-card {
+ border-radius: 20px;
+ overflow: hidden;
+
+ figure {
+ background-color: white;
+ height: 200px;
+ overflow: hidden;
+ img {
+ max-width: 100%;
+ }
+ }
+
+
+ section {
+ padding: 20px 16px;;
+ background-color: black;
+ color: white;
+ }
+}
+
+
+.partner-list {
+ display: grid;
+ grid-template-columns: 1fr 1fr 1fr;
+ grid-gap: 32px;
+}
+
+.newsroom {
+
+
+
+ .newsroom-article-list {
+ display: grid;
+ grid-gap: 32px;
+ grid-template-columns: 1fr 1fr;
+ grid-template-rows: repeat(4, 400px);
+ }
+
+
+ .highlight {
+ grid-row: 1 / 3;
+
+ background-color: green;
+ }
+
+ .article {
+ background-color: gray;
+ }
+}
+
+
+
+button, .button {
+ background-color: black;
+ color: white;
+ border-radius: 24px;
+ border: 0;
+
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 700;
+ font-size: 14px;
+ line-height: 16px;
+ letter-spacing: 0.02em;
+ text-transform: uppercase;
+
+ padding: 4px 16px;
+
+ display: flex;
+ justify-content: space-around;
+ align-items: center;
+
+ &.primary {
+ color: #000;
+ background-color: var(--brand);
+ }
+
+ &.inverse {
+ background-color: white;
+ color: black;
+ svg {
+ fill: black;
+ }
+ }
+
+
+ svg {
+ width: 15px;
+ height: 15px;
+ margin-right: 6px;
+ margin-top: 1px;
+ fill: white;
+ }
+}
+
+ol {
+ list-style: outside;
+ list-style-type: decimal;
+ margin-left: 20px;
+ padding-left: 10px;
+
+ li {
+ margin-bottom: 10px;
+
+ ul {
+ list-style: circle;
+ li {
+ font-size: 1em;
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/assets/scss/ui/nav.scss b/assets/scss/ui/nav.scss
index ae1a6734..cfc5f04e 100644
--- a/assets/scss/ui/nav.scss
+++ b/assets/scss/ui/nav.scss
@@ -20,7 +20,7 @@ nav.nav-container {
padding-left: var(--rest);
display: flex;
align-items: center;
- justify-content: flex-start;
+ justify-content: space-between;
figure {
flex: 0 0 120px;
@@ -31,6 +31,7 @@ nav.nav-container {
article {
display: flex;
+ flex: 1 1 auto;
a {
padding: 0 24px;
color: #fff;
@@ -66,6 +67,35 @@ nav.nav-container {
}
}
}
+
+ aside {
+ flex: 0 0 400px;
+ color: white;
+
+ display: flex;
+ align-items: center;
+
+ button {
+ margin-right: 8px;
+ }
+
+
+ section {
+ padding-left: 8px;
+ span {
+ color: var(--brand);
+ }
+
+ a {
+ text-transform: lowercase;
+ color: white;
+
+ &:hover {
+ text-decoration: underline;
+ }
+ }
+ }
+ }
}
.sub-nav {
diff --git a/content/newsroom/_index.en.md b/content/newsroom/_index.en.md
new file mode 100644
index 00000000..6b2a2a86
--- /dev/null
+++ b/content/newsroom/_index.en.md
@@ -0,0 +1,11 @@
+---
+title: Newsroom
+opener: Welcome to the DIVD newsroom
+intro: We are a group of volunteers that scout the web for potential cyber
+ security risks.
+newsletter: https://divd.nl/newsletter
+starter:
+ title: Stay up to date
+ description: Here you can find updates, articles about our culture, cases and much more!
+highlight: /newsroom/articles/test-article-with-image
+---
\ No newline at end of file
diff --git a/content/newsroom/_index.nl.md b/content/newsroom/_index.nl.md
new file mode 100644
index 00000000..28918584
--- /dev/null
+++ b/content/newsroom/_index.nl.md
@@ -0,0 +1,9 @@
+---
+title: Newsroom
+opener: Welcome to the DIVD newsroom
+intro: We are a group of volunteers that scout the web for potential cyber
+ security risks.
+starter:
+ title: Stay up to date
+ description: Here you can find updates, articles about our culture, cases and much more!
+---
\ No newline at end of file
diff --git a/content/search/_index.en.md b/content/search/_index.en.md
new file mode 100644
index 00000000..cff2be14
--- /dev/null
+++ b/content/search/_index.en.md
@@ -0,0 +1,5 @@
+---
+title: Search
+outputs:
+- json
+---
\ No newline at end of file
diff --git a/content/search/_index.nl.md b/content/search/_index.nl.md
new file mode 100644
index 00000000..b8e5a0d4
--- /dev/null
+++ b/content/search/_index.nl.md
@@ -0,0 +1,5 @@
+---
+title: Zoeken
+outputs:
+- json
+---
\ No newline at end of file
diff --git a/content/what-we-do/code-of-conduct/_index.en.md b/content/what-we-do/code-of-conduct/_index.en.md
new file mode 100644
index 00000000..b376a449
--- /dev/null
+++ b/content/what-we-do/code-of-conduct/_index.en.md
@@ -0,0 +1,33 @@
+---
+type: codeofconduct
+title: Code of Conduct
+---
+## CODE OF CONDUCT 2.1
+
+1. DIVD is a Dutch research institute that works with volunteers who aim to make the digital world safer by searching the internet for vulnerabilities and reporting the findings to those who can fix these vulnerabilities.
+2. As we work on sensitive data, gathered without informed consent, we established this Code of Conduct to provide an ethical base for the work we do. This code can also be used by other researchers working on what is currently referred to as responsible disclosure, or coordinated vulnerability disclosure.
+3. In our research projects we, for example:
+
+ * Scan the internet for vulnerabilities, mostly Common Vulnerabilities and Exposures (CVEs), and report our findings and possible solutions to the owners of these systems.
+ * Analyse online systems for new vulnerabilities (zero-days), report our findings to the makers and try to help them out in fixing the vulnerabilities.
+ * Analyse databases with leaked credentials and report to the organisations or people who are compromised to take appropriate measures.
+ * Work with trusted partners to extend our reach and notify as many organisations and people as possible
+4. We are aware that we operate at the edges of what is legally allowed, so we proceed by these three criteria commonly used in court cases on vulnerability disclosures:
+
+ * Societal need: we do vulnerability disclosure to prevent online damage to as many internet users as possible and don’t serve any particular financial, political or individual interests.
+ * Principle of Proportionality: we serve this need with appropriate means. Our research should increase and not decrease the integrity and availability of online systems.
+ * Principle of Subsidiarity: if several means are available to meet the need, we opt for the one which has the least impact.
+5. We validate our findings to prevent reporting false positives or miss false negatives and sometimes need to verify if a vulnerability is actually present. We use custom-made scripts based on publicly available proof of concepts or non-weaponized exploit code and take good care that we don’t damage systems, download too much personal data, or create backdoors.
+6. Our findings typically consist of lists with several to millions of IP addresses, the type of vulnerability found, contact information, and metadata (e.g. timestamps, scripts, researchers working on the data). This is sensitive data, so we take all precautions necessary to protect the confidentiality of this data.
+7. We disclose zero-day vulnerabilities to the vendor first, then request CVE numbers and negotiate a reasonable time span for disclosing it to our Trusted Information Sharing Partners and the broader public. Ideally, the disclosure is preceded by a patch. If a vendor is obviously slow in providing the patch and it is likely others may discover and abuse the vulnerability, we may consider disclosure to warn potential victims and advise them on mitigation measures.
+8. We report the CVEs we find to the owners of the systems, mostly by generating email addresses based on their domain name, such as info@, security@ or abuse@ and to the listed abuse addresses of IP owners. We may also send them our findings through our Trusted Information Sharing Partners, who are, for example, Computer Emergency Response Teams, Computer Security Incident Response Teams, Internet Service Providers, governmental organisations or other research institutes.
+9. We analyse online threats, not threat actors. We are researchers and don’t serve the needs of governments or law enforcement.
+10. After reporting our findings, we repeat our scans to track progress. We, therefore, need to store data and log our activities. We may also need this data in case of a dispute. We minimize the amount of personal data we gather and store and are aware that an IP address can also be perceived as information relating to an identified or identifiable natural person. We believe that our processing of this data is proportional to our aim to protect much more sensitive personal data in the systems at stake.
+11. During our research, we inform the broader security community and the media about our findings only on a statistical basis: just numbers, no names, or other identifiable information. We close all research projects with a report, which can be downloaded from divd.nl and is under Creative Commons Licence.
+12. We only report vulnerable systems. Patching or other mitigation is solely the responsibility of the owner.
+13. DIVD is responsible for making researchers aware of these rules, while it is the responsibility of each researcher to stick to them. If they don’t, the board will take appropriate measures, for instance by revoking their DIVD account.
+14. This Code of Conduct will also be used as an ethical guidance for our DIVD Academy, shared with the broader security community and updated regularly. Suggestions and feedback are welcome. Contact our ethical committee [ethics@divd.nl](mailto:ethics@divd.nl)
+
+## MORE INFO:
+
+Is it legit to exchange lists of IP addresses together with vulnerabilities? The short answer is: Yes, according to Dutch law we can. The more elaborate answer you will find in this Liability Impact Assessment, prepared by Privacy Management Partners (in Dutch). [Click here to download](https://www.divd.nl/assets/downloads/LIA_abuse_informatie_v1.1.pdf) (Dutch)
\ No newline at end of file
diff --git a/content/what-we-do/code-of-conduct/_index.nl.md b/content/what-we-do/code-of-conduct/_index.nl.md
new file mode 100644
index 00000000..24ba505d
--- /dev/null
+++ b/content/what-we-do/code-of-conduct/_index.nl.md
@@ -0,0 +1,7 @@
+---
+type: codeofconduct
+title: Code of Conduct
+---
+# Hello world
+
+code of conduct NL
\ No newline at end of file
diff --git a/content/team/_index.en.md b/content/who-we-are/team/_index.en.md
similarity index 97%
rename from content/team/_index.en.md
rename to content/who-we-are/team/_index.en.md
index 961fc501..4932501d 100644
--- a/content/team/_index.en.md
+++ b/content/who-we-are/team/_index.en.md
@@ -1,4 +1,5 @@
---
+type: team
title: The Team
teams:
- title: Supervisory board
diff --git a/content/team/_index.nl.md b/content/who-we-are/team/_index.nl.md
similarity index 97%
rename from content/team/_index.nl.md
rename to content/who-we-are/team/_index.nl.md
index 1e7405cb..21782bd0 100644
--- a/content/team/_index.nl.md
+++ b/content/who-we-are/team/_index.nl.md
@@ -1,4 +1,5 @@
---
+type: team
title: Het Team
teams:
- title: Supervisory board
diff --git a/content/who-we-are/team/people/_index.en.md b/content/who-we-are/team/people/_index.en.md
new file mode 100644
index 00000000..62e3d466
--- /dev/null
+++ b/content/who-we-are/team/people/_index.en.md
@@ -0,0 +1,4 @@
+---
+type: people
+title: People
+---
\ No newline at end of file
diff --git a/content/who-we-are/team/people/_index.nl.md b/content/who-we-are/team/people/_index.nl.md
new file mode 100644
index 00000000..62e3d466
--- /dev/null
+++ b/content/who-we-are/team/people/_index.nl.md
@@ -0,0 +1,4 @@
+---
+type: people
+title: People
+---
\ No newline at end of file
diff --git a/content/people/arthur-dent.en.md b/content/who-we-are/team/people/arthur-dent.en.md
similarity index 83%
rename from content/people/arthur-dent.en.md
rename to content/who-we-are/team/people/arthur-dent.en.md
index 40fb4631..2818f0e3 100644
--- a/content/people/arthur-dent.en.md
+++ b/content/who-we-are/team/people/arthur-dent.en.md
@@ -1,4 +1,5 @@
---
+type: people
name: Arthur Dent
role: ZIEZO
bio: Always bring a towel
diff --git a/content/people/arthur-dent.nl.md b/content/who-we-are/team/people/arthur-dent.nl.md
similarity index 76%
rename from content/people/arthur-dent.nl.md
rename to content/who-we-are/team/people/arthur-dent.nl.md
index 68dec462..4114b578 100644
--- a/content/people/arthur-dent.nl.md
+++ b/content/who-we-are/team/people/arthur-dent.nl.md
@@ -1,3 +1,4 @@
---
+type: people
bio: Neem altijd een handdoek mee.
---
diff --git a/hugo.yaml b/hugo.yaml
index 42e326fb..2310571d 100644
--- a/hugo.yaml
+++ b/hugo.yaml
@@ -6,13 +6,13 @@ defaultContentLanguageInSubdir: false
languages:
en:
disabled: false
- languageCode: en-US
+ languageCode: en
languageDirection: ltr
- languageName: English
+ languageName: EN
weight: 1
nl:
disabled: false
- languageCode: nl-NL
+ languageCode: nl
languageDirection: ltr
- languageName: Nederlands
+ languageName: NL
weight: 2
diff --git a/justfile b/justfile
index 89df000b..a159d695 100644
--- a/justfile
+++ b/justfile
@@ -1,3 +1,8 @@
+build:
+ npm install
+ hugo
+ npm run postbuild
+
admin:
npx netlify-cms-proxy-server &
python3 -m http.server --directory ./admin &
diff --git a/layouts/codeofconduct/list.html b/layouts/codeofconduct/list.html
new file mode 100644
index 00000000..eb21ed5c
--- /dev/null
+++ b/layouts/codeofconduct/list.html
@@ -0,0 +1,22 @@
+{{ define "main" }}
+
+
+
+ {{ partial "p/layout_open" (dict "classes" (slice "default")) }}
+ {{ partial "breadcrumbs" . }}
+
+ {{ with resources.Get "images/global/codeofconduct_header.png" }}
+ {{ partial "tools/rimg/img" (dict "img" . "alt" "Code of conduct") }}
+ {{ end }}
+
+ {{ partial "p/layout_close" }}
+ {{ partial "p/layout_open" (dict "classes" (slice "article")) }}
+
+
+ {{ .Content }}
+ {{ partial "p/layout_close" }}
+
+
+
+
+{{ end }}
\ No newline at end of file
diff --git a/layouts/contribute/section.html b/layouts/contribute/section.html
index db59bad4..c6627494 100644
--- a/layouts/contribute/section.html
+++ b/layouts/contribute/section.html
@@ -40,7 +40,7 @@ {{ .Params.appreciate.title }}
{{ partial "tools/rimg/img" (dict "img" . "alt" "DIVD Yay!") }}
{{ end }}
-
+
{{ .Params.donatesupp.title }}
{{ .Params.donatesupp.description }}
diff --git a/layouts/newsroom/section.html b/layouts/newsroom/section.html
new file mode 100644
index 00000000..4dc410d1
--- /dev/null
+++ b/layouts/newsroom/section.html
@@ -0,0 +1,65 @@
+{{ define "main" }}
+
+
+
+ {{ partial "p/layout_open" (dict "classes" (slice "right")) }}
+
+
{{ .Params.opener }}
+
+
+ {{ partial "p/layout_close" }}
+
+
+ {{ partial "p/section_open" (dict "classes" (slice "default")) }}
+ {{ partial "p/layout_open" }}
+
+
{{ .Params.starter.title }}
+
{{ .Params.starter.description }}
+
+
+
+
+
+ {{ with site.GetPage (printf "%s" .Params.highlight) }}
+
Highlight {{ .Title }}
+ {{ end }}
+
+
+ {{ i18n "readmore" }}
+
+
+
+
+ {{ range first 5 .Pages.ByDate }}
+
+
{{ .Params.tag }}
+
{{ .Title }}
+
{{ .Params.intro }}
+
+ {{ i18n "readmore" }}
+
+
+ {{ end }}
+
+
+ {{/* {articles.map((a) => (
+
+
{a.attributes.tag}
+
{a.attributes.title}
+
{a.attributes.intro}
+
+ {t("readmore")}
+
+
+ ))} */}}
+
+ {{ partial "p/layout_close" }}
+ {{ partial "p/section_close" }}
+
+
+{{ end }}
\ No newline at end of file
diff --git a/layouts/newsroom/single.html b/layouts/newsroom/single.html
new file mode 100644
index 00000000..2956ecd0
--- /dev/null
+++ b/layouts/newsroom/single.html
@@ -0,0 +1,7 @@
+{{ define "main" }}
+
+
+
Hello world
+
+
+{{ end }}
\ No newline at end of file
diff --git a/layouts/partials/card-partner.html b/layouts/partials/card-partner.html
new file mode 100644
index 00000000..fd8a30a4
--- /dev/null
+++ b/layouts/partials/card-partner.html
@@ -0,0 +1,25 @@
+{{/* _partials/card.html */}}
+{{ $imageSource := .imageSource }}
+{{ $name := .name }}
+{{ $cta := .cta }}
+{{ $link := .link }}
+{{ $description := .description }}
+
+
+
+
+ {{ with resources.Get $imageSource }}
+ {{ partial "tools/rimg/img" (dict "img" . "alt" $name) }}
+ {{ else }}
+
+ {{ end }}
+
+
+
+
diff --git a/layouts/partials/js.html b/layouts/partials/js.html
index 5e8bd6d9..de0d8dd9 100644
--- a/layouts/partials/js.html
+++ b/layouts/partials/js.html
@@ -2,8 +2,14 @@
{{ if hugo.IsProduction }}
{{ $js = $js | fingerprint }}
{{ end }}
+
+
+
\ No newline at end of file
+ defer>
+
diff --git a/layouts/partials/mainnav.html b/layouts/partials/mainnav.html
index 0de76837..8219191a 100644
--- a/layouts/partials/mainnav.html
+++ b/layouts/partials/mainnav.html
@@ -8,22 +8,50 @@
-
-
- {{ i18n "nav_about" }}
- {{ partial "svg/icon" "chevrondown" }}
-
+
+
+ {{ i18n "nav_about" }}
+ {{ partial "svg/icon" "chevrondown" }}
+
+
+
+ {{ i18n "nav_community" }}
+ {{ partial "svg/icon" "chevrondown" }}
+
+
+
+ {{ i18n "nav_security" }}
+ {{ partial "svg/icon" "chevrondown" }}
+
+
-
- {{ i18n "nav_community" }}
- {{ partial "svg/icon" "chevrondown" }}
-
+
+
+ {{ partial "svg/icon" "search" }}
+ search
+
+
+ {{ partial "svg/icon" "email" }}
+ warning email
+
+
+
+
@@ -66,10 +94,10 @@
DIVD Community
Become a partner
- Donate
+ Donate
- Newsroom
+ Newsroom
@@ -77,7 +105,7 @@
DIVD Community
Security
- Code of conduct
+ Code of Conduct
Security policy
diff --git a/layouts/partners/list.html b/layouts/partners/list.html
index b63ae8a9..bbd10aad 100644
--- a/layouts/partners/list.html
+++ b/layouts/partners/list.html
@@ -19,6 +19,39 @@ {{ .Params.opener }} PARTNERS
+ {{ partial "p/section_open" (dict "classes" (slice "inverse" "overlap-top"))}}
+ {{ partial "p/layout_open" (dict "classes" (slice "default")) }}
+
+
+
{{ .Params.partnerstitle }}
+
{{ .Params.partnersintro }}
+
+ {{ range .Params.partnerlist }}
+ {{ partial "card-partner" (dict
+ "imageSource" .image
+ "name" .name
+ "link" .website
+ "cta" (i18n "visitsite")
+ "description" .description)
+ }}
+ {{ end }}
+
+
+
+
{{ .Params.partnerquote.name }}
+
{{ .Params.partnerquote.role }}
+
{{ .Params.partnerquote.website }}
+
{{ .Params.partnerquote.quote }}
+
{{ .Params.partnerquote.image }}
+
+
+ {{ partial "p/layout_close" }}
+ {{ partial "p/section_close" }}
+
+ {{ partial "p/section_open" (dict "classes" (slice "gradient-reverse"))}}
+ {{ partial "block/proudestwork" . }}
+ {{ partial "block/faq" . }}
+ {{ partial "p/section_close" }}
diff --git a/layouts/people/list.html b/layouts/people/list.html
new file mode 100644
index 00000000..1153e7cf
--- /dev/null
+++ b/layouts/people/list.html
@@ -0,0 +1,7 @@
+{{ define "main" }}
+
+
+
Hello People list
+
+
+{{ end }}
\ No newline at end of file
diff --git a/layouts/people/single.html b/layouts/people/single.html
new file mode 100644
index 00000000..9be2e159
--- /dev/null
+++ b/layouts/people/single.html
@@ -0,0 +1,7 @@
+{{ define "main" }}
+
+
+
Hello People single
+
+
+{{ end }}
\ No newline at end of file
diff --git a/layouts/search/list.json b/layouts/search/list.json
new file mode 100644
index 00000000..a24fde59
--- /dev/null
+++ b/layouts/search/list.json
@@ -0,0 +1,30 @@
+[
+{{- $newsroom := site.GetPage "/newsroom" -}}
+ {
+ "type": "stub",
+ "title": "DIVD",
+ "content": "Ignore"
+ }
+{{- with $newsroom.Pages -}}
+ {{- range . -}}
+ ,{
+ "type": "article",
+ "title": "{{- .Title -}}",
+ "content": "{{ .Params.intro | }}"
+ }
+ {{- end -}}
+{{- end -}}
+
+{{- $faq := .Site.GetPage "/faq" -}}
+
+{{- range $faq.Params.faqgroups -}}
+ {{- range .faqs -}}
+ ,{
+ "type": "faq",
+ "title": "{{ .title }}",
+ "content": "{{ .description }}"
+ }
+ {{- end -}}
+{{- end -}}
+
+]
diff --git a/package-lock.json b/package-lock.json
index ccdfac5e..6932cc24 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,6 +8,9 @@
"name": "divd",
"version": "1.0.0",
"license": "ISC",
+ "dependencies": {
+ "lunr": "^2.3.9"
+ },
"devDependencies": {
"autoprefixer": "^10.4.16",
"postcss": "^8.4.31",
@@ -529,6 +532,11 @@
"node": ">=10"
}
},
+ "node_modules/lunr": {
+ "version": "2.3.9",
+ "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
+ "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow=="
+ },
"node_modules/merge2": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
@@ -1387,6 +1395,11 @@
"integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
"dev": true
},
+ "lunr": {
+ "version": "2.3.9",
+ "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
+ "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow=="
+ },
"merge2": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
diff --git a/package.json b/package.json
index cb7e7aec..24dfaef4 100644
--- a/package.json
+++ b/package.json
@@ -4,6 +4,7 @@
"description": "",
"main": "index.js",
"scripts": {
+ "postbuild": "node ./scripts/postbuild.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Les Kleuver",
@@ -15,5 +16,8 @@
"prettier": "^3.0.3",
"prettier-plugin-go-template": "^0.0.15",
"typescript": "^5.2.2"
+ },
+ "dependencies": {
+ "lunr": "^2.3.9"
}
}
diff --git a/resources/_gen/assets/scss/scss/screen.scss_0fe39fdd5f736bfb531e946d0a4ca506.content b/resources/_gen/assets/scss/scss/screen.scss_0fe39fdd5f736bfb531e946d0a4ca506.content
index f5da773c..d1f56e82 100644
--- a/resources/_gen/assets/scss/scss/screen.scss_0fe39fdd5f736bfb531e946d0a4ca506.content
+++ b/resources/_gen/assets/scss/scss/screen.scss_0fe39fdd5f736bfb531e946d0a4ca506.content
@@ -287,6 +287,81 @@ a.cta {
.breadcrumbs ul li:first-of-type {
color: red; }
+.partner-card {
+ border-radius: 20px;
+ overflow: hidden; }
+ .partner-card figure {
+ background-color: white;
+ height: 200px;
+ overflow: hidden; }
+ .partner-card figure img {
+ max-width: 100%; }
+ .partner-card section {
+ padding: 20px 16px;
+ background-color: black;
+ color: white; }
+
+.partner-list {
+ display: grid;
+ grid-template-columns: 1fr 1fr 1fr;
+ grid-gap: 32px; }
+
+.newsroom .newsroom-article-list {
+ display: grid;
+ grid-gap: 32px;
+ grid-template-columns: 1fr 1fr;
+ grid-template-rows: repeat(4, 400px); }
+
+.newsroom .highlight {
+ grid-row: 1 / 3;
+ background-color: green; }
+
+.newsroom .article {
+ background-color: gray; }
+
+button, .button {
+ background-color: black;
+ color: white;
+ border-radius: 24px;
+ border: 0;
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 700;
+ font-size: 14px;
+ line-height: 16px;
+ letter-spacing: 0.02em;
+ text-transform: uppercase;
+ padding: 4px 16px;
+ display: flex;
+ justify-content: space-around;
+ align-items: center; }
+ button.primary, .button.primary {
+ color: #000;
+ background-color: var(--brand); }
+ button.inverse, .button.inverse {
+ background-color: white;
+ color: black; }
+ button.inverse svg, .button.inverse svg {
+ fill: black; }
+ button svg, .button svg {
+ width: 15px;
+ height: 15px;
+ margin-right: 6px;
+ margin-top: 1px;
+ fill: white; }
+
+ol {
+ list-style: outside;
+ list-style-type: decimal;
+ margin-left: 20px;
+ padding-left: 10px; }
+ ol li {
+ margin-bottom: 10px; }
+ ol li ul {
+ list-style: circle; }
+ ol li ul li {
+ font-size: 1em; }
+
nav.nav-container {
position: fixed;
top: 10px;
@@ -304,13 +379,14 @@ nav.nav-container {
padding-left: var(--rest);
display: flex;
align-items: center;
- justify-content: flex-start; }
+ justify-content: space-between; }
nav.nav-container .main-nav figure {
flex: 0 0 120px; }
nav.nav-container .main-nav figure .logo {
width: 96px; }
nav.nav-container .main-nav article {
- display: flex; }
+ display: flex;
+ flex: 1 1 auto; }
nav.nav-container .main-nav article a {
padding: 0 24px;
color: #fff;
@@ -335,6 +411,22 @@ nav.nav-container {
nav.nav-container .main-nav article a:hover svg {
transform: rotate(180deg);
fill: var(--brand); }
+ nav.nav-container .main-nav aside {
+ flex: 0 0 400px;
+ color: white;
+ display: flex;
+ align-items: center; }
+ nav.nav-container .main-nav aside button {
+ margin-right: 8px; }
+ nav.nav-container .main-nav aside section {
+ padding-left: 8px; }
+ nav.nav-container .main-nav aside section span {
+ color: var(--brand); }
+ nav.nav-container .main-nav aside section a {
+ text-transform: lowercase;
+ color: white; }
+ nav.nav-container .main-nav aside section a:hover {
+ text-decoration: underline; }
nav.nav-container .sub-nav {
display: none; }
nav.nav-container:hover .sub-nav {
diff --git a/resources/_gen/assets/scss/scss/screen.scss_ef8898091db9f60552fe2b015479a919.content b/resources/_gen/assets/scss/scss/screen.scss_ef8898091db9f60552fe2b015479a919.content
index 138abc37..69e02a09 100644
--- a/resources/_gen/assets/scss/scss/screen.scss_ef8898091db9f60552fe2b015479a919.content
+++ b/resources/_gen/assets/scss/scss/screen.scss_ef8898091db9f60552fe2b015479a919.content
@@ -1 +1 @@
-html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}@font-face{font-display:swap;font-family:'source sans 3';font-style:normal;font-weight:400;src:url(/font/sourcesans3/source-sans-3-v10-latin-regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:'source sans 3';font-style:italic;font-weight:400;src:url(/font/sourcesans3/source-sans-3-v10-latin-italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:'source sans 3';font-style:normal;font-weight:900;src:url(/font/sourcesans3/source-sans-3-v10-latin-900.woff2)format("woff2")}@font-face{font-display:swap;font-family:'source sans 3';font-style:italic;font-weight:900;src:url(/font/sourcesans3/source-sans-3-v10-latin-900italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:open sans;font-style:normal;font-weight:400;src:url(/font/opensans/open-sans-v36-latin-regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:open sans;font-style:italic;font-weight:400;src:url(/font/opensans/open-sans-v36-latin-italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:open sans;font-style:normal;font-weight:700;src:url(/font/opensans/open-sans-v36-latin-700.woff2)format("woff2")}@font-face{font-display:swap;font-family:open sans;font-style:italic;font-weight:700;src:url(/font/opensans/open-sans-v36-latin-700italic.woff2)format("woff2")}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:root{--fg:#000;--bg:#fff;--brand:#FFD736;--font-header:'Source Sans 3';--font-text:'Open Sans';--cw:-webkit-calc(min(100vw, 1200px));--cw:calc(min(100vw, 1200px));--rest:-webkit-calc((100vw - var(--cw)) / 2);--rest:calc((100vw - var(--cw)) / 2)}[data-theme=dark]{--fg:#fff;--bg:#000}select{font-size:24px}a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--fg)}body{font-family:open sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:16px}h1{font-weight:900;font-size:5em;font-family:var(--font-header);line-height:.8em}h2{font-weight:900;font-size:2.6em;font-family:var(--font-header);line-height:1em;margin-bottom:.4em}h3{font-size:1.4em;font-family:var(--font-text);font-weight:700}h6{text-transform:uppercase;font-family:var(--font-text);font-weight:400;font-size:.8em;color:#545454}p.opener{font-weight:400;font-size:2em;font-family:var(--font-header);color:#545454;line-height:1em}p{font-family:var(--font-text);font-size:1.2em;line-height:1.6em;margin-bottom:16px}.reverse h1,.reverse h2,.reverse p{color:#fff}html,body{padding:0;margin:0}body{min-height:100vh;background:var(--bg);color:var(--fg)}.home-layout{padding-top:64px}a.cta{background-color:#000;color:#fff;border-radius:24px;border:0;font-family:var(--font-text);font-style:normal;font-weight:700;font-size:14px;line-height:16px;letter-spacing:.02em;text-transform:uppercase;padding:8px 16px;display:inline-block;margin-right:8px}a.cta svg{margin-left:8px;width:12px;height:12px;fill:#fff}a.cta.inverse{background-color:#fff;color:#000}a.cta.inverse svg{fill:#000}a.cta.primary{background-color:#000}a.cta.secondary{color:#000;background-color:var(--brand)}nav.nav-container{position:fixed;top:10px;left:0;width:-webkit-calc(var(--cw) + var(--rest));width:calc(var(--cw) + var(--rest));z-index:3}nav.nav-container .main-nav{position:absolute;width:-webkit-calc(var(--cw) + var(--rest));width:calc(var(--cw) + var(--rest));top:0;background-color:#000;border-top-right-radius:64px;border-bottom-right-radius:64px;padding:24px 0;padding-left:var(--rest);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}nav.nav-container .main-nav figure{-webkit-box-flex:0;-webkit-flex:0 0 120px;-ms-flex:0 0 120px;flex:0 0 120px}nav.nav-container .main-nav figure .logo{width:96px}nav.nav-container .main-nav article{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}nav.nav-container .main-nav article a{padding:0 24px;color:#fff;text-transform:uppercase;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-family:open sans;font-style:normal;font-weight:700;font-size:16px;line-height:14px;letter-spacing:.04em;-webkit-transition:color .3s ease-in-out;-o-transition:color .3s ease-in-out;transition:color .3s ease-in-out}nav.nav-container .main-nav article a svg{fill:#fff;margin-left:8px;height:8px;width:14px;-webkit-transition:-webkit-transform .5s ease-in-out;transition:-webkit-transform .5s ease-in-out;-o-transition:-o-transform .5s ease-in-out;transition:transform .5s ease-in-out;transition:transform .5s ease-in-out,-webkit-transform .5s ease-in-out,-o-transform .5s ease-in-out}nav.nav-container .main-nav article a:hover{color:var(--brand)}nav.nav-container .main-nav article a:hover svg{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg);fill:var(--brand)}nav.nav-container .sub-nav{display:none}nav.nav-container:hover .sub-nav{display:block}nav.sub-nav{padding-top:96px;-webkit-box-shadow:0 4px 20px 0 #0000001A;box-shadow:0 4px 20px #0000001A;border-bottom-right-radius:64px;border-top-right-radius:64px;overflow:hidden;background:-webkit-gradient(linear,left top,right top,from(#fff),color-stop(50%,#fff),color-stop(51%,#F2F2F2));background:-webkit-linear-gradient(left,#fff 0%,#fff 50%,#F2F2F2 51%);background:-o-linear-gradient(left,#fff 0%,#fff 50%,#F2F2F2 51%);background:linear-gradient(to right,#fff 0%,#fff 50%,#F2F2F2 51%);display:none;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;z-index:2}nav.sub-nav.active{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}nav.sub-nav article{padding-left:-webkit-calc(var(--rest) + 110px);padding-left:calc(var(--rest) + 110px);width:100%;background-color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}nav.sub-nav section:first-of-type{background-color:#fff;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:32px}nav.sub-nav section:first-of-type h3{text-transform:uppercase;font-size:1em;margin-bottom:20px;font-weight:600}nav.sub-nav section:first-of-type ul{list-style:none;padding:0;margin:0}nav.sub-nav section:first-of-type ul li{margin-bottom:10px}nav.sub-nav section:first-of-type ul li a{font-size:1.2em;text-decoration:none;border-bottom:none;font-weight:300;opacity:.8}nav.sub-nav section:first-of-type ul li a:hover{text-decoration:underline}nav.sub-nav section:first-of-type ul li a svg{width:11px}nav.sub-nav section:last-of-type{-webkit-box-flex:0;-webkit-flex:0 0 300px;-ms-flex:0 0 300px;flex:0 0 300px;background-color:#f2f2f2;padding:32px}.ps.ps-hide{overflow-x:hidden}.ps.ps-inverse{background-color:#1d1d1d}.ps.ps-primary{background-color:var(--brand)}.ps.ps-gradient{background:-webkit-linear-gradient(86.7deg,#FFFFFF 59.39%,rgba(61,220,235,.2) 97.41%);background:-o-linear-gradient(86.7deg,#FFFFFF 59.39%,rgba(61,220,235,.2) 97.41%);background:linear-gradient(3.3deg,#FFFFFF 59.39%,rgba(61,220,235,.2) 97.41%)}.ps.ps-gradient-reverse{background:-webkit-gradient(linear,left bottom,left top,color-stop(50%,rgba(61,220,235,.2)),to(#fff));background:-webkit-linear-gradient(bottom,rgba(61,220,235,.2) 50%,#fff 100%);background:-o-linear-gradient(bottom,rgba(61,220,235,.2) 50%,#fff 100%);background:linear-gradient(to top,rgba(61,220,235,.2) 50%,#fff 100%)}.ps.ps-overlap{background:-webkit-linear-gradient(top,#fff 0%,#fff 64px,#1D1D1D 64px,#1D1D1D 100%);background:-o-linear-gradient(top,#fff 0%,#fff 64px,#1D1D1D 64px,#1D1D1D 100%);background:linear-gradient(to bottom,#fff 0%,#fff 64px,#1D1D1D 64px,#1D1D1D 100%)}.ps.ps-overlap .ps-container{background:url(/assets/bubble.png)no-repeat 60% 120px}.ps.ps-overlap-top .ps-container{position:relative;top:-128px}.ps.ps-overlap-bottom .ps-container{position:relative;bottom:-96px}.ps.ps-round{padding-top:64px}.ps.ps-round.ps-round-topright{border-top-right-radius:300px}.ps.ps-round.ps-round-topleft{border-top-left-radius:300px}.ps.ps-round.ps-round-bottomright{border-bottom-right-radius:300px}.ps.ps-round.ps-round-bottomleft{border-bottom-left-radius:300px}.ps.ps-article .ps-container{background-color:#fff}.pl{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:64px 0}.pl .pl-filler{-webkit-box-flex:0;-webkit-flex:0 0 var(--rest);-ms-flex:0 0 var(--rest);flex:0 0 var(--rest)}.pl .pl-content{-webkit-box-flex:0;-webkit-flex:0 0 var(--cw);-ms-flex:0 0 var(--cw);flex:0 0 var(--cw);padding:0 32px}.pl .pl-content.pl-extend{-webkit-box-flex:0;-webkit-flex:0 0 -webkit-calc(var(--cw) + var(--rest));-ms-flex:0 0 calc(var(--cw) + var(--rest));flex:0 0 calc(var(--cw) + var(--rest));overflow-x:hidden;padding-right:0}.pl .pl-content.pl-columns{display:grid;grid-gap:32px}.pl .pl-content.pl-columns h1,.pl .pl-content.pl-columns h2,.pl .pl-content.pl-columns h3{grid-column:1/-1}.pl .pl-content.pl-columns.pl-columns-2{grid-template-columns:1fr 1fr}.pl .pl-content.pl-columns.pl-columns-3{grid-template-columns:1fr 1fr 1fr}.pl .pl-content.pl-columns.pl-columns-4{grid-template-columns:1fr 1fr 1fr 1fr}.pl .pl-content.pl-columns.pl-vcenter{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.pl .pl-content.pl-left{display:grid;grid-template-columns:1fr 2fr}.pl .pl-content.pl-right{display:grid;grid-gap:32px;grid-template-columns:2fr 1fr}.pl .pl-content.pl-article{background-color:#fff;padding-top:32px;padding-bottom:32px;border-top-left-radius:20px;border-top-right-radius:300px}.opener{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;position:relative}.opener article{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;max-width:1200px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.opener article section{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;padding:128px 0}.opener article section p{margin-bottom:32px}.opener aside{position:absolute;height:100%;top:32px;left:50%;width:-webkit-calc(100vw - 50%);width:calc(100vw - 50%);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;overflow:hidden}.opener aside img{max-width:100%}.sub-opener{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.sub-opener article{max-width:800px}.sub-opener article h2{color:#fff;text-align:center}.sub-opener article p{color:var(--brand);text-align:center}.image-container img{max-width:100%}.card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-filter:drop-shadow(0 4px 4px rgba(0,0,0,.25));filter:drop-shadow(0 4px 4px rgba(0,0,0,.25))}.card figure{background-color:#e3e3e3;width:100%;-webkit-box-flex:0;-webkit-flex:0 0 200px;-ms-flex:0 0 200px;flex:0 0 200px;overflow:hidden;position:relative}.card figure img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.card figure figcaption{position:absolute;left:16px;bottom:10px;border:1px solid #fff;border-radius:16px;color:#fff;padding:4px 8px;text-transform:uppercase}.card header{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:auto;border-bottom-left-radius:20px;border-bottom-right-radius:20px;background-color:#fff;padding:16px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.card header h2{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:auto;font-weight:700;font-size:1.5em;line-height:1.2em;margin-bottom:16px;font-family:var(--font-text)}.card header .test{-webkit-box-flex:0;-webkit-flex:0 0 32px;-ms-flex:0 0 32px;flex:0 0 32px}.card header .test a{width:auto}.card-article figure{-webkit-clip-path:polygon(360px 220px,0 -webkit-calc(100% - 0),0 23.54px,0 23.54px,.30812px 19.72188px,1.20016px 16.09984px,2.62764px 12.72236px,4.54208px 9.63792px,6.895px 6.895px,9.63792px 4.54208px,12.72236px 2.62764px,16.09984px 1.20016px,19.72188px .30812px,23.54px 0,-webkit-calc(100% - 77.06px) 0,-webkit-calc(100% - 77.06px) 0,-webkit-calc(100% - 75.89428px) .04116px,-webkit-calc(100% - 74.73984px) .16368px,-webkit-calc(100% - 73.60076px) .36612px,-webkit-calc(100% - 72.48112px) .64704px,-webkit-calc(100% - 71.385px) 1.005px,-webkit-calc(100% - 70.31648px) 1.43856px,-webkit-calc(100% - 69.27964px) 1.94628px,-webkit-calc(100% - 68.27856px) 2.52672px,-webkit-calc(100% - 67.31732px) 3.17844px,-webkit-calc(100% - 66.4px) 3.9px,-webkit-calc(100% - 5.86px) 55.05px,-webkit-calc(100% - 5.86px) 55.05px,-webkit-calc(100% - 4.7943899999999px) 56.03488px,-webkit-calc(100% - 3.8259199999999px) 57.10064px,-webkit-calc(100% - 2.9581299999999px) 58.23996px,-webkit-calc(100% - 2.1945599999999px) 59.44552px,-webkit-calc(100% - 1.5387499999999px) 60.71px,-webkit-calc(100% - .99423999999999px) 62.02608px,-webkit-calc(100% - .56456999999989px) 63.38644px,-webkit-calc(100% - .25327999999996px) 64.78376px,-webkit-calc(100% - .063909999999964px) 66.21072px,-webkit-calc(100% - 0) 67.66px,100% -webkit-calc(100% - .0099999999999909px));clip-path:polygon(360px 220px,0 calc(100% - 0px),0 23.54px,0 23.54px,.30812px 19.72188px,1.20016px 16.09984px,2.62764px 12.72236px,4.54208px 9.63792px,6.895px 6.895px,9.63792px 4.54208px,12.72236px 2.62764px,16.09984px 1.20016px,19.72188px .30812px,23.54px 0,calc(100% - 77.06px) 0,calc(100% - 77.06px) 0,calc(100% - 75.89428px) .04116px,calc(100% - 74.73984px) .16368px,calc(100% - 73.60076px) .36612px,calc(100% - 72.48112px) .64704px,calc(100% - 71.385px) 1.005px,calc(100% - 70.31648px) 1.43856px,calc(100% - 69.27964px) 1.94628px,calc(100% - 68.27856px) 2.52672px,calc(100% - 67.31732px) 3.17844px,calc(100% - 66.4px) 3.9px,calc(100% - 5.86px) 55.05px,calc(100% - 5.86px) 55.05px,calc(100% - 4.7943899999999px) 56.03488px,calc(100% - 3.8259199999999px) 57.10064px,calc(100% - 2.9581299999999px) 58.23996px,calc(100% - 2.1945599999999px) 59.44552px,calc(100% - 1.5387499999999px) 60.71px,calc(100% - .99423999999999px) 62.02608px,calc(100% - .56456999999989px) 63.38644px,calc(100% - .25327999999996px) 64.78376px,calc(100% - .063909999999964px) 66.21072px,calc(100% - 0px) 67.66px,100% calc(100% - .0099999999999909px))}.card-cta figure{border-top-left-radius:328px;border-top-right-radius:328px;background-color:var(--brand)}.card-cta header{background-color:var(--brand);text-align:center}.card-person{border-radius:20px;padding:16px;background-color:#fff;display:grid;grid-template-columns:64px 1fr;grid-template-rows:auto;grid-template-areas:"pic head" "content content"}.card-person figure{width:64px;height:64px;grid-area:pic;position:relative;border-radius:50%;overflow:hidden;background-color:#e3e3e3}.card-person header{grid-area:head;overflow:hidden;padding:0;padding-left:16px;margin:0}.card-person header h3{padding-top:10px;padding-bottom:8px}.card-person p.content{padding-top:8px;grid-area:content}.carousel{--item-width:-webkit-calc(var(--cw) / 3);--item-width:calc(var(--cw) / 3);overflow-x:hidden}.carousel .slides{padding-top:16px;padding-bottom:16px;padding-left:8px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative;overflow-x:auto;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;scroll-behavior:smooth}.carousel .slides::-webkit-scrollbar{width:10px;height:10px}.carousel .slides::-webkit-scrollbar-thumb{background:0 0;border-radius:10px}.carousel .slides::-webkit-scrollbar-track{background:0 0}.carousel .slides>*{margin-right:32px;width:-webkit-calc(var(--item-width) - 32px);width:calc(var(--item-width) - 32px);scroll-snap-align:start;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.carousel .pages{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;color:#fff}.carousel .pages div{margin-left:16px}.smallousel{background-color:#fff;border-radius:64px;padding:24px 16px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.smallousel .smallouselnav{-webkit-box-flex:0;-webkit-flex:0 0 64px;-ms-flex:0 0 64px;flex:0 0 64px}.smallousel .smallouselcontent{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.smallousel .smallouselcontent img{max-height:64px}.accordion .accordion-item{padding-top:8px;border-bottom:1px solid #000;padding-bottom:4px}.accordion .accordion-item .accordion-content{display:none;padding-bottom:8px}.accordion .accordion-item h3{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding-bottom:8px;display:pointer}.accordion .accordion-item h3 span{margin-left:10px;display:inline-block;width:10px;height:10px;border-left:1px solid #000;border-bottom:1px solid #000;-webkit-transform-origin:bottom;-ms-transform-origin:bottom;-o-transform-origin:bottom;transform-origin:bottom;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg);margin-top:-4px}.accordion .accordion-item:first-of-type{padding-top:0}.accordion .accordion-item.active h3 span{-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);-o-transform:rotate(135deg);transform:rotate(135deg)}.accordion .accordion-item.active .accordion-content{display:block}.stats{background-color:#fff;list-style:none;border-radius:64px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:32px 0;-webkit-filter:drop-shadow(0 4px 4px rgba(0,0,0,.25));filter:drop-shadow(0 4px 4px rgba(0,0,0,.25))}.stats li{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;padding:0 32px;text-align:center;border-right:1px solid var(--brand)}.stats li:last-of-type{border-right:0}.stats li h2{margin:0;padding:0 0 8px}.stats li h6{margin:0;padding:0}.volunteer .core-values h2{color:#fff}.volunteer .core-values article{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;grid-gap:32px}.volunteer .core-values article section{background-color:#fff;border-radius:8px;overflow:hidden}.volunteer .core-values article section h3{padding:16px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;background-color:var(--brand)}.volunteer .core-values article section h3 span{display:inline-block;border-radius:50%;width:42px;height:42px;font-weight:400;font-size:16px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around;color:var(--brand);background-color:#000;margin-right:16px}.volunteer .core-values article p{padding:16px}
\ No newline at end of file
+html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}@font-face{font-display:swap;font-family:'source sans 3';font-style:normal;font-weight:400;src:url(/font/sourcesans3/source-sans-3-v10-latin-regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:'source sans 3';font-style:italic;font-weight:400;src:url(/font/sourcesans3/source-sans-3-v10-latin-italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:'source sans 3';font-style:normal;font-weight:900;src:url(/font/sourcesans3/source-sans-3-v10-latin-900.woff2)format("woff2")}@font-face{font-display:swap;font-family:'source sans 3';font-style:italic;font-weight:900;src:url(/font/sourcesans3/source-sans-3-v10-latin-900italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:open sans;font-style:normal;font-weight:400;src:url(/font/opensans/open-sans-v36-latin-regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:open sans;font-style:italic;font-weight:400;src:url(/font/opensans/open-sans-v36-latin-italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:open sans;font-style:normal;font-weight:700;src:url(/font/opensans/open-sans-v36-latin-700.woff2)format("woff2")}@font-face{font-display:swap;font-family:open sans;font-style:italic;font-weight:700;src:url(/font/opensans/open-sans-v36-latin-700italic.woff2)format("woff2")}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:root{--fg:#000;--bg:#fff;--brand:#FFD736;--font-header:'Source Sans 3';--font-text:'Open Sans';--cw:-webkit-calc(min(100vw, 1200px));--cw:calc(min(100vw, 1200px));--rest:-webkit-calc((100vw - var(--cw)) / 2);--rest:calc((100vw - var(--cw)) / 2)}[data-theme=dark]{--fg:#fff;--bg:#000}select{font-size:24px}a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--fg)}body{font-family:open sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:16px}h1{font-weight:900;font-size:5em;font-family:var(--font-header);line-height:.8em}h2{font-weight:900;font-size:2.6em;font-family:var(--font-header);line-height:1em;margin-bottom:.4em}h3{font-size:1.4em;font-family:var(--font-text);font-weight:700}h6{text-transform:uppercase;font-family:var(--font-text);font-weight:400;font-size:.8em;color:#545454}p.opener{font-weight:400;font-size:2em;font-family:var(--font-header);color:#545454;line-height:1em}p{font-family:var(--font-text);font-size:1.2em;line-height:1.6em;margin-bottom:16px}.reverse h1,.reverse h2,.reverse p{color:#fff}html,body{padding:0;margin:0}body{min-height:100vh;background:var(--bg);color:var(--fg)}.home-layout{padding-top:128px;background-color:#fff}.article-layout{padding-top:128px;background-color:#1d1d1d}.topic-layout{padding-top:0;background-color:#fff}.topic-intro{background-color:#1d1d1d;padding-top:128px;border-bottom-left-radius:150px}p.pre{white-space:pre-wrap}a.cta{background-color:#000;color:#fff;border-radius:24px;border:0;font-family:var(--font-text);font-style:normal;font-weight:700;font-size:14px;line-height:16px;letter-spacing:.02em;text-transform:uppercase;padding:8px 16px;display:inline-block;margin-right:8px}a.cta svg{margin-left:8px;width:12px;height:12px;fill:#fff}a.cta.inverse{background-color:#fff;color:#000}a.cta.inverse svg{fill:#000}a.cta.primary{background-color:#000}a.cta.secondary{color:#000;background-color:var(--brand)}.divd-family-list{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto;grid-gap:32px}.divd-family-list .divd-family-item{border-radius:20px;padding:32px;background-color:#1d1d1d;color:#fff}.divd-family-list .divd-family-item h3{margin-bottom:16px}.breadcrumbs{position:-webkit-sticky;position:sticky;z-index:1;top:108px;left:0}.breadcrumbs ul{padding:4px 8px;background-color:#f2f2f2;border-radius:32px;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;list-style:none}.breadcrumbs ul li{font-size:.8em;padding-right:8px}.breadcrumbs ul li:first-of-type{color:red}.partner-card{border-radius:20px;overflow:hidden}.partner-card figure{background-color:#fff;height:200px;overflow:hidden}.partner-card figure img{max-width:100%}.partner-card section{padding:20px 16px;background-color:#000;color:#fff}.partner-list{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:32px}.newsroom .newsroom-article-list{display:grid;grid-gap:32px;grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,400px)}.newsroom .highlight{grid-row:1/3;background-color:green}.newsroom .article{background-color:gray}button,.button{background-color:#000;color:#fff;border-radius:24px;border:0;font-family:open sans;font-style:normal;font-weight:700;font-size:14px;line-height:16px;letter-spacing:.02em;text-transform:uppercase;padding:4px 16px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}button.primary,.button.primary{color:#000;background-color:var(--brand)}button.inverse,.button.inverse{background-color:#fff;color:#000}button.inverse svg,.button.inverse svg{fill:#000}button svg,.button svg{width:15px;height:15px;margin-right:6px;margin-top:1px;fill:#fff}ol{list-style:outside;list-style-type:decimal;margin-left:20px;padding-left:10px}ol li{margin-bottom:10px}ol li ul{list-style:circle}ol li ul li{font-size:1em}nav.nav-container{position:fixed;top:10px;left:0;width:-webkit-calc(var(--cw) + var(--rest));width:calc(var(--cw) + var(--rest));z-index:3}nav.nav-container .main-nav{position:absolute;width:-webkit-calc(var(--cw) + var(--rest));width:calc(var(--cw) + var(--rest));top:0;background-color:#000;border-top-right-radius:64px;border-bottom-right-radius:64px;padding:24px 0;padding-left:var(--rest);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}nav.nav-container .main-nav figure{-webkit-box-flex:0;-webkit-flex:0 0 120px;-ms-flex:0 0 120px;flex:0 0 120px}nav.nav-container .main-nav figure .logo{width:96px}nav.nav-container .main-nav article{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:auto}nav.nav-container .main-nav article a{padding:0 24px;color:#fff;text-transform:uppercase;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-family:open sans;font-style:normal;font-weight:700;font-size:16px;line-height:14px;letter-spacing:.04em;-webkit-transition:color .3s ease-in-out;-o-transition:color .3s ease-in-out;transition:color .3s ease-in-out}nav.nav-container .main-nav article a svg{fill:#fff;margin-left:8px;height:8px;width:14px;-webkit-transition:-webkit-transform .5s ease-in-out;transition:-webkit-transform .5s ease-in-out;-o-transition:-o-transform .5s ease-in-out;transition:transform .5s ease-in-out;transition:transform .5s ease-in-out,-webkit-transform .5s ease-in-out,-o-transform .5s ease-in-out}nav.nav-container .main-nav article a:hover{color:var(--brand)}nav.nav-container .main-nav article a:hover svg{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg);fill:var(--brand)}nav.nav-container .main-nav aside{-webkit-box-flex:0;-webkit-flex:0 0 400px;-ms-flex:0 0 400px;flex:0 0 400px;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}nav.nav-container .main-nav aside button{margin-right:8px}nav.nav-container .main-nav aside section{padding-left:8px}nav.nav-container .main-nav aside section span{color:var(--brand)}nav.nav-container .main-nav aside section a{text-transform:lowercase;color:#fff}nav.nav-container .main-nav aside section a:hover{text-decoration:underline}nav.nav-container .sub-nav{display:none}nav.nav-container:hover .sub-nav{display:block}nav.sub-nav{padding-top:96px;-webkit-box-shadow:0 4px 20px 0 #0000001A;box-shadow:0 4px 20px #0000001A;border-bottom-right-radius:64px;border-top-right-radius:64px;overflow:hidden;background:-webkit-gradient(linear,left top,right top,from(#fff),color-stop(50%,#fff),color-stop(51%,#F2F2F2));background:-webkit-linear-gradient(left,#fff 0%,#fff 50%,#F2F2F2 51%);background:-o-linear-gradient(left,#fff 0%,#fff 50%,#F2F2F2 51%);background:linear-gradient(to right,#fff 0%,#fff 50%,#F2F2F2 51%);display:none;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;z-index:2}nav.sub-nav.active{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}nav.sub-nav article{padding-left:-webkit-calc(var(--rest) + 110px);padding-left:calc(var(--rest) + 110px);width:100%;background-color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}nav.sub-nav section:first-of-type{background-color:#fff;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:32px}nav.sub-nav section:first-of-type h3{text-transform:uppercase;font-size:1em;margin-bottom:20px;font-weight:600}nav.sub-nav section:first-of-type ul{list-style:none;padding:0;margin:0}nav.sub-nav section:first-of-type ul li{margin-bottom:10px}nav.sub-nav section:first-of-type ul li a{font-size:1.2em;text-decoration:none;border-bottom:none;font-weight:300;opacity:.8}nav.sub-nav section:first-of-type ul li a:hover{text-decoration:underline}nav.sub-nav section:first-of-type ul li a svg{width:11px}nav.sub-nav section:last-of-type{-webkit-box-flex:0;-webkit-flex:0 0 300px;-ms-flex:0 0 300px;flex:0 0 300px;background-color:#f2f2f2;padding:32px}.ps.ps-hide{overflow-x:hidden}.ps.ps-inverse{background-color:#1d1d1d}.ps.ps-primary{background-color:var(--brand)}.ps.ps-gradient{background:-webkit-linear-gradient(86.7deg,#FFFFFF 59.39%,rgba(61,220,235,.2) 97.41%);background:-o-linear-gradient(86.7deg,#FFFFFF 59.39%,rgba(61,220,235,.2) 97.41%);background:linear-gradient(3.3deg,#FFFFFF 59.39%,rgba(61,220,235,.2) 97.41%)}.ps.ps-gradient-reverse{background:-webkit-gradient(linear,left bottom,left top,color-stop(50%,rgba(61,220,235,.2)),to(#fff));background:-webkit-linear-gradient(bottom,rgba(61,220,235,.2) 50%,#fff 100%);background:-o-linear-gradient(bottom,rgba(61,220,235,.2) 50%,#fff 100%);background:linear-gradient(to top,rgba(61,220,235,.2) 50%,#fff 100%)}.ps.ps-overlap{background:-webkit-linear-gradient(top,#fff 0%,#fff 64px,#1D1D1D 64px,#1D1D1D 100%);background:-o-linear-gradient(top,#fff 0%,#fff 64px,#1D1D1D 64px,#1D1D1D 100%);background:linear-gradient(to bottom,#fff 0%,#fff 64px,#1D1D1D 64px,#1D1D1D 100%)}.ps.ps-overlap .ps-container{background:url(/assets/bubble.png)no-repeat 60% 120px}.ps.ps-overlap-top .ps-container{position:relative;top:-128px}.ps.ps-overlap-bottom .ps-container{position:relative;bottom:-96px}.ps.ps-round{padding-top:64px}.ps.ps-round.ps-round-topright{border-top-right-radius:300px}.ps.ps-round.ps-round-topleft{border-top-left-radius:300px}.ps.ps-round.ps-round-bottomright{border-bottom-right-radius:300px}.ps.ps-round.ps-round-bottomleft{border-bottom-left-radius:300px}.ps.ps-article .ps-container{background-color:#fff}.pl{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:64px 0}.pl .pl-filler{-webkit-box-flex:0;-webkit-flex:0 0 var(--rest);-ms-flex:0 0 var(--rest);flex:0 0 var(--rest)}.pl .pl-content{-webkit-box-flex:0;-webkit-flex:0 0 var(--cw);-ms-flex:0 0 var(--cw);flex:0 0 var(--cw);padding:0 32px}.pl .pl-content.pl-extend{-webkit-box-flex:0;-webkit-flex:0 0 -webkit-calc(var(--cw) + var(--rest));-ms-flex:0 0 calc(var(--cw) + var(--rest));flex:0 0 calc(var(--cw) + var(--rest));overflow-x:hidden;padding-right:0}.pl .pl-content.pl-columns{display:grid;grid-gap:32px}.pl .pl-content.pl-columns h1,.pl .pl-content.pl-columns h2,.pl .pl-content.pl-columns h3{grid-column:1/-1}.pl .pl-content.pl-columns.pl-columns-2{grid-template-columns:1fr 1fr}.pl .pl-content.pl-columns.pl-columns-3{grid-template-columns:1fr 1fr 1fr}.pl .pl-content.pl-columns.pl-columns-4{grid-template-columns:1fr 1fr 1fr 1fr}.pl .pl-content.pl-columns.pl-vcenter{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.pl .pl-content.pl-left{display:grid;grid-template-columns:1fr 2fr}.pl .pl-content.pl-right{display:grid;grid-gap:32px;grid-template-columns:2fr 1fr}.pl .pl-content.pl-article{background-color:#fff;padding-top:32px;padding-bottom:32px;border-top-left-radius:20px;border-top-right-radius:300px}.opener{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;position:relative}.opener article{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;max-width:1200px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.opener article section{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;padding:128px 0}.opener article section p{margin-bottom:32px}.opener aside{position:absolute;height:100%;top:32px;left:50%;width:-webkit-calc(100vw - 50%);width:calc(100vw - 50%);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;overflow:hidden}.opener aside img{max-width:100%}.sub-opener{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.sub-opener article{max-width:800px}.sub-opener article h2{color:#fff;text-align:center}.sub-opener article p{color:var(--brand);text-align:center}.image-container img{max-width:100%}.card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-filter:drop-shadow(0 4px 4px rgba(0,0,0,.25));filter:drop-shadow(0 4px 4px rgba(0,0,0,.25))}.card figure{background-color:#e3e3e3;width:100%;-webkit-box-flex:0;-webkit-flex:0 0 200px;-ms-flex:0 0 200px;flex:0 0 200px;overflow:hidden;position:relative}.card figure img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.card figure figcaption{position:absolute;left:16px;bottom:10px;border:1px solid #fff;border-radius:16px;color:#fff;padding:4px 8px;text-transform:uppercase}.card header{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:auto;border-bottom-left-radius:20px;border-bottom-right-radius:20px;background-color:#fff;padding:16px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.card header h2{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:auto;font-weight:700;font-size:1.5em;line-height:1.2em;margin-bottom:16px;font-family:var(--font-text)}.card header .test{-webkit-box-flex:0;-webkit-flex:0 0 32px;-ms-flex:0 0 32px;flex:0 0 32px}.card header .test a{width:auto}.card-article figure{-webkit-clip-path:polygon(360px 220px,0 -webkit-calc(100% - 0),0 23.54px,0 23.54px,.30812px 19.72188px,1.20016px 16.09984px,2.62764px 12.72236px,4.54208px 9.63792px,6.895px 6.895px,9.63792px 4.54208px,12.72236px 2.62764px,16.09984px 1.20016px,19.72188px .30812px,23.54px 0,-webkit-calc(100% - 77.06px) 0,-webkit-calc(100% - 77.06px) 0,-webkit-calc(100% - 75.89428px) .04116px,-webkit-calc(100% - 74.73984px) .16368px,-webkit-calc(100% - 73.60076px) .36612px,-webkit-calc(100% - 72.48112px) .64704px,-webkit-calc(100% - 71.385px) 1.005px,-webkit-calc(100% - 70.31648px) 1.43856px,-webkit-calc(100% - 69.27964px) 1.94628px,-webkit-calc(100% - 68.27856px) 2.52672px,-webkit-calc(100% - 67.31732px) 3.17844px,-webkit-calc(100% - 66.4px) 3.9px,-webkit-calc(100% - 5.86px) 55.05px,-webkit-calc(100% - 5.86px) 55.05px,-webkit-calc(100% - 4.7943899999999px) 56.03488px,-webkit-calc(100% - 3.8259199999999px) 57.10064px,-webkit-calc(100% - 2.9581299999999px) 58.23996px,-webkit-calc(100% - 2.1945599999999px) 59.44552px,-webkit-calc(100% - 1.5387499999999px) 60.71px,-webkit-calc(100% - .99423999999999px) 62.02608px,-webkit-calc(100% - .56456999999989px) 63.38644px,-webkit-calc(100% - .25327999999996px) 64.78376px,-webkit-calc(100% - .063909999999964px) 66.21072px,-webkit-calc(100% - 0) 67.66px,100% -webkit-calc(100% - .0099999999999909px));clip-path:polygon(360px 220px,0 calc(100% - 0px),0 23.54px,0 23.54px,.30812px 19.72188px,1.20016px 16.09984px,2.62764px 12.72236px,4.54208px 9.63792px,6.895px 6.895px,9.63792px 4.54208px,12.72236px 2.62764px,16.09984px 1.20016px,19.72188px .30812px,23.54px 0,calc(100% - 77.06px) 0,calc(100% - 77.06px) 0,calc(100% - 75.89428px) .04116px,calc(100% - 74.73984px) .16368px,calc(100% - 73.60076px) .36612px,calc(100% - 72.48112px) .64704px,calc(100% - 71.385px) 1.005px,calc(100% - 70.31648px) 1.43856px,calc(100% - 69.27964px) 1.94628px,calc(100% - 68.27856px) 2.52672px,calc(100% - 67.31732px) 3.17844px,calc(100% - 66.4px) 3.9px,calc(100% - 5.86px) 55.05px,calc(100% - 5.86px) 55.05px,calc(100% - 4.7943899999999px) 56.03488px,calc(100% - 3.8259199999999px) 57.10064px,calc(100% - 2.9581299999999px) 58.23996px,calc(100% - 2.1945599999999px) 59.44552px,calc(100% - 1.5387499999999px) 60.71px,calc(100% - .99423999999999px) 62.02608px,calc(100% - .56456999999989px) 63.38644px,calc(100% - .25327999999996px) 64.78376px,calc(100% - .063909999999964px) 66.21072px,calc(100% - 0px) 67.66px,100% calc(100% - .0099999999999909px))}.card-cta figure{border-top-left-radius:328px;border-top-right-radius:328px;background-color:var(--brand)}.card-cta header{background-color:var(--brand);text-align:center}.card-person{border-radius:20px;padding:16px;background-color:#fff;display:grid;grid-template-columns:64px 1fr;grid-template-rows:auto;grid-template-areas:"pic head" "content content"}.card-person figure{width:64px;height:64px;grid-area:pic;position:relative;border-radius:50%;overflow:hidden;background-color:#e3e3e3}.card-person header{grid-area:head;overflow:hidden;padding:0;padding-left:16px;margin:0}.card-person header h3{padding-top:10px;padding-bottom:8px}.card-person p.content{padding-top:8px;grid-area:content}.carousel{--item-width:-webkit-calc(var(--cw) / 3);--item-width:calc(var(--cw) / 3);overflow-x:hidden}.carousel .slides{padding-top:16px;padding-bottom:16px;padding-left:8px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative;overflow-x:auto;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;scroll-behavior:smooth}.carousel .slides::-webkit-scrollbar{width:10px;height:10px}.carousel .slides::-webkit-scrollbar-thumb{background:0 0;border-radius:10px}.carousel .slides::-webkit-scrollbar-track{background:0 0}.carousel .slides>*{margin-right:32px;width:-webkit-calc(var(--item-width) - 32px);width:calc(var(--item-width) - 32px);scroll-snap-align:start;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.carousel .pages{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;color:#fff}.carousel .pages div{margin-left:16px}.smallousel{background-color:#fff;border-radius:64px;padding:24px 16px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.smallousel .smallouselnav{-webkit-box-flex:0;-webkit-flex:0 0 64px;-ms-flex:0 0 64px;flex:0 0 64px}.smallousel .smallouselcontent{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.smallousel .smallouselcontent img{max-height:64px}.accordion .accordion-item{padding-top:8px;border-bottom:1px solid #000;padding-bottom:4px}.accordion .accordion-item .accordion-content{display:none;padding-bottom:8px}.accordion .accordion-item h3{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding-bottom:8px;display:pointer}.accordion .accordion-item h3 span{margin-left:10px;display:inline-block;width:10px;height:10px;border-left:1px solid #000;border-bottom:1px solid #000;-webkit-transform-origin:bottom;-ms-transform-origin:bottom;-o-transform-origin:bottom;transform-origin:bottom;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg);margin-top:-4px}.accordion .accordion-item:first-of-type{padding-top:0}.accordion .accordion-item.active h3 span{-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);-o-transform:rotate(135deg);transform:rotate(135deg)}.accordion .accordion-item.active .accordion-content{display:block}.stats{background-color:#fff;list-style:none;border-radius:64px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:32px 0;-webkit-filter:drop-shadow(0 4px 4px rgba(0,0,0,.25));filter:drop-shadow(0 4px 4px rgba(0,0,0,.25))}.stats li{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;padding:0 32px;text-align:center;border-right:1px solid var(--brand)}.stats li:last-of-type{border-right:0}.stats li h2{margin:0;padding:0 0 8px}.stats li h6{margin:0;padding:0}.volunteer .core-values h2{color:#fff}.volunteer .core-values article{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;grid-gap:32px}.volunteer .core-values article section{background-color:#fff;border-radius:8px;overflow:hidden}.volunteer .core-values article section h3{padding:16px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;background-color:var(--brand)}.volunteer .core-values article section h3 span{display:inline-block;border-radius:50%;width:42px;height:42px;font-weight:400;font-size:16px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around;color:var(--brand);background-color:#000;margin-right:16px}.volunteer .core-values article p{padding:16px}
\ No newline at end of file
diff --git a/resources/_gen/assets/scss/scss/screen.scss_ef8898091db9f60552fe2b015479a919.json b/resources/_gen/assets/scss/scss/screen.scss_ef8898091db9f60552fe2b015479a919.json
index 67f14486..e975a821 100644
--- a/resources/_gen/assets/scss/scss/screen.scss_ef8898091db9f60552fe2b015479a919.json
+++ b/resources/_gen/assets/scss/scss/screen.scss_ef8898091db9f60552fe2b015479a919.json
@@ -1 +1 @@
-{"Target":"styles/screen.min.7ff56306a830abb049265323b4cfa165e7f43b9fc5737fd6f2d53c55e4d11569.css","MediaType":"text/css","Data":{"Integrity":"sha256-f/VjBqgwq7BJJlMjtM+hZef0O5/Fc3/W8tU8VeTRFWk="}}
\ No newline at end of file
+{"Target":"styles/screen.min.5217c328520472d3dd24cfdea41194065cf9d90a82b60cbef267b0153970d689.css","MediaType":"text/css","Data":{"Integrity":"sha256-UhfDKFIEctPdJM/epBGUBlz52QqCtgy+8mewFTlw1ok="}}
\ No newline at end of file
diff --git a/resources/_gen/images/codeofconduct_header_hu5a985c7cbc98246d94507624e33f272b_103979_1200x0_resize_q75_h2_box_3.webp b/resources/_gen/images/codeofconduct_header_hu5a985c7cbc98246d94507624e33f272b_103979_1200x0_resize_q75_h2_box_3.webp
new file mode 100644
index 00000000..97df15f1
Binary files /dev/null and b/resources/_gen/images/codeofconduct_header_hu5a985c7cbc98246d94507624e33f272b_103979_1200x0_resize_q75_h2_box_3.webp differ
diff --git a/resources/_gen/images/codeofconduct_header_hu5a985c7cbc98246d94507624e33f272b_103979_768x0_resize_q75_h2_box_3.webp b/resources/_gen/images/codeofconduct_header_hu5a985c7cbc98246d94507624e33f272b_103979_768x0_resize_q75_h2_box_3.webp
new file mode 100644
index 00000000..64af270e
Binary files /dev/null and b/resources/_gen/images/codeofconduct_header_hu5a985c7cbc98246d94507624e33f272b_103979_768x0_resize_q75_h2_box_3.webp differ
diff --git a/resources/_gen/images/codeofconduct_header_hu5a985c7cbc98246d94507624e33f272b_103979_992x0_resize_q75_h2_box_3.webp b/resources/_gen/images/codeofconduct_header_hu5a985c7cbc98246d94507624e33f272b_103979_992x0_resize_q75_h2_box_3.webp
new file mode 100644
index 00000000..04ae00ff
Binary files /dev/null and b/resources/_gen/images/codeofconduct_header_hu5a985c7cbc98246d94507624e33f272b_103979_992x0_resize_q75_h2_box_3.webp differ
diff --git a/scripts/postbuild.js b/scripts/postbuild.js
new file mode 100644
index 00000000..b42d7fc5
--- /dev/null
+++ b/scripts/postbuild.js
@@ -0,0 +1,38 @@
+const fs = require('fs');
+const lunr = require('lunr');
+
+// Read the Hugo-generated JSON file
+fs.readFile('public/search/index.json', 'utf8', (err, data) => {
+ if (err) {
+ console.error('Error reading JSON file:', err);
+ return;
+ }
+
+ // Parse the JSON data
+ const documents = JSON.parse(data);
+
+ // Create a Lunr.js index
+ const idx = lunr(function () {
+ this.ref('title');
+ this.field('title');
+ this.field('content');
+ this.field('type');
+
+ documents.forEach((doc, index) => {
+ this.add({
+ title: doc.title,
+ content: doc.content,
+ type: doc.type,
+ });
+ });
+ });
+
+ // Save the pre-built Lunr.js index
+ fs.writeFile('public/search/prebuild.json', JSON.stringify(idx), (err) => {
+ if (err) {
+ console.error('Error writing pre-built index:', err);
+ } else {
+ console.log('Pre-built index created successfully.');
+ }
+ });
+});
diff --git a/static/vendor/lunr.min.js b/static/vendor/lunr.min.js
new file mode 100644
index 00000000..cdc94cd3
--- /dev/null
+++ b/static/vendor/lunr.min.js
@@ -0,0 +1,6 @@
+/**
+ * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9
+ * Copyright (C) 2020 Oliver Nightingale
+ * @license MIT
+ */
+!function(){var e=function(t){var r=new e.Builder;return r.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),r.searchPipeline.add(e.stemmer),t.call(r,r),r.build()};e.version="2.3.9",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.utils.asString=function(e){return void 0===e||null===e?"":e.toString()},e.utils.clone=function(e){if(null===e||void 0===e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i0){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){var r=t.label&&t.label in this.registeredFunctions;r||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){var t=Array.prototype.slice.call(arguments);t.forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);t!=-1&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r1&&(se&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:s>e?2*n:sa?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t0){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o["final"]=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u["final"]=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node["final"]=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l["final"]=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c["final"]=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n=e;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r["char"]]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){var i=new e.QueryParser(t,r);i.parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){var t,r;do t=this.next(),r=t.charCodeAt(0);while(r>47&&r<58);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos1&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){t.width()>0&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(void 0!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(void 0!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(void 0==n){var i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(void 0!=r){if(t.query.allFields.indexOf(r.str)==-1){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(void 0==s){var n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(void 0!=r){t.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(void 0==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}();