Page Archive

Page Not Found

Sorry, but the page you were trying to view does not exist.

Brief Self-Introduction

  • I studied Applied Chemistry at Jinzhong University from September 2014 to July 2018. After graduating and working for a year, I took the national postgraduate entrance exams in 2020 and 2021, scoring 263 and 400, respectively. After completing the entrance exams and interviews, I worked in the education and training sector for a period.
  • From September 2021 to July 2024, I pursued my Master's degree in Materials and Chemical Engineering at Sichuan University, where I was awarded the second-class academic scholarship for three consecutive years. During my graduate studies, I focused on interdisciplinary research at the intersection of AI and LiBs (Lithium-ion Batteries). As the first author, I published two papers in Energy and Applied Energy, both ranked as Q1 in the Chinese Academy of Sciences and JCR. Over these three years of Master's study, I developed the ability to independently conduct interdisciplinary research.
  • During my work as a LLM engineer, I quickly learned technologies like RAG and Langchain. To improve coding skills, I turned to traditional development. During this time, I learned front-end and back-end technologies, accumulating full-stack development capabilities.

Research Interests

My current research interests include AI4Science, Agents, Generative AI, Deep Learning, LLMs, and MLsys.


Collaboration Opportunities

I am currently seeking collaborations in the following areas:

  • Web Development Projects: Frontend (Vue) and Backend (Java, Python) development services.
  • AI Application Development: Machine learning model development, LLM fine-tuning, RAG implementation, and AI system integration.
  • Technical Consulting: Advisory services for interdisciplinary AI applications, particularly in LiBs (Lithium-ion Batteries).

If you are interested in collaboration, please reach out to me via email at: 2021223075161@alu.scu.edu.cn

Archive Layout with Content

A variety of common markup showing how the theme styles them.

Header one

Header two

Header three

Header four

Header five
Header six

Blockquotes

Single line blockquote:

Quotes are cool.

Tables

EntryItem 
John Doe2016Description of the item in the list
Jane Doe2019Description of the item in the list
Doe Doe2022Description of the item in the list
Header1Header2Header3
cell1cell2cell3
cell4cell5cell6
cell1cell2cell3
cell4cell5cell6
Foot1Foot2Foot3

Definition Lists

Definition List Title
Definition list division.
Startup
A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model.
#dowork
Coined by Rob Dyrdek and his personal body guard Christopher “Big Black” Boykins, “Do Work” works as a self motivator, to motivating your friends.
Do It Live
I’ll let Bill O’Reilly explain this one.

Unordered Lists (Nested)

  • List item one
    • List item one
      • List item one
      • List item two
      • List item three
      • List item four
    • List item two
    • List item three
    • List item four
  • List item two
  • List item three
  • List item four

Ordered List (Nested)

  1. List item one
    1. List item one
      1. List item one
      2. List item two
      3. List item three
      4. List item four
    2. List item two
    3. List item three
    4. List item four
  2. List item two
  3. List item three
  4. List item four

Buttons

Make any link standout more when applying the .btn class.

Notices

Watch out! You can also add notices by appending {: .notice} to a paragraph.

HTML Tags

Address Tag

1 Infinite Loop
Cupertino, CA 95014
United States

This is an example of a link.

Abbreviation Tag

The abbreviation CSS stands for “Cascading Style Sheets”.

Cite Tag

“Code is poetry.” —Automattic

Code Tag

You will learn later on in these tests that word-wrap: break-word; will be your best friend.

Strike Tag

This tag will let you strikeout text.

Emphasize Tag

The emphasize tag should italicize text.

Insert Tag

This tag should denote inserted text.

Keyboard Tag

This scarcely known tag emulates keyboard text, which is usually styled like the <code> tag.

Preformatted Tag

This tag styles large blocks of code.

.post-title {
  margin: 0 0 5px;
  font-weight: bold;
  font-size: 38px;
  line-height: 1.2;
  and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}

Quote Tag

Developers, developers, developers… –Steve Ballmer

Strong Tag

This tag shows bold text.

Subscript Tag

Getting our science styling on with H2O, which should push the “2” down.

Superscript Tag

Still sticking with science and Isaac Newton’s E = MC2, which should lift the 2 up.

Variable Tag

This allows you to denote variables.

Page Not Found

Sorry, but the page you were trying to view does not exist.

Brief Self-Introduction

  • I studied Applied Chemistry at Jinzhong University from September 2014 to July 2018. After graduating and working for a year, I took the national postgraduate entrance exams in 2020 and 2021, scoring 263 and 400, respectively. After completing the entrance exams and interviews, I worked in the education and training sector for a period.
  • From September 2021 to July 2024, I pursued my Master's degree in Materials and Chemical Engineering at Sichuan University, where I was awarded the second-class academic scholarship for three consecutive years. During my graduate studies, I focused on interdisciplinary research at the intersection of AI and LiBs (Lithium-ion Batteries). As the first author, I published two papers in Energy and Applied Energy, both ranked as Q1 in the Chinese Academy of Sciences and JCR. Over these three years of Master's study, I developed the ability to independently conduct interdisciplinary research.
  • During my work as a LLM engineer, I quickly learned technologies like RAG and Langchain. To improve coding skills, I turned to traditional development. During this time, I learned front-end and back-end technologies, accumulating full-stack development capabilities.

Research Interests

My current research interests include AI4Science, Agents, Generative AI, Deep Learning, LLMs, and MLsys.


Collaboration Opportunities

I am currently seeking collaborations in the following areas:

  • Web Development Projects: Frontend (Vue) and Backend (Java, Python) development services.
  • AI Application Development: Machine learning model development, LLM fine-tuning, RAG implementation, and AI system integration.
  • Technical Consulting: Advisory services for interdisciplinary AI applications, particularly in LiBs (Lithium-ion Batteries).

If you are interested in collaboration, please reach out to me via email at: 2021223075161@alu.scu.edu.cn

Archive Layout with Content

A variety of common markup showing how the theme styles them. # Header one ## Header two ### Header three #### Header four ##### Header five ###### Header six ## Blockquotes Single line blockquote: > Quotes are cool. ## Tables | Entry | Item | | | -------- | ------ | ------------------------------------------------------------ | | [John Doe](#) | 2016 | Description of the item in the list | | [Jane Doe](#) | 2019 | Description of the item in the list | | [Doe Doe](#) | 2022 | Description of the item in the list | | Header1 | Header2 | Header3 | |:--------|:-------:|--------:| | cell1 | cell2 | cell3 | | cell4 | cell5 | cell6 | |-----------------------------| | cell1 | cell2 | cell3 | | cell4 | cell5 | cell6 | |=============================| | Foot1 | Foot2 | Foot3 | ## Definition Lists Definition List Title : Definition list division. Startup : A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model. #dowork : Coined by Rob Dyrdek and his personal body guard Christopher "Big Black" Boykins, "Do Work" works as a self motivator, to motivating your friends. Do It Live : I'll let Bill O'Reilly [explain](https://www.youtube.com/watch?v=O_HyZ5aW76c "We'll Do It Live") this one. ## Unordered Lists (Nested) * List item one * List item one * List item one * List item two * List item three * List item four * List item two * List item three * List item four * List item two * List item three * List item four ## Ordered List (Nested) 1. List item one 1. List item one 1. List item one 2. List item two 3. List item three 4. List item four 2. List item two 3. List item three 4. List item four 2. List item two 3. List item three 4. List item four ## Buttons Make any link standout more when applying the `.btn` class. ## Notices **Watch out!** You can also add notices by appending `{: .notice}` to a paragraph. {: .notice} ## HTML Tags ### Address Tag
1 Infinite Loop
Cupertino, CA 95014
United States
### Anchor Tag (aka. Link) This is an example of a [link](http://github.com "Github"). ### Abbreviation Tag The abbreviation CSS stands for "Cascading Style Sheets". *[CSS]: Cascading Style Sheets ### Cite Tag "Code is poetry." ---Automattic ### Code Tag You will learn later on in these tests that `word-wrap: break-word;` will be your best friend. ### Strike Tag This tag will let you strikeout text. ### Emphasize Tag The emphasize tag should _italicize_ text. ### Insert Tag This tag should denote inserted text. ### Keyboard Tag This scarcely known tag emulates keyboard text, which is usually styled like the `` tag. ### Preformatted Tag This tag styles large blocks of code.
.post-title {
  margin: 0 0 5px;
  font-weight: bold;
  font-size: 38px;
  line-height: 1.2;
  and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}
### Quote Tag Developers, developers, developers… –Steve Ballmer ### Strong Tag This tag shows **bold text**. ### Subscript Tag Getting our science styling on with H2O, which should push the "2" down. ### Superscript Tag Still sticking with science and Isaac Newton's E = MC2, which should lift the 2 up. ### Variable Tag This allows you to denote variables. {% include base_path %} {% for post in site.pages %} {% include archive-single.html %} {% endfor %} </div> </div> </div> </article> </div>

Posts by Category

{% include base_path %} {% include group-by-array collection=site.posts field="categories" %} {% for category in group_names %} {% assign posts = group_items[forloop.index0] %}

{{ category }}

{% for post in posts %} {% include archive-single.html %} {% endfor %} {% endfor %}

Posts by Collection

{% include base_path %} {% capture written_label %}'None'{% endcapture %} {% for collection in site.collections %} {% unless collection.output == false or collection.label == "posts" %} {% capture label %}{{ collection.label }}{% endcapture %} {% if label != written_label %}

{{ label }}

{% capture written_label %}{{ label }}{% endcapture %} {% endif %} {% endunless %} {% for post in collection.docs %} {% unless collection.output == false or collection.label == "posts" %} {% include archive-single.html %} {% endunless %} {% endfor %} {% endfor %}

**Date of Birth**: August 12, 1995 **Phone**: +86 15307241568 **Email**: 2021223075161@alu.scu.edu.cn **Position**: Algorithm & Frontend-Backend Full Stack Development Engineer **Salary Expectation**: 22k-27k/mo **Location**: From Xianning, Hubei Province, currently living in Shenzhen, Guangdong Province --- ## Education **Sichuan University**, _Master's Degree_ (2021.09 - 2024.07) College of Chemical Engineering, Materials and Chemical Engineering - University Second-class Academic Scholarship, Academic Year 2021 - 2022 - University Second-class Academic Scholarship, Academic Year 2022 - 2023 - University Second-class Academic Scholarship, Academic Year 2023 - 2024 **Jinzhong University**, _Bachelor's Degree_ (2014.09 - 2018.07) College of Chemistry and Chemical Engineering, Applied Chemistry **Tongshan County No.1 High School** (2011.09 - 2014.07) --- ## Academic Performance - College entrance examination: 502 points - Undergraduate GPA: 2.9/4 (Ranked 45/50) - 2020 postgraduate entrance examination: 263 points - 2021 postgraduate entrance examination: 400 points (Ranked 8/120) - Mathematics II: 141 points (Ranked 1/120) - Graduate GPA: 3.5/4 (Top 30%) --- ## Self-evaluation During my graduate studies, I primarily focused on research at the intersection of AI and lithium-ion batteries (LiBs). As the first author, I have published two papers in _Energy_ and _Applied Energy_ (both are Q1 journals in CAS and JCR rankings). Throughout these three years of master's studies, I developed the ability to independently conduct interdisciplinary research. During my work as a LLM engineer, I quickly learned technologies like RAG and Langchain. To improve coding skills, I turned to development. During this time, I learned front-end and back-end technologies, accumulating full-stack development capabilities. My current research interests include AI4Science, Agents, Generative AI, Deep Learning, LLMs, and MLsys. --- ## Publications 1. **Jiang, Lidang, et al.** "A Robust Adapted Flexible Parallel Neural Network Architecture for Early Prediction of Lithium Battery Lifespan." _Energy_, 308:132840, 2024. (IF=9) - Video-like data, Bayesian optimization, dual-stream network, 3D CNN, InceptionBlock, learning outcomes, optimization algorithms 2. **Jiang, Lidang, et al.** "Generating Comprehensive Lithium Battery Charging Data with Generative AI." _Applied Energy_, 377:124604, 2025. (IF=10.1) - Video-like data, Bayesian optimization, generative models, learning outcomes, optimization algorithms, CVAE, embedding layers ---

Professional Skills and Courses

Algorithm SkillsFront-end SkillsBack-end SkillsOther Skills and Courses
Machine Learning, Deep Learning, GenAI, RAG, Agent, Langchain, Pytorch, Distributed Training, Fine-tuning, Few-shot Learning, LLMs Testing and Optimization, Bayesian Optimization HTML, CSS, JavaScript, Vue, Element-UI, Vant, uni-app, Husky, Prettier, ESLint, Stylelint,Quill,ECharts,Nginx Java, SQL, Spring, SpringBoot, Mybatis Git, Docker, Linux, LaTeX, Data Analysis, Mathematical Methods, Numerical Analysis, Stanford CS 231n, CS 224n, CET-4
## Work Experience ### **Baidu (Labor Dispatch)**, AI Computing - Python Backend Developer _2025.08 - Present_ ### **China Telecom Digital Intelligence Technology Co., Ltd.** _2024.07 - 2025.06_ - Hainan Branch (Labor Dispatch) - Large Language Model Algorithm Engineer (2024.07 - 2024.09) - Front-end Development Engineer (2024.09 - 2025.06) ### **Wenjia Education, etc.**, Graduate Entrance Exam Subject Tutor _2021.05 - 2021.12_ ### **Guangzhou Lizhi Education Technology Co., Ltd., Yousi Tutoring, etc.**, Math Teacher _2021.05 - 2021.12_ ### **Others (e.g., Unemployed, Preparing for Exams at Home, etc.)** _2019.09 - 2021.05_ ### **Real Estate Consultant, Environmental Engineer, Hotel Receptionist, Game Booster** _2018.07 - 2019.09_ ---

/* * Minimal Mistakes Jekyll Theme * * - Michael Rose * - mademistakes.com * - https://twitter.com/mmistakes * */ @import "vendor/breakpoint/breakpoint"; // media query mixins @import "variables"; @import "mixins"; @import "vendor/susy/susy"; @import "reset"; @import "base"; @import "utilities"; @import "animations"; @import "tables"; @import "buttons"; @import "notices"; @import "masthead"; @import "navigation"; @import "footer"; @import "syntax"; @import "forms"; @import "page"; @import "archive"; @import "sidebar"; @import "vendor/font-awesome/fontawesome"; @import "vendor/font-awesome/solid"; @import "vendor/font-awesome/brands"; @import "vendor/magnific-popup/magnific-popup"; @import "print"; html, body, h1, h2, h3, h4, h5, h6, p, span, li, a, blockquote, table, th, td, .page__footer-copyright { font-family: "Times New Roman", serif !important; } /* 隐藏滚动条但保留滚动功能 */ html { /* 适用于Chrome, Safari, Edge等Webkit内核浏览器 */ &::-webkit-scrollbar { display: none; } /* 适用于Firefox */ scrollbar-width: none; /* 适用于IE和旧版Edge */ -ms-overflow-style: none; /* 保持内容正常滚动 */ overflow-y: scroll; } /* 自定义出版物布局样式 */ .publication-custom-layout { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; /* 修改为垂直居中对齐 */ gap: 20px; margin-top: 20px; } .publication-image { flex: 1 1 300px; max-width: 300px; } .publication-image img { width: 100%; height: auto; /* 如果需要,添加 max-height 来限制图片高度 */ /* max-height: 200px; */ } .publication-text { flex: 2 1 60%; max-width: 70%; } .masthead__inner-wrap nav{ background-color: rgba(0, 0, 0, 0.3) !important; background: rgba(0, 0, 0, 0.3) !important; } /* 在 main.scss 里追加 */ .masthead { // 如果你想让导航区域都半透明黑: background: rgba(0, 0, 0, 0.3) !important; // 或者你只想让 .masthead__inner-wrap nav 背景半透明 .masthead__inner-wrap { nav { background: rgba(0, 0, 0, -0.3) !important; a { color: #fff !important; /* 文字白色 */ font-weight: 700 !important; /* 加粗 */ } } } // 如果还有别的地方(如 masthead 标题之类), 你也可以单独调 } .hidden-links { background: rgba(0, 0, 0, 0.3) !important; /* 半透明黑 */ border: 1px solid rgba(0, 0, 0, 0.8) !important; a { color: #fff !important; font-weight: 700; text-decoration: none; /* 关键:覆盖主题自带的 hover 样式 */ &:hover { background: rgba(79, 72, 72, 0.6) !important; /* 与常态一致,或稍微深/浅一点 */ color: #fff !important; text-decoration: none !important; } } /* 让小箭头也变成黑色 */ &::before, &::after { border-color: rgba(0, 0, 0, 0.3) transparent !important; } } /* 视频背景样式 */ .video-background { position: fixed; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; /* 调整 z-index 值 */ } /* 半透明遮罩层样式 */ .overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.3); /* 调整透明度,0.0(完全透明)到 1.0(不透明) */ z-index: -1; /* 确保在视频之上,内容之下 */ } /* 内容容器样式 */ .content { position: relative; z-index: 1; color: white; } .page__footer { background: rgba(0, 0, 0, 0.3) !important; color: #fff !important; font-weight: 700 !important; a { color: #fff !important; font-weight: 700 !important; } } .download-button { display: inline-flex; /* 使按钮宽度自适应内容 */ align-items: center; /* 图标和文本垂直居中 */ padding: 8px 12px; /* 内边距 */ font-size: 14px; border-radius: 4px; /* 适当的圆角半径 */ text-decoration: none !important; /* 去除下划线 */ /* 移除下划线 */ color: #fff; /* 文字颜色 */ border: 1px solid #fff; /* 白色边框,保持简洁 */ background-color: transparent; /* 透明背景 */ transition: all 0.3s ease; /* 添加过渡效果 */ margin-top: 6px; /* 悬停效果 */ &:hover { color: #333; /* 悬停时文字颜色变深 */ background-color: #fff; /* 悬停时背景色为白色 */ } /* 图标样式 */ .download-icon { margin-right: 8px; /* 图标与文字之间的间距 */ width: 20px; height: auto; } } /* 移动设备适配 */ // @media only screen and (max-width: 768px) { // .video-background { // display: none; // } // .content { // background-color: #0077be; // } // }

Markdown

## Locations of key files/directories * Basic config options: _config.yml * Top navigation bar config: _data/navigation.yml * Single pages: _pages/ * Collections of pages are .md or .html files in: * _publications/ * _portfolio/ * _posts/ * _teaching/ * _talks/ * Footer: _includes/footer.html * Static files (like PDFs): /files/ * Profile image (can set in _config.yml): images/profile.png ## Tips and hints * Name a file ".md" to have it render in markdown, name it ".html" to render in HTML. * Go to the [commit list](https://github.com/academicpages/academicpages.github.io/commits/master) (on your repo) to find the last version Github built with Jekyll. * Green check: successful build * Orange circle: building * Red X: error * No icon: not built ## Resources * [Liquid syntax guide](https://shopify.github.io/liquid/tags/control-flow/) * [MathJax Documentation](https://docs.mathjax.org/en/latest/) ## MathJax Support for MathJax Version 3.0 is included in the template: $$ \displaylines{ \nabla \cdot E= \frac{\rho}{\epsilon_0} \\\ \nabla \cdot B=0 \\\ \nabla \times E= -\partial_tB \\\ \nabla \times B = \mu_0 \left(J + \varepsilon_0 \partial_t E \right) } $$ The default delimiters of `$$...$$` and `\\[...\\]` are supported for displayed mathematics, while `\\(...\\)` should be used for in-line mathematics (ex., \\(a^2 + b^2 = c^2\\)) **Note** that since Academic Pages uses Markdown which cases some interference with MathJax and LaTeX for escaping characters and new lines, although [some workarounds exist](https://math.codidact.com/posts/278763/278772#answer-278772). ## Markdown guide Academic Pages uses [kramdown](https://kramdown.gettalong.org/index.html) for Markdown rendering, which has some differences from other Markdown implementations such as GitHub's. In addition to this guide, please see the [kramdown Syntax page](https://kramdown.gettalong.org/syntax.html) for full documentation. ### Header three #### Header four ##### Header five ###### Header six ## Blockquotes Single line blockquote: > Quotes are cool. ## Tables ### Table 1 | Entry | Item | | | -------- | ------ | ------------------------------------------------------------ | | [John Doe](#) | 2016 | Description of the item in the list | | [Jane Doe](#) | 2019 | Description of the item in the list | | [Doe Doe](#) | 2022 | Description of the item in the list | ### Table 2 | Header1 | Header2 | Header3 | |:--------|:-------:|--------:| | cell1 | cell2 | cell3 | | cell4 | ce ll5 | cell6 | |-----------------------------| | cell1 | cell2 | cell3 | | cell4 | cell5 | cell6 | |=============================| | Foot1 | Foot2 | Foot3 | ## Definition Lists Definition List Title : Definition list division. Startup : A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model. #dowork : Coined by Rob Dyrdek and his personal body guard Christopher "Big Black" Boykins, "Do Work" works as a self motivator, to motivating your friends. Do It Live : I'll let Bill O'Reilly [explain](https://www.youtube.com/watch?v=O_HyZ5aW76c "We'll Do It Live") this one. ## Unordered Lists (Nested) * List item one * List item one * List item one * List item two * List item three * List item four * List item two * List item three * List item four * List item two * List item three * List item four ## Ordered List (Nested) 1. List item one 1. List item one 1. List item one 2. List item two 3. List item three 4. List item four 2. List item two 3. List item three 4. List item four 2. List item two 3. List item three 4. List item four ## Buttons Make any link standout more when applying the `.btn` class. ## Notices Basic notices or call-outs are supported using the following syntax: ```markdown **Watch out!** You can also add notices by appending `{: .notice}` to the line following paragraph. {: .notice} ``` which wil render as: **Watch out!** You can also add notices by appending `{: .notice}` to the line following paragraph. {: .notice} ### Footnotes Footnotes can be useful for clarifying points in the text, or citing information.[^1] Markdown support numeric footnotes, as well as text as long as the values are unique.[^note] ```markdown This is the regular text.[^1] This is more regular text.[^note] [^1]: This is the footnote itself. [^note]: This is another footnote. ``` [^1]: Such as this footnote. [^note]: When using text for footnotes markers, no spaces are permitted in the name. ## HTML Tags ### Address Tag
1 Infinite Loop
Cupertino, CA 95014
United States
### Anchor Tag (aka. Link) This is an example of a [link](http://github.com "Github"). ### Abbreviation Tag The abbreviation CSS stands for "Cascading Style Sheets". *[CSS]: Cascading Style Sheets ### Cite Tag "Code is poetry." ---Automattic ### Code Tag You will learn later on in these tests that `word-wrap: break-word;` will be your best friend. You can also write larger blocks of code with syntax highlighting supported for some languages, such as Python: ```python print('Hello World!') ``` or R: ```R print("Hello World!", quote = FALSE) ``` ### Strike Tag This tag will let you strikeout text. ### Emphasize Tag The emphasize tag should _italicize_ text. ### Insert Tag This tag should denote inserted text. ### Keyboard Tag This scarcely known tag emulates keyboard text, which is usually styled like the `` tag. ### Preformatted Tag This tag styles large blocks of code.
.post-title {
  margin: 0 0 5px;
  font-weight: bold;
  font-size: 38px;
  line-height: 1.2;
  and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}
### Quote Tag Developers, developers, developers… –Steve Ballmer ### Strong Tag This tag shows **bold text**. ### Subscript Tag Getting our science styling on with H2O, which should push the "2" down. ### Superscript Tag Still sticking with science and Isaac Newton's E = MC2, which should lift the 2 up. ### Variable Tag This allows you to denote variables. *** **Footnotes** The footnotes in the page will be returned following this line, return to the section on Markdown Footnotes. </div> </div> </div> </article> </div>

Page not in menu

This is a page not in the menu. You can use markdown in this page. Heading 1 ====== Heading 2 ======

Page Archive

{% include base_path %} {% for post in site.pages %} {% include archive-single.html %} {% endfor %}

Portfolio

{% include base_path %} {% for post in site.portfolio %} {% include archive-single.html %} {% endfor %}

# Project Experience ## **Project 12: University Researcher Profile System** (2025.05.25—2025.06.04) - **Module (Full-Stack)**: Front-end systems for client and admin + backend API development - **Project Background**: Personal portal system for university researchers, integrating academic achievements display, project management and news updates, supporting multilingual internationalization. GitHub open-source project, deployed and applied in actual research team websites. - **Technology Stack**: - Front-end: Vue 2.7 + Element UI + Vue I18n + Vue Router - Admin: Vue 2.7 + Element UI + Vuex + Quill editor - Build Tools: Vite - Backend: Java (Spring Boot) + MyBatis-Plus + MySQL - **Core Contributions**: 1. **Developed complete front-end code for client and admin systems**: - Client: Implemented multilingual switching system based on Vue I18n: supporting seamless Chinese-English switching - Admin: Developed unified management interface based on Element UI 2. **Backend API development**: - Designed and implemented RESTful APIs for News and Project modules - Developed universal data conversion tools: implemented bidirectional mapping between DTOs and entities based on ConvertUtils - **Project Achievements**: - Successfully deployed on research team's official website: https://www.hegelab.com/ - GitHub open-source address: https://github.com/Lidang-Jiang/UniversityResearcherProfiles ## **Project 11: Government-Enterprise Platform V3.1** (2025.05.15—2025.05.31) - **Module (Front-end)**: Government Data Intelligent Management Suite - **Project Background**: Added data status tracking, batch approval and other features to solve cross-department data coordination challenges. - **Technology Stack**: - Front-end: Vue2 + Element-UI - State Management: Vuex - Build Tool: Vite - **Core Implementation**: 1. **Batch Approval**: 2. **Data Status Tracking List**: - List CRUD operations ## **Project 10: Haikou 12345 Intelligent Report System V1.0** (2025.05.13—2025.05.31) - **Module (Front-end)**: Intelligent Report Editor and Template Management Center - **Project Background**: Government hotline report automation system, enabling intelligent generation of structured reports from work order data, solving pain points of low efficiency in manual report preparation and inconsistent formats - **Technology Stack**: - Front-end: Vue2 + Element-UI + Quill - State Management: Vuex - Build Tool: Vite - **Core Contributions**: 1. **Intelligent Template Management System**: - Table CRUD operations 2. **Interactive Report Template Editor**: - Developed extensible table component: supporting dynamic rows and columns and linking to external data operations - Developed extensible deepseek instruction dialog component: supporting deepseek instruction insertion ## **Project 9: 928 Hospital - Model Command System V2.0** (2025.03.31 - 2025.04.09) - **Module (Front-end)**: To-Do Items Module - **Project Background**: Added to-do items module to establish closed-loop task supervision mechanism. Solved V1.0 issues of scattered task management, cross-department collaboration difficulties, and progress tracking blind spots. - **Technology Stack**: - Front-end: Vue2 + Element-UI - State Management: Vuex - Build Tool: Vite - **Main Contributions**: - **Core Feature Development**: - Implemented dual-view mode for tasks (Created by Me/Executed by Me), supporting different operation permissions for creators and executors - Developed department tree selection component, supporting three-level department structure (Level 1 > Level 2 > Level 3) ## **Project 8: Risk Monitoring and Early Warning System Common Service Platform V1.0.1** (2025.03.10 - 2025.03.21) - **Module (Front-end)**: Warning Model Management System CRUD Module - **Project Background**: Restructured core modules of government-level risk warning platform, establishing warning linkage mechanism. Solved V1.0.0 issues of scattered model management and poor multi-source data adaptability. - **Technology Stack**: - Front-end: Vue2 + Element-UI - State Management: Vuex - Build Tool: Vite - **Main Contributions**: - **Core Feature Development**: - Implemented three-state filtering mechanism, supporting dynamic switching between "All/Warned/Not Warned" - Built model type-entity type linkage component, automatically populating warning names based on tree-structured data ## **Project 7: Red Detachment of Women Memorial Park Digital Platform V1.2.0** (2025.02.25 - 2025.03.06) - **Module (Front-end)**: Multi-terminal collaborative development (Official Chinese Website/Youth Version/Admin Panel) - **Project Background**: Experience upgrade based on V1.0, focusing on restructuring the visiting service process, achieving data intercommunication across three terminals. Solved V1.0 issues of poor compatibility and lengthy reservation process. - **Technology Stack**: Vue2 + Vuex + Element-UI - **Main Contributions**: - **Core Feature Restructuring**: - Designed and implemented a unified reservation service system across three terminals: - Secure document download: implemented server-side rendering of Word templates ## **Project 6: Government-Enterprise Platform V2** (2025.02.21 - 2025.02.25) - **Module (Front-end)**: Enterprise Data Validation Module - **Project Background**: Government enterprise data verification platform, providing enterprise information verification services for government, banks and other institutions. By connecting to the National Market Entity API, it enables batch verification of enterprise names and unified credit codes, solving the pain point of inefficient manual verification. - **Technology Stack**: - Front-end: Vue2 + Element-UI + Axios - Engineering: Vite + ESLint + Prettier - **Main Contributions**: - **Core Feature Development**: - Implemented batch import functionality for Excel files, supporting parsing of two data structures: Table 1 (Basic Information) and Table 5 (Credit Information) - Developed real-time validation progress display component, including progress bar, success/failure data statistics, and remaining API call count display ## **Project 5: Project Platform Management System V2.6** (2025.01.13 - 2025.02.06) - **Module (Front-end)**: Mobile "Approval Center" module development - **Project Background**: This project is the company's internal project management platform, covering multiple approval processes and management functions. V2.6 version added the "Business Opportunity Approval" feature to better manage and review the company's business opportunities. - **Technology Stack**: - Mobile: Vue2 + Vue Router + Pinia + Vant + ESLint + Prettier. - **Main Contributions**: - **Approval Center Module Development**: - Responsible for developing the mobile "Approval Center" module, supporting viewing and managing various approval tasks, such as business opportunity approval, overtime task approval, contract approval, etc. ## **Project 4: Digital Campus System V2.0.5** (2024.12.13 - 2024.12.24) - **Module (Front-end)**: PC-side work assignment settings and WeChat public account delegation verification and push module development - **Project Background**: The Digital Campus System aims to provide schools with a comprehensive management and service platform to improve the work efficiency of head teachers and parents, ensuring student safety and management convenience. The project covers both PC and WeChat public account platforms, implementing class duty management and student pickup delegation verification functions respectively. - **Technology Stack**: - Front-end: Vue2 + Vue Router + Vuex, Element-UI, uni-app - Tools: ESLint, Prettier, Git - **Main Contributions**: - **PC-side "Work Assignment Settings" Module**: - Table management CRUD - **WeChat Public Account "Delegation Verification and Push" Module**: - Implemented QR code verification function, allowing delegates to enter the verification page by scanning QR codes. - Designed and developed delegation verification form, including student name, delegate name, phone number and SMS verification code, ensuring accurate submission of information. ## **Project 3: Red Detachment of Women Memorial Park Digital Platform V1.0** (2024.11.11 - 2024.11.30) - **Module (Front-end)**: Multi-terminal front-end module development - **Project Background**: Development of Red Detachment of Women Memorial Park digital platform, including admin panel, PC client and youth PC client, providing visit services, study tour activity management, transportation guides and other functions to enhance users' online interaction and service experience. - **Technology Stack**: Vue2 + Vue Router, Element-UI, Vant, ESLint, Prettier. - **Main Contributions**: - **Admin Panel**: - Responsible for "Study Tour Registration Management" module development, including add, edit, publish and other functions. - Implemented dynamic form functionality for study tour activities, supporting rich text editing and attachment upload for title, remarks, and content. - **Youth PC Client**: - Responsible for "Visit Services" section development, displaying visit guidelines, reservation visits and other module content. ## **Project 2: Project Operation Management Platform V2.5** (2024.10.22 - 2024.11.20) - **Module (Front-end)**: PC and mobile vehicle management functionality development - **Project Background**: Internal enterprise vehicle management system, covering both PC and mobile platforms. Mainly used for vehicle usage management and statistics, including permission management, data filtering and export functions. - **Technology Stack**: - PC: Vite + Vue2 + Vue Router + Pinia + Element-UI + Husky + ESLint + Stylelint + Prettier. - Mobile: Vue2 + Vue Router + Pinia + Vant + ESLint + Prettier. - **Main Contributions**: - **PC Platform**: - Responsible for "Vehicle Reports" module development: - **Mobile Platform**: - Responsible for "Workbench", "Approval Center", and "Vehicle Management" module development: - **Workbench**: Implemented mobile user homepage with data overview and common function entries, optimized page loading speed and interaction experience. - **Approval Center**: Developed query and operation functions for approval tasks, supporting task filtering, status updates and instant feedback, improving approval efficiency. - **Vehicle Management**: Implemented the complete process of vehicle application and approval, covering vehicle application records, vehicle usage status monitoring and other functions. ## **Project 1: Haikou Police Administrative Knowledge Base** (2024.07.25 - 2024.09.25) - **Module (Algorithm)**: RAG System Construction and LLM Evaluation - **Project Background**: Developed an intelligent administrative knowledge base for Haikou Police System, employing Retrieval-Augmented Generation (RAG) technology to enhance the accuracy of large language models in responding to administrative knowledge queries, addressing issues such as low retrieval efficiency and inconsistent answer quality in traditional knowledge bases. - **Technology Stack**: - RAG System: Embedding Models + Vector Database (Milvus) + TeleChat LLM - Evaluation Tools: Self-developed Evaluation Framework + Data Processing Scripts + Result Visualization - **Main Contributions**: - **Knowledge Base Construction**: - Participated in administrative data cleaning and structured processing - **LLM Testing and Optimization**: - Conducted large-scale answer quality testing, collected and analyzed model responses to 20000+ real administrative queries

Publications

{% if site.author.googlescholar %}
You can also find my articles on my Google Scholar profile.
{% endif %} {% include base_path %} {% if site.publication_category %} {% for category in site.publication_category %} {% assign title_shown = false %} {% for post in site.publications reversed %} {% if post.category != category[0] %} {% continue %} {% endif %} {% unless title_shown %}

{{ category[1].title }}


{% assign title_shown = true %} {% endunless %} {% include archive-single.html %} {% endfor %} {% endfor %} {% else %} {% for post in site.publications reversed %} {% include archive-single.html %} {% endfor %} {% endif %}

Sitemap

{% include base_path %} A list of all the posts and pages found on the site. For you robots out there is an [XML version]({{ base_path }}/sitemap.xml) available for digesting as well.

Pages

{% for post in site.pages %} {% include archive-single.html %} {% endfor %}

Posts

{% for post in site.posts %} {% include archive-single.html %} {% endfor %} {% capture written_label %}'None'{% endcapture %} {% for collection in site.collections %} {% unless collection.output == false or collection.label == "posts" %} {% capture label %}{{ collection.label }}{% endcapture %} {% if label != written_label %}

{{ label }}

{% capture written_label %}{{ label }}{% endcapture %} {% endif %} {% endunless %} {% for post in collection.docs %} {% unless collection.output == false or collection.label == "posts" %} {% include archive-single.html %} {% endunless %} {% endfor %} {% endfor %}

Posts by Tags

{% include base_path %} {% include group-by-array collection=site.posts field="tags" %} {% for tag in group_names %} {% assign posts = group_items[forloop.index0] %}

{{ tag }}

{% for post in posts %} {% include archive-single.html %} {% endfor %} {% endfor %}

Talk map

This map is generated from a Jupyter Notebook file in /_talks/talkmap.ipynb, which mines the location fields in the .md files in _talks/.

Teaching

{% include base_path %} {% for post in site.teaching reversed %} {% include archive-single.html %} {% endfor %}

Terms and Privacy Policy

{% include base_path %} {% include toc %} ## Privacy Policy The privacy of my visitors is extremely important. This Privacy Policy outlines the types of personal information that is received and collected and how it is used. First and foremost, I will never share your email address or any other personal information to anyone without your direct consent. ### Log Files Like many other websites, this site uses log files to help learn about when, from where, and how often traffic flows to this site. The information in these log files include: * Internet Protocol addresses (IP) * Types of browser * Internet Service Provider (ISP) * Date and time stamp * Referring and exit pages * Number of clicks All of this information is not linked to anything that is personally identifiable. ### Cookies and Web Beacons When you visit this site "convenience" cookies are stored on your computer when you submit a comment to help you log in faster to [Disqus](http://disqus.com) the next time you leave a comment. Third-party advertisers may also place and read cookies on your browser and/or use web beacons to collect information. This site has no access or control over these cookies. You should review the respective privacy policies on any and all third-party ad servers for more information regarding their practices and how to opt-out. If you wish to disable cookies, you may do so through your web browser options. Instructions for doing so can be found on the specific web browsers' websites. #### Google Analytics Google Analytics is a web analytics tool I use to help understand how visitors engage with this website. It reports website trends using cookies and web beacons without identifying individual visitors. You can read [Google Analytics Privacy Policy](http://www.google.com/analytics/learn/privacy.html).

Blog posts

{% include base_path %} {% capture written_year %}'None'{% endcapture %} {% for post in site.posts %} {% capture year %}{{ post.date | date: '%Y' }}{% endcapture %} {% if year != written_year %}

{{ year }}

{% capture written_year %}{{ year }}{% endcapture %} {% endif %} {% include archive-single.html %} {% endfor %}

@import "jekyll-theme-primer";

{"/md/":"https://lidang-jiang.github.io/markdown/","/markdown.html":"https://lidang-jiang.github.io/markdown/","/nmp/":"https://lidang-jiang.github.io/non-menu-page/","/nmp.html":"https://lidang-jiang.github.io/non-menu-page/","/wordpress/blog-posts/":"https://lidang-jiang.github.io/year-archive/"}

Jupyter notebook markdown generator

# Jupyter notebook markdown generator These .ipynb files are Jupyter notebook files that convert a TSV containing structured data about talks (`talks.tsv`) or presentations (`presentations.tsv`) into individual markdown files that will be properly formatted for the academicpages template. The notebooks contain a lot of documentation about the process. The .py files are pure python that do the same things if they are executed in a terminal, they just don't have pretty documentation.

{% if page.xsl %} {% endif %} {% assign collections = site.collections | where_exp:'collection','collection.output != false' %}{% for collection in collections %}{% assign docs = collection.docs | where_exp:'doc','doc.sitemap != false' %}{% for doc in docs %} {{ doc.url | replace:'/index.html','/' | absolute_url | xml_escape }} {% if doc.last_modified_at or doc.date %}{{ doc.last_modified_at | default: doc.date | date_to_xmlschema }} {% endif %} {% endfor %}{% endfor %}{% assign pages = site.html_pages | where_exp:'doc','doc.sitemap != false' | where_exp:'doc','doc.url != "/404.html"' %}{% for page in pages %} {{ page.url | replace:'/index.html','/' | absolute_url | xml_escape }} {% if page.last_modified_at %}{{ page.last_modified_at | date_to_xmlschema }} {% endif %} {% endfor %}{% assign static_files = page.static_files | where_exp:'page','page.sitemap != false' | where_exp:'page','page.name != "404.html"' %}{% for file in static_files %} {{ file.path | replace:'/index.html','/' | absolute_url | xml_escape }} {{ file.modified_time | date_to_xmlschema }} {% endfor %}

{% if page.xsl %}{% endif %}<feed xmlns="http://www.w3.org/2005/Atom" {% if site.lang %}xml:lang="{{ site.lang }}"{% endif %}>Jekyll<link href="{{ '/' | absolute_url }}" rel="alternate" type="text/html" {% if site.lang %}hreflang="{{ site.lang }}" {% endif %}/>{{ site.time | date_to_xmlschema }}{{ page.url | absolute_url | xml_escape }}{% assign title = site.title | default: site.name %}{% if page.collection != "posts" %}{% assign collection = page.collection | capitalize %}{% assign title = title | append: " | " | append: collection %}{% endif %}{% if page.category %}{% assign category = page.category | capitalize %}{% assign title = title | append: " | " | append: category %}{% endif %}{% if title %}{{ title | smartify | xml_escape }}{% endif %}{% if site.description %}{{ site.description | xml_escape }}{% endif %}{% if site.author %}{{ site.author.name | default: site.author | xml_escape }}{% if site.author.email %}{{ site.author.email | xml_escape }}{% endif %}{% if site.author.uri %}{{ site.author.uri | xml_escape }}{% endif %}{% endif %}{% if page.tags %}{% assign posts = site.tags[page.tags] %}{% else %}{% assign posts = site[page.collection] %}{% endif %}{% if page.category %}{% assign posts = posts | where: "categories", page.category %}{% endif %}{% unless site.show_drafts %}{% assign posts = posts | where_exp: "post", "post.draft != true" %}{% endunless %}{% assign posts = posts | sort: "date" | reverse %}{% assign posts_limit = site.feed.posts_limit | default: 10 %}{% for post in posts limit: posts_limit %}<entry{% if post.lang %}{{" "}}xml:lang="{{ post.lang }}"{% endif %}>{% assign post_title = post.title | smartify | strip_html | normalize_whitespace | xml_escape %}{{ post_title }}{{ post.date | date_to_xmlschema }}{{ post.last_modified_at | default: post.date | date_to_xmlschema }}{{ post.id | absolute_url | xml_escape }}{% assign excerpt_only = post.feed.excerpt_only | default: site.feed.excerpt_only %}{% unless excerpt_only %}<![CDATA[{{ post.content | strip }}]]>{% endunless %}{% assign post_author = post.author | default: post.authors[0] | default: site.author %}{% assign post_author = site.data.authors[post_author] | default: post_author %}{% assign post_author_email = post_author.email | default: nil %}{% assign post_author_uri = post_author.uri | default: nil %}{% assign post_author_name = post_author.name | default: post_author %}{{ post_author_name | default: "" | xml_escape }}{% if post_author_email %}{{ post_author_email | xml_escape }}{% endif %}{% if post_author_uri %}{{ post_author_uri | xml_escape }}{% endif %}{% if post.category %}{% elsif post.categories %}{% for category in post.categories %}{% endfor %}{% endif %}{% for tag in post.tags %}{% endfor %}{% assign post_summary = post.description | default: post.excerpt %}{% if post_summary and post_summary != empty %}<![CDATA[{{ post_summary | strip_html | normalize_whitespace }}]]>{% endif %}{% assign post_image = post.image.path | default: post.image %}{% if post_image %}{% unless post_image contains "://" %}{% assign post_image = post_image | absolute_url %}{% endunless %}{% endif %}</entry>{% endfor %}</feed>

Posts by Category

Posts by Collection

publications

<a href='https://doi.org/10.1016/j.energy.2024.132840' target='_blank'>A Robust Adapted Flexible Parallel Neural Network Architecture for Early Prediction of Lithium Battery Lifespan</a>

A Robust Adapted Flexible Parallel Neural Network Architecture for Early Prediction of Lithium Battery Lifespan

This paper presents a robust adapted Flexible Parallel Neural Network (FPNN) architecture for the early prediction of lithium battery lifespan, demonstrating superior predictive performance on the MIT dataset.

Recommended citation: Lidang Jiang, Zhuoxiang Li, Changyan Hu, Junxiong Chen, Qingsong Huang, Ge He. "A Robust Adapted Flexible Parallel Neural Network Architecture for Early Prediction of Lithium Battery Lifespan." Energy, 308:132840, 2024.
PDF Icon Download PDF

<a href='https://doi.org/10.1016/j.apenergy.2024.124604' target='_blank'>Generating Comprehensive Lithium Battery Charging Data with Generative AI</a>

Generating Comprehensive Lithium Battery Charging Data with Generative AI

This study introduces a generative AI model to synthesize comprehensive lithium battery charging data, addressing the challenges of data incompleteness and high-quality dataset generation.

Recommended citation: Lidang Jiang, Changyan Hu, Sibei Ji, Hang Zhao, Junxiong Chen, Ge He. "Generating Comprehensive Lithium Battery Charging Data with Generative AI." Applied Energy, 377:124604, 2025.
PDF Icon Download PDF

Date of Birth: August 12, 1995
Phone: +86 15307241568
Email: 2021223075161@alu.scu.edu.cn
Position: Algorithm & Frontend-Backend Full Stack Development Engineer
Salary Expectation: 22k-27k/mo
Location: From Xianning, Hubei Province, currently living in Shenzhen, Guangdong Province


Education

Sichuan University, Master’s Degree (2021.09 - 2024.07)
College of Chemical Engineering, Materials and Chemical Engineering

  • University Second-class Academic Scholarship, Academic Year 2021 - 2022
  • University Second-class Academic Scholarship, Academic Year 2022 - 2023
  • University Second-class Academic Scholarship, Academic Year 2023 - 2024

Jinzhong University, Bachelor’s Degree (2014.09 - 2018.07)
College of Chemistry and Chemical Engineering, Applied Chemistry

Tongshan County No.1 High School (2011.09 - 2014.07)


Academic Performance

  • College entrance examination: 502 points
  • Undergraduate GPA: 2.9/4 (Ranked 45/50)
  • 2020 postgraduate entrance examination: 263 points
  • 2021 postgraduate entrance examination: 400 points (Ranked 8/120)
    • Mathematics II: 141 points (Ranked 1/120)
  • Graduate GPA: 3.5/4 (Top 30%)

Self-evaluation

During my graduate studies, I primarily focused on research at the intersection of AI and lithium-ion batteries (LiBs). As the first author, I have published two papers in Energy and Applied Energy (both are Q1 journals in CAS and JCR rankings). Throughout these three years of master’s studies, I developed the ability to independently conduct interdisciplinary research.

During my work as a LLM engineer, I quickly learned technologies like RAG and Langchain. To improve coding skills, I turned to development. During this time, I learned front-end and back-end technologies, accumulating full-stack development capabilities.

My current research interests include AI4Science, Agents, Generative AI, Deep Learning, LLMs, and MLsys.


Publications

  1. Jiang, Lidang, et al. “A Robust Adapted Flexible Parallel Neural Network Architecture for Early Prediction of Lithium Battery Lifespan.” Energy, 308:132840, 2024. (IF=9)

    • Video-like data, Bayesian optimization, dual-stream network, 3D CNN, InceptionBlock, learning outcomes, optimization algorithms
  2. Jiang, Lidang, et al. “Generating Comprehensive Lithium Battery Charging Data with Generative AI.” Applied Energy, 377:124604, 2025. (IF=10.1)

    • Video-like data, Bayesian optimization, generative models, learning outcomes, optimization algorithms, CVAE, embedding layers

Professional Skills and Courses

Algorithm SkillsFront-end SkillsBack-end SkillsOther Skills and Courses
Machine Learning, Deep Learning, GenAI, RAG, Agent, Langchain, Pytorch, Distributed Training, Fine-tuning, Few-shot Learning, LLMs Testing and Optimization, Bayesian Optimization HTML, CSS, JavaScript, Vue, Element-UI, Vant, uni-app, Husky, Prettier, ESLint, Stylelint,Quill,ECharts,Nginx Java, SQL, Spring, SpringBoot, Mybatis Git, Docker, Linux, LaTeX, Data Analysis, Mathematical Methods, Numerical Analysis, Stanford CS 231n, CS 224n, CET-4

Work Experience

Baidu (Labor Dispatch), AI Computing - Python Backend Developer

2025.08 - Present

China Telecom Digital Intelligence Technology Co., Ltd.

2024.07 - 2025.06

  • Hainan Branch (Labor Dispatch)
  • Large Language Model Algorithm Engineer (2024.07 - 2024.09)
  • Front-end Development Engineer (2024.09 - 2025.06)

Wenjia Education, etc., Graduate Entrance Exam Subject Tutor

2021.05 - 2021.12

Guangzhou Lizhi Education Technology Co., Ltd., Yousi Tutoring, etc., Math Teacher

2021.05 - 2021.12

Others (e.g., Unemployed, Preparing for Exams at Home, etc.)

2019.09 - 2021.05

Real Estate Consultant, Environmental Engineer, Hotel Receptionist, Game Booster

2018.07 - 2019.09


a:focus{outline:thin dotted #f89406;outline:5px auto #f89406;outline-offset:-2px}*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}html{box-sizing:border-box;background-color:#fff;font-size:16px;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}@media (min-width: 48em){html{font-size:18px}}body{margin:0}::-moz-selection{color:#fff;background:#000}::selection{color:#fff;background:#000}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}a{color:#52adc8}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{max-width:100%;width:auto\9;height:auto;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}html{position:relative;min-height:100%}body{margin:0;padding:70px 0 0;padding-bottom:9em;color:#494e52;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;line-height:1.5}body.overflow--hidden{overflow:hidden}h1,h2,h3,h4,h5,h6{margin:2em 0 0.5em;line-height:1.2;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-weight:bold}h1{margin-top:0;font-size:1.563em}h2{font-size:1.25em}h3{font-size:1em}h4{font-size:.75em}h5{font-size:.75em}h6{font-size:.75em}small,.small{font-size:.75em}p{margin-bottom:1.3em}u,ins{text-decoration:none;border-bottom:1px solid #494e52}u a,ins a{color:inherit}del a{color:inherit}p,pre,blockquote,ul,ol,dl,figure,table,fieldset{orphans:3;widows:3}abbr[title],abbr[data-original-title]{text-decoration:none;cursor:help;border-bottom:1px dotted #494e52}blockquote{margin:2em 1em 2em 0;padding-left:1em;padding-right:1em;font-style:italic;border-left:0.25em solid #7a8288}blockquote cite{font-style:italic}blockquote cite:before{content:"\2014";padding-right:5px}a:hover,a:active{outline:0}tt,code,kbd,samp,pre{font-family:Monaco,Consolas,"Lucida Console",monospace}pre{overflow-x:auto}p>code,a>code,li>code,figcaption>code,td>code{padding-top:0.1rem;padding-bottom:0.1rem;font-size:.75em;background:#fafafa;border:1px solid #f2f3f3;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,0.125)}p>code:before,p>code:after,a>code:before,a>code:after,li>code:before,li>code:after,figcaption>code:before,figcaption>code:after,td>code:before,td>code:after{letter-spacing:-0.2em;content:"\00a0"}hr{display:block;margin:1em 0;border:0;border-top:1px solid #f2f3f3}ul li,ol li{margin-bottom:0.5em}li ul,li ol{margin-top:0.5em}figure{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:start;align-items:flex-start;flex-wrap:wrap;margin:2em 0}figure img,figure iframe,figure .fluid-width-video-wrapper{margin-bottom:1em}figure img{width:100%;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}figure>a{display:block}@media (min-width: 37.5em){figure.half>a,figure.half>img{width:calc(50% - 0.5em)}}figure.half figcaption{width:100%}@media (min-width: 37.5em){figure.third>a,figure.third>img{width:calc(33.3333% - 0.5em)}}figure.third figcaption{width:100%}figcaption{margin-bottom:0.5em;color:#777a7d;font-family:Georgia,Times,serif;font-size:.75em}figcaption a{color:inherit;text-decoration:none;border-bottom:1px solid #bdc1c4;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}figcaption a:hover{color:#000;border-bottom-color:#000}svg:not(:root){overflow:hidden}nav ul{margin:0;padding:0}nav li{list-style:none}nav a{text-decoration:none}nav ul li,nav ol li{margin-bottom:0}nav li ul,nav li ol{margin-top:0}b,i,strong,em,blockquote,p,q,span,figure,img,h1,h2,header,input,a,tr,td,form button,input[type="submit"],.btn,#goog-wm-sb,.highlight,.archive__item-teaser{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.hidden{display:none;visibility:hidden}.load{display:none}.transparent{opacity:0}.visually-hidden,.screen-reader-text,.screen-reader-text span,.screen-reader-shortcut{position:absolute !important;clip:rect(1px, 1px, 1px, 1px);height:1px !important;width:1px !important;border:0 !important;overflow:hidden}body:hover .visually-hidden a,body:hover .visually-hidden input,body:hover .visually-hidden button{display:none !important}.screen-reader-text:focus,.screen-reader-shortcut:focus{clip:auto !important;height:auto !important;width:auto !important;display:block;font-size:1em;font-weight:bold;padding:15px 23px 14px;background:#fff;z-index:100000;text-decoration:none;box-shadow:0 0 2px 2px rgba(0,0,0,0.6)}.skip-link{position:fixed;z-index:20;margin:0;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;white-space:nowrap}.skip-link li{height:0;width:0;list-style:none}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.cf{clear:both}.wrapper{max-width:925px;margin-left:auto;margin-right:auto}.wrapper:after{content:" ";display:block;clear:both}.wordwrap{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.align-left{display:block;margin-left:auto;margin-right:auto}@media (min-width: 37.5em){.align-left{float:left;margin-right:1em}}.align-right{display:block;margin-left:auto;margin-right:auto}@media (min-width: 37.5em){.align-right{float:right;margin-left:1em}}.align-center{display:block;margin-left:auto;margin-right:auto}@media (min-width: 57.8125em){.full{margin-right:-19.4915254237% !important}}.icon{display:inline-block;fill:currentColor;width:1em;height:1.1em;line-height:1;position:relative;top:-0.1em;vertical-align:middle}.icon-pad-right{padding-right:0.5em;margin-right:0.5em}.social-icons .fa{color:#000}.social-icons .fa-bluesky,.social-icons .fa-bluesky-square{color:#1184fe}.social-icons .fa-behance,.social-icons .fa-behance-square{color:#1769FF}.social-icons .fa-dribbble{color:#ea4c89}.social-icons .fa-facebook,.social-icons .fa-facebook-square{color:#3b5998}.social-icons .fa-flickr{color:#ff0084}.social-icons .fa-foursquare{color:#0072b1}.social-icons .fa-github,.social-icons .fa-github-alt,.social-icons .fa-github-square{color:#171516}.social-icons .fa-google-plus,.social-icons .fa-google-plus-square{color:#dd4b39}.social-icons .fa-instagram{color:#517fa4}.social-icons .fa-kaggle,.social-icons .fa-kaggle-square{color:#20c0ff}.social-icons .fa-lastfm,.social-icons .fa-lastfm-square{color:#d51007}.social-icons .fa-linkedin,.social-icons .fa-linkedin-square{color:#007bb6}.social-icons .fa-mastodon,.social-icons .fa-mastodon-square{color:#6364ff}.social-icons .ai-orcid,.social-icons .ai-orcid-square{color:#a6ce39}.social-icons .fa-pinterest,.social-icons .fa-pinterest-p,.social-icons .fa-pinterest-square{color:#cb2027}.social-icons .fa-rss,.social-icons .fa-rss-square{color:#fa9b39}.social-icons .fa-soundcloud{color:#f30}.social-icons .fa-stack-exchange,.social-icons .fa-stack-overflow{color:#fe7a15}.social-icons .fa-tumblr,.social-icons .fa-tumblr-square{color:#32506d}.social-icons .fa-twitter,.social-icons .fa-twitter-square{color:#55acee}.social-icons .fa-vimeo,.social-icons .fa-vimeo-square{color:#1ab7ea}.social-icons .fa-vine{color:#00bf8f}.social-icons .fa-youtube,.social-icons .fa-youtube-square,.social-icons .fa-youtube-play{color:#b00}.social-icons .fa-xing,.social-icons .fa-xing-square{color:#006567}.navicon{position:relative;width:28px;height:4px;background:#fff;margin:auto;-webkit-transition:0.3s;transition:0.3s}.navicon:before,.navicon:after{content:"";position:absolute;left:0;width:28px;height:4px;background:#fff;-webkit-transition:0.3s;transition:0.3s}.navicon:before{top:-8px}.navicon:after{bottom:-8px}.close .navicon{background:transparent}.close .navicon:before,.close .navicon:after{-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%;top:0;width:28px}.close .navicon:before{-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg)}.close .navicon:after{-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg)}@media (min-width: 57.8125em){.sticky{clear:both;position:-webkit-sticky;position:sticky;top:2em}.sticky::after{clear:both;content:"";display:table}.sticky>*{display:block}}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.show-modal{overflow:hidden;position:relative}.show-modal:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;z-index:999;background-color:rgba(255,255,255,0.85)}.show-modal .modal{display:block}.modal{display:none;position:fixed;width:300px;top:50%;left:50%;margin-left:-150px;margin-top:-150px;min-height:0;z-index:9999;background:#fff;border:1px solid #f2f3f3;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,0.125)}.modal__title{margin:0;padding:0.5em 1em}.modal__supporting-text{padding:0 1em 0.5em 1em}.modal__actions{padding:0.5em 1em;border-top:1px solid #f2f3f3}.footnote{color:#9ba1a6;text-decoration:none}.footnotes{color:#9ba1a6}.footnotes ol,.footnotes li,.footnotes p{margin-bottom:0;font-size:.75em}a.reversefootnote{color:#7a8288;text-decoration:none}a.reversefootnote:hover{text-decoration:underline}.required{color:#ee5f5b;font-weight:bold}@-webkit-keyframes intro{0%{opacity:0}100%{opacity:1}}@keyframes intro{0%{opacity:0}100%{opacity:1}}table{margin-bottom:1em;width:100%;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-size:.75em;border-collapse:collapse;border:1px solid #bdc1c4}table+table{margin-top:1em}thead{background-color:#f2f3f3;border-bottom:1px solid #bdc1c4}th{padding:0.5em;font-weight:bold;text-align:left;border-right:1px solid #bdc1c4}td{padding:0.5em;border-bottom:1px solid #bdc1c4;border-right:1px solid #bdc1c4}tr,td,th{vertical-align:middle}.btn,#goog-wm-sb{display:inline-block;margin-bottom:0.25em;padding:0.5em 1em;color:#fff !important;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-size:.75em;font-weight:bold;text-align:center;text-decoration:none;background-color:#7a8288;border:0 !important;border-radius:4px;cursor:pointer}.btn:hover,#goog-wm-sb:hover{background-color:#333}.btn .icon,#goog-wm-sb .icon{margin-right:0.5em}.btn .icon+.hidden,#goog-wm-sb .icon+.hidden{margin-left:-0.5em}.btn--block{display:block;width:100%}.btn--block+.btn--block{margin-top:0.25em}.btn--inverse{color:#7a8288 !important;border:1px solid #bdc1c4 !important;background-color:#fff}.btn--inverse:hover{color:#fff !important;border-color:#7a8288}.btn--light-outline{border:1px solid #fff !important;background-color:transparent}.btn--info{background-color:#52adc8}.btn--info:hover{background-color:#428aa0}.btn--warning{background-color:#f89406}.btn--warning:hover{background-color:#c67605}.btn--success{background-color:#62c462}.btn--success:hover{background-color:#4e9d4e}.btn--danger{background-color:#ee5f5b}.btn--danger:hover{background-color:#be4c49}.btn--disabled{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);box-shadow:none;opacity:0.65}.btn--facebook{background-color:#3b5998}.btn--facebook:hover{background-color:#2f477a}.btn--twitter{background-color:#55acee}.btn--twitter:hover{background-color:#448abe}.btn--google-plus{background-color:#dd4b39}.btn--google-plus:hover{background-color:#b13c2e}.btn--linkedin{background-color:#007bb6}.btn--linkedin:hover{background-color:#006292}.btn--x-large{font-size:1.25em}.btn--large{font-size:1em}.btn--small{font-size:.6875em}.notice{margin:2em 0 !important;padding:1em;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-size:.75em !important;text-indent:initial;background-color:#f8f9f9;border-radius:4px;box-shadow:0 1px 1px rgba(189,193,196,0.25)}.notice h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice h4{margin-bottom:0;font-size:1em}.notice p:last-child{margin-bottom:0 !important}.notice h4+p{margin-top:0;padding-top:0}.notice a{color:#bdc1c4}.notice a:hover{color:#717476}.notice code{background-color:#fcfcfc}.notice ul:last-child{margin-bottom:0}.notice--primary{margin:2em 0 !important;padding:1em;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-size:.75em !important;text-indent:initial;background-color:#f2f3f3;border-radius:4px;box-shadow:0 1px 1px rgba(122,130,136,0.25)}.notice--primary h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice--primary h4{margin-bottom:0;font-size:1em}.notice--primary p:last-child{margin-bottom:0 !important}.notice--primary h4+p{margin-top:0;padding-top:0}.notice--primary a{color:#7a8288}.notice--primary a:hover{color:#494e52}.notice--primary code{background-color:#f8f9f9}.notice--primary ul:last-child{margin-bottom:0}.notice--info{margin:2em 0 !important;padding:1em;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-size:.75em !important;text-indent:initial;background-color:#eef7fa;border-radius:4px;box-shadow:0 1px 1px rgba(82,173,200,0.25)}.notice--info h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice--info h4{margin-bottom:0;font-size:1em}.notice--info p:last-child{margin-bottom:0 !important}.notice--info h4+p{margin-top:0;padding-top:0}.notice--info a{color:#52adc8}.notice--info a:hover{color:#316878}.notice--info code{background-color:#f6fbfc}.notice--info ul:last-child{margin-bottom:0}.notice--warning{margin:2em 0 !important;padding:1em;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-size:.75em !important;text-indent:initial;background-color:#fef4e6;border-radius:4px;box-shadow:0 1px 1px rgba(248,148,6,0.25)}.notice--warning h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice--warning h4{margin-bottom:0;font-size:1em}.notice--warning p:last-child{margin-bottom:0 !important}.notice--warning h4+p{margin-top:0;padding-top:0}.notice--warning a{color:#f89406}.notice--warning a:hover{color:#955904}.notice--warning code{background-color:#fffaf3}.notice--warning ul:last-child{margin-bottom:0}.notice--success{margin:2em 0 !important;padding:1em;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-size:.75em !important;text-indent:initial;background-color:#eff9ef;border-radius:4px;box-shadow:0 1px 1px rgba(98,196,98,0.25)}.notice--success h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice--success h4{margin-bottom:0;font-size:1em}.notice--success p:last-child{margin-bottom:0 !important}.notice--success h4+p{margin-top:0;padding-top:0}.notice--success a{color:#62c462}.notice--success a:hover{color:#3b763b}.notice--success code{background-color:#f7fcf7}.notice--success ul:last-child{margin-bottom:0}.notice--danger{margin:2em 0 !important;padding:1em;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-size:.75em !important;text-indent:initial;background-color:#fdefef;border-radius:4px;box-shadow:0 1px 1px rgba(238,95,91,0.25)}.notice--danger h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice--danger h4{margin-bottom:0;font-size:1em}.notice--danger p:last-child{margin-bottom:0 !important}.notice--danger h4+p{margin-top:0;padding-top:0}.notice--danger a{color:#ee5f5b}.notice--danger a:hover{color:#8f3937}.notice--danger code{background-color:#fef7f7}.notice--danger ul:last-child{margin-bottom:0}.masthead{position:fixed;background:white;border-bottom:1px solid #f2f3f3;height:70px;top:0;width:100%;-webkit-animation:intro 0.3s both;animation:intro 0.3s both;-webkit-animation-delay:0.15s;animation-delay:0.15s;z-index:20}.masthead__inner-wrap{max-width:925px;margin-left:auto;margin-right:auto;clear:both;padding:1em 1em 1em;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif}.masthead__inner-wrap:after{content:" ";display:block;clear:both}.masthead__inner-wrap::after{clear:both;content:"";display:table}@media (min-width: 80em){.masthead__inner-wrap{max-width:1280px}}.masthead__inner-wrap nav{z-index:10}.masthead__inner-wrap a{text-decoration:none}.masthead__menu ul{margin:0;padding:0;clear:both;list-style-type:none}.masthead__menu-item{display:block;list-style-type:none;white-space:nowrap}.masthead__menu-item--lg{padding-right:3em;font-weight:700;color:white !important}.breadcrumbs{max-width:925px;margin-left:auto;margin-right:auto;clear:both;margin-top:0;margin-bottom:0;padding-left:2em;padding-right:2em;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;-webkit-animation:intro 0.3s both;animation:intro 0.3s both;-webkit-animation-delay:0.30s;animation-delay:0.30s}.breadcrumbs:after{content:" ";display:block;clear:both}.breadcrumbs::after{clear:both;content:"";display:table}@media (min-width: 57.8125em){.breadcrumbs{padding-left:1em;padding-right:1em}}@media (min-width: 80em){.breadcrumbs{max-width:1280px}}.breadcrumbs ol{padding:0;list-style:none;font-size:.75em}@media (min-width: 57.8125em){.breadcrumbs ol{width:83.0508474576%;float:right;margin-right:0}}@media (min-width: 80em){.breadcrumbs ol{padding-left:4.2372881356%}}.breadcrumbs li{display:inline}.breadcrumbs .current{font-weight:bold}.pagination{clear:both;width:100%;float:left;margin-left:0;margin-right:0;clear:both;margin-top:1em;padding-top:1em}.pagination::after{clear:both;content:"";display:table}.pagination ul{margin:0;padding:0;list-style-type:none;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif}.pagination li{display:block;float:left;margin-left:-1px}.pagination li a{margin-bottom:0.25em;padding:0.5em 1em;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-size:14px;font-weight:bold;line-height:1.5;text-align:center;text-decoration:none;color:#9ba1a6;border:1px solid #bdc1c4;border-radius:0}.pagination li a:hover{color:#3e8296}.pagination li a.current{color:#fff;background:#7a8288}.pagination li a.disabled{color:#dee0e1;pointer-events:none;cursor:not-allowed}.pagination li:first-child{margin-left:0}.pagination li:first-child a{border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination li:last-child a{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination--pager{display:block;padding:1em 2em;float:left;width:50%;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-size:1em;font-weight:bold;text-align:center;text-decoration:none;color:#bdc1c4;border:1px solid #bdc1c4;border-radius:4px}.pagination--pager:hover{color:#3e8296}.pagination--pager:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.pagination--pager:last-child{margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.pagination--pager.disabled{color:#dee0e1;pointer-events:none;cursor:not-allowed}.page__content+.pagination,.page__meta+.pagination,.comment__date+.pagination,.page__share+.pagination,.page__comments+.pagination{margin-top:2em;padding-top:2em;border-top:1px solid #f2f3f3}.greedy-nav{position:relative;min-width:250px;background:#fff}.greedy-nav a{display:block;margin:0 1rem;padding:0.5rem 0;color:#7a8288;text-decoration:none}.greedy-nav a:hover{color:#5c6266}.greedy-nav button{position:absolute;height:2.5rem;right:0;padding:0 0.5rem;border:0;outline:none;background-color:#7a8288;color:#fff;cursor:pointer;z-index:100}.greedy-nav .visible-links{display:table}.greedy-nav .visible-links li{display:table-cell;vertical-align:middle}.greedy-nav .visible-links li:first-child{font-weight:bold;text-wrap:wrap}.greedy-nav .visible-links li:first-child a{margin-left:0}.greedy-nav .visible-links li:last-child a{margin-right:0}.greedy-nav .visible-links a{position:relative}.greedy-nav .visible-links a:before{content:"";position:absolute;left:0;bottom:0;height:4px;background:#bdc1c4;width:100%;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0)}.greedy-nav .visible-links a:hover:before{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1)}.greedy-nav .hidden-links{position:absolute;top:100%;right:0;margin-top:15px;padding:5px;border:1px solid #f2f3f3;border-radius:4px;background:#fff;box-shadow:0 0 10px rgba(0,0,0,0.25)}.greedy-nav .hidden-links a{margin:0;padding:10px 20px;font-size:1em}.greedy-nav .hidden-links a:hover{color:#5c6266;background:#dee0e1}.greedy-nav .hidden-links:before{content:"";position:absolute;top:-11px;right:10px;width:0;border-style:solid;border-width:0 10px 10px;border-color:#f2f3f3 transparent;display:block;z-index:0}.greedy-nav .hidden-links:after{content:"";position:absolute;top:-10px;right:10px;width:0;border-style:solid;border-width:0 10px 10px;border-color:#fff transparent;display:block;z-index:1}.greedy-nav .hidden-links li{display:block;border-bottom:1px solid #f2f3f3}.greedy-nav .hidden-links li:last-child{border-bottom:none}.nav__list{font-size:1.25rem}.nav__list ul{margin-bottom:1em}.nav__list a{display:block;padding:0.125em 0;color:inherit}.nav__list a:hover{text-decoration:underline}.nav__list .active{margin-left:-0.5em;padding-left:0.5em;padding-right:0.5em;color:#fff;font-weight:bold;background:#7a8288;border-radius:4px}.nav__list .active:hover{color:#fff}.nav__title{margin:0;padding:0.5rem 1rem;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-size:1em;font-weight:bold}.nav__sub-title{display:block;margin:0.5rem 0;padding:0.5rem 0;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-size:.75em;font-weight:bold;text-transform:uppercase;border-bottom:1px solid #f2f3f3}.toc{font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;color:#7a8288;text-transform:uppercase;letter-spacing:1px;background-color:#fff;border:1px solid #f2f3f3;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,0.125)}.toc .nav__title{color:#fff;font-size:.75em;background:#7a8288;border-top-left-radius:4px;border-top-right-radius:4px}.toc__menu{margin:0;padding:0;width:100%;list-style:none;font-size:0.8rem}.toc__menu a{display:block;padding:0.5rem 1rem;color:#7a8288;font-size:.6875em;font-weight:bold;line-height:1.5;border-bottom:1px solid #f2f3f3}.toc__menu a:hover{color:#000;background:#f2f3f3}.toc__menu>li:last-child a{border-bottom:none}.toc__menu li ul>li a{padding-left:2rem;font-weight:normal}.toc__menu li>ul li{display:none}@media (min-width: 48em){.toc__menu li>ul li{display:block}}.page__footer{clear:both;float:left;margin-left:0;margin-right:0;width:100%;clear:both;position:absolute;bottom:0em;height:auto;margin-top:3em;color:#9ba1a6;-webkit-animation:intro 0.3s both;animation:intro 0.3s both;-webkit-animation-delay:0.45s;animation-delay:0.45s;background-color:#f2f3f3;border-top:1px solid #bdc1c4}.page__footer::after{clear:both;content:"";display:table}.page__footer footer{clear:both;margin-left:auto;margin-right:auto;margin-top:2em;max-width:100%;padding:0 1em 2em}.page__footer footer::after{clear:both;content:"";display:table}@media (min-width: 80em){.page__footer footer{max-width:1280px}}.page__footer a{color:inherit;text-decoration:none}.page__footer a:hover{text-decoration:underline}.page__footer .fas,.page__footer .fab,.page__footer .far,.page__footer .fal{color:#9ba1a6}.page__footer-copyright{font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-size:.6875em}.page__footer-follow ul{margin:0;padding:0;list-style-type:none}.page__footer-follow li{display:inline-block;padding-top:5px;padding-bottom:5px;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-size:.75em;text-transform:uppercase}.page__footer-follow li+li:before{content:"";padding-right:5px}.page__footer-follow a{padding-right:10px;font-weight:bold}.page__footer-follow .social-icons a{white-space:nowrap}div.highlighter-rouge,figure.highlight{position:relative;margin-bottom:1em;padding:1em;border:1px solid #f2f3f3;border-radius:4px;background-color:#fafafa;box-shadow:0 1px 1px rgba(0,0,0,0.125);font-size:1.25em}div.highlighter-rouge:before,figure.highlight:before{position:absolute;top:0;right:0;padding:0.5em;background-color:#f2f3f3;content:"\f121";font-family:"Font Awesome 6 Free" !important;font-size:.75em;line-height:1;text-transform:none;speak:none}div.highlighter-rouge .highlight,figure.highlight .highlight{margin:0;font-family:Monaco,Consolas,"Lucida Console",monospace;font-size:.75em;line-height:1.8}.highlight table td{padding:5px}.highlight table pre{margin:0}.highlight .c{color:#93a1a1}.highlight .err{color:#586e75}.highlight .g{color:#586e75}.highlight .k{color:#859900}.highlight .l{color:#586e75}.highlight .n{color:#586e75}.highlight .o{color:#859900}.highlight .x{color:#cb4b16}.highlight .p{color:#586e75}.highlight .cm{color:#93a1a1}.highlight .cp{color:#859900}.highlight .c1{color:#93a1a1}.highlight .cs{color:#859900}.highlight .gd{color:#2aa198}.highlight .ge{color:#586e75;font-style:italic}.highlight .gr{color:#dc322f}.highlight .gh{color:#cb4b16}.highlight .gi{color:#859900}.highlight .go{color:#586e75}.highlight .gp{color:#586e75}.highlight .gs{color:#586e75;font-weight:bold}.highlight .gu{color:#cb4b16}.highlight .gt{color:#586e75}.highlight .kc{color:#cb4b16}.highlight .kd{color:#22b3eb}.highlight .kn{color:#859900}.highlight .kp{color:#859900}.highlight .kr{color:#22b3eb}.highlight .kt{color:#dc322f}.highlight .ld{color:#586e75}.highlight .m{color:#2aa198}.highlight .s{color:#2aa198}.highlight .na{color:#586e75}.highlight .nb{color:#B58900}.highlight .nc{color:#22b3eb}.highlight .no{color:#cb4b16}.highlight .nd{color:#22b3eb}.highlight .ni{color:#cb4b16}.highlight .ne{color:#cb4b16}.highlight .nf{color:#22b3eb}.highlight .nl{color:#586e75}.highlight .nn{color:#586e75}.highlight .nx{color:#586e75}.highlight .py{color:#586e75}.highlight .nt{color:#22b3eb}.highlight .nv{color:#22b3eb}.highlight .ow{color:#859900}.highlight .w{color:#586e75}.highlight .mf{color:#2aa198}.highlight .mh{color:#2aa198}.highlight .mi{color:#2aa198}.highlight .mo{color:#2aa198}.highlight .sb{color:#93a1a1}.highlight .sc{color:#2aa198}.highlight .sd{color:#586e75}.highlight .s2{color:#2aa198}.highlight .se{color:#cb4b16}.highlight .sh{color:#586e75}.highlight .si{color:#2aa198}.highlight .sx{color:#2aa198}.highlight .sr{color:#dc322f}.highlight .s1{color:#2aa198}.highlight .ss{color:#2aa198}.highlight .bp{color:#22b3eb}.highlight .vc{color:#22b3eb}.highlight .vg{color:#22b3eb}.highlight .vi{color:#22b3eb}.highlight .il{color:#2aa198}form{margin:0 0 5px 0}form fieldset{margin-bottom:5px;padding:0;border-width:0}form legend{display:block;width:100%;margin-bottom:10px;*margin-left:-7px;padding:0;color:#494e52;border:0;border-bottom:1px solid #ccc;white-space:normal}form p{margin-bottom:5px / 2}form ul{list-style-type:none;margin:0 0 5px 0;padding:0}form br{display:none}label,input,button,select,textarea{vertical-align:baseline;*vertical-align:middle}input,button,select,textarea{box-sizing:border-box;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif}label{display:block;margin-bottom:0.25em;color:#494e52;cursor:pointer}label small{font-size:.75em}label input,label textarea,label select{display:block}input,textarea,select{display:inline-block;width:100%;padding:0.25em;margin-bottom:0.5em;color:#494e52;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,0.125)}input:hover,textarea:hover,select:hover{border-color:#bdc1c4}.input-mini{width:60px}.input-small{width:90px}input[type="image"],input[type="checkbox"],input[type="radio"]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;cursor:pointer;border-radius:0;border:0 \9}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*width:13px;*height:13px}input[type="image"]{border:0;box-shadow:none}input[type="file"]{width:auto;padding:initial;line-height:initial;border:initial;background-color:transparent;background-color:initial;box-shadow:none}input[type="button"],input[type="reset"],input[type="submit"]{width:auto;height:auto;cursor:pointer;*overflow:visible}select,input[type="file"]{*margin-top:4px}select{width:auto;background-color:#fff}select[multiple],select[size]{height:auto}textarea{resize:vertical;height:auto;overflow:auto;vertical-align:top}input[type="hidden"]{display:none}.form{position:relative}.radio,.checkbox{padding-left:18px;font-weight:normal}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-18px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{opacity:0.5;cursor:not-allowed}input:focus,textarea:focus{border-color:#7a8288;outline:0;outline:thin dotted \9}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus,select:focus{box-shadow:none}.help-block,.help-inline{color:#52adc8}.help-block{display:block;margin-bottom:1em;line-height:1em}.help-inline{display:inline-block;vertical-align:middle;padding-left:5px}.form-inline input,.form-inline textarea,.form-inline select{display:inline-block;margin-bottom:0}.form-inline label{display:inline-block}.form-inline .radio,.form-inline .checkbox,.form-inline .radio{padding-left:0;margin-bottom:0;vertical-align:middle}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-left:0;margin-right:3px}.form-search input,.form-search textarea,.form-search select{display:inline-block;margin-bottom:0}.form-search .search-query{padding-left:14px;padding-right:14px;margin-bottom:0;border-radius:14px}.form-search label{display:inline-block}.form-search .radio,.form-search .checkbox,.form-inline .radio{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"]{float:left;margin-left:0;margin-right:3px}.form--loading:before{content:''}.form--loading .form__spinner{display:block}.form:before{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(255,255,255,0.7);z-index:10}.form__spinner{display:none;position:absolute;top:50%;left:50%;z-index:11}#goog-fixurl ul{list-style:none;margin-left:0;padding-left:0}#goog-fixurl ul li{list-style-type:none}#goog-wm-qt{width:auto;margin-right:10px;margin-bottom:20px;padding:8px 20px;display:inline-block;font-size:.75em;background-color:#fff;color:#000;border-width:2px !important;border-style:solid !important;border-color:gray;border-radius:4px}#main{max-width:925px;margin-left:auto;margin-right:auto;clear:both;margin-top:2em;padding-left:1em;padding-right:1em;animation:intro 0.3s both;animation-delay:0.35s}#main:after{content:" ";display:block;clear:both}#main::after{clear:both;content:"";display:table}@media (min-width: 80em){#main{max-width:1280px}}@media (min-width: 57.8125em){.page{width:83.0508474576%;float:right;margin-right:0;padding-left:4.2372881356%;padding-right:16.9491525424%}}.page .page__inner-wrap{clear:both;width:100%;float:left;margin-left:0;margin-right:0}.page .page__inner-wrap .page__content,.page .page__inner-wrap .page__meta,.page .page__inner-wrap .comment__date,.page .page__inner-wrap .page__share{clear:both;width:100%;float:left;margin-left:0;margin-right:0}.page__title{margin-top:0;line-height:1}.page__title+.page__meta,.page__title+.comment__date{margin-top:-0.5em}.page__lead{font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-size:1.25em}.page__content h2{padding-bottom:0.5em;border-bottom:1px solid #f2f3f3}.page__content p,.page__content li,.page__content dl{font-size:1em}.page__content p{margin:0 0 1.3em}.page__content a{text-decoration:underline}.page__content a:hover{text-decoration:underline}.page__content a:hover img{box-shadow:0 0 10px rgba(0,0,0,0.25)}.page__content dt{margin-top:1em;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-weight:bold}.page__content dd{margin-left:1em;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-size:.75em}.page__content .small{font-size:.75em}.page__content blockquote+.small{margin-top:-1.5em;padding-left:1.25rem}.page__hero{position:relative;margin-bottom:2em;clear:both;animation:intro 0.3s both;animation-delay:0.25s}.page__hero::after{clear:both;content:"";display:table}.page__hero--overlay{position:relative;margin-bottom:2em;padding:3em 0;clear:both;background-size:cover;background-repeat:no-repeat;background-position:center;animation:intro 0.3s both;animation-delay:0.25s}.page__hero--overlay::after{clear:both;content:"";display:table}.page__hero--overlay a{color:#fff}.page__hero--overlay .wrapper{padding-left:1em;padding-right:1em}@media (min-width: 80em){.page__hero--overlay .wrapper{max-width:1280px}}.page__hero--overlay .page__title,.page__hero--overlay .page__meta,.page__hero--overlay .comment__date,.page__hero--overlay .page__lead,.page__hero--overlay .btn,.page__hero--overlay #goog-wm-sb{color:#fff;text-shadow:1px 1px 4px rgba(0,0,0,0.5)}.page__hero--overlay .page__lead{max-width:768px}.page__hero--overlay .page__title{font-size:1.953em}@media (min-width: 37.5em){.page__hero--overlay .page__title{font-size:2.441em}}.page__hero-image{width:100%;height:auto;-ms-interpolation-mode:bicubic}.page__hero-caption{position:absolute;bottom:0;right:0;margin:0 auto;padding:2px 5px;color:#fff;font-family:Georgia,Times,serif;font-size:.6875em;background:#000;text-align:right;z-index:5;opacity:0.5;border-radius:4px 0 4px 0}@media (min-width: 57.8125em){.page__hero-caption{padding:5px 10px}}.page__hero-caption a{color:#fff;text-decoration:none}.page__share{margin-top:2em;padding-top:1em;border-top:1px solid #f2f3f3}@media (max-width: 37.5em){.page__share .btn span,.page__share #goog-wm-sb span{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}}.page__share-title{margin-bottom:10px;font-size:.75em;text-transform:uppercase}.page__meta,.comment__date{margin-top:2em;color:#9ba1a6;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-size:.75em}.page__meta p,.comment__date p{margin:0}.page__meta a,.comment__date a{color:inherit}.page__meta-title{margin-bottom:10px;font-size:.75em;text-transform:uppercase}.page__taxonomy .sep{display:none}.page__taxonomy strong{margin-right:10px}.page__taxonomy-item{display:inline-block;margin-right:5px;margin-bottom:8px;padding:5px 10px;text-decoration:none;border:1px solid #bdc1c4;border-radius:4px}.page__taxonomy-item:hover{text-decoration:none;color:#3e8296}.page__comments{clear:both;width:100%;float:left;margin-left:0;margin-right:0}.page__comments-title{margin-top:2rem;margin-bottom:10px;padding-top:2rem;font-size:.75em;border-top:1px solid #f2f3f3;text-transform:uppercase}.page__comments-form{padding:1em;background:#f2f3f3;transition:all 0.2s ease-in-out}.page__comments-form.disabled input,.page__comments-form.disabled button,.page__comments-form.disabled textarea,.page__comments-form.disabled label{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);box-shadow:none;opacity:0.65}.comment{clear:both;margin:1em 0}.comment::after{clear:both;content:"";display:table}.comment:not(:last-child){border-bottom:1px solid #f2f3f3}.comment__avatar-wrapper{float:left;width:60px;height:60px}@media (min-width: 57.8125em){.comment__avatar-wrapper{width:100px;height:100px}}.comment__avatar{width:40px;height:40px;border-radius:50%}@media (min-width: 57.8125em){.comment__avatar{width:80px;height:80px;padding:5px;border:1px solid #f2f3f3}}.comment__content-wrapper{float:right;width:calc(100% - 60px)}@media (min-width: 57.8125em){.comment__content-wrapper{width:calc(100% - 100px)}}.comment__author{margin:0}.comment__author a{text-decoration:none}.comment__date{margin:0}.comment__date a{text-decoration:none}.page__related{margin-top:2em;padding-top:1em;border-top:1px solid #f2f3f3;clear:both;float:left}.page__related::after{clear:both;content:"";display:table}@media (min-width: 57.8125em){.page__related{margin-left:21.186440678%}}.page__related a{color:inherit;text-decoration:none}.page__related-title{margin-bottom:10px;font-size:.75em;text-transform:uppercase}.archive{margin-bottom:2em}@media (min-width: 48em){.archive{width:100%;float:left;margin-left:0;margin-right:0}}@media (min-width: 57.8125em){.archive{width:83.0508474576%;float:right;margin-right:0;padding-left:4.2372881356%}}.archive a{text-decoration:underline}.archive a:hover{text-decoration:underline}.archive a:hover img{box-shadow:0 0 10px rgba(0,0,0,0.25)}.archive__subtitle{margin:1.414em 0 0;padding-bottom:0.5em;font-size:1em;color:#9ba1a6;border-bottom:1px solid #f2f3f3}.archive__subtitle+.list__item .archive__item-title{margin-top:0.5em}.archive__item-title{margin-bottom:0.25em;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif}.archive__item-title a+a{opacity:0.5}.page__content .archive__item-title{margin-top:1em;border-bottom:none}.archive__item-excerpt{margin-top:0;font-size:.75em}.archive__item-excerpt+p{text-indent:0}.archive__item-teaser{border-radius:4px;overflow:hidden}.archive__item-teaser img{width:100%}.archive__item:hover .archive__item-teaser{box-shadow:0 0 10px rgba(0,0,0,0.25)}.archive__item:hover .archive__item-title{text-decoration:underline}@media (min-width: 48em){.list__item{padding-right:0px}}@media (min-width: 57.8125em){.list__item{padding-right:0px}}@media (min-width: 80em){.list__item{padding-right:0px}}.list__item .page__meta,.list__item .comment__date{margin:0 0 4px}.grid__item{margin-bottom:2em}.grid__item .page__meta,.grid__item .comment__date{margin:0 0 4px}.grid__item .archive__item-title{margin-top:0.5em;font-size:1em}.grid__item .archive__item-excerpt{display:none}@media (min-width: 37.5em){.grid__item{width:48.9795918367%;float:left}.grid__item:nth-child(2n+1){margin-left:0;margin-right:-100%;clear:both;margin-left:0}.grid__item:nth-child(2n+2){margin-left:51.0204081633%;margin-right:-100%;clear:none}.grid__item .archive__item-teaser{max-height:200px}}@media (min-width: 48em){.grid__item{margin-left:0;margin-right:0;width:23.4693877551%;float:left}.grid__item:nth-child(4n+1){margin-left:0;margin-right:-100%;clear:both;margin-left:0}.grid__item:nth-child(4n+2){margin-left:25.5102040816%;margin-right:-100%;clear:none}.grid__item:nth-child(4n+3){margin-left:51.0204081633%;margin-right:-100%;clear:none}.grid__item:nth-child(4n+4){margin-left:76.5306122449%;margin-right:-100%;clear:none}.grid__item .archive__item-teaser{max-height:120px}.grid__item .archive__item-excerpt{display:block;font-size:.75em}}.feature__wrapper{clear:both;margin-bottom:2em;border-bottom:1px solid #f2f3f3}.feature__wrapper::after{clear:both;content:"";display:table}.feature__item{margin-bottom:2em;font-size:1.25rem}@media (min-width: 37.5em){.feature__item{margin-bottom:0;width:32.2033898305%;float:left}.feature__item:nth-child(3n+1){margin-left:0;margin-right:-100%;clear:both;margin-left:0}.feature__item:nth-child(3n+2){margin-left:33.8983050847%;margin-right:-100%;clear:none}.feature__item:nth-child(3n+3){margin-left:67.7966101695%;margin-right:-100%;clear:none}.feature__item .feature__item-teaser{max-height:200px;overflow:hidden}}.feature__item--left{clear:both;width:100%;float:left;margin-left:0;margin-right:0;font-size:1.25rem}.feature__item--left .archive__item-teaser{margin-bottom:2em}@media (min-width: 37.5em){.feature__item--left .archive__item-teaser{width:40.6779661017%;float:left;margin-right:1.6949152542%}.feature__item--left .archive__item-body{width:57.6271186441%;float:right;margin-right:0;padding-left:4.2372881356%;padding-right:8.4745762712%}}.feature__item--right{clear:both;width:100%;float:left;margin-left:0;margin-right:0;font-size:1.25rem}.feature__item--right .archive__item-teaser{margin-bottom:2em}@media (min-width: 37.5em){.feature__item--right{text-align:right}.feature__item--right .archive__item-teaser{width:40.6779661017%;float:right;margin-left:1.6949152542%}.feature__item--right .archive__item-body{width:57.6271186441%;float:left;margin-left:0;padding-left:4.2372881356%;padding-right:8.4745762712%}}.feature__item--center{clear:both;width:100%;float:left;margin-left:0;margin-right:0;font-size:1.25rem}.feature__item--center .archive__item-teaser{margin-bottom:2em}@media (min-width: 37.5em){.feature__item--center{text-align:center}.feature__item--center .archive__item-teaser{margin:0 auto;width:40.6779661017%}.feature__item--center .archive__item-body{margin:0 auto;width:57.6271186441%}}.sidebar{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);clear:both;margin-bottom:1em}.sidebar::after{clear:both;content:"";display:table}@media screen and (min-width: 1024px){.sidebar{height:100vh;overflow-y:auto;position:fixed;padding-top:70px}}@media (min-width: 57.8125em){.sidebar{width:15.2542372881%;float:left;margin-right:1.6949152542%;opacity:1;-webkit-transition:opacity 0.2s ease-in-out;transition:opacity 0.2s ease-in-out}.sidebar:hover{opacity:1}}@media (min-width: 80em){.sidebar{max-width:250px;padding-right:0}}.sidebar h2,.sidebar h3,.sidebar h4,.sidebar h5,.sidebar h6{margin-bottom:0;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif}.sidebar h3,.sidebar h4{font-size:1em}.sidebar p,.sidebar li{font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-size:.75em;line-height:1.5}.sidebar img{width:100%}.sidebar__right{margin-bottom:1em}@media (min-width: 57.8125em){.sidebar__right{position:relative;float:right;width:0px;margin-left:2.5423728814%;z-index:10}}@media (min-width: 80em){.sidebar__right{width:0px}}.author__avatar{display:table-cell;vertical-align:top;width:36px}@media (min-width: 57.8125em){.author__avatar{display:block;width:auto;height:auto}}.author__avatar img{max-width:175px;border-radius:50%}@media (min-width: 57.8125em){.author__avatar img{padding:5px;border:1px solid #f2f3f3}}.author__content{display:table-cell;vertical-align:top;padding-left:15px;padding-right:25px;line-height:1}@media (min-width: 57.8125em){.author__content{display:block;width:100%;padding-left:0;padding-right:0}}.author__name{margin:0}@media (min-width: 57.8125em){.author__name{margin-top:10px;margin-bottom:10px}}.sidebar .author__name{font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-size:1em}.sidebar .author__desktop{display:none}@media screen and (min-width: 1024px){.sidebar .author__desktop{display:block}}.author__pronouns{margin:0}@media (min-width: 57.8125em){.author__pronouns{margin-top:10px;margin-bottom:10px}}.author__bio{margin:0}@media (min-width: 57.8125em){.author__bio{margin-top:10px;margin-bottom:20px}}.author__urls-wrapper{position:relative;display:table-cell;vertical-align:middle;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;z-index:10;position:relative;cursor:pointer}.author__urls-wrapper li:last-child a{margin-bottom:0}@media (min-width: 57.8125em){.author__urls-wrapper{display:block}}.author__urls-wrapper button{margin-bottom:0}@media (min-width: 57.8125em){.author__urls-wrapper button{display:none}}.author__urls{display:none;position:absolute;right:0;margin-top:15px;padding:10px;list-style-type:none;border:1px solid #f2f3f3;border-radius:4px;background:#fff;z-index:-1;box-shadow:0 0 10px rgba(0,0,0,0.25);cursor:default}@media (min-width: 57.8125em){.author__urls{display:block;position:relative;margin:0;padding:0;border:0;background:transparent;box-shadow:none}}.author__urls:before{display:block;content:"";position:absolute;top:-11px;left:calc(50% - 10px);width:0;border-style:solid;border-width:0 10px 10px;border-color:#f2f3f3 transparent;z-index:0}@media (min-width: 57.8125em){.author__urls:before{display:none}}.author__urls:after{display:block;content:"";position:absolute;top:-10px;left:calc(50% - 10px);width:0;border-style:solid;border-width:0 10px 10px;border-color:#fff transparent;z-index:1}@media (min-width: 57.8125em){.author__urls:after{display:none}}.author__urls li{white-space:nowrap}.author__urls a{display:block;margin-bottom:5px;padding-right:5px;padding-top:2px;padding-bottom:2px;color:inherit;font-size:1em;text-decoration:none}.author__urls a:hover{text-decoration:underline}/*! * Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. */.fa{font-family:var(--fa-style-family, "Font Awesome 6 Free");font-weight:var(--fa-style, 900)}.fa,.fa-classic,.fa-sharp,.fas,.fa-solid,.far,.fa-regular,.fab,.fa-brands{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display, inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fas,.fa-classic,.fa-solid,.far,.fa-regular{font-family:'Font Awesome 6 Free'}.fab,.fa-brands{font-family:'Font Awesome 6 Brands'}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.0833333337em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.0714285718em;vertical-align:.0535714295em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.0416666682em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin, 2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em) * -1);position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-color:var(--fa-border-color, #eee);border-radius:var(--fa-border-radius, .1em);border-style:var(--fa-border-style, solid);border-width:var(--fa-border-width, .08em);padding:var(--fa-border-padding, 0.2em 0.25em 0.15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin, .3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin, .3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1))}.fa-fade{animation-name:fa-fade;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1))}.fa-beat-fade{animation-name:fa-beat-fade;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{animation-name:fa-shake;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 2s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, steps(8))}@media (prefers-reduced-motion: reduce){.fa-beat,.fa-bounce,.fa-fade,.fa-beat-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation-delay:-1ms;animation-duration:1ms;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@keyframes fa-beat{0%, 90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-bounce{0%{transform:scale(1, 1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0)}57%{transform:scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em))}64%{transform:scale(1, 1) translateY(0)}100%{transform:scale(1, 1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, 0.4)}}@keyframes fa-beat-fade{0%, 100%{opacity:var(--fa-beat-fade-opacity, 0.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%, 24%{transform:rotate(-18deg)}12%, 28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%, 100%{transform:rotate(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scale(-1, 1)}.fa-flip-vertical{transform:scale(1, -1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1, -1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle, 0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index, auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse, #fff)}.fa-0::before{content:"\30 "}.fa-1::before{content:"\31 "}.fa-2::before{content:"\32 "}.fa-3::before{content:"\33 "}.fa-4::before{content:"\34 "}.fa-5::before{content:"\35 "}.fa-6::before{content:"\36 "}.fa-7::before{content:"\37 "}.fa-8::before{content:"\38 "}.fa-9::before{content:"\39 "}.fa-fill-drip::before{content:""}.fa-arrows-to-circle::before{content:""}.fa-circle-chevron-right::before{content:""}.fa-chevron-circle-right::before{content:""}.fa-at::before{content:"\@"}.fa-trash-can::before{content:""}.fa-trash-alt::before{content:""}.fa-text-height::before{content:""}.fa-user-xmark::before{content:""}.fa-user-times::before{content:""}.fa-stethoscope::before{content:""}.fa-message::before{content:""}.fa-comment-alt::before{content:""}.fa-info::before{content:""}.fa-down-left-and-up-right-to-center::before{content:""}.fa-compress-alt::before{content:""}.fa-explosion::before{content:""}.fa-file-lines::before{content:""}.fa-file-alt::before{content:""}.fa-file-text::before{content:""}.fa-wave-square::before{content:""}.fa-ring::before{content:""}.fa-building-un::before{content:""}.fa-dice-three::before{content:""}.fa-calendar-days::before{content:""}.fa-calendar-alt::before{content:""}.fa-anchor-circle-check::before{content:""}.fa-building-circle-arrow-right::before{content:""}.fa-volleyball::before{content:""}.fa-volleyball-ball::before{content:""}.fa-arrows-up-to-line::before{content:""}.fa-sort-down::before{content:""}.fa-sort-desc::before{content:""}.fa-circle-minus::before{content:""}.fa-minus-circle::before{content:""}.fa-door-open::before{content:""}.fa-right-from-bracket::before{content:""}.fa-sign-out-alt::before{content:""}.fa-atom::before{content:""}.fa-soap::before{content:""}.fa-icons::before{content:""}.fa-heart-music-camera-bolt::before{content:""}.fa-microphone-lines-slash::before{content:""}.fa-microphone-alt-slash::before{content:""}.fa-bridge-circle-check::before{content:""}.fa-pump-medical::before{content:""}.fa-fingerprint::before{content:""}.fa-hand-point-right::before{content:""}.fa-magnifying-glass-location::before{content:""}.fa-search-location::before{content:""}.fa-forward-step::before{content:""}.fa-step-forward::before{content:""}.fa-face-smile-beam::before{content:""}.fa-smile-beam::before{content:""}.fa-flag-checkered::before{content:""}.fa-football::before{content:""}.fa-football-ball::before{content:""}.fa-school-circle-exclamation::before{content:""}.fa-crop::before{content:""}.fa-angles-down::before{content:""}.fa-angle-double-down::before{content:""}.fa-users-rectangle::before{content:""}.fa-people-roof::before{content:""}.fa-people-line::before{content:""}.fa-beer-mug-empty::before{content:""}.fa-beer::before{content:""}.fa-diagram-predecessor::before{content:""}.fa-arrow-up-long::before{content:""}.fa-long-arrow-up::before{content:""}.fa-fire-flame-simple::before{content:""}.fa-burn::before{content:""}.fa-person::before{content:""}.fa-male::before{content:""}.fa-laptop::before{content:""}.fa-file-csv::before{content:""}.fa-menorah::before{content:""}.fa-truck-plane::before{content:""}.fa-record-vinyl::before{content:""}.fa-face-grin-stars::before{content:""}.fa-grin-stars::before{content:""}.fa-bong::before{content:""}.fa-spaghetti-monster-flying::before{content:""}.fa-pastafarianism::before{content:""}.fa-arrow-down-up-across-line::before{content:""}.fa-spoon::before{content:""}.fa-utensil-spoon::before{content:""}.fa-jar-wheat::before{content:""}.fa-envelopes-bulk::before{content:""}.fa-mail-bulk::before{content:""}.fa-file-circle-exclamation::before{content:""}.fa-circle-h::before{content:""}.fa-hospital-symbol::before{content:""}.fa-pager::before{content:""}.fa-address-book::before{content:""}.fa-contact-book::before{content:""}.fa-strikethrough::before{content:""}.fa-k::before{content:"K"}.fa-landmark-flag::before{content:""}.fa-pencil::before{content:""}.fa-pencil-alt::before{content:""}.fa-backward::before{content:""}.fa-caret-right::before{content:""}.fa-comments::before{content:""}.fa-paste::before{content:""}.fa-file-clipboard::before{content:""}.fa-code-pull-request::before{content:""}.fa-clipboard-list::before{content:""}.fa-truck-ramp-box::before{content:""}.fa-truck-loading::before{content:""}.fa-user-check::before{content:""}.fa-vial-virus::before{content:""}.fa-sheet-plastic::before{content:""}.fa-blog::before{content:""}.fa-user-ninja::before{content:""}.fa-person-arrow-up-from-line::before{content:""}.fa-scroll-torah::before{content:""}.fa-torah::before{content:""}.fa-broom-ball::before{content:""}.fa-quidditch::before{content:""}.fa-quidditch-broom-ball::before{content:""}.fa-toggle-off::before{content:""}.fa-box-archive::before{content:""}.fa-archive::before{content:""}.fa-person-drowning::before{content:""}.fa-arrow-down-9-1::before{content:""}.fa-sort-numeric-desc::before{content:""}.fa-sort-numeric-down-alt::before{content:""}.fa-face-grin-tongue-squint::before{content:""}.fa-grin-tongue-squint::before{content:""}.fa-spray-can::before{content:""}.fa-truck-monster::before{content:""}.fa-w::before{content:"W"}.fa-earth-africa::before{content:""}.fa-globe-africa::before{content:""}.fa-rainbow::before{content:""}.fa-circle-notch::before{content:""}.fa-tablet-screen-button::before{content:""}.fa-tablet-alt::before{content:""}.fa-paw::before{content:""}.fa-cloud::before{content:""}.fa-trowel-bricks::before{content:""}.fa-face-flushed::before{content:""}.fa-flushed::before{content:""}.fa-hospital-user::before{content:""}.fa-tent-arrow-left-right::before{content:""}.fa-gavel::before{content:""}.fa-legal::before{content:""}.fa-binoculars::before{content:""}.fa-microphone-slash::before{content:""}.fa-box-tissue::before{content:""}.fa-motorcycle::before{content:""}.fa-bell-concierge::before{content:""}.fa-concierge-bell::before{content:""}.fa-pen-ruler::before{content:""}.fa-pencil-ruler::before{content:""}.fa-people-arrows::before{content:""}.fa-people-arrows-left-right::before{content:""}.fa-mars-and-venus-burst::before{content:""}.fa-square-caret-right::before{content:""}.fa-caret-square-right::before{content:""}.fa-scissors::before{content:""}.fa-cut::before{content:""}.fa-sun-plant-wilt::before{content:""}.fa-toilets-portable::before{content:""}.fa-hockey-puck::before{content:""}.fa-table::before{content:""}.fa-magnifying-glass-arrow-right::before{content:""}.fa-tachograph-digital::before{content:""}.fa-digital-tachograph::before{content:""}.fa-users-slash::before{content:""}.fa-clover::before{content:""}.fa-reply::before{content:""}.fa-mail-reply::before{content:""}.fa-star-and-crescent::before{content:""}.fa-house-fire::before{content:""}.fa-square-minus::before{content:""}.fa-minus-square::before{content:""}.fa-helicopter::before{content:""}.fa-compass::before{content:""}.fa-square-caret-down::before{content:""}.fa-caret-square-down::before{content:""}.fa-file-circle-question::before{content:""}.fa-laptop-code::before{content:""}.fa-swatchbook::before{content:""}.fa-prescription-bottle::before{content:""}.fa-bars::before{content:""}.fa-navicon::before{content:""}.fa-people-group::before{content:""}.fa-hourglass-end::before{content:""}.fa-hourglass-3::before{content:""}.fa-heart-crack::before{content:""}.fa-heart-broken::before{content:""}.fa-square-up-right::before{content:""}.fa-external-link-square-alt::before{content:""}.fa-face-kiss-beam::before{content:""}.fa-kiss-beam::before{content:""}.fa-film::before{content:""}.fa-ruler-horizontal::before{content:""}.fa-people-robbery::before{content:""}.fa-lightbulb::before{content:""}.fa-caret-left::before{content:""}.fa-circle-exclamation::before{content:""}.fa-exclamation-circle::before{content:""}.fa-school-circle-xmark::before{content:""}.fa-arrow-right-from-bracket::before{content:""}.fa-sign-out::before{content:""}.fa-circle-chevron-down::before{content:""}.fa-chevron-circle-down::before{content:""}.fa-unlock-keyhole::before{content:""}.fa-unlock-alt::before{content:""}.fa-cloud-showers-heavy::before{content:""}.fa-headphones-simple::before{content:""}.fa-headphones-alt::before{content:""}.fa-sitemap::before{content:""}.fa-circle-dollar-to-slot::before{content:""}.fa-donate::before{content:""}.fa-memory::before{content:""}.fa-road-spikes::before{content:""}.fa-fire-burner::before{content:""}.fa-flag::before{content:""}.fa-hanukiah::before{content:""}.fa-feather::before{content:""}.fa-volume-low::before{content:""}.fa-volume-down::before{content:""}.fa-comment-slash::before{content:""}.fa-cloud-sun-rain::before{content:""}.fa-compress::before{content:""}.fa-wheat-awn::before{content:""}.fa-wheat-alt::before{content:""}.fa-ankh::before{content:""}.fa-hands-holding-child::before{content:""}.fa-asterisk::before{content:"\*"}.fa-square-check::before{content:""}.fa-check-square::before{content:""}.fa-peseta-sign::before{content:""}.fa-heading::before{content:""}.fa-header::before{content:""}.fa-ghost::before{content:""}.fa-list::before{content:""}.fa-list-squares::before{content:""}.fa-square-phone-flip::before{content:""}.fa-phone-square-alt::before{content:""}.fa-cart-plus::before{content:""}.fa-gamepad::before{content:""}.fa-circle-dot::before{content:""}.fa-dot-circle::before{content:""}.fa-face-dizzy::before{content:""}.fa-dizzy::before{content:""}.fa-egg::before{content:""}.fa-house-medical-circle-xmark::before{content:""}.fa-campground::before{content:""}.fa-folder-plus::before{content:""}.fa-futbol::before{content:""}.fa-futbol-ball::before{content:""}.fa-soccer-ball::before{content:""}.fa-paintbrush::before{content:""}.fa-paint-brush::before{content:""}.fa-lock::before{content:""}.fa-gas-pump::before{content:""}.fa-hot-tub-person::before{content:""}.fa-hot-tub::before{content:""}.fa-map-location::before{content:""}.fa-map-marked::before{content:""}.fa-house-flood-water::before{content:""}.fa-tree::before{content:""}.fa-bridge-lock::before{content:""}.fa-sack-dollar::before{content:""}.fa-pen-to-square::before{content:""}.fa-edit::before{content:""}.fa-car-side::before{content:""}.fa-share-nodes::before{content:""}.fa-share-alt::before{content:""}.fa-heart-circle-minus::before{content:""}.fa-hourglass-half::before{content:""}.fa-hourglass-2::before{content:""}.fa-microscope::before{content:""}.fa-sink::before{content:""}.fa-bag-shopping::before{content:""}.fa-shopping-bag::before{content:""}.fa-arrow-down-z-a::before{content:""}.fa-sort-alpha-desc::before{content:""}.fa-sort-alpha-down-alt::before{content:""}.fa-mitten::before{content:""}.fa-person-rays::before{content:""}.fa-users::before{content:""}.fa-eye-slash::before{content:""}.fa-flask-vial::before{content:""}.fa-hand::before{content:""}.fa-hand-paper::before{content:""}.fa-om::before{content:""}.fa-worm::before{content:""}.fa-house-circle-xmark::before{content:""}.fa-plug::before{content:""}.fa-chevron-up::before{content:""}.fa-hand-spock::before{content:""}.fa-stopwatch::before{content:""}.fa-face-kiss::before{content:""}.fa-kiss::before{content:""}.fa-bridge-circle-xmark::before{content:""}.fa-face-grin-tongue::before{content:""}.fa-grin-tongue::before{content:""}.fa-chess-bishop::before{content:""}.fa-face-grin-wink::before{content:""}.fa-grin-wink::before{content:""}.fa-ear-deaf::before{content:""}.fa-deaf::before{content:""}.fa-deafness::before{content:""}.fa-hard-of-hearing::before{content:""}.fa-road-circle-check::before{content:""}.fa-dice-five::before{content:""}.fa-square-rss::before{content:""}.fa-rss-square::before{content:""}.fa-land-mine-on::before{content:""}.fa-i-cursor::before{content:""}.fa-stamp::before{content:""}.fa-stairs::before{content:""}.fa-i::before{content:"I"}.fa-hryvnia-sign::before{content:""}.fa-hryvnia::before{content:""}.fa-pills::before{content:""}.fa-face-grin-wide::before{content:""}.fa-grin-alt::before{content:""}.fa-tooth::before{content:""}.fa-v::before{content:"V"}.fa-bangladeshi-taka-sign::before{content:""}.fa-bicycle::before{content:""}.fa-staff-snake::before{content:""}.fa-rod-asclepius::before{content:""}.fa-rod-snake::before{content:""}.fa-staff-aesculapius::before{content:""}.fa-head-side-cough-slash::before{content:""}.fa-truck-medical::before{content:""}.fa-ambulance::before{content:""}.fa-wheat-awn-circle-exclamation::before{content:""}.fa-snowman::before{content:""}.fa-mortar-pestle::before{content:""}.fa-road-barrier::before{content:""}.fa-school::before{content:""}.fa-igloo::before{content:""}.fa-joint::before{content:""}.fa-angle-right::before{content:""}.fa-horse::before{content:""}.fa-q::before{content:"Q"}.fa-g::before{content:"G"}.fa-notes-medical::before{content:""}.fa-temperature-half::before{content:""}.fa-temperature-2::before{content:""}.fa-thermometer-2::before{content:""}.fa-thermometer-half::before{content:""}.fa-dong-sign::before{content:""}.fa-capsules::before{content:""}.fa-poo-storm::before{content:""}.fa-poo-bolt::before{content:""}.fa-face-frown-open::before{content:""}.fa-frown-open::before{content:""}.fa-hand-point-up::before{content:""}.fa-money-bill::before{content:""}.fa-bookmark::before{content:""}.fa-align-justify::before{content:""}.fa-umbrella-beach::before{content:""}.fa-helmet-un::before{content:""}.fa-bullseye::before{content:""}.fa-bacon::before{content:""}.fa-hand-point-down::before{content:""}.fa-arrow-up-from-bracket::before{content:""}.fa-folder::before{content:""}.fa-folder-blank::before{content:""}.fa-file-waveform::before{content:""}.fa-file-medical-alt::before{content:""}.fa-radiation::before{content:""}.fa-chart-simple::before{content:""}.fa-mars-stroke::before{content:""}.fa-vial::before{content:""}.fa-gauge::before{content:""}.fa-dashboard::before{content:""}.fa-gauge-med::before{content:""}.fa-tachometer-alt-average::before{content:""}.fa-wand-magic-sparkles::before{content:""}.fa-magic-wand-sparkles::before{content:""}.fa-e::before{content:"E"}.fa-pen-clip::before{content:""}.fa-pen-alt::before{content:""}.fa-bridge-circle-exclamation::before{content:""}.fa-user::before{content:""}.fa-school-circle-check::before{content:""}.fa-dumpster::before{content:""}.fa-van-shuttle::before{content:""}.fa-shuttle-van::before{content:""}.fa-building-user::before{content:""}.fa-square-caret-left::before{content:""}.fa-caret-square-left::before{content:""}.fa-highlighter::before{content:""}.fa-key::before{content:""}.fa-bullhorn::before{content:""}.fa-globe::before{content:""}.fa-synagogue::before{content:""}.fa-person-half-dress::before{content:""}.fa-road-bridge::before{content:""}.fa-location-arrow::before{content:""}.fa-c::before{content:"C"}.fa-tablet-button::before{content:""}.fa-building-lock::before{content:""}.fa-pizza-slice::before{content:""}.fa-money-bill-wave::before{content:""}.fa-chart-area::before{content:""}.fa-area-chart::before{content:""}.fa-house-flag::before{content:""}.fa-person-circle-minus::before{content:""}.fa-ban::before{content:""}.fa-cancel::before{content:""}.fa-camera-rotate::before{content:""}.fa-spray-can-sparkles::before{content:""}.fa-air-freshener::before{content:""}.fa-star::before{content:""}.fa-repeat::before{content:""}.fa-cross::before{content:""}.fa-box::before{content:""}.fa-venus-mars::before{content:""}.fa-arrow-pointer::before{content:""}.fa-mouse-pointer::before{content:""}.fa-maximize::before{content:""}.fa-expand-arrows-alt::before{content:""}.fa-charging-station::before{content:""}.fa-shapes::before{content:""}.fa-triangle-circle-square::before{content:""}.fa-shuffle::before{content:""}.fa-random::before{content:""}.fa-person-running::before{content:""}.fa-running::before{content:""}.fa-mobile-retro::before{content:""}.fa-grip-lines-vertical::before{content:""}.fa-spider::before{content:""}.fa-hands-bound::before{content:""}.fa-file-invoice-dollar::before{content:""}.fa-plane-circle-exclamation::before{content:""}.fa-x-ray::before{content:""}.fa-spell-check::before{content:""}.fa-slash::before{content:""}.fa-computer-mouse::before{content:""}.fa-mouse::before{content:""}.fa-arrow-right-to-bracket::before{content:""}.fa-sign-in::before{content:""}.fa-shop-slash::before{content:""}.fa-store-alt-slash::before{content:""}.fa-server::before{content:""}.fa-virus-covid-slash::before{content:""}.fa-shop-lock::before{content:""}.fa-hourglass-start::before{content:""}.fa-hourglass-1::before{content:""}.fa-blender-phone::before{content:""}.fa-building-wheat::before{content:""}.fa-person-breastfeeding::before{content:""}.fa-right-to-bracket::before{content:""}.fa-sign-in-alt::before{content:""}.fa-venus::before{content:""}.fa-passport::before{content:""}.fa-heart-pulse::before{content:""}.fa-heartbeat::before{content:""}.fa-people-carry-box::before{content:""}.fa-people-carry::before{content:""}.fa-temperature-high::before{content:""}.fa-microchip::before{content:""}.fa-crown::before{content:""}.fa-weight-hanging::before{content:""}.fa-xmarks-lines::before{content:""}.fa-file-prescription::before{content:""}.fa-weight-scale::before{content:""}.fa-weight::before{content:""}.fa-user-group::before{content:""}.fa-user-friends::before{content:""}.fa-arrow-up-a-z::before{content:""}.fa-sort-alpha-up::before{content:""}.fa-chess-knight::before{content:""}.fa-face-laugh-squint::before{content:""}.fa-laugh-squint::before{content:""}.fa-wheelchair::before{content:""}.fa-circle-arrow-up::before{content:""}.fa-arrow-circle-up::before{content:""}.fa-toggle-on::before{content:""}.fa-person-walking::before{content:""}.fa-walking::before{content:""}.fa-l::before{content:"L"}.fa-fire::before{content:""}.fa-bed-pulse::before{content:""}.fa-procedures::before{content:""}.fa-shuttle-space::before{content:""}.fa-space-shuttle::before{content:""}.fa-face-laugh::before{content:""}.fa-laugh::before{content:""}.fa-folder-open::before{content:""}.fa-heart-circle-plus::before{content:""}.fa-code-fork::before{content:""}.fa-city::before{content:""}.fa-microphone-lines::before{content:""}.fa-microphone-alt::before{content:""}.fa-pepper-hot::before{content:""}.fa-unlock::before{content:""}.fa-colon-sign::before{content:""}.fa-headset::before{content:""}.fa-store-slash::before{content:""}.fa-road-circle-xmark::before{content:""}.fa-user-minus::before{content:""}.fa-mars-stroke-up::before{content:""}.fa-mars-stroke-v::before{content:""}.fa-champagne-glasses::before{content:""}.fa-glass-cheers::before{content:""}.fa-clipboard::before{content:""}.fa-house-circle-exclamation::before{content:""}.fa-file-arrow-up::before{content:""}.fa-file-upload::before{content:""}.fa-wifi::before{content:""}.fa-wifi-3::before{content:""}.fa-wifi-strong::before{content:""}.fa-bath::before{content:""}.fa-bathtub::before{content:""}.fa-underline::before{content:""}.fa-user-pen::before{content:""}.fa-user-edit::before{content:""}.fa-signature::before{content:""}.fa-stroopwafel::before{content:""}.fa-bold::before{content:""}.fa-anchor-lock::before{content:""}.fa-building-ngo::before{content:""}.fa-manat-sign::before{content:""}.fa-not-equal::before{content:""}.fa-border-top-left::before{content:""}.fa-border-style::before{content:""}.fa-map-location-dot::before{content:""}.fa-map-marked-alt::before{content:""}.fa-jedi::before{content:""}.fa-square-poll-vertical::before{content:""}.fa-poll::before{content:""}.fa-mug-hot::before{content:""}.fa-car-battery::before{content:""}.fa-battery-car::before{content:""}.fa-gift::before{content:""}.fa-dice-two::before{content:""}.fa-chess-queen::before{content:""}.fa-glasses::before{content:""}.fa-chess-board::before{content:""}.fa-building-circle-check::before{content:""}.fa-person-chalkboard::before{content:""}.fa-mars-stroke-right::before{content:""}.fa-mars-stroke-h::before{content:""}.fa-hand-back-fist::before{content:""}.fa-hand-rock::before{content:""}.fa-square-caret-up::before{content:""}.fa-caret-square-up::before{content:""}.fa-cloud-showers-water::before{content:""}.fa-chart-bar::before{content:""}.fa-bar-chart::before{content:""}.fa-hands-bubbles::before{content:""}.fa-hands-wash::before{content:""}.fa-less-than-equal::before{content:""}.fa-train::before{content:""}.fa-eye-low-vision::before{content:""}.fa-low-vision::before{content:""}.fa-crow::before{content:""}.fa-sailboat::before{content:""}.fa-window-restore::before{content:""}.fa-square-plus::before{content:""}.fa-plus-square::before{content:""}.fa-torii-gate::before{content:""}.fa-frog::before{content:""}.fa-bucket::before{content:""}.fa-image::before{content:""}.fa-microphone::before{content:""}.fa-cow::before{content:""}.fa-caret-up::before{content:""}.fa-screwdriver::before{content:""}.fa-folder-closed::before{content:""}.fa-house-tsunami::before{content:""}.fa-square-nfi::before{content:""}.fa-arrow-up-from-ground-water::before{content:""}.fa-martini-glass::before{content:""}.fa-glass-martini-alt::before{content:""}.fa-rotate-left::before{content:""}.fa-rotate-back::before{content:""}.fa-rotate-backward::before{content:""}.fa-undo-alt::before{content:""}.fa-table-columns::before{content:""}.fa-columns::before{content:""}.fa-lemon::before{content:""}.fa-head-side-mask::before{content:""}.fa-handshake::before{content:""}.fa-gem::before{content:""}.fa-dolly::before{content:""}.fa-dolly-box::before{content:""}.fa-smoking::before{content:""}.fa-minimize::before{content:""}.fa-compress-arrows-alt::before{content:""}.fa-monument::before{content:""}.fa-snowplow::before{content:""}.fa-angles-right::before{content:""}.fa-angle-double-right::before{content:""}.fa-cannabis::before{content:""}.fa-circle-play::before{content:""}.fa-play-circle::before{content:""}.fa-tablets::before{content:""}.fa-ethernet::before{content:""}.fa-euro-sign::before{content:""}.fa-eur::before{content:""}.fa-euro::before{content:""}.fa-chair::before{content:""}.fa-circle-check::before{content:""}.fa-check-circle::before{content:""}.fa-circle-stop::before{content:""}.fa-stop-circle::before{content:""}.fa-compass-drafting::before{content:""}.fa-drafting-compass::before{content:""}.fa-plate-wheat::before{content:""}.fa-icicles::before{content:""}.fa-person-shelter::before{content:""}.fa-neuter::before{content:""}.fa-id-badge::before{content:""}.fa-marker::before{content:""}.fa-face-laugh-beam::before{content:""}.fa-laugh-beam::before{content:""}.fa-helicopter-symbol::before{content:""}.fa-universal-access::before{content:""}.fa-circle-chevron-up::before{content:""}.fa-chevron-circle-up::before{content:""}.fa-lari-sign::before{content:""}.fa-volcano::before{content:""}.fa-person-walking-dashed-line-arrow-right::before{content:""}.fa-sterling-sign::before{content:""}.fa-gbp::before{content:""}.fa-pound-sign::before{content:""}.fa-viruses::before{content:""}.fa-square-person-confined::before{content:""}.fa-user-tie::before{content:""}.fa-arrow-down-long::before{content:""}.fa-long-arrow-down::before{content:""}.fa-tent-arrow-down-to-line::before{content:""}.fa-certificate::before{content:""}.fa-reply-all::before{content:""}.fa-mail-reply-all::before{content:""}.fa-suitcase::before{content:""}.fa-person-skating::before{content:""}.fa-skating::before{content:""}.fa-filter-circle-dollar::before{content:""}.fa-funnel-dollar::before{content:""}.fa-camera-retro::before{content:""}.fa-circle-arrow-down::before{content:""}.fa-arrow-circle-down::before{content:""}.fa-file-import::before{content:""}.fa-arrow-right-to-file::before{content:""}.fa-square-arrow-up-right::before{content:""}.fa-external-link-square::before{content:""}.fa-box-open::before{content:""}.fa-scroll::before{content:""}.fa-spa::before{content:""}.fa-location-pin-lock::before{content:""}.fa-pause::before{content:""}.fa-hill-avalanche::before{content:""}.fa-temperature-empty::before{content:""}.fa-temperature-0::before{content:""}.fa-thermometer-0::before{content:""}.fa-thermometer-empty::before{content:""}.fa-bomb::before{content:""}.fa-registered::before{content:""}.fa-address-card::before{content:""}.fa-contact-card::before{content:""}.fa-vcard::before{content:""}.fa-scale-unbalanced-flip::before{content:""}.fa-balance-scale-right::before{content:""}.fa-subscript::before{content:""}.fa-diamond-turn-right::before{content:""}.fa-directions::before{content:""}.fa-burst::before{content:""}.fa-house-laptop::before{content:""}.fa-laptop-house::before{content:""}.fa-face-tired::before{content:""}.fa-tired::before{content:""}.fa-money-bills::before{content:""}.fa-smog::before{content:""}.fa-crutch::before{content:""}.fa-cloud-arrow-up::before{content:""}.fa-cloud-upload::before{content:""}.fa-cloud-upload-alt::before{content:""}.fa-palette::before{content:""}.fa-arrows-turn-right::before{content:""}.fa-vest::before{content:""}.fa-ferry::before{content:""}.fa-arrows-down-to-people::before{content:""}.fa-seedling::before{content:""}.fa-sprout::before{content:""}.fa-left-right::before{content:""}.fa-arrows-alt-h::before{content:""}.fa-boxes-packing::before{content:""}.fa-circle-arrow-left::before{content:""}.fa-arrow-circle-left::before{content:""}.fa-group-arrows-rotate::before{content:""}.fa-bowl-food::before{content:""}.fa-candy-cane::before{content:""}.fa-arrow-down-wide-short::before{content:""}.fa-sort-amount-asc::before{content:""}.fa-sort-amount-down::before{content:""}.fa-cloud-bolt::before{content:""}.fa-thunderstorm::before{content:""}.fa-text-slash::before{content:""}.fa-remove-format::before{content:""}.fa-face-smile-wink::before{content:""}.fa-smile-wink::before{content:""}.fa-file-word::before{content:""}.fa-file-powerpoint::before{content:""}.fa-arrows-left-right::before{content:""}.fa-arrows-h::before{content:""}.fa-house-lock::before{content:""}.fa-cloud-arrow-down::before{content:""}.fa-cloud-download::before{content:""}.fa-cloud-download-alt::before{content:""}.fa-children::before{content:""}.fa-chalkboard::before{content:""}.fa-blackboard::before{content:""}.fa-user-large-slash::before{content:""}.fa-user-alt-slash::before{content:""}.fa-envelope-open::before{content:""}.fa-handshake-simple-slash::before{content:""}.fa-handshake-alt-slash::before{content:""}.fa-mattress-pillow::before{content:""}.fa-guarani-sign::before{content:""}.fa-arrows-rotate::before{content:""}.fa-refresh::before{content:""}.fa-sync::before{content:""}.fa-fire-extinguisher::before{content:""}.fa-cruzeiro-sign::before{content:""}.fa-greater-than-equal::before{content:""}.fa-shield-halved::before{content:""}.fa-shield-alt::before{content:""}.fa-book-atlas::before{content:""}.fa-atlas::before{content:""}.fa-virus::before{content:""}.fa-envelope-circle-check::before{content:""}.fa-layer-group::before{content:""}.fa-arrows-to-dot::before{content:""}.fa-archway::before{content:""}.fa-heart-circle-check::before{content:""}.fa-house-chimney-crack::before{content:""}.fa-house-damage::before{content:""}.fa-file-zipper::before{content:""}.fa-file-archive::before{content:""}.fa-square::before{content:""}.fa-martini-glass-empty::before{content:""}.fa-glass-martini::before{content:""}.fa-couch::before{content:""}.fa-cedi-sign::before{content:""}.fa-italic::before{content:""}.fa-table-cells-column-lock::before{content:""}.fa-church::before{content:""}.fa-comments-dollar::before{content:""}.fa-democrat::before{content:""}.fa-z::before{content:"Z"}.fa-person-skiing::before{content:""}.fa-skiing::before{content:""}.fa-road-lock::before{content:""}.fa-a::before{content:"A"}.fa-temperature-arrow-down::before{content:""}.fa-temperature-down::before{content:""}.fa-feather-pointed::before{content:""}.fa-feather-alt::before{content:""}.fa-p::before{content:"P"}.fa-snowflake::before{content:""}.fa-newspaper::before{content:""}.fa-rectangle-ad::before{content:""}.fa-ad::before{content:""}.fa-circle-arrow-right::before{content:""}.fa-arrow-circle-right::before{content:""}.fa-filter-circle-xmark::before{content:""}.fa-locust::before{content:""}.fa-sort::before{content:""}.fa-unsorted::before{content:""}.fa-list-ol::before{content:""}.fa-list-1-2::before{content:""}.fa-list-numeric::before{content:""}.fa-person-dress-burst::before{content:""}.fa-money-check-dollar::before{content:""}.fa-money-check-alt::before{content:""}.fa-vector-square::before{content:""}.fa-bread-slice::before{content:""}.fa-language::before{content:""}.fa-face-kiss-wink-heart::before{content:""}.fa-kiss-wink-heart::before{content:""}.fa-filter::before{content:""}.fa-question::before{content:"\?"}.fa-file-signature::before{content:""}.fa-up-down-left-right::before{content:""}.fa-arrows-alt::before{content:""}.fa-house-chimney-user::before{content:""}.fa-hand-holding-heart::before{content:""}.fa-puzzle-piece::before{content:""}.fa-money-check::before{content:""}.fa-star-half-stroke::before{content:""}.fa-star-half-alt::before{content:""}.fa-code::before{content:""}.fa-whiskey-glass::before{content:""}.fa-glass-whiskey::before{content:""}.fa-building-circle-exclamation::before{content:""}.fa-magnifying-glass-chart::before{content:""}.fa-arrow-up-right-from-square::before{content:""}.fa-external-link::before{content:""}.fa-cubes-stacked::before{content:""}.fa-won-sign::before{content:""}.fa-krw::before{content:""}.fa-won::before{content:""}.fa-virus-covid::before{content:""}.fa-austral-sign::before{content:""}.fa-f::before{content:"F"}.fa-leaf::before{content:""}.fa-road::before{content:""}.fa-taxi::before{content:""}.fa-cab::before{content:""}.fa-person-circle-plus::before{content:""}.fa-chart-pie::before{content:""}.fa-pie-chart::before{content:""}.fa-bolt-lightning::before{content:""}.fa-sack-xmark::before{content:""}.fa-file-excel::before{content:""}.fa-file-contract::before{content:""}.fa-fish-fins::before{content:""}.fa-building-flag::before{content:""}.fa-face-grin-beam::before{content:""}.fa-grin-beam::before{content:""}.fa-object-ungroup::before{content:""}.fa-poop::before{content:""}.fa-location-pin::before{content:""}.fa-map-marker::before{content:""}.fa-kaaba::before{content:""}.fa-toilet-paper::before{content:""}.fa-helmet-safety::before{content:""}.fa-hard-hat::before{content:""}.fa-hat-hard::before{content:""}.fa-eject::before{content:""}.fa-circle-right::before{content:""}.fa-arrow-alt-circle-right::before{content:""}.fa-plane-circle-check::before{content:""}.fa-face-rolling-eyes::before{content:""}.fa-meh-rolling-eyes::before{content:""}.fa-object-group::before{content:""}.fa-chart-line::before{content:""}.fa-line-chart::before{content:""}.fa-mask-ventilator::before{content:""}.fa-arrow-right::before{content:""}.fa-signs-post::before{content:""}.fa-map-signs::before{content:""}.fa-cash-register::before{content:""}.fa-person-circle-question::before{content:""}.fa-h::before{content:"H"}.fa-tarp::before{content:""}.fa-screwdriver-wrench::before{content:""}.fa-tools::before{content:""}.fa-arrows-to-eye::before{content:""}.fa-plug-circle-bolt::before{content:""}.fa-heart::before{content:""}.fa-mars-and-venus::before{content:""}.fa-house-user::before{content:""}.fa-home-user::before{content:""}.fa-dumpster-fire::before{content:""}.fa-house-crack::before{content:""}.fa-martini-glass-citrus::before{content:""}.fa-cocktail::before{content:""}.fa-face-surprise::before{content:""}.fa-surprise::before{content:""}.fa-bottle-water::before{content:""}.fa-circle-pause::before{content:""}.fa-pause-circle::before{content:""}.fa-toilet-paper-slash::before{content:""}.fa-apple-whole::before{content:""}.fa-apple-alt::before{content:""}.fa-kitchen-set::before{content:""}.fa-r::before{content:"R"}.fa-temperature-quarter::before{content:""}.fa-temperature-1::before{content:""}.fa-thermometer-1::before{content:""}.fa-thermometer-quarter::before{content:""}.fa-cube::before{content:""}.fa-bitcoin-sign::before{content:""}.fa-shield-dog::before{content:""}.fa-solar-panel::before{content:""}.fa-lock-open::before{content:""}.fa-elevator::before{content:""}.fa-money-bill-transfer::before{content:""}.fa-money-bill-trend-up::before{content:""}.fa-house-flood-water-circle-arrow-right::before{content:""}.fa-square-poll-horizontal::before{content:""}.fa-poll-h::before{content:""}.fa-circle::before{content:""}.fa-backward-fast::before{content:""}.fa-fast-backward::before{content:""}.fa-recycle::before{content:""}.fa-user-astronaut::before{content:""}.fa-plane-slash::before{content:""}.fa-trademark::before{content:""}.fa-basketball::before{content:""}.fa-basketball-ball::before{content:""}.fa-satellite-dish::before{content:""}.fa-circle-up::before{content:""}.fa-arrow-alt-circle-up::before{content:""}.fa-mobile-screen-button::before{content:""}.fa-mobile-alt::before{content:""}.fa-volume-high::before{content:""}.fa-volume-up::before{content:""}.fa-users-rays::before{content:""}.fa-wallet::before{content:""}.fa-clipboard-check::before{content:""}.fa-file-audio::before{content:""}.fa-burger::before{content:""}.fa-hamburger::before{content:""}.fa-wrench::before{content:""}.fa-bugs::before{content:""}.fa-rupee-sign::before{content:""}.fa-rupee::before{content:""}.fa-file-image::before{content:""}.fa-circle-question::before{content:""}.fa-question-circle::before{content:""}.fa-plane-departure::before{content:""}.fa-handshake-slash::before{content:""}.fa-book-bookmark::before{content:""}.fa-code-branch::before{content:""}.fa-hat-cowboy::before{content:""}.fa-bridge::before{content:""}.fa-phone-flip::before{content:""}.fa-phone-alt::before{content:""}.fa-truck-front::before{content:""}.fa-cat::before{content:""}.fa-anchor-circle-exclamation::before{content:""}.fa-truck-field::before{content:""}.fa-route::before{content:""}.fa-clipboard-question::before{content:""}.fa-panorama::before{content:""}.fa-comment-medical::before{content:""}.fa-teeth-open::before{content:""}.fa-file-circle-minus::before{content:""}.fa-tags::before{content:""}.fa-wine-glass::before{content:""}.fa-forward-fast::before{content:""}.fa-fast-forward::before{content:""}.fa-face-meh-blank::before{content:""}.fa-meh-blank::before{content:""}.fa-square-parking::before{content:""}.fa-parking::before{content:""}.fa-house-signal::before{content:""}.fa-bars-progress::before{content:""}.fa-tasks-alt::before{content:""}.fa-faucet-drip::before{content:""}.fa-cart-flatbed::before{content:""}.fa-dolly-flatbed::before{content:""}.fa-ban-smoking::before{content:""}.fa-smoking-ban::before{content:""}.fa-terminal::before{content:""}.fa-mobile-button::before{content:""}.fa-house-medical-flag::before{content:""}.fa-basket-shopping::before{content:""}.fa-shopping-basket::before{content:""}.fa-tape::before{content:""}.fa-bus-simple::before{content:""}.fa-bus-alt::before{content:""}.fa-eye::before{content:""}.fa-face-sad-cry::before{content:""}.fa-sad-cry::before{content:""}.fa-audio-description::before{content:""}.fa-person-military-to-person::before{content:""}.fa-file-shield::before{content:""}.fa-user-slash::before{content:""}.fa-pen::before{content:""}.fa-tower-observation::before{content:""}.fa-file-code::before{content:""}.fa-signal::before{content:""}.fa-signal-5::before{content:""}.fa-signal-perfect::before{content:""}.fa-bus::before{content:""}.fa-heart-circle-xmark::before{content:""}.fa-house-chimney::before{content:""}.fa-home-lg::before{content:""}.fa-window-maximize::before{content:""}.fa-face-frown::before{content:""}.fa-frown::before{content:""}.fa-prescription::before{content:""}.fa-shop::before{content:""}.fa-store-alt::before{content:""}.fa-floppy-disk::before{content:""}.fa-save::before{content:""}.fa-vihara::before{content:""}.fa-scale-unbalanced::before{content:""}.fa-balance-scale-left::before{content:""}.fa-sort-up::before{content:""}.fa-sort-asc::before{content:""}.fa-comment-dots::before{content:""}.fa-commenting::before{content:""}.fa-plant-wilt::before{content:""}.fa-diamond::before{content:""}.fa-face-grin-squint::before{content:""}.fa-grin-squint::before{content:""}.fa-hand-holding-dollar::before{content:""}.fa-hand-holding-usd::before{content:""}.fa-bacterium::before{content:""}.fa-hand-pointer::before{content:""}.fa-drum-steelpan::before{content:""}.fa-hand-scissors::before{content:""}.fa-hands-praying::before{content:""}.fa-praying-hands::before{content:""}.fa-arrow-rotate-right::before{content:""}.fa-arrow-right-rotate::before{content:""}.fa-arrow-rotate-forward::before{content:""}.fa-redo::before{content:""}.fa-biohazard::before{content:""}.fa-location-crosshairs::before{content:""}.fa-location::before{content:""}.fa-mars-double::before{content:""}.fa-child-dress::before{content:""}.fa-users-between-lines::before{content:""}.fa-lungs-virus::before{content:""}.fa-face-grin-tears::before{content:""}.fa-grin-tears::before{content:""}.fa-phone::before{content:""}.fa-calendar-xmark::before{content:""}.fa-calendar-times::before{content:""}.fa-child-reaching::before{content:""}.fa-head-side-virus::before{content:""}.fa-user-gear::before{content:""}.fa-user-cog::before{content:""}.fa-arrow-up-1-9::before{content:""}.fa-sort-numeric-up::before{content:""}.fa-door-closed::before{content:""}.fa-shield-virus::before{content:""}.fa-dice-six::before{content:""}.fa-mosquito-net::before{content:""}.fa-bridge-water::before{content:""}.fa-person-booth::before{content:""}.fa-text-width::before{content:""}.fa-hat-wizard::before{content:""}.fa-pen-fancy::before{content:""}.fa-person-digging::before{content:""}.fa-digging::before{content:""}.fa-trash::before{content:""}.fa-gauge-simple::before{content:""}.fa-gauge-simple-med::before{content:""}.fa-tachometer-average::before{content:""}.fa-book-medical::before{content:""}.fa-poo::before{content:""}.fa-quote-right::before{content:""}.fa-quote-right-alt::before{content:""}.fa-shirt::before{content:""}.fa-t-shirt::before{content:""}.fa-tshirt::before{content:""}.fa-cubes::before{content:""}.fa-divide::before{content:""}.fa-tenge-sign::before{content:""}.fa-tenge::before{content:""}.fa-headphones::before{content:""}.fa-hands-holding::before{content:""}.fa-hands-clapping::before{content:""}.fa-republican::before{content:""}.fa-arrow-left::before{content:""}.fa-person-circle-xmark::before{content:""}.fa-ruler::before{content:""}.fa-align-left::before{content:""}.fa-dice-d6::before{content:""}.fa-restroom::before{content:""}.fa-j::before{content:"J"}.fa-users-viewfinder::before{content:""}.fa-file-video::before{content:""}.fa-up-right-from-square::before{content:""}.fa-external-link-alt::before{content:""}.fa-table-cells::before{content:""}.fa-th::before{content:""}.fa-file-pdf::before{content:""}.fa-book-bible::before{content:""}.fa-bible::before{content:""}.fa-o::before{content:"O"}.fa-suitcase-medical::before{content:""}.fa-medkit::before{content:""}.fa-user-secret::before{content:""}.fa-otter::before{content:""}.fa-person-dress::before{content:""}.fa-female::before{content:""}.fa-comment-dollar::before{content:""}.fa-business-time::before{content:""}.fa-briefcase-clock::before{content:""}.fa-table-cells-large::before{content:""}.fa-th-large::before{content:""}.fa-book-tanakh::before{content:""}.fa-tanakh::before{content:""}.fa-phone-volume::before{content:""}.fa-volume-control-phone::before{content:""}.fa-hat-cowboy-side::before{content:""}.fa-clipboard-user::before{content:""}.fa-child::before{content:""}.fa-lira-sign::before{content:""}.fa-satellite::before{content:""}.fa-plane-lock::before{content:""}.fa-tag::before{content:""}.fa-comment::before{content:""}.fa-cake-candles::before{content:""}.fa-birthday-cake::before{content:""}.fa-cake::before{content:""}.fa-envelope::before{content:""}.fa-angles-up::before{content:""}.fa-angle-double-up::before{content:""}.fa-paperclip::before{content:""}.fa-arrow-right-to-city::before{content:""}.fa-ribbon::before{content:""}.fa-lungs::before{content:""}.fa-arrow-up-9-1::before{content:""}.fa-sort-numeric-up-alt::before{content:""}.fa-litecoin-sign::before{content:""}.fa-border-none::before{content:""}.fa-circle-nodes::before{content:""}.fa-parachute-box::before{content:""}.fa-indent::before{content:""}.fa-truck-field-un::before{content:""}.fa-hourglass::before{content:""}.fa-hourglass-empty::before{content:""}.fa-mountain::before{content:""}.fa-user-doctor::before{content:""}.fa-user-md::before{content:""}.fa-circle-info::before{content:""}.fa-info-circle::before{content:""}.fa-cloud-meatball::before{content:""}.fa-camera::before{content:""}.fa-camera-alt::before{content:""}.fa-square-virus::before{content:""}.fa-meteor::before{content:""}.fa-car-on::before{content:""}.fa-sleigh::before{content:""}.fa-arrow-down-1-9::before{content:""}.fa-sort-numeric-asc::before{content:""}.fa-sort-numeric-down::before{content:""}.fa-hand-holding-droplet::before{content:""}.fa-hand-holding-water::before{content:""}.fa-water::before{content:""}.fa-calendar-check::before{content:""}.fa-braille::before{content:""}.fa-prescription-bottle-medical::before{content:""}.fa-prescription-bottle-alt::before{content:""}.fa-landmark::before{content:""}.fa-truck::before{content:""}.fa-crosshairs::before{content:""}.fa-person-cane::before{content:""}.fa-tent::before{content:""}.fa-vest-patches::before{content:""}.fa-check-double::before{content:""}.fa-arrow-down-a-z::before{content:""}.fa-sort-alpha-asc::before{content:""}.fa-sort-alpha-down::before{content:""}.fa-money-bill-wheat::before{content:""}.fa-cookie::before{content:""}.fa-arrow-rotate-left::before{content:""}.fa-arrow-left-rotate::before{content:""}.fa-arrow-rotate-back::before{content:""}.fa-arrow-rotate-backward::before{content:""}.fa-undo::before{content:""}.fa-hard-drive::before{content:""}.fa-hdd::before{content:""}.fa-face-grin-squint-tears::before{content:""}.fa-grin-squint-tears::before{content:""}.fa-dumbbell::before{content:""}.fa-rectangle-list::before{content:""}.fa-list-alt::before{content:""}.fa-tarp-droplet::before{content:""}.fa-house-medical-circle-check::before{content:""}.fa-person-skiing-nordic::before{content:""}.fa-skiing-nordic::before{content:""}.fa-calendar-plus::before{content:""}.fa-plane-arrival::before{content:""}.fa-circle-left::before{content:""}.fa-arrow-alt-circle-left::before{content:""}.fa-train-subway::before{content:""}.fa-subway::before{content:""}.fa-chart-gantt::before{content:""}.fa-indian-rupee-sign::before{content:""}.fa-indian-rupee::before{content:""}.fa-inr::before{content:""}.fa-crop-simple::before{content:""}.fa-crop-alt::before{content:""}.fa-money-bill-1::before{content:""}.fa-money-bill-alt::before{content:""}.fa-left-long::before{content:""}.fa-long-arrow-alt-left::before{content:""}.fa-dna::before{content:""}.fa-virus-slash::before{content:""}.fa-minus::before{content:""}.fa-subtract::before{content:""}.fa-chess::before{content:""}.fa-arrow-left-long::before{content:""}.fa-long-arrow-left::before{content:""}.fa-plug-circle-check::before{content:""}.fa-street-view::before{content:""}.fa-franc-sign::before{content:""}.fa-volume-off::before{content:""}.fa-hands-asl-interpreting::before{content:""}.fa-american-sign-language-interpreting::before{content:""}.fa-asl-interpreting::before{content:""}.fa-hands-american-sign-language-interpreting::before{content:""}.fa-gear::before{content:""}.fa-cog::before{content:""}.fa-droplet-slash::before{content:""}.fa-tint-slash::before{content:""}.fa-mosque::before{content:""}.fa-mosquito::before{content:""}.fa-star-of-david::before{content:""}.fa-person-military-rifle::before{content:""}.fa-cart-shopping::before{content:""}.fa-shopping-cart::before{content:""}.fa-vials::before{content:""}.fa-plug-circle-plus::before{content:""}.fa-place-of-worship::before{content:""}.fa-grip-vertical::before{content:""}.fa-arrow-turn-up::before{content:""}.fa-level-up::before{content:""}.fa-u::before{content:"U"}.fa-square-root-variable::before{content:""}.fa-square-root-alt::before{content:""}.fa-clock::before{content:""}.fa-clock-four::before{content:""}.fa-backward-step::before{content:""}.fa-step-backward::before{content:""}.fa-pallet::before{content:""}.fa-faucet::before{content:""}.fa-baseball-bat-ball::before{content:""}.fa-s::before{content:"S"}.fa-timeline::before{content:""}.fa-keyboard::before{content:""}.fa-caret-down::before{content:""}.fa-house-chimney-medical::before{content:""}.fa-clinic-medical::before{content:""}.fa-temperature-three-quarters::before{content:""}.fa-temperature-3::before{content:""}.fa-thermometer-3::before{content:""}.fa-thermometer-three-quarters::before{content:""}.fa-mobile-screen::before{content:""}.fa-mobile-android-alt::before{content:""}.fa-plane-up::before{content:""}.fa-piggy-bank::before{content:""}.fa-battery-half::before{content:""}.fa-battery-3::before{content:""}.fa-mountain-city::before{content:""}.fa-coins::before{content:""}.fa-khanda::before{content:""}.fa-sliders::before{content:""}.fa-sliders-h::before{content:""}.fa-folder-tree::before{content:""}.fa-network-wired::before{content:""}.fa-map-pin::before{content:""}.fa-hamsa::before{content:""}.fa-cent-sign::before{content:""}.fa-flask::before{content:""}.fa-person-pregnant::before{content:""}.fa-wand-sparkles::before{content:""}.fa-ellipsis-vertical::before{content:""}.fa-ellipsis-v::before{content:""}.fa-ticket::before{content:""}.fa-power-off::before{content:""}.fa-right-long::before{content:""}.fa-long-arrow-alt-right::before{content:""}.fa-flag-usa::before{content:""}.fa-laptop-file::before{content:""}.fa-tty::before{content:""}.fa-teletype::before{content:""}.fa-diagram-next::before{content:""}.fa-person-rifle::before{content:""}.fa-house-medical-circle-exclamation::before{content:""}.fa-closed-captioning::before{content:""}.fa-person-hiking::before{content:""}.fa-hiking::before{content:""}.fa-venus-double::before{content:""}.fa-images::before{content:""}.fa-calculator::before{content:""}.fa-people-pulling::before{content:""}.fa-n::before{content:"N"}.fa-cable-car::before{content:""}.fa-tram::before{content:""}.fa-cloud-rain::before{content:""}.fa-building-circle-xmark::before{content:""}.fa-ship::before{content:""}.fa-arrows-down-to-line::before{content:""}.fa-download::before{content:""}.fa-face-grin::before{content:""}.fa-grin::before{content:""}.fa-delete-left::before{content:""}.fa-backspace::before{content:""}.fa-eye-dropper::before{content:""}.fa-eye-dropper-empty::before{content:""}.fa-eyedropper::before{content:""}.fa-file-circle-check::before{content:""}.fa-forward::before{content:""}.fa-mobile::before{content:""}.fa-mobile-android::before{content:""}.fa-mobile-phone::before{content:""}.fa-face-meh::before{content:""}.fa-meh::before{content:""}.fa-align-center::before{content:""}.fa-book-skull::before{content:""}.fa-book-dead::before{content:""}.fa-id-card::before{content:""}.fa-drivers-license::before{content:""}.fa-outdent::before{content:""}.fa-dedent::before{content:""}.fa-heart-circle-exclamation::before{content:""}.fa-house::before{content:""}.fa-home::before{content:""}.fa-home-alt::before{content:""}.fa-home-lg-alt::before{content:""}.fa-calendar-week::before{content:""}.fa-laptop-medical::before{content:""}.fa-b::before{content:"B"}.fa-file-medical::before{content:""}.fa-dice-one::before{content:""}.fa-kiwi-bird::before{content:""}.fa-arrow-right-arrow-left::before{content:""}.fa-exchange::before{content:""}.fa-rotate-right::before{content:""}.fa-redo-alt::before{content:""}.fa-rotate-forward::before{content:""}.fa-utensils::before{content:""}.fa-cutlery::before{content:""}.fa-arrow-up-wide-short::before{content:""}.fa-sort-amount-up::before{content:""}.fa-mill-sign::before{content:""}.fa-bowl-rice::before{content:""}.fa-skull::before{content:""}.fa-tower-broadcast::before{content:""}.fa-broadcast-tower::before{content:""}.fa-truck-pickup::before{content:""}.fa-up-long::before{content:""}.fa-long-arrow-alt-up::before{content:""}.fa-stop::before{content:""}.fa-code-merge::before{content:""}.fa-upload::before{content:""}.fa-hurricane::before{content:""}.fa-mound::before{content:""}.fa-toilet-portable::before{content:""}.fa-compact-disc::before{content:""}.fa-file-arrow-down::before{content:""}.fa-file-download::before{content:""}.fa-caravan::before{content:""}.fa-shield-cat::before{content:""}.fa-bolt::before{content:""}.fa-zap::before{content:""}.fa-glass-water::before{content:""}.fa-oil-well::before{content:""}.fa-vault::before{content:""}.fa-mars::before{content:""}.fa-toilet::before{content:""}.fa-plane-circle-xmark::before{content:""}.fa-yen-sign::before{content:""}.fa-cny::before{content:""}.fa-jpy::before{content:""}.fa-rmb::before{content:""}.fa-yen::before{content:""}.fa-ruble-sign::before{content:""}.fa-rouble::before{content:""}.fa-rub::before{content:""}.fa-ruble::before{content:""}.fa-sun::before{content:""}.fa-guitar::before{content:""}.fa-face-laugh-wink::before{content:""}.fa-laugh-wink::before{content:""}.fa-horse-head::before{content:""}.fa-bore-hole::before{content:""}.fa-industry::before{content:""}.fa-circle-down::before{content:""}.fa-arrow-alt-circle-down::before{content:""}.fa-arrows-turn-to-dots::before{content:""}.fa-florin-sign::before{content:""}.fa-arrow-down-short-wide::before{content:""}.fa-sort-amount-desc::before{content:""}.fa-sort-amount-down-alt::before{content:""}.fa-less-than::before{content:"\<"}.fa-angle-down::before{content:""}.fa-car-tunnel::before{content:""}.fa-head-side-cough::before{content:""}.fa-grip-lines::before{content:""}.fa-thumbs-down::before{content:""}.fa-user-lock::before{content:""}.fa-arrow-right-long::before{content:""}.fa-long-arrow-right::before{content:""}.fa-anchor-circle-xmark::before{content:""}.fa-ellipsis::before{content:""}.fa-ellipsis-h::before{content:""}.fa-chess-pawn::before{content:""}.fa-kit-medical::before{content:""}.fa-first-aid::before{content:""}.fa-person-through-window::before{content:""}.fa-toolbox::before{content:""}.fa-hands-holding-circle::before{content:""}.fa-bug::before{content:""}.fa-credit-card::before{content:""}.fa-credit-card-alt::before{content:""}.fa-car::before{content:""}.fa-automobile::before{content:""}.fa-hand-holding-hand::before{content:""}.fa-book-open-reader::before{content:""}.fa-book-reader::before{content:""}.fa-mountain-sun::before{content:""}.fa-arrows-left-right-to-line::before{content:""}.fa-dice-d20::before{content:""}.fa-truck-droplet::before{content:""}.fa-file-circle-xmark::before{content:""}.fa-temperature-arrow-up::before{content:""}.fa-temperature-up::before{content:""}.fa-medal::before{content:""}.fa-bed::before{content:""}.fa-square-h::before{content:""}.fa-h-square::before{content:""}.fa-podcast::before{content:""}.fa-temperature-full::before{content:""}.fa-temperature-4::before{content:""}.fa-thermometer-4::before{content:""}.fa-thermometer-full::before{content:""}.fa-bell::before{content:""}.fa-superscript::before{content:""}.fa-plug-circle-xmark::before{content:""}.fa-star-of-life::before{content:""}.fa-phone-slash::before{content:""}.fa-paint-roller::before{content:""}.fa-handshake-angle::before{content:""}.fa-hands-helping::before{content:""}.fa-location-dot::before{content:""}.fa-map-marker-alt::before{content:""}.fa-file::before{content:""}.fa-greater-than::before{content:"\>"}.fa-person-swimming::before{content:""}.fa-swimmer::before{content:""}.fa-arrow-down::before{content:""}.fa-droplet::before{content:""}.fa-tint::before{content:""}.fa-eraser::before{content:""}.fa-earth-americas::before{content:""}.fa-earth::before{content:""}.fa-earth-america::before{content:""}.fa-globe-americas::before{content:""}.fa-person-burst::before{content:""}.fa-dove::before{content:""}.fa-battery-empty::before{content:""}.fa-battery-0::before{content:""}.fa-socks::before{content:""}.fa-inbox::before{content:""}.fa-section::before{content:""}.fa-gauge-high::before{content:""}.fa-tachometer-alt::before{content:""}.fa-tachometer-alt-fast::before{content:""}.fa-envelope-open-text::before{content:""}.fa-hospital::before{content:""}.fa-hospital-alt::before{content:""}.fa-hospital-wide::before{content:""}.fa-wine-bottle::before{content:""}.fa-chess-rook::before{content:""}.fa-bars-staggered::before{content:""}.fa-reorder::before{content:""}.fa-stream::before{content:""}.fa-dharmachakra::before{content:""}.fa-hotdog::before{content:""}.fa-person-walking-with-cane::before{content:""}.fa-blind::before{content:""}.fa-drum::before{content:""}.fa-ice-cream::before{content:""}.fa-heart-circle-bolt::before{content:""}.fa-fax::before{content:""}.fa-paragraph::before{content:""}.fa-check-to-slot::before{content:""}.fa-vote-yea::before{content:""}.fa-star-half::before{content:""}.fa-boxes-stacked::before{content:""}.fa-boxes::before{content:""}.fa-boxes-alt::before{content:""}.fa-link::before{content:""}.fa-chain::before{content:""}.fa-ear-listen::before{content:""}.fa-assistive-listening-systems::before{content:""}.fa-tree-city::before{content:""}.fa-play::before{content:""}.fa-font::before{content:""}.fa-table-cells-row-lock::before{content:""}.fa-rupiah-sign::before{content:""}.fa-magnifying-glass::before{content:""}.fa-search::before{content:""}.fa-table-tennis-paddle-ball::before{content:""}.fa-ping-pong-paddle-ball::before{content:""}.fa-table-tennis::before{content:""}.fa-person-dots-from-line::before{content:""}.fa-diagnoses::before{content:""}.fa-trash-can-arrow-up::before{content:""}.fa-trash-restore-alt::before{content:""}.fa-naira-sign::before{content:""}.fa-cart-arrow-down::before{content:""}.fa-walkie-talkie::before{content:""}.fa-file-pen::before{content:""}.fa-file-edit::before{content:""}.fa-receipt::before{content:""}.fa-square-pen::before{content:""}.fa-pen-square::before{content:""}.fa-pencil-square::before{content:""}.fa-suitcase-rolling::before{content:""}.fa-person-circle-exclamation::before{content:""}.fa-chevron-down::before{content:""}.fa-battery-full::before{content:""}.fa-battery::before{content:""}.fa-battery-5::before{content:""}.fa-skull-crossbones::before{content:""}.fa-code-compare::before{content:""}.fa-list-ul::before{content:""}.fa-list-dots::before{content:""}.fa-school-lock::before{content:""}.fa-tower-cell::before{content:""}.fa-down-long::before{content:""}.fa-long-arrow-alt-down::before{content:""}.fa-ranking-star::before{content:""}.fa-chess-king::before{content:""}.fa-person-harassing::before{content:""}.fa-brazilian-real-sign::before{content:""}.fa-landmark-dome::before{content:""}.fa-landmark-alt::before{content:""}.fa-arrow-up::before{content:""}.fa-tv::before{content:""}.fa-television::before{content:""}.fa-tv-alt::before{content:""}.fa-shrimp::before{content:""}.fa-list-check::before{content:""}.fa-tasks::before{content:""}.fa-jug-detergent::before{content:""}.fa-circle-user::before{content:""}.fa-user-circle::before{content:""}.fa-user-shield::before{content:""}.fa-wind::before{content:""}.fa-car-burst::before{content:""}.fa-car-crash::before{content:""}.fa-y::before{content:"Y"}.fa-person-snowboarding::before{content:""}.fa-snowboarding::before{content:""}.fa-truck-fast::before{content:""}.fa-shipping-fast::before{content:""}.fa-fish::before{content:""}.fa-user-graduate::before{content:""}.fa-circle-half-stroke::before{content:""}.fa-adjust::before{content:""}.fa-clapperboard::before{content:""}.fa-circle-radiation::before{content:""}.fa-radiation-alt::before{content:""}.fa-baseball::before{content:""}.fa-baseball-ball::before{content:""}.fa-jet-fighter-up::before{content:""}.fa-diagram-project::before{content:""}.fa-project-diagram::before{content:""}.fa-copy::before{content:""}.fa-volume-xmark::before{content:""}.fa-volume-mute::before{content:""}.fa-volume-times::before{content:""}.fa-hand-sparkles::before{content:""}.fa-grip::before{content:""}.fa-grip-horizontal::before{content:""}.fa-share-from-square::before{content:""}.fa-share-square::before{content:""}.fa-child-combatant::before{content:""}.fa-child-rifle::before{content:""}.fa-gun::before{content:""}.fa-square-phone::before{content:""}.fa-phone-square::before{content:""}.fa-plus::before{content:"\+"}.fa-add::before{content:"\+"}.fa-expand::before{content:""}.fa-computer::before{content:""}.fa-xmark::before{content:""}.fa-close::before{content:""}.fa-multiply::before{content:""}.fa-remove::before{content:""}.fa-times::before{content:""}.fa-arrows-up-down-left-right::before{content:""}.fa-arrows::before{content:""}.fa-chalkboard-user::before{content:""}.fa-chalkboard-teacher::before{content:""}.fa-peso-sign::before{content:""}.fa-building-shield::before{content:""}.fa-baby::before{content:""}.fa-users-line::before{content:""}.fa-quote-left::before{content:""}.fa-quote-left-alt::before{content:""}.fa-tractor::before{content:""}.fa-trash-arrow-up::before{content:""}.fa-trash-restore::before{content:""}.fa-arrow-down-up-lock::before{content:""}.fa-lines-leaning::before{content:""}.fa-ruler-combined::before{content:""}.fa-copyright::before{content:""}.fa-equals::before{content:"\="}.fa-blender::before{content:""}.fa-teeth::before{content:""}.fa-shekel-sign::before{content:""}.fa-ils::before{content:""}.fa-shekel::before{content:""}.fa-sheqel::before{content:""}.fa-sheqel-sign::before{content:""}.fa-map::before{content:""}.fa-rocket::before{content:""}.fa-photo-film::before{content:""}.fa-photo-video::before{content:""}.fa-folder-minus::before{content:""}.fa-store::before{content:""}.fa-arrow-trend-up::before{content:""}.fa-plug-circle-minus::before{content:""}.fa-sign-hanging::before{content:""}.fa-sign::before{content:""}.fa-bezier-curve::before{content:""}.fa-bell-slash::before{content:""}.fa-tablet::before{content:""}.fa-tablet-android::before{content:""}.fa-school-flag::before{content:""}.fa-fill::before{content:""}.fa-angle-up::before{content:""}.fa-drumstick-bite::before{content:""}.fa-holly-berry::before{content:""}.fa-chevron-left::before{content:""}.fa-bacteria::before{content:""}.fa-hand-lizard::before{content:""}.fa-notdef::before{content:""}.fa-disease::before{content:""}.fa-briefcase-medical::before{content:""}.fa-genderless::before{content:""}.fa-chevron-right::before{content:""}.fa-retweet::before{content:""}.fa-car-rear::before{content:""}.fa-car-alt::before{content:""}.fa-pump-soap::before{content:""}.fa-video-slash::before{content:""}.fa-battery-quarter::before{content:""}.fa-battery-2::before{content:""}.fa-radio::before{content:""}.fa-baby-carriage::before{content:""}.fa-carriage-baby::before{content:""}.fa-traffic-light::before{content:""}.fa-thermometer::before{content:""}.fa-vr-cardboard::before{content:""}.fa-hand-middle-finger::before{content:""}.fa-percent::before{content:"\%"}.fa-percentage::before{content:"\%"}.fa-truck-moving::before{content:""}.fa-glass-water-droplet::before{content:""}.fa-display::before{content:""}.fa-face-smile::before{content:""}.fa-smile::before{content:""}.fa-thumbtack::before{content:""}.fa-thumb-tack::before{content:""}.fa-trophy::before{content:""}.fa-person-praying::before{content:""}.fa-pray::before{content:""}.fa-hammer::before{content:""}.fa-hand-peace::before{content:""}.fa-rotate::before{content:""}.fa-sync-alt::before{content:""}.fa-spinner::before{content:""}.fa-robot::before{content:""}.fa-peace::before{content:""}.fa-gears::before{content:""}.fa-cogs::before{content:""}.fa-warehouse::before{content:""}.fa-arrow-up-right-dots::before{content:""}.fa-splotch::before{content:""}.fa-face-grin-hearts::before{content:""}.fa-grin-hearts::before{content:""}.fa-dice-four::before{content:""}.fa-sim-card::before{content:""}.fa-transgender::before{content:""}.fa-transgender-alt::before{content:""}.fa-mercury::before{content:""}.fa-arrow-turn-down::before{content:""}.fa-level-down::before{content:""}.fa-person-falling-burst::before{content:""}.fa-award::before{content:""}.fa-ticket-simple::before{content:""}.fa-ticket-alt::before{content:""}.fa-building::before{content:""}.fa-angles-left::before{content:""}.fa-angle-double-left::before{content:""}.fa-qrcode::before{content:""}.fa-clock-rotate-left::before{content:""}.fa-history::before{content:""}.fa-face-grin-beam-sweat::before{content:""}.fa-grin-beam-sweat::before{content:""}.fa-file-export::before{content:""}.fa-arrow-right-from-file::before{content:""}.fa-shield::before{content:""}.fa-shield-blank::before{content:""}.fa-arrow-up-short-wide::before{content:""}.fa-sort-amount-up-alt::before{content:""}.fa-house-medical::before{content:""}.fa-golf-ball-tee::before{content:""}.fa-golf-ball::before{content:""}.fa-circle-chevron-left::before{content:""}.fa-chevron-circle-left::before{content:""}.fa-house-chimney-window::before{content:""}.fa-pen-nib::before{content:""}.fa-tent-arrow-turn-left::before{content:""}.fa-tents::before{content:""}.fa-wand-magic::before{content:""}.fa-magic::before{content:""}.fa-dog::before{content:""}.fa-carrot::before{content:""}.fa-moon::before{content:""}.fa-wine-glass-empty::before{content:""}.fa-wine-glass-alt::before{content:""}.fa-cheese::before{content:""}.fa-yin-yang::before{content:""}.fa-music::before{content:""}.fa-code-commit::before{content:""}.fa-temperature-low::before{content:""}.fa-person-biking::before{content:""}.fa-biking::before{content:""}.fa-broom::before{content:""}.fa-shield-heart::before{content:""}.fa-gopuram::before{content:""}.fa-earth-oceania::before{content:""}.fa-globe-oceania::before{content:""}.fa-square-xmark::before{content:""}.fa-times-square::before{content:""}.fa-xmark-square::before{content:""}.fa-hashtag::before{content:"\#"}.fa-up-right-and-down-left-from-center::before{content:""}.fa-expand-alt::before{content:""}.fa-oil-can::before{content:""}.fa-t::before{content:"T"}.fa-hippo::before{content:""}.fa-chart-column::before{content:""}.fa-infinity::before{content:""}.fa-vial-circle-check::before{content:""}.fa-person-arrow-down-to-line::before{content:""}.fa-voicemail::before{content:""}.fa-fan::before{content:""}.fa-person-walking-luggage::before{content:""}.fa-up-down::before{content:""}.fa-arrows-alt-v::before{content:""}.fa-cloud-moon-rain::before{content:""}.fa-calendar::before{content:""}.fa-trailer::before{content:""}.fa-bahai::before{content:""}.fa-haykal::before{content:""}.fa-sd-card::before{content:""}.fa-dragon::before{content:""}.fa-shoe-prints::before{content:""}.fa-circle-plus::before{content:""}.fa-plus-circle::before{content:""}.fa-face-grin-tongue-wink::before{content:""}.fa-grin-tongue-wink::before{content:""}.fa-hand-holding::before{content:""}.fa-plug-circle-exclamation::before{content:""}.fa-link-slash::before{content:""}.fa-chain-broken::before{content:""}.fa-chain-slash::before{content:""}.fa-unlink::before{content:""}.fa-clone::before{content:""}.fa-person-walking-arrow-loop-left::before{content:""}.fa-arrow-up-z-a::before{content:""}.fa-sort-alpha-up-alt::before{content:""}.fa-fire-flame-curved::before{content:""}.fa-fire-alt::before{content:""}.fa-tornado::before{content:""}.fa-file-circle-plus::before{content:""}.fa-book-quran::before{content:""}.fa-quran::before{content:""}.fa-anchor::before{content:""}.fa-border-all::before{content:""}.fa-face-angry::before{content:""}.fa-angry::before{content:""}.fa-cookie-bite::before{content:""}.fa-arrow-trend-down::before{content:""}.fa-rss::before{content:""}.fa-feed::before{content:""}.fa-draw-polygon::before{content:""}.fa-scale-balanced::before{content:""}.fa-balance-scale::before{content:""}.fa-gauge-simple-high::before{content:""}.fa-tachometer::before{content:""}.fa-tachometer-fast::before{content:""}.fa-shower::before{content:""}.fa-desktop::before{content:""}.fa-desktop-alt::before{content:""}.fa-m::before{content:"M"}.fa-table-list::before{content:""}.fa-th-list::before{content:""}.fa-comment-sms::before{content:""}.fa-sms::before{content:""}.fa-book::before{content:""}.fa-user-plus::before{content:""}.fa-check::before{content:""}.fa-battery-three-quarters::before{content:""}.fa-battery-4::before{content:""}.fa-house-circle-check::before{content:""}.fa-angle-left::before{content:""}.fa-diagram-successor::before{content:""}.fa-truck-arrow-right::before{content:""}.fa-arrows-split-up-and-left::before{content:""}.fa-hand-fist::before{content:""}.fa-fist-raised::before{content:""}.fa-cloud-moon::before{content:""}.fa-briefcase::before{content:""}.fa-person-falling::before{content:""}.fa-image-portrait::before{content:""}.fa-portrait::before{content:""}.fa-user-tag::before{content:""}.fa-rug::before{content:""}.fa-earth-europe::before{content:""}.fa-globe-europe::before{content:""}.fa-cart-flatbed-suitcase::before{content:""}.fa-luggage-cart::before{content:""}.fa-rectangle-xmark::before{content:""}.fa-rectangle-times::before{content:""}.fa-times-rectangle::before{content:""}.fa-window-close::before{content:""}.fa-baht-sign::before{content:""}.fa-book-open::before{content:""}.fa-book-journal-whills::before{content:""}.fa-journal-whills::before{content:""}.fa-handcuffs::before{content:""}.fa-triangle-exclamation::before{content:""}.fa-exclamation-triangle::before{content:""}.fa-warning::before{content:""}.fa-database::before{content:""}.fa-share::before{content:""}.fa-mail-forward::before{content:""}.fa-bottle-droplet::before{content:""}.fa-mask-face::before{content:""}.fa-hill-rockslide::before{content:""}.fa-right-left::before{content:""}.fa-exchange-alt::before{content:""}.fa-paper-plane::before{content:""}.fa-road-circle-exclamation::before{content:""}.fa-dungeon::before{content:""}.fa-align-right::before{content:""}.fa-money-bill-1-wave::before{content:""}.fa-money-bill-wave-alt::before{content:""}.fa-life-ring::before{content:""}.fa-hands::before{content:""}.fa-sign-language::before{content:""}.fa-signing::before{content:""}.fa-calendar-day::before{content:""}.fa-water-ladder::before{content:""}.fa-ladder-water::before{content:""}.fa-swimming-pool::before{content:""}.fa-arrows-up-down::before{content:""}.fa-arrows-v::before{content:""}.fa-face-grimace::before{content:""}.fa-grimace::before{content:""}.fa-wheelchair-move::before{content:""}.fa-wheelchair-alt::before{content:""}.fa-turn-down::before{content:""}.fa-level-down-alt::before{content:""}.fa-person-walking-arrow-right::before{content:""}.fa-square-envelope::before{content:""}.fa-envelope-square::before{content:""}.fa-dice::before{content:""}.fa-bowling-ball::before{content:""}.fa-brain::before{content:""}.fa-bandage::before{content:""}.fa-band-aid::before{content:""}.fa-calendar-minus::before{content:""}.fa-circle-xmark::before{content:""}.fa-times-circle::before{content:""}.fa-xmark-circle::before{content:""}.fa-gifts::before{content:""}.fa-hotel::before{content:""}.fa-earth-asia::before{content:""}.fa-globe-asia::before{content:""}.fa-id-card-clip::before{content:""}.fa-id-card-alt::before{content:""}.fa-magnifying-glass-plus::before{content:""}.fa-search-plus::before{content:""}.fa-thumbs-up::before{content:""}.fa-user-clock::before{content:""}.fa-hand-dots::before{content:""}.fa-allergies::before{content:""}.fa-file-invoice::before{content:""}.fa-window-minimize::before{content:""}.fa-mug-saucer::before{content:""}.fa-coffee::before{content:""}.fa-brush::before{content:""}.fa-mask::before{content:""}.fa-magnifying-glass-minus::before{content:""}.fa-search-minus::before{content:""}.fa-ruler-vertical::before{content:""}.fa-user-large::before{content:""}.fa-user-alt::before{content:""}.fa-train-tram::before{content:""}.fa-user-nurse::before{content:""}.fa-syringe::before{content:""}.fa-cloud-sun::before{content:""}.fa-stopwatch-20::before{content:""}.fa-square-full::before{content:""}.fa-magnet::before{content:""}.fa-jar::before{content:""}.fa-note-sticky::before{content:""}.fa-sticky-note::before{content:""}.fa-bug-slash::before{content:""}.fa-arrow-up-from-water-pump::before{content:""}.fa-bone::before{content:""}.fa-user-injured::before{content:""}.fa-face-sad-tear::before{content:""}.fa-sad-tear::before{content:""}.fa-plane::before{content:""}.fa-tent-arrows-down::before{content:""}.fa-exclamation::before{content:"\!"}.fa-arrows-spin::before{content:""}.fa-print::before{content:""}.fa-turkish-lira-sign::before{content:""}.fa-try::before{content:""}.fa-turkish-lira::before{content:""}.fa-dollar-sign::before{content:"\$"}.fa-dollar::before{content:"\$"}.fa-usd::before{content:"\$"}.fa-x::before{content:"X"}.fa-magnifying-glass-dollar::before{content:""}.fa-search-dollar::before{content:""}.fa-users-gear::before{content:""}.fa-users-cog::before{content:""}.fa-person-military-pointing::before{content:""}.fa-building-columns::before{content:""}.fa-bank::before{content:""}.fa-institution::before{content:""}.fa-museum::before{content:""}.fa-university::before{content:""}.fa-umbrella::before{content:""}.fa-trowel::before{content:""}.fa-d::before{content:"D"}.fa-stapler::before{content:""}.fa-masks-theater::before{content:""}.fa-theater-masks::before{content:""}.fa-kip-sign::before{content:""}.fa-hand-point-left::before{content:""}.fa-handshake-simple::before{content:""}.fa-handshake-alt::before{content:""}.fa-jet-fighter::before{content:""}.fa-fighter-jet::before{content:""}.fa-square-share-nodes::before{content:""}.fa-share-alt-square::before{content:""}.fa-barcode::before{content:""}.fa-plus-minus::before{content:""}.fa-video::before{content:""}.fa-video-camera::before{content:""}.fa-graduation-cap::before{content:""}.fa-mortar-board::before{content:""}.fa-hand-holding-medical::before{content:""}.fa-person-circle-check::before{content:""}.fa-turn-up::before{content:""}.fa-level-up-alt::before{content:""}.sr-only,.fa-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.sr-only-focusable:not(:focus),.fa-sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}/*! * Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. */:root,:host{--fa-style-family-classic: 'Font Awesome 6 Free';--fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free'}@font-face{font-family:'Font Awesome 6 Free';font-style:normal;font-weight:900;font-display:block;src:url("../webfonts/fa-solid-900.woff2") format("woff2"),url("../webfonts/fa-solid-900.ttf") format("truetype")}.fas,.fa-solid{font-weight:900}/*! * Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. */:root,:host{--fa-style-family-brands: 'Font Awesome 6 Brands';--fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands'}@font-face{font-family:'Font Awesome 6 Brands';font-style:normal;font-weight:400;font-display:block;src:url("../webfonts/fa-brands-400.woff2") format("woff2"),url("../webfonts/fa-brands-400.ttf") format("truetype")}.fab,.fa-brands{font-weight:400}.fa-monero:before{content:""}.fa-hooli:before{content:""}.fa-yelp:before{content:""}.fa-cc-visa:before{content:""}.fa-lastfm:before{content:""}.fa-shopware:before{content:""}.fa-creative-commons-nc:before{content:""}.fa-aws:before{content:""}.fa-redhat:before{content:""}.fa-yoast:before{content:""}.fa-cloudflare:before{content:""}.fa-ups:before{content:""}.fa-pixiv:before{content:""}.fa-wpexplorer:before{content:""}.fa-dyalog:before{content:""}.fa-bity:before{content:""}.fa-stackpath:before{content:""}.fa-buysellads:before{content:""}.fa-first-order:before{content:""}.fa-modx:before{content:""}.fa-guilded:before{content:""}.fa-vnv:before{content:""}.fa-square-js:before{content:""}.fa-js-square:before{content:""}.fa-microsoft:before{content:""}.fa-qq:before{content:""}.fa-orcid:before{content:""}.fa-java:before{content:""}.fa-invision:before{content:""}.fa-creative-commons-pd-alt:before{content:""}.fa-centercode:before{content:""}.fa-glide-g:before{content:""}.fa-drupal:before{content:""}.fa-jxl:before{content:""}.fa-hire-a-helper:before{content:""}.fa-creative-commons-by:before{content:""}.fa-unity:before{content:""}.fa-whmcs:before{content:""}.fa-rocketchat:before{content:""}.fa-vk:before{content:""}.fa-untappd:before{content:""}.fa-mailchimp:before{content:""}.fa-css3-alt:before{content:""}.fa-square-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-vimeo-v:before{content:""}.fa-contao:before{content:""}.fa-square-font-awesome:before{content:""}.fa-deskpro:before{content:""}.fa-brave:before{content:""}.fa-sistrix:before{content:""}.fa-square-instagram:before{content:""}.fa-instagram-square:before{content:""}.fa-battle-net:before{content:""}.fa-the-red-yeti:before{content:""}.fa-square-hacker-news:before{content:""}.fa-hacker-news-square:before{content:""}.fa-edge:before{content:""}.fa-threads:before{content:""}.fa-napster:before{content:""}.fa-square-snapchat:before{content:""}.fa-snapchat-square:before{content:""}.fa-google-plus-g:before{content:""}.fa-artstation:before{content:""}.fa-markdown:before{content:""}.fa-sourcetree:before{content:""}.fa-google-plus:before{content:""}.fa-diaspora:before{content:""}.fa-foursquare:before{content:""}.fa-stack-overflow:before{content:""}.fa-github-alt:before{content:""}.fa-phoenix-squadron:before{content:""}.fa-pagelines:before{content:""}.fa-algolia:before{content:""}.fa-red-river:before{content:""}.fa-creative-commons-sa:before{content:""}.fa-safari:before{content:""}.fa-google:before{content:""}.fa-square-font-awesome-stroke:before{content:""}.fa-font-awesome-alt:before{content:""}.fa-atlassian:before{content:""}.fa-linkedin-in:before{content:""}.fa-digital-ocean:before{content:""}.fa-nimblr:before{content:""}.fa-chromecast:before{content:""}.fa-evernote:before{content:""}.fa-hacker-news:before{content:""}.fa-creative-commons-sampling:before{content:""}.fa-adversal:before{content:""}.fa-creative-commons:before{content:""}.fa-watchman-monitoring:before{content:""}.fa-fonticons:before{content:""}.fa-weixin:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-codepen:before{content:""}.fa-git-alt:before{content:""}.fa-lyft:before{content:""}.fa-rev:before{content:""}.fa-windows:before{content:""}.fa-wizards-of-the-coast:before{content:""}.fa-square-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-meetup:before{content:""}.fa-centos:before{content:""}.fa-adn:before{content:""}.fa-cloudsmith:before{content:""}.fa-opensuse:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-square-dribbble:before{content:""}.fa-dribbble-square:before{content:""}.fa-codiepie:before{content:""}.fa-node:before{content:""}.fa-mix:before{content:""}.fa-steam:before{content:""}.fa-cc-apple-pay:before{content:""}.fa-scribd:before{content:""}.fa-debian:before{content:""}.fa-openid:before{content:""}.fa-instalod:before{content:""}.fa-expeditedssl:before{content:""}.fa-sellcast:before{content:""}.fa-square-twitter:before{content:""}.fa-twitter-square:before{content:""}.fa-r-project:before{content:""}.fa-delicious:before{content:""}.fa-freebsd:before{content:""}.fa-vuejs:before{content:""}.fa-accusoft:before{content:""}.fa-ioxhost:before{content:""}.fa-fonticons-fi:before{content:""}.fa-app-store:before{content:""}.fa-cc-mastercard:before{content:""}.fa-itunes-note:before{content:""}.fa-golang:before{content:""}.fa-kickstarter:before{content:""}.fa-square-kickstarter:before{content:""}.fa-grav:before{content:""}.fa-weibo:before{content:""}.fa-uncharted:before{content:""}.fa-firstdraft:before{content:""}.fa-square-youtube:before{content:""}.fa-youtube-square:before{content:""}.fa-wikipedia-w:before{content:""}.fa-wpressr:before{content:""}.fa-rendact:before{content:""}.fa-angellist:before{content:""}.fa-galactic-republic:before{content:""}.fa-nfc-directional:before{content:""}.fa-skype:before{content:""}.fa-joget:before{content:""}.fa-fedora:before{content:""}.fa-stripe-s:before{content:""}.fa-meta:before{content:""}.fa-laravel:before{content:""}.fa-hotjar:before{content:""}.fa-bluetooth-b:before{content:""}.fa-square-letterboxd:before{content:""}.fa-sticker-mule:before{content:""}.fa-creative-commons-zero:before{content:""}.fa-hips:before{content:""}.fa-behance:before{content:""}.fa-reddit:before{content:""}.fa-discord:before{content:""}.fa-chrome:before{content:""}.fa-app-store-ios:before{content:""}.fa-cc-discover:before{content:""}.fa-wpbeginner:before{content:""}.fa-confluence:before{content:""}.fa-shoelace:before{content:""}.fa-mdb:before{content:""}.fa-dochub:before{content:""}.fa-accessible-icon:before{content:""}.fa-ebay:before{content:""}.fa-amazon:before{content:""}.fa-unsplash:before{content:""}.fa-yarn:before{content:""}.fa-square-steam:before{content:""}.fa-steam-square:before{content:""}.fa-500px:before{content:""}.fa-square-vimeo:before{content:""}.fa-vimeo-square:before{content:""}.fa-asymmetrik:before{content:""}.fa-font-awesome:before{content:""}.fa-font-awesome-flag:before{content:""}.fa-font-awesome-logo-full:before{content:""}.fa-gratipay:before{content:""}.fa-apple:before{content:""}.fa-hive:before{content:""}.fa-gitkraken:before{content:""}.fa-keybase:before{content:""}.fa-apple-pay:before{content:""}.fa-padlet:before{content:""}.fa-amazon-pay:before{content:""}.fa-square-github:before{content:""}.fa-github-square:before{content:""}.fa-stumbleupon:before{content:""}.fa-fedex:before{content:""}.fa-phoenix-framework:before{content:""}.fa-shopify:before{content:""}.fa-neos:before{content:""}.fa-square-threads:before{content:""}.fa-hackerrank:before{content:""}.fa-researchgate:before{content:""}.fa-swift:before{content:""}.fa-angular:before{content:""}.fa-speakap:before{content:""}.fa-angrycreative:before{content:""}.fa-y-combinator:before{content:""}.fa-empire:before{content:""}.fa-envira:before{content:""}.fa-google-scholar:before{content:""}.fa-square-gitlab:before{content:""}.fa-gitlab-square:before{content:""}.fa-studiovinari:before{content:""}.fa-pied-piper:before{content:""}.fa-wordpress:before{content:""}.fa-product-hunt:before{content:""}.fa-firefox:before{content:""}.fa-linode:before{content:""}.fa-goodreads:before{content:""}.fa-square-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-jsfiddle:before{content:""}.fa-sith:before{content:""}.fa-themeisle:before{content:""}.fa-page4:before{content:""}.fa-hashnode:before{content:""}.fa-react:before{content:""}.fa-cc-paypal:before{content:""}.fa-squarespace:before{content:""}.fa-cc-stripe:before{content:""}.fa-creative-commons-share:before{content:""}.fa-bitcoin:before{content:""}.fa-keycdn:before{content:""}.fa-opera:before{content:""}.fa-itch-io:before{content:""}.fa-umbraco:before{content:""}.fa-galactic-senate:before{content:""}.fa-ubuntu:before{content:""}.fa-draft2digital:before{content:""}.fa-stripe:before{content:""}.fa-houzz:before{content:""}.fa-gg:before{content:""}.fa-dhl:before{content:""}.fa-square-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-xing:before{content:""}.fa-blackberry:before{content:""}.fa-creative-commons-pd:before{content:""}.fa-playstation:before{content:""}.fa-quinscape:before{content:""}.fa-less:before{content:""}.fa-blogger-b:before{content:""}.fa-opencart:before{content:""}.fa-vine:before{content:""}.fa-signal-messenger:before{content:""}.fa-paypal:before{content:""}.fa-gitlab:before{content:""}.fa-typo3:before{content:""}.fa-reddit-alien:before{content:""}.fa-yahoo:before{content:""}.fa-dailymotion:before{content:""}.fa-affiliatetheme:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-bootstrap:before{content:""}.fa-odnoklassniki:before{content:""}.fa-nfc-symbol:before{content:""}.fa-mintbit:before{content:""}.fa-ethereum:before{content:""}.fa-speaker-deck:before{content:""}.fa-creative-commons-nc-eu:before{content:""}.fa-patreon:before{content:""}.fa-avianex:before{content:""}.fa-ello:before{content:""}.fa-gofore:before{content:""}.fa-bimobject:before{content:""}.fa-brave-reverse:before{content:""}.fa-facebook-f:before{content:""}.fa-square-google-plus:before{content:""}.fa-google-plus-square:before{content:""}.fa-web-awesome:before{content:""}.fa-mandalorian:before{content:""}.fa-first-order-alt:before{content:""}.fa-osi:before{content:""}.fa-google-wallet:before{content:""}.fa-d-and-d-beyond:before{content:""}.fa-periscope:before{content:""}.fa-fulcrum:before{content:""}.fa-cloudscale:before{content:""}.fa-forumbee:before{content:""}.fa-mizuni:before{content:""}.fa-schlix:before{content:""}.fa-square-xing:before{content:""}.fa-xing-square:before{content:""}.fa-bandcamp:before{content:""}.fa-wpforms:before{content:""}.fa-cloudversify:before{content:""}.fa-usps:before{content:""}.fa-megaport:before{content:""}.fa-magento:before{content:""}.fa-spotify:before{content:""}.fa-optin-monster:before{content:""}.fa-fly:before{content:""}.fa-aviato:before{content:""}.fa-itunes:before{content:""}.fa-cuttlefish:before{content:""}.fa-blogger:before{content:""}.fa-flickr:before{content:""}.fa-viber:before{content:""}.fa-soundcloud:before{content:""}.fa-digg:before{content:""}.fa-tencent-weibo:before{content:""}.fa-letterboxd:before{content:""}.fa-symfony:before{content:""}.fa-maxcdn:before{content:""}.fa-etsy:before{content:""}.fa-facebook-messenger:before{content:""}.fa-audible:before{content:""}.fa-think-peaks:before{content:""}.fa-bilibili:before{content:""}.fa-erlang:before{content:""}.fa-x-twitter:before{content:""}.fa-cotton-bureau:before{content:""}.fa-dashcube:before{content:""}.fa-42-group:before{content:""}.fa-innosoft:before{content:""}.fa-stack-exchange:before{content:""}.fa-elementor:before{content:""}.fa-square-pied-piper:before{content:""}.fa-pied-piper-square:before{content:""}.fa-creative-commons-nd:before{content:""}.fa-palfed:before{content:""}.fa-superpowers:before{content:""}.fa-resolving:before{content:""}.fa-xbox:before{content:""}.fa-square-web-awesome-stroke:before{content:""}.fa-searchengin:before{content:""}.fa-tiktok:before{content:""}.fa-square-facebook:before{content:""}.fa-facebook-square:before{content:""}.fa-renren:before{content:""}.fa-linux:before{content:""}.fa-glide:before{content:""}.fa-linkedin:before{content:""}.fa-hubspot:before{content:""}.fa-deploydog:before{content:""}.fa-twitch:before{content:""}.fa-ravelry:before{content:""}.fa-mixer:before{content:""}.fa-square-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-vimeo:before{content:""}.fa-mendeley:before{content:""}.fa-uniregistry:before{content:""}.fa-figma:before{content:""}.fa-creative-commons-remix:before{content:""}.fa-cc-amazon-pay:before{content:""}.fa-dropbox:before{content:""}.fa-instagram:before{content:""}.fa-cmplid:before{content:""}.fa-upwork:before{content:""}.fa-facebook:before{content:""}.fa-gripfire:before{content:""}.fa-jedi-order:before{content:""}.fa-uikit:before{content:""}.fa-fort-awesome-alt:before{content:""}.fa-phabricator:before{content:""}.fa-ussunnah:before{content:""}.fa-earlybirds:before{content:""}.fa-trade-federation:before{content:""}.fa-autoprefixer:before{content:""}.fa-whatsapp:before{content:""}.fa-square-upwork:before{content:""}.fa-slideshare:before{content:""}.fa-google-play:before{content:""}.fa-viadeo:before{content:""}.fa-line:before{content:""}.fa-google-drive:before{content:""}.fa-servicestack:before{content:""}.fa-simplybuilt:before{content:""}.fa-bitbucket:before{content:""}.fa-imdb:before{content:""}.fa-deezer:before{content:""}.fa-raspberry-pi:before{content:""}.fa-jira:before{content:""}.fa-docker:before{content:""}.fa-screenpal:before{content:""}.fa-bluetooth:before{content:""}.fa-gitter:before{content:""}.fa-d-and-d:before{content:""}.fa-microblog:before{content:""}.fa-cc-diners-club:before{content:""}.fa-gg-circle:before{content:""}.fa-pied-piper-hat:before{content:""}.fa-kickstarter-k:before{content:""}.fa-yandex:before{content:""}.fa-readme:before{content:""}.fa-html5:before{content:""}.fa-sellsy:before{content:""}.fa-square-web-awesome:before{content:""}.fa-sass:before{content:""}.fa-wirsindhandwerk:before{content:""}.fa-wsh:before{content:""}.fa-buromobelexperte:before{content:""}.fa-salesforce:before{content:""}.fa-octopus-deploy:before{content:""}.fa-medapps:before{content:""}.fa-ns8:before{content:""}.fa-pinterest-p:before{content:""}.fa-apper:before{content:""}.fa-fort-awesome:before{content:""}.fa-waze:before{content:""}.fa-bluesky:before{content:""}.fa-cc-jcb:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-fantasy-flight-games:before{content:""}.fa-rust:before{content:""}.fa-wix:before{content:""}.fa-square-behance:before{content:""}.fa-behance-square:before{content:""}.fa-supple:before{content:""}.fa-webflow:before{content:""}.fa-rebel:before{content:""}.fa-css3:before{content:""}.fa-staylinked:before{content:""}.fa-kaggle:before{content:""}.fa-space-awesome:before{content:""}.fa-deviantart:before{content:""}.fa-cpanel:before{content:""}.fa-goodreads-g:before{content:""}.fa-square-git:before{content:""}.fa-git-square:before{content:""}.fa-square-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-trello:before{content:""}.fa-creative-commons-nc-jp:before{content:""}.fa-get-pocket:before{content:""}.fa-perbyte:before{content:""}.fa-grunt:before{content:""}.fa-weebly:before{content:""}.fa-connectdevelop:before{content:""}.fa-leanpub:before{content:""}.fa-black-tie:before{content:""}.fa-themeco:before{content:""}.fa-python:before{content:""}.fa-android:before{content:""}.fa-bots:before{content:""}.fa-free-code-camp:before{content:""}.fa-hornbill:before{content:""}.fa-js:before{content:""}.fa-ideal:before{content:""}.fa-git:before{content:""}.fa-dev:before{content:""}.fa-sketch:before{content:""}.fa-yandex-international:before{content:""}.fa-cc-amex:before{content:""}.fa-uber:before{content:""}.fa-github:before{content:""}.fa-php:before{content:""}.fa-alipay:before{content:""}.fa-youtube:before{content:""}.fa-skyatlas:before{content:""}.fa-firefox-browser:before{content:""}.fa-replyd:before{content:""}.fa-suse:before{content:""}.fa-jenkins:before{content:""}.fa-twitter:before{content:""}.fa-rockrms:before{content:""}.fa-pinterest:before{content:""}.fa-buffer:before{content:""}.fa-npm:before{content:""}.fa-yammer:before{content:""}.fa-btc:before{content:""}.fa-dribbble:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-internet-explorer:before{content:""}.fa-stubber:before{content:""}.fa-telegram:before{content:""}.fa-telegram-plane:before{content:""}.fa-old-republic:before{content:""}.fa-odysee:before{content:""}.fa-square-whatsapp:before{content:""}.fa-whatsapp-square:before{content:""}.fa-node-js:before{content:""}.fa-edge-legacy:before{content:""}.fa-slack:before{content:""}.fa-slack-hash:before{content:""}.fa-medrt:before{content:""}.fa-usb:before{content:""}.fa-tumblr:before{content:""}.fa-vaadin:before{content:""}.fa-quora:before{content:""}.fa-square-x-twitter:before{content:""}.fa-reacteurope:before{content:""}.fa-medium:before{content:""}.fa-medium-m:before{content:""}.fa-amilia:before{content:""}.fa-mixcloud:before{content:""}.fa-flipboard:before{content:""}.fa-viacoin:before{content:""}.fa-critical-role:before{content:""}.fa-sitrox:before{content:""}.fa-discourse:before{content:""}.fa-joomla:before{content:""}.fa-mastodon:before{content:""}.fa-airbnb:before{content:""}.fa-wolf-pack-battalion:before{content:""}.fa-buy-n-large:before{content:""}.fa-gulp:before{content:""}.fa-creative-commons-sampling-plus:before{content:""}.fa-strava:before{content:""}.fa-ember:before{content:""}.fa-canadian-maple-leaf:before{content:""}.fa-teamspeak:before{content:""}.fa-pushed:before{content:""}.fa-wordpress-simple:before{content:""}.fa-nutritionix:before{content:""}.fa-wodu:before{content:""}.fa-google-pay:before{content:""}.fa-intercom:before{content:""}.fa-zhihu:before{content:""}.fa-korvue:before{content:""}.fa-pix:before{content:""}.fa-steam-symbol:before{content:""}.mfp-counter{font-family:Georgia,Times,serif}.mfp-bg{top:0;left:0;width:100%;height:100%;z-index:1042;overflow:hidden;position:fixed;background:#000;opacity:.8;filter:alpha(opacity=80)}.mfp-wrap{top:0;left:0;width:100%;height:100%;z-index:1043;position:fixed;outline:none !important;-webkit-backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;width:100%;height:100%;left:0;top:0;padding:0 8px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mfp-container:before{content:'';display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}.mfp-inline-holder .mfp-content,.mfp-ajax-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:-moz-zoom-out;cursor:-webkit-zoom-out;cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-close,.mfp-arrow,.mfp-preloader,.mfp-counter{-webkit-user-select:none;-moz-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none !important}.mfp-preloader{color:#ccc;position:absolute;top:50%;width:auto;text-align:center;margin-top:-0.8em;left:8px;right:8px;z-index:1044}.mfp-preloader a{color:#ccc}.mfp-preloader a:hover{color:#fff}.mfp-s-ready .mfp-preloader{display:none}.mfp-s-error .mfp-content{display:none}button.mfp-close,button.mfp-arrow{overflow:visible;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;display:block;outline:none;padding:0;z-index:1046;-webkit-box-shadow:none;box-shadow:none}button::-moz-focus-inner{padding:0;border:0}.mfp-close{width:44px;height:44px;line-height:44px;position:absolute;right:0;top:0;text-decoration:none;text-align:center;opacity:1;filter:alpha(opacity=100);padding:0 0 18px 10px;color:#fff;font-style:normal;font-size:28px;font-family:Georgia,Times,serif}.mfp-close:hover,.mfp-close:focus{opacity:1;filter:alpha(opacity=100)}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#fff}.mfp-image-holder .mfp-close,.mfp-iframe-holder .mfp-close{color:#fff;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#ccc;font-size:12px;line-height:18px}.mfp-arrow{position:absolute;opacity:1;filter:alpha(opacity=100);margin:0;top:50%;margin-top:-55px;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:hover,.mfp-arrow:focus{opacity:1;filter:alpha(opacity=100)}.mfp-arrow:before,.mfp-arrow:after,.mfp-arrow .mfp-b,.mfp-arrow .mfp-a{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:medium inset transparent}.mfp-arrow:after,.mfp-arrow .mfp-a{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow:before,.mfp-arrow .mfp-b{border-top-width:21px;border-bottom-width:21px;opacity:0.7}.mfp-arrow-left{left:0}.mfp-arrow-left:after,.mfp-arrow-left .mfp-a{border-right:17px solid #fff;margin-left:31px}.mfp-arrow-left:before,.mfp-arrow-left .mfp-b{margin-left:25px;border-right:27px solid #fff}.mfp-arrow-right{right:0}.mfp-arrow-right:after,.mfp-arrow-right .mfp-a{border-left:17px solid #fff;margin-left:39px}.mfp-arrow-right:before,.mfp-arrow-right .mfp-b{border-left:27px solid #fff}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,0.3);background:#000}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;line-height:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:40px 0 40px;margin:0 auto}.mfp-figure{line-height:0}.mfp-figure:after{content:'';position:absolute;left:0;top:40px;bottom:40px;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,0.3);background:#444}.mfp-figure small{color:#bdbdbd;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-figure figcaption{margin-top:0;margin-bottom:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.mfp-title{text-align:left;line-height:18px;color:#f3f3f3;word-wrap:break-word;padding-right:36px}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,0.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,0.3);position:fixed;text-align:center;padding:0}}@media all and (max-width: 900px){.mfp-arrow{-webkit-transform:scale(0.75);transform:scale(0.75)}.mfp-arrow-left{-webkit-transform-origin:0;transform-origin:0}.mfp-arrow-right{-webkit-transform-origin:100%;transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}.mfp-ie7 .mfp-img{padding:0}.mfp-ie7 .mfp-bottom-bar{width:600px;left:50%;margin-left:-300px;margin-top:5px;padding-bottom:5px}.mfp-ie7 .mfp-container{padding:0}.mfp-ie7 .mfp-content{padding-top:44px}.mfp-ie7 .mfp-close{top:0;right:0;padding-top:0}@media print{.masthead,.toc,.page__share,.page__related,.ads,.page__footer{display:none}}html,body,h1,h2,h3,h4,h5,h6,p,span,li,a,blockquote,table,th,td,.page__footer-copyright{font-family:"Times New Roman", serif !important}html{scrollbar-width:none;-ms-overflow-style:none;overflow-y:scroll}html::-webkit-scrollbar{display:none}.publication-custom-layout{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:20px}.publication-image{flex:1 1 300px;max-width:300px}.publication-image img{width:100%;height:auto}.publication-text{flex:2 1 60%;max-width:70%}.masthead__inner-wrap nav{background-color:rgba(0,0,0,0.3) !important;background:rgba(0,0,0,0.3) !important}.masthead{background:rgba(0,0,0,0.3) !important}.masthead .masthead__inner-wrap nav{background:transparent !important}.masthead .masthead__inner-wrap nav a{color:#fff !important;font-weight:700 !important}.hidden-links{background:rgba(0,0,0,0.3) !important;border:1px solid rgba(0,0,0,0.8) !important}.hidden-links a{color:#fff !important;font-weight:700;text-decoration:none}.hidden-links a:hover{background:rgba(79,72,72,0.6) !important;color:#fff !important;text-decoration:none !important}.hidden-links::before,.hidden-links::after{border-color:rgba(0,0,0,0.3) transparent !important}.video-background{position:fixed;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-2}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.3);z-index:-1}.content{position:relative;z-index:1;color:white}.page__footer{background:rgba(0,0,0,0.3) !important;color:#fff !important;font-weight:700 !important}.page__footer a{color:#fff !important;font-weight:700 !important}.download-button{display:inline-flex;align-items:center;padding:8px 12px;font-size:14px;border-radius:4px;text-decoration:none !important;color:#fff;border:1px solid #fff;background-color:transparent;transition:all 0.3s ease;margin-top:6px}.download-button:hover{color:#333;background-color:#fff}.download-button .download-icon{margin-right:8px;width:20px;height:auto}

Markdown

Locations of key files/directories

  • Basic config options: _config.yml
  • Top navigation bar config: _data/navigation.yml
  • Single pages: _pages/
  • Collections of pages are .md or .html files in:
    • _publications/
    • _portfolio/
    • _posts/
    • _teaching/
    • _talks/
  • Footer: _includes/footer.html
  • Static files (like PDFs): /files/
  • Profile image (can set in _config.yml): images/profile.png

Tips and hints

  • Name a file “.md” to have it render in markdown, name it “.html” to render in HTML.
  • Go to the commit list (on your repo) to find the last version Github built with Jekyll.
    • Green check: successful build
    • Orange circle: building
    • Red X: error
    • No icon: not built

Resources

MathJax

Support for MathJax Version 3.0 is included in the template:

\[\displaylines{ \nabla \cdot E= \frac{\rho}{\epsilon_0} \\\ \nabla \cdot B=0 \\\ \nabla \times E= -\partial_tB \\\ \nabla \times B = \mu_0 \left(J + \varepsilon_0 \partial_t E \right) }\]

The default delimiters of $$...$$ and \\[...\\] are supported for displayed mathematics, while \\(...\\) should be used for in-line mathematics (ex., \(a^2 + b^2 = c^2\))

Note that since Academic Pages uses Markdown which cases some interference with MathJax and LaTeX for escaping characters and new lines, although some workarounds exist.

Markdown guide

Academic Pages uses kramdown for Markdown rendering, which has some differences from other Markdown implementations such as GitHub’s. In addition to this guide, please see the kramdown Syntax page for full documentation.

Header three

Header four

Header five
Header six

Blockquotes

Single line blockquote:

Quotes are cool.

Tables

Table 1

EntryItem 
John Doe2016Description of the item in the list
Jane Doe2019Description of the item in the list
Doe Doe2022Description of the item in the list

Table 2

Header1Header2Header3
cell1cell2cell3
cell4ce 
ll5cell6 
cell1cell2cell3
cell4cell5cell6
Foot1Foot2Foot3

Definition Lists

Definition List Title
Definition list division.
Startup
A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model.
#dowork
Coined by Rob Dyrdek and his personal body guard Christopher “Big Black” Boykins, “Do Work” works as a self motivator, to motivating your friends.
Do It Live
I’ll let Bill O’Reilly explain this one.

Unordered Lists (Nested)

  • List item one
    • List item one
      • List item one
      • List item two
      • List item three
      • List item four
    • List item two
    • List item three
    • List item four
  • List item two
  • List item three
  • List item four

Ordered List (Nested)

  1. List item one
    1. List item one
      1. List item one
      2. List item two
      3. List item three
      4. List item four
    2. List item two
    3. List item three
    4. List item four
  2. List item two
  3. List item three
  4. List item four

Buttons

Make any link standout more when applying the .btn class.

Notices

Basic notices or call-outs are supported using the following syntax:

**Watch out!** You can also add notices by appending `{: .notice}` to the line following paragraph.
{: .notice}

which wil render as:

Watch out! You can also add notices by appending {: .notice} to the line following paragraph.

Footnotes

Footnotes can be useful for clarifying points in the text, or citing information.1 Markdown support numeric footnotes, as well as text as long as the values are unique.2

This is the regular text.[^1] This is more regular text.[^note]

[^1]: This is the footnote itself.
[^note]: This is another footnote.

HTML Tags

Address Tag

1 Infinite Loop
Cupertino, CA 95014
United States

This is an example of a link.

Abbreviation Tag

The abbreviation CSS stands for “Cascading Style Sheets”.

Cite Tag

“Code is poetry.” —Automattic

Code Tag

You will learn later on in these tests that word-wrap: break-word; will be your best friend.

You can also write larger blocks of code with syntax highlighting supported for some languages, such as Python:

print('Hello World!')

or R:

print("Hello World!", quote = FALSE)

Strike Tag

This tag will let you strikeout text.

Emphasize Tag

The emphasize tag should italicize text.

Insert Tag

This tag should denote inserted text.

Keyboard Tag

This scarcely known tag emulates keyboard text, which is usually styled like the <code> tag.

Preformatted Tag

This tag styles large blocks of code.

.post-title {
  margin: 0 0 5px;
  font-weight: bold;
  font-size: 38px;
  line-height: 1.2;
  and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}

Quote Tag

Developers, developers, developers… –Steve Ballmer

Strong Tag

This tag shows bold text.

Subscript Tag

Getting our science styling on with H2O, which should push the “2” down.

Superscript Tag

Still sticking with science and Isaac Newton’s E = MC2, which should lift the 2 up.

Variable Tag

This allows you to denote variables.


Footnotes

The footnotes in the page will be returned following this line, return to the section on Markdown Footnotes.

  1. Such as this footnote. 

  2. When using text for footnotes markers, no spaces are permitted in the name. 

Page not in menu

This is a page not in the menu. You can use markdown in this page.

Heading 1

Heading 2

Page Archive

{% include base_path %} {% for post in site.pages %} {% include archive-single.html %} {% endfor %}

Portfolio

{% include base_path %} {% for post in site.portfolio %} {% include archive-single.html %} {% endfor %}

# Project Experience ## **Project 12: University Researcher Profile System** (2025.05.25—2025.06.04) - **Module (Full-Stack)**: Front-end systems for client and admin + backend API development - **Project Background**: Personal portal system for university researchers, integrating academic achievements display, project management and news updates, supporting multilingual internationalization. GitHub open-source project, deployed and applied in actual research team websites. - **Technology Stack**: - Front-end: Vue 2.7 + Element UI + Vue I18n + Vue Router - Admin: Vue 2.7 + Element UI + Vuex + Quill editor - Build Tools: Vite - Backend: Java (Spring Boot) + MyBatis-Plus + MySQL - **Core Contributions**: 1. **Developed complete front-end code for client and admin systems**: - Client: Implemented multilingual switching system based on Vue I18n: supporting seamless Chinese-English switching - Admin: Developed unified management interface based on Element UI 2. **Backend API development**: - Designed and implemented RESTful APIs for News and Project modules - Developed universal data conversion tools: implemented bidirectional mapping between DTOs and entities based on ConvertUtils - **Project Achievements**: - Successfully deployed on research team's official website: https://www.hegelab.com/ - GitHub open-source address: https://github.com/Lidang-Jiang/UniversityResearcherProfiles ## **Project 11: Government-Enterprise Platform V3.1** (2025.05.15—2025.05.31) - **Module (Front-end)**: Government Data Intelligent Management Suite - **Project Background**: Added data status tracking, batch approval and other features to solve cross-department data coordination challenges. - **Technology Stack**: - Front-end: Vue2 + Element-UI - State Management: Vuex - Build Tool: Vite - **Core Implementation**: 1. **Batch Approval**: 2. **Data Status Tracking List**: - List CRUD operations ## **Project 10: Haikou 12345 Intelligent Report System V1.0** (2025.05.13—2025.05.31) - **Module (Front-end)**: Intelligent Report Editor and Template Management Center - **Project Background**: Government hotline report automation system, enabling intelligent generation of structured reports from work order data, solving pain points of low efficiency in manual report preparation and inconsistent formats - **Technology Stack**: - Front-end: Vue2 + Element-UI + Quill - State Management: Vuex - Build Tool: Vite - **Core Contributions**: 1. **Intelligent Template Management System**: - Table CRUD operations 2. **Interactive Report Template Editor**: - Developed extensible table component: supporting dynamic rows and columns and linking to external data operations - Developed extensible deepseek instruction dialog component: supporting deepseek instruction insertion ## **Project 9: 928 Hospital - Model Command System V2.0** (2025.03.31 - 2025.04.09) - **Module (Front-end)**: To-Do Items Module - **Project Background**: Added to-do items module to establish closed-loop task supervision mechanism. Solved V1.0 issues of scattered task management, cross-department collaboration difficulties, and progress tracking blind spots. - **Technology Stack**: - Front-end: Vue2 + Element-UI - State Management: Vuex - Build Tool: Vite - **Main Contributions**: - **Core Feature Development**: - Implemented dual-view mode for tasks (Created by Me/Executed by Me), supporting different operation permissions for creators and executors - Developed department tree selection component, supporting three-level department structure (Level 1 > Level 2 > Level 3) ## **Project 8: Risk Monitoring and Early Warning System Common Service Platform V1.0.1** (2025.03.10 - 2025.03.21) - **Module (Front-end)**: Warning Model Management System CRUD Module - **Project Background**: Restructured core modules of government-level risk warning platform, establishing warning linkage mechanism. Solved V1.0.0 issues of scattered model management and poor multi-source data adaptability. - **Technology Stack**: - Front-end: Vue2 + Element-UI - State Management: Vuex - Build Tool: Vite - **Main Contributions**: - **Core Feature Development**: - Implemented three-state filtering mechanism, supporting dynamic switching between "All/Warned/Not Warned" - Built model type-entity type linkage component, automatically populating warning names based on tree-structured data ## **Project 7: Red Detachment of Women Memorial Park Digital Platform V1.2.0** (2025.02.25 - 2025.03.06) - **Module (Front-end)**: Multi-terminal collaborative development (Official Chinese Website/Youth Version/Admin Panel) - **Project Background**: Experience upgrade based on V1.0, focusing on restructuring the visiting service process, achieving data intercommunication across three terminals. Solved V1.0 issues of poor compatibility and lengthy reservation process. - **Technology Stack**: Vue2 + Vuex + Element-UI - **Main Contributions**: - **Core Feature Restructuring**: - Designed and implemented a unified reservation service system across three terminals: - Secure document download: implemented server-side rendering of Word templates ## **Project 6: Government-Enterprise Platform V2** (2025.02.21 - 2025.02.25) - **Module (Front-end)**: Enterprise Data Validation Module - **Project Background**: Government enterprise data verification platform, providing enterprise information verification services for government, banks and other institutions. By connecting to the National Market Entity API, it enables batch verification of enterprise names and unified credit codes, solving the pain point of inefficient manual verification. - **Technology Stack**: - Front-end: Vue2 + Element-UI + Axios - Engineering: Vite + ESLint + Prettier - **Main Contributions**: - **Core Feature Development**: - Implemented batch import functionality for Excel files, supporting parsing of two data structures: Table 1 (Basic Information) and Table 5 (Credit Information) - Developed real-time validation progress display component, including progress bar, success/failure data statistics, and remaining API call count display ## **Project 5: Project Platform Management System V2.6** (2025.01.13 - 2025.02.06) - **Module (Front-end)**: Mobile "Approval Center" module development - **Project Background**: This project is the company's internal project management platform, covering multiple approval processes and management functions. V2.6 version added the "Business Opportunity Approval" feature to better manage and review the company's business opportunities. - **Technology Stack**: - Mobile: Vue2 + Vue Router + Pinia + Vant + ESLint + Prettier. - **Main Contributions**: - **Approval Center Module Development**: - Responsible for developing the mobile "Approval Center" module, supporting viewing and managing various approval tasks, such as business opportunity approval, overtime task approval, contract approval, etc. ## **Project 4: Digital Campus System V2.0.5** (2024.12.13 - 2024.12.24) - **Module (Front-end)**: PC-side work assignment settings and WeChat public account delegation verification and push module development - **Project Background**: The Digital Campus System aims to provide schools with a comprehensive management and service platform to improve the work efficiency of head teachers and parents, ensuring student safety and management convenience. The project covers both PC and WeChat public account platforms, implementing class duty management and student pickup delegation verification functions respectively. - **Technology Stack**: - Front-end: Vue2 + Vue Router + Vuex, Element-UI, uni-app - Tools: ESLint, Prettier, Git - **Main Contributions**: - **PC-side "Work Assignment Settings" Module**: - Table management CRUD - **WeChat Public Account "Delegation Verification and Push" Module**: - Implemented QR code verification function, allowing delegates to enter the verification page by scanning QR codes. - Designed and developed delegation verification form, including student name, delegate name, phone number and SMS verification code, ensuring accurate submission of information. ## **Project 3: Red Detachment of Women Memorial Park Digital Platform V1.0** (2024.11.11 - 2024.11.30) - **Module (Front-end)**: Multi-terminal front-end module development - **Project Background**: Development of Red Detachment of Women Memorial Park digital platform, including admin panel, PC client and youth PC client, providing visit services, study tour activity management, transportation guides and other functions to enhance users' online interaction and service experience. - **Technology Stack**: Vue2 + Vue Router, Element-UI, Vant, ESLint, Prettier. - **Main Contributions**: - **Admin Panel**: - Responsible for "Study Tour Registration Management" module development, including add, edit, publish and other functions. - Implemented dynamic form functionality for study tour activities, supporting rich text editing and attachment upload for title, remarks, and content. - **Youth PC Client**: - Responsible for "Visit Services" section development, displaying visit guidelines, reservation visits and other module content. ## **Project 2: Project Operation Management Platform V2.5** (2024.10.22 - 2024.11.20) - **Module (Front-end)**: PC and mobile vehicle management functionality development - **Project Background**: Internal enterprise vehicle management system, covering both PC and mobile platforms. Mainly used for vehicle usage management and statistics, including permission management, data filtering and export functions. - **Technology Stack**: - PC: Vite + Vue2 + Vue Router + Pinia + Element-UI + Husky + ESLint + Stylelint + Prettier. - Mobile: Vue2 + Vue Router + Pinia + Vant + ESLint + Prettier. - **Main Contributions**: - **PC Platform**: - Responsible for "Vehicle Reports" module development: - **Mobile Platform**: - Responsible for "Workbench", "Approval Center", and "Vehicle Management" module development: - **Workbench**: Implemented mobile user homepage with data overview and common function entries, optimized page loading speed and interaction experience. - **Approval Center**: Developed query and operation functions for approval tasks, supporting task filtering, status updates and instant feedback, improving approval efficiency. - **Vehicle Management**: Implemented the complete process of vehicle application and approval, covering vehicle application records, vehicle usage status monitoring and other functions. ## **Project 1: Haikou Police Administrative Knowledge Base** (2024.07.25 - 2024.09.25) - **Module (Algorithm)**: RAG System Construction and LLM Evaluation - **Project Background**: Developed an intelligent administrative knowledge base for Haikou Police System, employing Retrieval-Augmented Generation (RAG) technology to enhance the accuracy of large language models in responding to administrative knowledge queries, addressing issues such as low retrieval efficiency and inconsistent answer quality in traditional knowledge bases. - **Technology Stack**: - RAG System: Embedding Models + Vector Database (Milvus) + TeleChat LLM - Evaluation Tools: Self-developed Evaluation Framework + Data Processing Scripts + Result Visualization - **Main Contributions**: - **Knowledge Base Construction**: - Participated in administrative data cleaning and structured processing - **LLM Testing and Optimization**: - Conducted large-scale answer quality testing, collected and analyzed model responses to 20000+ real administrative queries

Publications

{% if site.author.googlescholar %}
You can also find my articles on my Google Scholar profile.
{% endif %} {% include base_path %} {% if site.publication_category %} {% for category in site.publication_category %} {% assign title_shown = false %} {% for post in site.publications reversed %} {% if post.category != category[0] %} {% continue %} {% endif %} {% unless title_shown %}

{{ category[1].title }}


{% assign title_shown = true %} {% endunless %} {% include archive-single.html %} {% endfor %} {% endfor %} {% else %} {% for post in site.publications reversed %} {% include archive-single.html %} {% endfor %} {% endif %}

Sitemap

{% include base_path %} A list of all the posts and pages found on the site. For you robots out there is an [XML version]({{ base_path }}/sitemap.xml) available for digesting as well.

Pages

{% for post in site.pages %} {% include archive-single.html %} {% endfor %}

Posts

{% for post in site.posts %} {% include archive-single.html %} {% endfor %} {% capture written_label %}'None'{% endcapture %} {% for collection in site.collections %} {% unless collection.output == false or collection.label == "posts" %} {% capture label %}{{ collection.label }}{% endcapture %} {% if label != written_label %}

{{ label }}

{% capture written_label %}{{ label }}{% endcapture %} {% endif %} {% endunless %} {% for post in collection.docs %} {% unless collection.output == false or collection.label == "posts" %} {% include archive-single.html %} {% endunless %} {% endfor %} {% endfor %}

Posts by Tags

{% include base_path %} {% include group-by-array collection=site.posts field="tags" %} {% for tag in group_names %} {% assign posts = group_items[forloop.index0] %}

{{ tag }}

{% for post in posts %} {% include archive-single.html %} {% endfor %} {% endfor %}

Talk map

This map is generated from a Jupyter Notebook file in /_talks/talkmap.ipynb, which mines the location fields in the .md files in _talks/.

Teaching

{% include base_path %} {% for post in site.teaching reversed %} {% include archive-single.html %} {% endfor %}

Terms and Privacy Policy

{% include base_path %} {% include toc %} ## Privacy Policy The privacy of my visitors is extremely important. This Privacy Policy outlines the types of personal information that is received and collected and how it is used. First and foremost, I will never share your email address or any other personal information to anyone without your direct consent. ### Log Files Like many other websites, this site uses log files to help learn about when, from where, and how often traffic flows to this site. The information in these log files include: * Internet Protocol addresses (IP) * Types of browser * Internet Service Provider (ISP) * Date and time stamp * Referring and exit pages * Number of clicks All of this information is not linked to anything that is personally identifiable. ### Cookies and Web Beacons When you visit this site "convenience" cookies are stored on your computer when you submit a comment to help you log in faster to [Disqus](http://disqus.com) the next time you leave a comment. Third-party advertisers may also place and read cookies on your browser and/or use web beacons to collect information. This site has no access or control over these cookies. You should review the respective privacy policies on any and all third-party ad servers for more information regarding their practices and how to opt-out. If you wish to disable cookies, you may do so through your web browser options. Instructions for doing so can be found on the specific web browsers' websites. #### Google Analytics Google Analytics is a web analytics tool I use to help understand how visitors engage with this website. It reports website trends using cookies and web beacons without identifying individual visitors. You can read [Google Analytics Privacy Policy](http://www.google.com/analytics/learn/privacy.html).

Blog posts

{% include base_path %} {% capture written_year %}'None'{% endcapture %} {% for post in site.posts %} {% capture year %}{{ post.date | date: '%Y' }}{% endcapture %} {% if year != written_year %}

{{ year }}

{% capture written_year %}{{ year }}{% endcapture %} {% endif %} {% include archive-single.html %} {% endfor %}

@import "jekyll-theme-primer";

{"/md/":"https://lidang-jiang.github.io/markdown/","/markdown.html":"https://lidang-jiang.github.io/markdown/","/nmp/":"https://lidang-jiang.github.io/non-menu-page/","/nmp.html":"https://lidang-jiang.github.io/non-menu-page/","/wordpress/blog-posts/":"https://lidang-jiang.github.io/year-archive/"}

Jupyter notebook markdown generator

# Jupyter notebook markdown generator These .ipynb files are Jupyter notebook files that convert a TSV containing structured data about talks (`talks.tsv`) or presentations (`presentations.tsv`) into individual markdown files that will be properly formatted for the academicpages template. The notebooks contain a lot of documentation about the process. The .py files are pure python that do the same things if they are executed in a terminal, they just don't have pretty documentation.

{% if page.xsl %} {% endif %} {% assign collections = site.collections | where_exp:'collection','collection.output != false' %}{% for collection in collections %}{% assign docs = collection.docs | where_exp:'doc','doc.sitemap != false' %}{% for doc in docs %} {{ doc.url | replace:'/index.html','/' | absolute_url | xml_escape }} {% if doc.last_modified_at or doc.date %}{{ doc.last_modified_at | default: doc.date | date_to_xmlschema }} {% endif %} {% endfor %}{% endfor %}{% assign pages = site.html_pages | where_exp:'doc','doc.sitemap != false' | where_exp:'doc','doc.url != "/404.html"' %}{% for page in pages %} {{ page.url | replace:'/index.html','/' | absolute_url | xml_escape }} {% if page.last_modified_at %}{{ page.last_modified_at | date_to_xmlschema }} {% endif %} {% endfor %}{% assign static_files = page.static_files | where_exp:'page','page.sitemap != false' | where_exp:'page','page.name != "404.html"' %}{% for file in static_files %} {{ file.path | replace:'/index.html','/' | absolute_url | xml_escape }} {{ file.modified_time | date_to_xmlschema }} {% endfor %}

{% if page.xsl %}{% endif %}Jekyll{{ site.time | date_to_xmlschema }}{{ page.url | absolute_url | xml_escape }}{% assign title = site.title | default: site.name %}{% if page.collection != "posts" %}{% assign collection = page.collection | capitalize %}{% assign title = title | append: " | " | append: collection %}{% endif %}{% if page.category %}{% assign category = page.category | capitalize %}{% assign title = title | append: " | " | append: category %}{% endif %}{% if title %}{{ title | smartify | xml_escape }}{% endif %}{% if site.description %}{{ site.description | xml_escape }}{% endif %}{% if site.author %}{{ site.author.name | default: site.author | xml_escape }}{% if site.author.email %}{{ site.author.email | xml_escape }}{% endif %}{% if site.author.uri %}{{ site.author.uri | xml_escape }}{% endif %}{% endif %}{% if page.tags %}{% assign posts = site.tags[page.tags] %}{% else %}{% assign posts = site[page.collection] %}{% endif %}{% if page.category %}{% assign posts = posts | where: "categories", page.category %}{% endif %}{% unless site.show_drafts %}{% assign posts = posts | where_exp: "post", "post.draft != true" %}{% endunless %}{% assign posts = posts | sort: "date" | reverse %}{% assign posts_limit = site.feed.posts_limit | default: 10 %}{% for post in posts limit: posts_limit %}{% assign post_title = post.title | smartify | strip_html | normalize_whitespace | xml_escape %}{{ post_title }}{{ post.date | date_to_xmlschema }}{{ post.last_modified_at | default: post.date | date_to_xmlschema }}{{ post.id | absolute_url | xml_escape }}{% assign excerpt_only = post.feed.excerpt_only | default: site.feed.excerpt_only %}{% unless excerpt_only %}{% endunless %}{% assign post_author = post.author | default: post.authors[0] | default: site.author %}{% assign post_author = site.data.authors[post_author] | default: post_author %}{% assign post_author_email = post_author.email | default: nil %}{% assign post_author_uri = post_author.uri | default: nil %}{% assign post_author_name = post_author.name | default: post_author %}{{ post_author_name | default: "" | xml_escape }}{% if post_author_email %}{{ post_author_email | xml_escape }}{% endif %}{% if post_author_uri %}{{ post_author_uri | xml_escape }}{% endif %}{% if post.category %}{% elsif post.categories %}{% for category in post.categories %}{% endfor %}{% endif %}{% for tag in post.tags %}{% endfor %}{% assign post_summary = post.description | default: post.excerpt %}{% if post_summary and post_summary != empty %}{% endif %}{% assign post_image = post.image.path | default: post.image %}{% if post_image %}{% unless post_image contains "://" %}{% assign post_image = post_image | absolute_url %}{% endunless %}{% endif %}{% endfor %}