From 92cd525ea9c919005a318ac0c202bb05b28c1839 Mon Sep 17 00:00:00 2001 From: Kai Reichart Date: Wed, 13 Nov 2024 09:28:56 +0100 Subject: [PATCH 01/80] added ADR for pipelines --- .../en/docs/decisions/0001-pipeline-tools.md | 66 ++++++++++++++++++ content/en/docs/decisions/README.md | 5 ++ content/en/docs/decisions/_adr-template.md | 67 +++++++++++++++++++ 3 files changed, 138 insertions(+) create mode 100644 content/en/docs/decisions/0001-pipeline-tools.md create mode 100644 content/en/docs/decisions/README.md create mode 100644 content/en/docs/decisions/_adr-template.md diff --git a/content/en/docs/decisions/0001-pipeline-tools.md b/content/en/docs/decisions/0001-pipeline-tools.md new file mode 100644 index 0000000..b7bec8c --- /dev/null +++ b/content/en/docs/decisions/0001-pipeline-tools.md @@ -0,0 +1,66 @@ +# CI/CD pipeline tools for composable pipeline + +## Context and Problem Statement + +In order to build a composable pipeline that provides a golden path and reusable components, we need to define the tools that will be used to execute the pipeline. + +ArgoCD is considered set in stone as the tool to manage the deployment of applications. However, the tools to compose and execute the pipeline are still up for debate. + +> Note: The pipeline will use many other tools to perform certain actions such as testing, building, and deploying. This ADR is focused on the tools that will be used to compose and execute the pipeline itself. + +In general, there are 3 decisions to make: + +- Do we want to have 2 separate tools for the execution and composition of the pipeline? +- What tools should we use to execute the pipeline? +- What tools should we use to compose the pipeline? + +## Decision Drivers + +- Level of Maturity +- Integration into ecosystem +- Community support +- Ability to execute code on a system (Workflow Runner) +- Ability to compose pipelines (Workflow Engine) + +## Considered Options + +- Argo Workflows + Events (as Runner and Engine) +- Forgejo Actions (as Runner and Engine) +- Dagger (as Engine) +- Shuttle (as Engine) + +## Decision Outcome + +TBD + +## Pros and Cons of the Options + +### Argo Workflows + Events (as Runner and Engine) + +- Good, because of tight integration with ArgoCD +- Good, because of the ability to trigger additional workflows based on events. +- Good, because of the level of maturity and community support. + +- Bad, because of the way how composition for pipelines works (based on Kubernetes CRDs). + - Templates must be available in the cluster where the pipelines are executed, so any imported templates must be applied into the cluster before the pipeline can be executed and cannot simply reference a repository. +- Bad, because of additional UI to manage the pipeline. +- Bad, because of the learning curve for developers. + +### Forgejo Actions (as Runner and Engine) + +- Good, because of tight integration with GitHub Actions providing a familiar interface for developers and a vast catalog of actions to choose from. +- Good, because of the ability to compose pipelines without relying on another tool. +- Neutral, because of the level of maturity - will require additional investments to provide a production-grade system. + +### Shuttle (as Engine) + +- Neutral, because of simplicity. +- Neutral, because of increased complexity by an additional tool. + +### Dagger (as Engine) + +- Good, because of Pipeline as Code approach. +- Good, because of vendoring of dependencies (no runtime dependency to another repository or network connectivity). +- Neutral, because of increased complexity by an additional tool. + +## More Information diff --git a/content/en/docs/decisions/README.md b/content/en/docs/decisions/README.md new file mode 100644 index 0000000..ae4dc5a --- /dev/null +++ b/content/en/docs/decisions/README.md @@ -0,0 +1,5 @@ +# ADRs + +Architecture Decision Records (ADRs) are a way to capture the important architectural decisions made during the development of a project. They are a way to document the context, the decision, and the consequences of the decision. They are a way to keep track of the architectural decisions made in a project and to communicate them to the team. + +The [Markdown Architectural Decision Records](https://adr.github.io/madr/) (MADR) format is a simple and easy-to-use format for writing ADRs in Markdown. diff --git a/content/en/docs/decisions/_adr-template.md b/content/en/docs/decisions/_adr-template.md new file mode 100644 index 0000000..fa87ccc --- /dev/null +++ b/content/en/docs/decisions/_adr-template.md @@ -0,0 +1,67 @@ + + +# {short title, representative of solved problem and found solution} + +## Context and Problem Statement + +{Describe the context and problem statement, e.g., in free form using two to three sentences or in the form of an illustrative story. You may want to articulate the problem in form of a question and add links to collaboration boards or issue management systems.} + + +## Decision Drivers + +* {decision driver 1, e.g., a force, facing concern, …} +* {decision driver 2, e.g., a force, facing concern, …} +* … + +## Considered Options + +* {title of option 1} +* {title of option 2} +* {title of option 3} +* … + +## Decision Outcome + +Chosen option: "{title of option 1}", because {justification. e.g., only option, which meets k.o. criterion decision driver | which resolves force {force} | … | comes out best (see below)}. + + +### Consequences + +* Good, because {positive consequence, e.g., improvement of one or more desired qualities, …} +* Bad, because {negative consequence, e.g., compromising one or more desired qualities, …} +* … + + +### Confirmation + +{Describe how the implementation of/compliance with the ADR can/will be confirmed. Are the design that was decided for and its implementation in line with the decision made? E.g., a design/code review or a test with a library such as ArchUnit can help validate this. Not that although we classify this element as optional, it is included in many ADRs.} + + +## Pros and Cons of the Options + +### {title of option 1} + + +{example | description | pointer to more information | …} + +* Good, because {argument a} +* Good, because {argument b} + +* Neutral, because {argument c} +* Bad, because {argument d} +* … + +### {title of other option} + +{example | description | pointer to more information | …} + +* Good, because {argument a} +* Good, because {argument b} +* Neutral, because {argument c} +* Bad, because {argument d} +* … + + +## More Information + +{You might want to provide additional evidence/confidence for the decision outcome here and/or document the team agreement on the decision and/or define when/how this decision the decision should be realized and if/when it should be re-visited. Links to other decisions and resources might appear here as well.} From 4d8e1c8938f5ddfcadb9e6a552df33676947daa9 Mon Sep 17 00:00:00 2001 From: Kai Reichart Date: Mon, 18 Nov 2024 16:07:50 +0100 Subject: [PATCH 02/80] updated adr --- .../en/docs/decisions/0001-pipeline-tools.md | 120 +++++++++++++----- 1 file changed, 90 insertions(+), 30 deletions(-) diff --git a/content/en/docs/decisions/0001-pipeline-tools.md b/content/en/docs/decisions/0001-pipeline-tools.md index b7bec8c..311ab33 100644 --- a/content/en/docs/decisions/0001-pipeline-tools.md +++ b/content/en/docs/decisions/0001-pipeline-tools.md @@ -8,24 +8,25 @@ ArgoCD is considered set in stone as the tool to manage the deployment of applic > Note: The pipeline will use many other tools to perform certain actions such as testing, building, and deploying. This ADR is focused on the tools that will be used to compose and execute the pipeline itself. -In general, there are 3 decisions to make: +In general, there are 2 decisions to make: -- Do we want to have 2 separate tools for the execution and composition of the pipeline? - What tools should we use to execute the pipeline? - What tools should we use to compose the pipeline? -## Decision Drivers +The following use-cases should be considered for this decision: -- Level of Maturity -- Integration into ecosystem -- Community support -- Ability to execute code on a system (Workflow Runner) -- Ability to compose pipelines (Workflow Engine) +- **User who wants to manage their own runners (???)** +- User who only wants to use our golden path +- User who wants to use our golden path and add custom actions +- User who wants to use their own templates and import some of our actions +- User who wants to import an existing GitHub repository with a pipeline ## Considered Options -- Argo Workflows + Events (as Runner and Engine) -- Forgejo Actions (as Runner and Engine) +- Argo Workflows + Events +- Argo Workflows + Events + Additional Composition tool +- Forgejo Actions +- Forgejo Actions + Additional Composition tool - Dagger (as Engine) - Shuttle (as Engine) @@ -35,32 +36,91 @@ TBD ## Pros and Cons of the Options -### Argo Workflows + Events (as Runner and Engine) +### Argo Workflows + Events -- Good, because of tight integration with ArgoCD -- Good, because of the ability to trigger additional workflows based on events. -- Good, because of the level of maturity and community support. +**Pro** -- Bad, because of the way how composition for pipelines works (based on Kubernetes CRDs). - - Templates must be available in the cluster where the pipelines are executed, so any imported templates must be applied into the cluster before the pipeline can be executed and cannot simply reference a repository. -- Bad, because of additional UI to manage the pipeline. -- Bad, because of the learning curve for developers. +- integration with ArgoCD +- ability to trigger additional workflows based on events. +- level of maturity and community support. -### Forgejo Actions (as Runner and Engine) +**Con** -- Good, because of tight integration with GitHub Actions providing a familiar interface for developers and a vast catalog of actions to choose from. -- Good, because of the ability to compose pipelines without relying on another tool. -- Neutral, because of the level of maturity - will require additional investments to provide a production-grade system. +- Ability to self-host runners? +- way how composition for pipelines works (based on Kubernetes CRDs) + - Templates must be available in the cluster where the pipelines are executed, so any imported templates must be applied into the cluster before the pipeline can be executed and cannot simply reference a repository + - This makes it difficult to import existing templates from other repositories when using self-hosted runners + - This also makes it difficult to use our golden path, or at least we will need to provide a way to import our golden path into the cluster + - This also makes the split of every component has its own repo very difficult +- additional UI to manage the pipeline +- Additional complexity -### Shuttle (as Engine) +### Argo Workflows + Events + Additional Composition tool -- Neutral, because of simplicity. -- Neutral, because of increased complexity by an additional tool. +**Pro** -### Dagger (as Engine) +- Composability can be offloaded to another tool -- Good, because of Pipeline as Code approach. -- Good, because of vendoring of dependencies (no runtime dependency to another repository or network connectivity). -- Neutral, because of increased complexity by an additional tool. +**Con** -## More Information +- All cons of the previous option (except composability) +- Additional complexity by adding another tool + +### Forgejo Actions + +**Pro** + +- tight integration with GitHub Actions providing a familiar interface for developers and a vast catalog of actions to choose from +- ability to compose pipelines without relying on another tool +- Self-hosting of runners possible +- every component can have its own repository and use different tools (e.g. written in go, bash, python etc.) + +**Con** + +- level of maturity - will require additional investments to provide a production-grade system + +### Forgejo Actions + Additional Tool + +**Pro** + +- may be possible to use GitHub actions alongside another tool + +**Con** + +- additional complexity by adding another tool + +### Shuttle + +**Pro** + +- Possibility to clearly define interfaces for pipeline steps +- Relatively simple + +**Con** + +- basically backed by only one company +- **centralized templates**, so no mechanism for composing pipelines from multiple repositories + +### Dagger + +**Pro** + +- Pipeline as code + - if it runs it should run anywhere and produce the "same" / somewhat stable results + - build environments are defined within containers / the dagger config. Dagger is the only dependency one has to install on a machine +- DX is extremely nice, especially if you have to debug (image) builds, also type safety due to the ability to code your build in a strong language +- additional tooling, like trivy, is added to a build pipeline with low effort due to containers and existing plugin/wrappers +- you can create complex test environments similar to test containers and docker compose + +**Con** + +- relies heavily containers, which might not be available some environments (due to policy etc), it also has an effect on reproducibility and verifiability +- as a dev you need to properly understand containers +- dagger engine has to run privileged locally and/or in the cloud which might be a blocker or at least a big pain in the ... + +**Suggestion Patrick** + +- dagger is a heavy weight and might not be as productive in a dev workflow as it seems (setup lsp etc) +- it might be too opinionated to force on teams, especially since it is not near mainstream enough, community might be too small +- it feels like dagger gets you 95% of the way, but the remaining 5% are a real struggle +- if we like it, we should check the popularity in the dev community before further considering as it has a direct impact on teams and their preferences From 828bc484c90f63d696d410752736d36c9b4119cf Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Thu, 19 Dec 2024 21:52:35 +0100 Subject: [PATCH 03/80] chore(): adjusted frontmatter --- content/en/docs/concepts/5_platforms/CNOE/_index.md | 8 ++++---- content/en/docs/concepts/5_platforms/Humanitec/_index.md | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/content/en/docs/concepts/5_platforms/CNOE/_index.md b/content/en/docs/concepts/5_platforms/CNOE/_index.md index dac0b04..4ef49c6 100644 --- a/content/en/docs/concepts/5_platforms/CNOE/_index.md +++ b/content/en/docs/concepts/5_platforms/CNOE/_index.md @@ -1,7 +1,7 @@ -+++ -title = "CNOE" -weight = 4 -+++ +--- +title: CNOE +weight: 4 +--- * https://cnoe.io/docs/intro diff --git a/content/en/docs/concepts/5_platforms/Humanitec/_index.md b/content/en/docs/concepts/5_platforms/Humanitec/_index.md index 21c9e69..07be1b6 100644 --- a/content/en/docs/concepts/5_platforms/Humanitec/_index.md +++ b/content/en/docs/concepts/5_platforms/Humanitec/_index.md @@ -1,7 +1,7 @@ -+++ -title = "Humanitec" -weight = 4 -+++ +--- +title: Humanitec +weight: 4 +--- tbd \ No newline at end of file From 908f2c1c932986cc7d5a5859c73a6a715c64ab30 Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Thu, 23 Jan 2025 15:44:55 +0100 Subject: [PATCH 04/80] doc(concepts): building blocks of platforms recommended by John Dietz, CEO of Konstruct --- .vscode/settings.json | 21 +++++++++++++++++- .../7b748ff4-image2-1024x580.png | Bin 0 -> 130617 bytes .../platform-components/_index.md | 6 +++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 content/en/docs/concepts/4_digital-platforms/platform-components/7b748ff4-image2-1024x580.png diff --git a/.vscode/settings.json b/.vscode/settings.json index 0436b04..6212e98 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,22 @@ { - "peacock.remoteColor": "#61dafb" + "peacock.remoteColor": "#61dafb", + "workbench.colorCustomizations": { + "activityBar.activeBackground": "#93e6fc", + "activityBar.background": "#93e6fc", + "activityBar.foreground": "#15202b", + "activityBar.inactiveForeground": "#15202b99", + "activityBarBadge.background": "#fa45d4", + "activityBarBadge.foreground": "#15202b", + "commandCenter.border": "#15202b99", + "sash.hoverBorder": "#93e6fc", + "statusBar.background": "#61dafb", + "statusBar.foreground": "#15202b", + "statusBarItem.hoverBackground": "#2fcefa", + "statusBarItem.remoteBackground": "#61dafb", + "statusBarItem.remoteForeground": "#15202b", + "titleBar.activeBackground": "#61dafb", + "titleBar.activeForeground": "#15202b", + "titleBar.inactiveBackground": "#61dafb99", + "titleBar.inactiveForeground": "#15202b99" + } } \ No newline at end of file diff --git a/content/en/docs/concepts/4_digital-platforms/platform-components/7b748ff4-image2-1024x580.png b/content/en/docs/concepts/4_digital-platforms/platform-components/7b748ff4-image2-1024x580.png new file mode 100644 index 0000000000000000000000000000000000000000..79d67548817335740703356b0e636bceb60a914b GIT binary patch literal 130617 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 A|&0; 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 ~B=UuW%Tm|NaW1AJI zo;Ihx^rVef^wjs{?Za3A`IP+(GLoAT>a)THTj_PI!~r=X6@UPm_yzr-6rwU_Kk*MI zx5uQHZZK-h?pGEomd(sf)e3O&uhAZRC72aT|25E=Uha7%U z2+8?edLZ)3%$u!_ID#KV8shHKD~8>hrWy7>ZuH}TLXP7v>5t}^#Ou4Wa4aoxSF5Rv zj-ti<{~g%TskqFC0WJ)PKuh4|!AFmqksBv_7S`j>uN3^Ad;yP;$B%M9qo0TwI2v7u zw!OKs@{k1=-eU&uR-?ou}x!0T|rQi(f5vv$1E>H+~tGoBkL2lAtqG+>h?Cw zBR|zPc1KqlX2qD;?R{Tc7-+4xPOvD_%t~>1J$d*xOf@UV7V}O}fI*9}Pags3%UTIg z5djN6DqPn329UkB5`ORg-bNo7I2)_}+opeshi)d`y;^c5k~;_9HB~|ZOqepqtY;4nCJT83`4T;YZuM4P2E2W*_bzWX z*h^;1#t5a^+&^)1xjvd=(v*Y1YCxQa6djQE03VD6fP(eWiY@)lM&P78b>CKIvixy) zC*ztwzIU%n`Ub%coJ|f#(g3KioOypeetvX67#*c!IYZ%zrKyiLplLxVqC3YR7fOo& zeYpN`nDOcpcaR`_ZXTyy&jzXVq=Z9SX*W2 z<_3MG4LZJQAF|Oq7z#WN{516f=ofs2uvl_O|)&5|E4)%&1PURJ<#|3YG z_$Qn#%iG)&upB_S>tq1LS}6St6~lywNVCLmFIL+LINvY(JFhia+jpPC3m_1Hz+LEf z6A-~%b`Z*Tv3p0{-vEs_CgZT9tt1-tIgnr%3m+els|F)V;&DHN4kd zar8T0sAM@RG8PjliBCaJ&9kbWn zxBPuciqLlLoorNQ&HyYi$fB=m6RTwL2|T^mq(oTKR_UTc>vmdiqh+#UlK6}L+U<32 z^d8woR0fCHno<5`1>EDtAQF={Hp}wO6;`*mN^OzLG1_>rM4IyVmn~r>df49>g;Vdd!gz#q<2SOvhaRK zuz|p`ut+a4QDop&=)d*@$-+&?0`dGd#AErV=!~>rt^)2ZX3FYf_5P~8)8pl2`0S8i z?y%ORvARhhbt)Xn9;)~>A+^eTE%7Z_m*h9Gzke%-BcWuWzmQqlV+nqERo-Qaj;mOo zbfm5eoRYx&9QNcDB0UulKhaF_XQGRJtlRCcoYJ?%00w40LZf#S&Dr$3l^=h8Z{{Da z6~~1G7-q2C2y7HeB|^UD8>?$5B8mfP>afn?z3o%`{p`)XbIC{HAci#kZ%L-TA&8M! z9N!P=0TdlnV4)rp!50_;eg5r?m&j%+)kd8cL?8Y&MB$wI_bQ5V zz=P-QL22HD(tl2FIU8{3`$@^*f=@sn5}0Vjb+-JsoK-`{QAhFk?k`Yic4?^Lz>^rs z(P2B|>Gj@tr2v*Z2>f$cv$wZ9#mb^+AsL(eD@cwQ)hS;{`_CdH3u6yIZey(i1F*#+U>?tDNtO5_D%5Z)$j@_w8u#vZb*%6-uDa0@MoWC)5O=EF zM`(wJdwn}$A{@=~p@WpGiGh!H^Cx{7CrVh@14^_~RH|^^WBCH1kM!U3ZKC)Obs*r$#P-{`SE?#o!Bc)P2 zV);1}m0Vm2|1IweKXf@8l8|`pho=;3SSAuSz?X|(L`yUiKhpu*vZ{DR8ZNe0X1xI{ zCyfs`KONm{hFN!VAm6=}9I);~q;`mJDXjSDU;7bWVr`+UvFugb)?BeMow69G1{Ldw zJMl2NO2Ul2)-YZX3kZOp<=?No3|(YM)ILmzK}IY3i;y{Ilgl!{DgU9sD%`@Bi%H#+ z)T<`O3ZWmP0kd%IQ#vBB(++bl==cZ+T>n2taoXalb|13KSe4Zhu_Gq8{s!(ImOJkwLLN7Q z(5Nz4MbywU&ec8o#_W zmtgfk$lYm-&k)QV#pdokmcA5{u)gdn=lKE5%)^`l@ZkLaA^IAIL7cZhNDg8%Co$;W&C3c{) zLGcOaKw=ga2ZF{!jZi)29t1gUw#saKJ)n|AI?&iKFHy=K--P=JFBVBPT=xlY79Eg8 zh1Yc;BJF(WLmT|VgxAW?U+3#@KSF$m=30HsE-5G-q5DYj!sW{D%yjms9N~AAJHXu? z+w!AxAM+_lPXQQCzu{WuxKpfM-r*v9kQ)$9HN_Br&pENBGRgw{nTd60{Bil@pO}7- z@K^9;#zLZPO+1fcyY$Ye?ju*>8N3R~qsjme4$N#Q+;g!ojh~ zgcj28g1gcbmavq|H~rXG>&&KJue(a)O5zx*G8$@3f*!MP*OK4WkiGDu9zCwYL>JL! z^88=1(d-_Bto~Be3rl>jGHg#|HSOYnlh6lDHZ=hiIb5IxyA;S{G#wtUNxy2aQp`+D zA-E#$2$kM8}-o^cfRc%JRcR$9Hmu)B6nXbY(EGY76;@q zEZ@DSr0F?M$p1Pv(CPH$pZTo!W!4HypqUns*O7Tl;%dwY^Bea&|7LKb0k?I92!Isj z;PTz#Q5R(64h9L9j1w2{URs`n1E0NHpN=XlhhoXpaMbQy2k8t&u*Q{O)%_WD(1(ol zIFlF3z(5zw^N&6ajsO?$uv<1rH5TqKD2ZNiN1T_s&(Ldqz*;H{1d;p!6f1U!R7<-! zpaKY|uyjs(6{$HBKOvN1Bo4yAu=jSlFTvJW@HH3Yc6+OL$Fp^q-b8Tx;}Y^+IFDGC zxBt&2Og*c#7j~t&b^!KULqlIXE$%207^84-*)eil&}!DiRu} z+8U6jbDCs zv-xwo^Yp;GW3-^Krd|>0Hxr}Qa0`D)Pmbk$WlEFd=U6h3za&!a*t>2X`q`GD6f{IGpdGUjFl+ zui9RPegRu)%Le_Y@r+^)5?b#670R7hGC{Z3FgySWll&J*OcNUb=jDVZV>N%z&Q zLSO77B7lG=ibD45VkSd;Ri25k*A9OJe+|HsL`Bs#USscj1B?^$+y#U*1bv4-ETZ3M z3GDFmi3<@nMNj?3QJ%rL%rc^zM7*6S@AiAV-ceM>TI?ILoE?@{@JYuJ9nTdtMg;!W zApiue%(zeYxw0N(rHIQjd0tU#FwP0o?`8K9b7tJ`^%1>!ZKn7{7w*=#cvw2xea}GP zv)Dl4uHWRzk3L(){tYP7$njn7UoKw*nn@orNxAV_VTOf>&ih8wuh8dSUJ_G2JyMY` z5$;tTh=3UvKERv^d$(Ng=Q9HrrgZ|!Z-p`9U`i>Tq5T#6>Vex0gq-~vcFDADp>9fy|!~el3Ka5PpUiK`MI<0Ga65fsoLND6OZm zsL+DP!_5v*K7))&H$?4-cLsSk$5Xhhr{v7csH+vhl1yKHx~FjfKKd_~z@*`KTx`ji znHdRH(3sya-lsY7R!uxQ+BM9y8k(mc%z(qC}0Qcwz=^1XZtajMQP^eWu8xJqxG5%Qf(6aDspX_Dc;* zRG?o_Qy-vg%*JGm0*P(8_C81W`s(dWpXW4rFPzIi{&^%J6mELkmR(XBp#ZGipl0Y! z-y_d%#+#a;B7Q;M@+h0P)}-KsyZ%5P?ly|7B!(&4g;7v=WhYEgV>Si-dV<@{eoCZ2 zHDymVPHEz@LnW~#-7{r@6wmny^)np`(1APy9eE=rGrb~Fq+^BIhn3Ev+qP25xLs$N zhAZ*qT)4}=fb{$o4fi>dbD!CDDp18>w~BCajkiCkLE7N`EB&M`Z-l#%A`O7&c*v6T z+gN^Q$^P$fSSt=4i@A{`B0%RGUrEdesPskgdp2xCy0^uGg=S{;F1zqMUIod zT9dj-ua5b#g@Ta+)GT*j9br`yxz?KZJAYBUlMg|q*p#6z@6 zSarI6*4fmr?v^(dg8+rwWzZ57TU>G7N%K#!d^$+;==6@Q#9OSh-kVzz9Zshaq}6lT z%x}Q>q@oHZ#%TasXx7K?^+EhZkogByfX`)x%8LZnA4t!t{)4?hQpS1@nB)7{U!{5s z&uD@kgm)SZ>NuW_{geu{?<5eVqu?5HIRG3wWlzOJl3d z`|V5VWYI-&jf2BPKkq!LK69`}HcLvV;9b~y;8Dj0ClK4-5x|#l2nWFMGKhaFQ{kS89ElvW009(r@ zNjRr$SdM>Fd%ot8tKWn`lhnbUCcNbZ31+&8yu^c)W6wx3CH8H5VomeSrBmDJ!<^=$)+xW25L2fVzP5i-Ye&%9hKMQv>`%o z@T9S1I|A+^&`iwNOiZ6D|601|7ZkC+M(VBEyI!^`is{5ZuM=S;*E=x!&T+dYf>e4^qxX3XOcMZH=y5_eUH}NekE#;vm;kJLg;L8B0&wN# zi^)FBR8rudBRTI5A}kVsj6xeV;YIE+&Ic0=?kR&zY&)6GuiXFoo=-v2D^5k41R@0zhQUzAlH%ywdmc)`&0 zN3&}HK%`3mR4ROjI8B!qe6D5zi95*EBgwVDuU;gVjTOd^$wYx@p zk9NikPFwup(cn?jtoq%ZdC4Zyzw}r@*t7G6KBQA)Jpt7!lgGEsfXt~blDki4eO`^$ zO<-9qv-|X=Bz_arK9!s?^LW^Pp)xHI1Fuk`B#0cSzr4a|I(}UJpWAR~c zQU;(w>%-3|n`yNKo_JCOo9wC;x4slLu>HtPXgwpS@y9JYKSl9_4N|FX3)l*90%cY?B#UFp2rg!^1H4lBS3~VVPhy+=P9$b&S)Agdgmh%j%SS@(4S89w1H_=f571T z*tMLIj3FG(*0)8H%{K|EQ?mb<8;&R5sY?Hw1B-#?@i|SgZ~LwYrHG=N^+vIH4wG?c z(`E=d)qi=BgVmQKdCh_3(5>yCFygnLA&|t-XwZ(NlL29N|0TlI$RetNq=&!?MZ!BW zLmvYj?=k&ii&x5Qjg^~&6-^}CA_$00l5*q;S1k~kA-ibPA56#6l9CucfBqaF7uR|I z^*|W&Gj0I>{L}D2?+U9N|0#+`6*@IVsh_hxH)-YC48zB=7>!CPzlQ%9Q| zM#580@IafaN&!bOe;#L*`UT?PapdmLaR%NoHb6d2`j0ux<(;_ZVR7X^4H(rnx8f2g^DTa9j|{3e&;5ZvgNzNkDdA?@z(VR zp6UC>&Xl;V2=gB=$P1lA6Ezt1fJyz=)s95R9C_ReD7BG?k<*{ z+L3{GyGB>{&)>$Q^1OVO6UOBdJ=GYMoAK?I?ku@k#}AaCV?5^mc;{{q5&C~sOyT$nTA9Qez&C41(15t0 zx-`}^;0KCQ&X}UD$A{o&4l4u%Qy}@*Vh<~1sh^>b#_`Ob*XTSMb!XRgBN{Sq&%AFZq;t? zJw|FAMu2gbisk!ZC=7b}kC^GG;B2=dOGH_ugHbuXpIBAYq+$a^Zj6lxFUt(DsXIE7 zd_3Y2X7!Z_V>9K>&YxUKR9@~@u)4^w`S*8yU!c2~L;9Q}cG)6cDqx#sQm9;rw~~c2 zMm7W${nHQ;By0~-oy*>NGNtFlKdZoRH$`tSK}0tLt_@4*x&GnstF1U$>Nwpx+kvao zt&Pj$HB1zxzr#24Rc6IXsa%rOKHGGZLe9pxe$>eT{7kE|L7@Qb1Xc%88akGHJrpPY z59TTH9qW7ru9H%>WMrLoP1@XgvVVZ$9bo)@;%_SZso)mQ(RAh1eDv?-q0n*j(-kQf z@+&B8?;7>P=GltAPaNMiRe*T*c2-Ex+k1b4$V@_9t$tV4!w+pBvla7z(~#oFPv!}5 zEbffUnv2N00bLILrt`Fr4P2sQu>SE@+OWr@gR*3bg_hllBpEVI?^HPGo& zl5;SFhskZHzDWubF435K(*d;j)g_Z+DM{W3RM5YPINW^*Ved+&TL`SCNV%!uNJ!~+ zSYW(ZHRazw_ipGLl+%`{^9?vhjV$kqQsphD9Ty1-St!jImd&|e-CwRHQl=VvFI*l! z(F?Gu{=GSpGj=Qk80Vz^s6H86ub#R4QifKI`Rsu}#eMG$F&>JO8UnZ`az%5Id+eHj zl@Uu;mdO(b@%m-SIf^Tv=~HZuQ_S6P;AnbrN;hJvqXo?$UVMe`oFO^1{<^Ei#iVRt z8xdzWESItSp(re-wA`)zqAX5i67&5ilyXM2b?ZqUr&t-01TD=y4^N`SX< z_6t9PA4R{9VqMEFO?;%3$d&91Hb_=hD9mGyQ1?IsG&=}^)PIR##u@SiIwrTn0cNY+ z&!lp_sZoHETTyaKw6aw}+lhW9Y&SPBUG@lzR*oqvXNyiw7Blw)dob=Z)HJk2G+OA< zOG^*rMv75yXxJ9`m6PTi9}Tx9WI&~W@VJ<3L|{=N)73wKF+JLB$`g~kG-l$aNi=AH zA1)~UT~az0xd7bDdGh-q!{gX5%Qr)1KWr``#S8aG}pEdLkT=f5Ns#ZR7de#2AdQWVFL@0ebS+=<_Y%vEv!D03MvOx4WbNTss zfMA&F3XO9cOvNc)!mq-Q<#v@Hxm<~TH*)~`lJ_tBqmicC0DRX1tl+4>9D)U4Hh{~M zwqV)iv~WrfuZ@H``TX+G==u+% z5<-+{Z^1s_r(W5Sr2c+T=OMv_9x(nxO+e!9*zTGJ+y%cm$DG30UEvo=>8&1Mz1Un= zudUH#;(v&u3=p>ELD&wXpF1xHy1<%2TLFd5lgxO^D^B9aMWP~rpXD)ldcRfp8h%Wl z0{rT#)GS_QyS+pm)=prGjn@gAmYBKo_P0)77iryCl#$kF!>AghS?YHBgR|D}C zpx3js)vP{uKS}7M8UIEJ7lZ@j#pxVOc_P?k@jh5u$n?EZCG&)6vrk z#AY4E1m1=YfLVoC;y0hKXl^?HitC^=W*84`ju4gJG6RU1T$CUpGF*N|YyjgHMUPJ? zc|HE`)A*n03(8^x1jX}AKm25aZLnZDNS84@rG#^02cE#lMIy{h$4d8m_HiHkLmeHI zSPRa0VXFNfo;I^&LP}F;MTdE;Q3N0%KuM_!?&ZzDz5#E8e{dGS z)?!O#oD{eP92exC>L^vlgQ~2Xs)`i=h%4XD2HBL96gi#JI5h^7!t_tmj;gxGXc6^u zdsWvo-@O94F56Q2pkMpfb@ub3 zce@YZQ4&Dx-tJfUHI*x?r$K`Zm@;`>CF|{lv}x0ts9i{}6#P>BdE5=_b!I!pkuxmI z8w&E7_kHFY-sVGJr6^nIWi|Il$@}|{`xR-z#(>6Bhj_mRwhk%$2;bcl=$?smP)H0l zk&$6Dbah0O^NQw{Uv9pGyl1OFNjt=D8-oV79tu>~F#nEt1Hg968`g(7J8(5Zll&n*gTzOzFr2=3o*Iu5412*+XIlp{EF z_GWlhEQg=tF<9o|ZCNNTTq7qHXYV#t%;q{$FFPjU%|1qG-XU5&iA;}d*vL2!uEfV` zj~NkD5S+yz4Q4XQn(;NFY9}%N6}{T#oEsJt%YgQrrncT?*yg$VdOQzN4GMf%r>36_ z(W(K-<(aK>VN@;gh7kCS*c~gvP0~EBNW{=(U zvdoB0_wRat&*YjK+uPl$_k`7$_2<5Ai6^Zl(|mcU6cb3hU39iQ^m@D?Am@EkokRRF z^xGo$Y}sWv$|<~MSd6~4<*P|_}9s!X?H~cwwY#y+0ACXe@XB$@2@KL9-+RRF$NK@zF zUNO$w()F7WQn=!XqKMp$-8oO2-k3R1+5h?wG+n|aD!r=D9prO=b4q-)&Ag1{?wR58u(_|=3^ttf6rr1R|?Roffd_d;Ri2^9M;AsCX%RCunTdDcpVHE zgmPvJUy*{NIkEavAU})+%40~i`2f+T87sg{C>c2{j=TaJ0qSdUQSv*yVoPt8s&r4a zM>{sbn6JyqWci?y1OIH^z(<{Ed9MkYYkMLaKZem{f1x4zfPl+e`(s$okG0fL_@d}^ z=v;#Bjs$n(mczdFj;=q44=Y*lRd-2hSqvD%OF)yCS6~dPopY z5{|q)Q3SVH?=Naiv>J)A|j37S-122zEuGvm!GXzv;b#y=# znD-v{Ukmal&3({OMVjWIwEfHvNyp|L#s?-*$m1`GL&gh8uJ`F?(Yzd=G1}dk$xhs7 zAnGE)e9ET<)+$CfQ5;Dt(#*o(1O7f)E;OaxOo1u;aDM~+w$7ut3f5Qihd(6qenv?L@L3ZjsV zjs$@NDYk=GAV>!M`5=obT1a23`yL|knPSt`Yr!Sl0!40j$hvNWUSi(&51s0{N;LD4 zr3THK#PI#6eTvVN(weLRUx%0$+xuI;S#~TBvme9!P~7o^GByQb3Qdj2>B9N;h-Y_s zsdpvogWu(S;N+CX?wyXI#X&rFDUabi-EZn{NTCHTvGv0r z+P+n^JVvlc+BK*7swMZe>8U9MH}OPzLQU8=xjG^@Jw8nOX(G7SBekKhGOGyoc|+r- z3)IXp=J?*w@%672EGKVM%z3H*#Y~46EBbi;mac5^aSG=9OXGbs=Juj^Tq2R>W#juj z|3Df|Xg`f>3vAqU{7jsJO{t7PoU{`QON{VksqA4%sI!uv@RIOfLUYF#{#!&M(BP70< zm6(AR-sYt$CXYw#wFLU=U35yklF^*o2Zqj{muiPT>YMC^c%&Sy-@+ zlRSfDa5WPpzC00r*0A7;gFmnPEbmSHZ+RmRMZnmQdjGU{<9uNIgRrYpOF_TZYD;l{ zK~ht^9)c9Gy?a*^VZLlryeGVqxOiWMtlhcdG&DLkL_T1`KnCR+JCd&2nSe9m>Kkj)Un2=|glnWgGj8NfQo25F*95WEl9g>i`Xc&Q*twPeRDHCa4bh$HOLlkf<7!fJ{0b`KUYVG zvDyt*n;EI<*sJopa?P%pr~)N0_om5ejQWW#>M}98T@(*&Y|2=w|M-(T=IeP`(1PoJ zs^qNO;27QUrRkncfffwBbOl2r$K$nL0f|3u!SrZz-`+3)X!#;i5CAQ?dgLybY_q)e zx$PHQdEY#HV9@-$_G?FP&e`j4$o75;L%zJ`A~< zUa)_Fiu?Wem*$@>uE}{XT{+}BnLI);0WJB?;xo`_N`OI#^%RnYFEEqEv$(##2R(4j zpn~iTWhWVLPnGf1-g#cx;z%d0`)Gx!YPI$DbO ze9FkQ{5-43Tp^l(?O*M+9rqODBTs>6l4-rq7vq&@;rWZ|Qt9^|Iq5c0SY~*d7m?>9 z#J-0{T<;=Bt+|6gUF+hhH@a@)tFiq%^MZ9Z}X7Fa?yUU8n?2ll4)^oycKp0`0KvSexx6>u1vQY*)E8 zNQoNOEjM9V%+7L^Ho1oXs&Ku`-dzQG&Gj-e#%27va^1fS^g0n@0jW6+cGD{90uHtT z_`S__cFKampstcH0mF+Prd>g_Ya!_UA(*pZom-qbfhgB&h<|3M={{Yi^E`qGQX6A= zwmgUeJDb#E;N=BZK!wAp;Cy-e9jP$&Nk{LA0U8lGEORw=TKA;+u2?ALJRTN?Z>e7? zboj61^zM3MOA7K9I}Ca)uYkh7@+B$&OqDKn5PBpz{m~_;om_fE(-G1q( zU`oVgVbkh)cTDQvx-5deTCMJkEc)aAop;6Cq9&tF%eR|?GH_fOL&NNU`|~LWf&~{C zFB}wp%u|ZG$=#?q0Ce zs_CC{kX>ZZWOjy`_fPAnx0vyCzT6Dj;DJ?yzhqEE&d#cDN8})u5oZycoX;KS?vu>V z{!S(zxq}^S!*CM?9T%9vgGq1&E^EC?1fp zi&6BJVM8OawcTjXcc+J}e;iqVLxZb*FAlmJGTl<=;_FCil>oDMZ@z;bi~clTtB~vt zr`F?-HvZ|^*&HVSr?PrBT;tA_sW>;W=ZKE5yTxr7_mk!vG{@zVCeH&E(sGNgM+BE^ z{eUB~62rFUiIR7+J@kcAwB<;!;qDJy0OJw0-|xFfWKEv9c|U>XeN(+lg<;|ypII;N zLo7!V`A0Ao3tV>6YO7hO82GW(c8q&B7l-59UXgw#S6j9t;CWz2g?=TLWwFnDUh6w7CwX(LXp? zJyZx&xhX&}N8GZ=5ur{Uz`*c|Dcg4D=vfEWz3OM63!nymhCgCj+s~^nwjXbDBR3MgjX@xv7{EdIJyMsfOi%Qp4wi7HG)JDbY(rsA*l+zZ|O?%MsS(`<(Q6)4%ti zpYKykhtAzH=)#iLf!5;L&()TI-4R4gYi8-C{-25|w3TrFq{veq`{0uX(Jyf+(=b)4 zz6MOeY9JWsRPY#3)7F+FAl!jNSrKK?8zWp+H9w zQ%>j%BRQ4Ne&!c+7|h`7pI%^v zK7$uUQ*9Kc81e+Kg4oa|GY$jqu{q;eIR4Z4cf~5)O68XzAS*-Ci20>XTG*B8H>oFs zC1P;M*<-={n9TbjTwY2lLC4If$NYm)anEHHa>V=#K+N8Qp3taSt}9>awN!s=Q>DJh3Q)>MeqkyYIKhS@1a=ly0`+5D8&#iN} zvcvHHB&Fl+jp|N#8a!s*m7!jwsr0_9WfRdEI(01Ww@t7`y_Gn-RoQW$ejXqy%UzX*$mtWi`!`Qu#^DFyy*KL9Kd2ae`RkbH?Xv>w2yQE}6K$;Vb!RX9y||P-L)?MV@1v?J z?%^lY)D@5L@aX79*@yOac5Ey)^X3VthUFBk>W$fme>lu`i#mAfUkRm0$GP{x;X&L} z+7pe6CTR|;pUYGW)!Re`Q@XEGl1SxC%)k2?>X(6ZbkS=cB`2rKJAtS)q>~X76O)2m zs?zYM#QN_BMoeqp)JwFlV=k=-a+eEHF>RGu7^vs!_gMZn{(XR4u}J_)y-4jRoF2zh z!6~^_>cHuWdPvpK&@ek}isIMNXskeZ5hiAEl1gz$emtiJdR$FjV}BQ3oZf4-;0$Ax=Ty@^e@7YIuIMga-kuhQ?`bd_}4qR8;`EczXGlwlp_&viWM<6u88()lB znm__{=gpVWp&>siz;}p+jO8QqU$3s;&LqKnAM-!83W*~fB^7z!rCSjh<`@Y^4Dyg9 z`L$#EV+@L+Rdu({@89bj9JU-AwsPjs?fSw?aQMz5f6WJ>`_NyL-?HmRe#|3W3J<`J zg3R)Y+272N_a=<>r@9>GQ_>;FU?;q5qstIB3<|b%VxAI-P-#X=?WfMZzJ2!r*TAop zoEJ>8r?tyifIRr=nIcIc6VKc~TVV+*BbdRmp1*ACF4OS$MbU~H^SSjEDyP}z_C0^w z3&_ujIs5zn#D+u^wAKWW{39tAHQ;zXeUtU}y`^f+)hj8NL65<=+b4#E5qe@wIUf@7 z4q>cW;ig$hSRy7JFZ*1QzxEe@8#5X@WA?d9Ik;^#3S(OIL-LUP_I6P*dAf3Q9C2{?&lDnJFJcE*O#Q+$w$;y@#<}Q!$SoJrP&@Lv+94I`BsAWwUe3Vs)Q*mo1S` zb|y9xKo1Tji;ofA(9m%0_KGtbp?=hJ97q!OL{L`fAchI9#8ozJcOL3SEwo_nEAy>W%s;2cR85I7L9{Ha-)M}-Q-$$s&0P!+b{ZqZ&~!RbI`jcl#+ceE>t1UQTF^uiF@hv`(W``-zg(Et0%|KBG*R(RZ!hC#y27H0uz*oxKm= zBN*D?5t$bk%u+Gqd)#Bpbvbc;7vSEqxb6OOx!SOj{O8J1$5wwu+K461ft6TJpJT(# zktlxn+FDzdN^zq;$7~A;p#*rRpbPOk@PQw%&0F*3>6VMN>#!v$Bo1wKfNyHdB-yS# zrraXP;`5V}4F47_W%{TtF#2r%a)@j75i@32*&FErvXG>u;6if@Xk};6rw@c-lI&$Q zx;~KIdR9$=kPpUdXqXWKqXAB-?}`*?gSotEgf?)0dZi0*`E6lyB;jeIXOsUo;0~Andkp}+8#xB8V4Q2_F8j}zfj+0+Nn4YS%Uq$sOM@uF^(03n6^k26-zz$D3~M(OL&TkZ?B4D^Ec-PlX>xqvQUJ-BfuNC($t9 za|~M-Ca!`=ya5kKt9fKr7L4VxX10vv!*6Sn0dpeIQ;{*!J4?4!FoTw;4nC6^#|9Ye zGTK=vN{;@S;LE99{!gFqfM?+0TD9Sd_4AU2c*ReQ6YZ-FSpV0PN0{+KO#%GD&uaE! zEZQbc5^U{q%~q`cjil-Kj=NO3W@wR3^;V!)N~inFBo^+boCK?(YWj=j`>v%s=i zmnTRXk}LTiWwEn-%FqFg-AHLYIh72&51Id@yT~kR0%GUNYTxS{t!tvkt0!9|IJ4H+ z*OgB5eWZJa2{r!|GPn`ZiKenOIa=H~oE)*dxgtt4Z{>Cy#B*4&b=OKGo)eeOWfFoC z3=jgeptu3X%vBD0g@uKWc`c(T?;og>j^#1Uz?hxCf7KlwD|k~iRp3F;8owcTFnUuarfdx##OQE^clr{rILO z1Ox=I|GP#xtmfiX`g@uJTb@;@@mh?}(Sgy;&p4ya7@3v?% zb0AF?(*=9V=KVgW|2UUy`*Fvw(J=K5^iVcZp`k#w#sh0`jHiavHe==ByZ_N2&iqy_ zfif~5uL=YO1ux?34|9aZiza==e!a>OE23C7usjlXN~>J1320tAseErRuhwahIW4WO z9zRP-L`79PH}?`^DEsgPf=basC6zM-MxNX^nDyZsC|L}dyt=kXr#$MbY%_{+R2W~B zj@e0W4GUgDp2r+c{u?>vD?ym__`y<&DsoEThaH#)D`B|{3zMi;kS9V%r2tsz1w7!B zj~_oyjE&6&`Jd92hGlndk(k?WziCu{E88*d))}x(Oivg0B4`w@Hf^Fu6@QI*ANx4= zmHs`zD@CMuJg&2>zH)+mz!1PX0QnEc=*RpDadC01EG#R|vM}oZPN=4VL3v}NP|czU z1+Jkh@X3(4nAF#=+F@RlM5}gUJB~A(%LI{R;FMnJP_a<3&7Xh?a7_OBV`@nCTqY`Z zZ0k7yKmG4y*4+a~mt{Je!tSvU_#SZi)v+POfX?4*T~^uf0uy5VX?uTv5{!!`B_#Zc zM-**i(A?@~8Cbpdz2yS$IMeRm@)3{9 zvH}g-I_hnt*Y4NkW{3Tsfgikk_s$Fj#IWZ{P{8dv(A1>*92p=HI9qQ&&j{c`0y>O9 zYC}s$Ck?1{18d6|*uH;H^4}}nz(NHKjEt;oY<64_c;

dbk(KODc7lV?`B!s{s%_ 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 This page is in work. Right now we have in the index a collection of links describing and listing typical components and building blocks of platforms. Also we have a growing number of subsections regarding special types of components. +See also: +* https://thenewstack.io/build-an-open-source-kubernetes-gitops-platform-part-1/ +* https://thenewstack.io/build-an-open-source-kubernetes-gitops-platform-part-2/ + +![alt text](7b748ff4-image2-1024x580.png) + From 2949d154f9778a7d77bd30884b4054da640c649b Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Tue, 25 Feb 2025 16:32:30 +0100 Subject: [PATCH 05/80] chore(architecture): minutes of several meetings in the new-architecture agenda --- .../design/architectural-documentation.md | 39 ++++++++++ .../design/architectural-work-structure.md | 73 +++++++++++++++++++ .../solution/design/platform-component.md | 39 ++++++++++ 3 files changed, 151 insertions(+) create mode 100644 content/en/docs/solution/design/architectural-documentation.md create mode 100644 content/en/docs/solution/design/architectural-work-structure.md create mode 100644 content/en/docs/solution/design/platform-component.md diff --git a/content/en/docs/solution/design/architectural-documentation.md b/content/en/docs/solution/design/architectural-documentation.md new file mode 100644 index 0000000..ddbaad3 --- /dev/null +++ b/content/en/docs/solution/design/architectural-documentation.md @@ -0,0 +1,39 @@ +# why we have architectural documentation + +TN: Robert, Patrick, Stefan, Stephan +25.2.25, 13-14h + +## referring Tickets / Links +* https://jira.telekom-mms.com/browse/IPCEICIS-2424 +* https://jira.telekom-mms.com/browse/IPCEICIS-478 +* Confluence: https://confluence.telekom-mms.com/display/IPCEICIS/Architecture + +## charts + +we need charts, because: + +* external stakeholders (especially architects) want to understand our product and component structure(*) +* our team needs visualization in technical discussions(**) +* we need to have discussions during creating the documentation + +(*): marker: "jetzt hab' ich das erste mal so halbwegs verstanden was ihr da überhaupt macht" +(**) marker: ???? + + + +## typed of charts + +* schichtenmodell (frontend, middleware, backend) +* bebauungsplan mit abhängigkeiten, domänen +* kontext von außen +* komponentendiagramm, + +## decisions + +* openbao is backend-system, wird über apis erreicht + +## further topics / new requirements + +* runbook (compare to openbao discussions) +* persistenz der EDP konfiguartion (zb postgres) +* OIDC vs. SSI \ No newline at end of file diff --git a/content/en/docs/solution/design/architectural-work-structure.md b/content/en/docs/solution/design/architectural-work-structure.md new file mode 100644 index 0000000..0dbe0e6 --- /dev/null +++ b/content/en/docs/solution/design/architectural-work-structure.md @@ -0,0 +1,73 @@ + + +# arbeitsteilung arcihtekur, nach innen und nach aussen + +Sebastiano, Stefan, Robert, Patrick, Stephan +25.2.25, 14-15h + +## links +* https://confluence.telekom-mms.com/display/IPCEICIS/Team+Members + +# montags-call +* Sebasriano im montags-call, inklusive florian, mindestens interim, solange wir keinen architektur-aussenminister haben + +# workshops +* nach abstimmung mit hasan zu platform workshops +* weitere beteiligung in weiteren workshop-serien to be defined + +# programm-alignment +* sponsoren finden +* erledigt sich durch die workshop-serien + +# interne architekten +* robert und patrick steigen ein +* themen-teilung + +# produkt struktur +edp standalone +ipcei edp + +# architektur themen + +## stl +produktstruktur +application model (cnoe, oam, score, xrd, ...) +api +backstage (usage scenarios) +pipelining +'everything as code', deklaratives deployment, crossplane (bzw. orchestrator) + +ggf: +identity mgmt + +nicht: +security +monitoring +kubernetes internals + +## robert: +pipelining +kubernetes-inetrnals +api +crossplane +platforming - erzeugen von ressourcen in 'clouds' (e.g. gcp, und hetzner :-) ) + +## patrick: +security +identity-mgmt (SSI) +EaC +und alles andere macht mir auch total spass! + +# einschätzungen: +* ipceicis-pltaform ist wichtigstes teilprojekt (hasan + patrick) +* offener punkt: workload-steuerung, application model (kompatibility mit EDP) +* thema security, siehe ssi vs. oidc +* wir brauchen eigene workshops zum definieren der zusammenarbiets-modi + +# committements +* patrick und robert nehmen teil an architektur + +# offen +* sebastian schwaar onboarding? (>=50%) --- robert fragt + * alternative: consulting/support anfallsweise + * hält eine kubernetes einführungs-schulung --> termine sind zu vereinbaren (liegt bei sophie) \ No newline at end of file diff --git a/content/en/docs/solution/design/platform-component.md b/content/en/docs/solution/design/platform-component.md new file mode 100644 index 0000000..d20c0c4 --- /dev/null +++ b/content/en/docs/solution/design/platform-component.md @@ -0,0 +1,39 @@ + + +# platform-team austausch + +## stefan +* initiale fragen: +* vor 2 wochen workshop tapeten-termin +* wer nimmt an den workshops teil? +* was bietet platform an? +* EDP: könnte 5mio/a kosten + * -> produkt pitch mit marko + * -> edp ist unabhängig von ipceicis cloud continuum* + * generalisierte quality of services ( <-> platform schnittstelle) + + + +## Hasan: +* martin macht: agent based iac generation +* platform-workshops mitgestalten +* mms-fokus +* connectivity enabled cloud offering, e2e von infrastruktur bis endgerät +* sdk für latenzarme systeme, beraten und integrieren + * monitoring in EDP? +* beispiel 'unity' +* vorstellung im arch call +* wie können unterschieldiche applikationsebenen auf unterschiedliche infrastruktur(compute ebenen) verteit werden +* zero touch application deployment model +* ich werde gerade 'abgebremst' +* workshop beteiligung, TPM application model +## martin + * edgeXR erlaubt keine persistenz + * openai, llm als abstarktion nicht vorhanden + * momentan nur compute vorhanden + * roaming von applikationen --> EDP muss das unterstützen + * anwendungsfall: sprachmodell übersetzt design-artifakte in architektur, dann wird provisionierung ermöglicht + +? Applikations-modelle +? zusammenhang mit golden paths + * zB für reines compute faas From fa1e34324738098fe5e1b59d36634dd752ff61dd Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Mon, 31 Mar 2025 09:58:40 +0200 Subject: [PATCH 06/80] doc(arch): minutes of a robert-stephan talk about crossplane vs terraform --- .../design/crossplane-vs-terraform.md | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 content/en/docs/solution/design/crossplane-vs-terraform.md diff --git a/content/en/docs/solution/design/crossplane-vs-terraform.md b/content/en/docs/solution/design/crossplane-vs-terraform.md new file mode 100644 index 0000000..00294cc --- /dev/null +++ b/content/en/docs/solution/design/crossplane-vs-terraform.md @@ -0,0 +1,23 @@ +# crossplane dawn? + +* Monday, March 31, 2025 + +## Issue + +Robert worked on the kindserver reconciling. + +He got aware that crossplane is able to delete clusters when drift is detected. This mustnt happen for sure in productive clusters. + +Even worse, if crossplane did delete the cluster and then set it up again correctly, argocd would be out of sync and had no idea by default how to relate the old and new cluster. + +## Decisions + +1. quick solution: crosspllane doesn't delete clusters. + * If it detects drift with a kind cluster, it shall create an alert (like email) but not act in any way +2. analyze how crossplane orchestration logic calls 'business logic' to decide what to do. + * In this logic we could decide whether to delete resources like clusters and if so then how. Secondly an 'orchestration' or let's workflow how to correctly set the old state with respect to argocd could be implemented there. +3. keep terraform in mind + * we probably will need it in adapters anyway + * if the crossplane design does not fir, or the benefit is too small, or we definetly ahve more ressources in developing terraform, the we could completley switch +4. focus on EDP domain and application logic + * for the momen (in MVP1) we need to focus on EDP higher level functionality \ No newline at end of file From 1bbedec64a4030eccc79bb33b7f5214a10e4a434 Mon Sep 17 00:00:00 2001 From: Bot Date: Tue, 29 Apr 2025 15:21:31 +0200 Subject: [PATCH 07/80] ex post: review minutes 01.04.25 --- content/en/blog/20250401_review.md | 87 ++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 content/en/blog/20250401_review.md diff --git a/content/en/blog/20250401_review.md b/content/en/blog/20250401_review.md new file mode 100644 index 0000000..051acb2 --- /dev/null +++ b/content/en/blog/20250401_review.md @@ -0,0 +1,87 @@ +# Review + +1) 09h35 Marco +business plan +issue: value of software, depreciation +FTE: around 100 overall, 3 full teams of developers +tax discussion + +10h04 Discussions + +2) 10h10 Julius + +3) 10h27 Sebastiano - DevDay bis 10h40 + +schriften bei votes größer - fragen sollten lesbar sein! + +devops is dead .... claim + + +4) Stephan bis 10h55 + +5) christopher 10h58 + +6) robert 11:11 +- app +- devops-pipelines +- edp in osc deployed + +7) michal has nothing to show + +8) evgenii wants to finish -- 11:30 + +9) patrick 11:32 + + + +==== + +projekt management meeting + +workshops, externe teams + +customer episodes + +wem was wo prinzipien +| +Rollen, Personas + +weiter die perspektive des nutzers bekommen, inneres verlangen eines developers, mein anspruch an das EDP +(bekommen wir das hin, möchte ic damit arbeiten) + +level 2 erklimmen + +workshops halten + +senioren bekommen + + +level1: source code structure, artefakte builden, revision control, branching model, e.g. pull requesting, tests der software, local debugging +level2: automatisierung des artefakte-builds, versionsmgmt, milestones, tickets, issues, compliances an security +level3: deployment auf stages, feedback pipeline verhalten +level4: feedback app-verhalten (logs, metrics, alerts) + development loop +level5: 3rd level support in production + +level1: coding +source code structure, artefakte builden, revision control, branching model, e.g. pull requesting, tests der software, local debugging + +level2: reaching the outdside world with output +automatisierung des artefakte-builds, versionsmgmt, milestones, tickets, issues, compliances an security + +level3: run the app anywhere +deployment auf stages, feedback pipeline verhalten + +level4: monitoring the app +feedback app-verhalten (logs, metrics, alerts) + development loop + +level5: support +3rd level support in production (or any outer stage) + + + +sprint 4 +leveraging säule +eigene app säule +chore säule + + From ceb213cf641867c488f6a394e370309efaeb9d1c Mon Sep 17 00:00:00 2001 From: Bot Date: Tue, 29 Apr 2025 15:23:37 +0200 Subject: [PATCH 08/80] doc(work-structure): MVP1-12-OTC kickoff planning --- content/en/docs/project/MVP-12-OTC.md | 267 ++++++++++++++++++++++++++ 1 file changed, 267 insertions(+) create mode 100644 content/en/docs/project/MVP-12-OTC.md diff --git a/content/en/docs/project/MVP-12-OTC.md b/content/en/docs/project/MVP-12-OTC.md new file mode 100644 index 0000000..3969671 --- /dev/null +++ b/content/en/docs/project/MVP-12-OTC.md @@ -0,0 +1,267 @@ + + +# Ideen + +* Kanban +* product review sessions + +# ChatGPT + +## Fehlendes Backlog + +> welche agilen vorgehensmodelle bzw. best practices gibt es in der software-entwicklung, wenn das product backlog noch nicht da ist. es gibt zwar eine produktvision und auch schon einen PoC, aber das Produkt ist sowohl technisch als auch nutzenseitig immer nocht nicht planbar in user stories. daher ist SCRUM nicht machbar. das team ist ca. 8 personen groß, und wir überlgen, einen meilenstein in den nächsten 8 wochen einfach durch tägliches 'PDCA' zu erstellen: ein morgendliches planning, dann in subgruppen ein erforschen, dann im Plenum wieder C (Check) zusammenführen/integrieren, und ein abschliessendes 'A' als Ergebnissicherung, Versionierierung, Dokumentation. Was hälst du von diesem Vorgehen, bzw. welches Risiken und Verbesserungsvorschläge hast du? Oder gibt es ein Standard-Vorgehen hierfür? + +Dein beschriebenes Szenario – Vision und PoC vorhanden, aber kein ausformuliertes Product Backlog – ist typisch für eine frühe **Explorations- oder Inceptionsphase** in der Produktentwicklung. In dieser Phase ist klassisches **Scrum** tatsächlich oft zu starr, weil es eine gewisse Klarheit über Features und Stories voraussetzt. Das von euch überlegte Vorgehen klingt nach einer sehr pragmatischen und iterativen Methode, die im Kern gut zu den **Lean-Startup-Prinzipien** oder **Design Thinking + Agile Engineering** passt. + +## Bewertung eures PDCA-basierten Vorgehens + +**Positiv:** +- **Täglicher PDCA-Zyklus** (Plan-Do-Check-Act) sorgt für schnelle Feedbackschleifen. +- **Morgendliches Planning** und **Check-Meeting im Plenum** fördern Transparenz und Selbstorganisation. +- **Subgruppen-Erkundung** erlaubt parallele Experimente. +- **Abschließendes "A"** zur Ergebnissicherung ist essenziell, sonst bleibt es bei "busy work". + +**Risiken:** +1. **Fehlende Langfriststruktur:** Ohne grobe übergreifende Richtung (z. B. Meilensteinplan, Zielbild) kann es leicht in ziellosem Explorieren enden. +2. **Uneinheitlicher Erkenntnisgewinn:** Subgruppen könnten redundant oder inkompatibel arbeiten, wenn kein gemeinsames Verständnis besteht. +3. **Dokumentation als „Nachsorge“:** Wenn die Doku erst am Ende passiert, droht Wissensverlust – lieber „Living Docs“ in Echtzeit pflegen. +4. **Stakeholder-Abkopplung:** Ohne explizite Reviews oder Demo-Rituale kann Feedback von außen fehlen. + +## Verbesserungsvorschläge + +1. **Exploration Backlog oder Hypothesenboard:** Auch ohne klassisches Product Backlog könnt ihr mit einem **Experiment-/Hypothesenboard** (à la Lean Startup) arbeiten. Zum Beispiel: + - Hypothese: „Feature X wird den Use Case Y verbessern.“ + - Experiment: „Prototyp bauen und testen mit Nutzergruppe Z.“ + - Ergebnis & Learnings dokumentieren. + +2. **Wöchentliche Zielsetzungen:** Jeden Montag ein Weekly Planning mit klaren Zielen für die Woche (Outcome-fokussiert, nicht Task-fokussiert). + +3. **Integration mit Dual Track Agile:** Das Vorgehen ähnelt dem **Dual-Track-Modell**: ein **Discovery-Track** (Erkunden, Validieren, Prototypisieren) läuft parallel zum späteren **Delivery-Track** (Releases, Sprints). Ihr seid noch voll im Discovery-Track. + +4. **Design Studio oder Spike-Zeitfenster:** Strukturiert Zeit für z. B. 2-Tages-Design-Studios oder 1-Tages-Spikes – das erhöht die Qualität der Exploration. + +5. **Review/Share-Session freitags:** Eine fixe wöchentliche Review-/Demo-Session (auch intern) erhöht die Disziplin und hilft beim „Check“-Teil im PDCA. + +## Gängige Standard-Methoden in dieser Phase + +- **Design Thinking** (für Nutzerzentrierte Exploration) +- **Lean UX / Lean Startup** (Hypothesengetrieben) +- **Dual Track Agile** +- **Google Design Sprint (5 Tage)** – extrem hilfreich, wenn es um das Testen von Nutzerideen geht +- **Shape Up (Basecamp)** – für nicht-sprintbasiertes Arbeiten mit "Bet" auf 6-Wochen-Projekte + +--- + +**Fazit:** +Euer PDCA-Zyklus ist ein solider, pragmatischer Einstieg in eine unsichere, vorstrukturierte Produktphase. Mit ein paar Ergänzungen (Exploration Backlog, feste Review-Elemente, Hypothesenstruktur) könnt ihr daraus ein effektives Discovery-Vorgehen machen, das den Übergang zu einem klassischen agilen Framework (z. B. Scrum) vorbereitet. + +Möchtest du eine konkrete Vorlage für ein Exploration Backlog oder Hypothesenboard für euer Team? + +## Architektur vorhanden + +> ok, du findest vor allem Tages-Zyklen zu kurz. Ich möchte noch ergänzen, dass wir eine Architektur haben. Das klingt vielleicht paradox, aber es ist tatsächlich so, dass wir das Software-syewtm bereits designed haben, und die Komponenten auch bereits kennen, aber jetzt vor allem die Wege des automatischen Deployments in eine Cloud und die Konfigurations- und Verwaltungsstrukturen unsrerer Software herausfinden müssen. Das ist da, was sich gerade nicht weiter planen lässt. Kannst du mit diesen Ergänzungen dein Feedbach nochmal schärfen? + +Danke für die Ergänzung – das ändert die Ausgangslage entscheidend und erlaubt eine deutlich präzisere Einordnung. + +### Neue Ausgangslage: + +- Ihr **habt eine Architektur**: Die Komponenten und Schnittstellen sind klar. +- Es gibt **bereits einen PoC** und eine Produktvision. +- Das **Backlog fehlt**, weil ihr gerade die **"nicht-funktionalen" Themen wie Deployment, Cloud-Umgebung, Konfiguration und Betrieb** klärt. +- Das System ist **technisch grob fertig designt**, aber die **Operations- und Deployment-Prozesse** sind unklar und werden explorativ entwickelt. + +### Schärferes Feedback + +#### 1. **Tages-PDCA-Zyklen wirken in diesem Kontext zu granular** +Bei Infrastruktur-, Deployment- oder Konfigurationsfragen entstehen oft tiefe „Spikes“ (z. B. CI/CD-Pipeline aufsetzen, Helm-Chart modellieren, Secrets Handling evaluieren). Diese brauchen oft mehr als einen Tag bis zum „Check“, weil Abhängigkeiten (z. B. Rechte, Cloud-Zugänge, Testumgebungen) entstehen. Ein **2- bis 3-Tages-Rhythmus** mit klaren Zwischenzielen wäre realistischer, ergänzt um: + +- **Daily Standup als Taktgeber**, aber nicht zwangsläufig als vollständiger PDCA-Zyklus. +- **Weekly Planning mit Zielvorgaben und Review-Ritualen**, um Fortschritt messbar zu machen. + +#### 2. **Was ihr macht, ist kein Produkt-Delivery, sondern "System Enablement"** + +Ihr steckt im Übergang von Architektur zu einem **Infrastructure as Code + Plattform Enablement Track**. Das bedeutet: +- Die „User Stories“ sind keine klassischen Features, sondern z. B.: + - „Als Team möchte ich unsere Software mit einem Befehl deployen können.“ + - „Als Betreiber will ich wissen, wie ich Services konfiguriere.“ + +Das spricht für ein **Infrastructure Kanban Board**, keine Sprints. + +#### 3. **Mögliche Vorgehensmodelle / Best Practices** + +| Modell / Methode | Warum es jetzt passt | +|------------------------------------------|------------------------------------------------------------------| +| **Kanban für technische Tasks** | Flexible Work-in-Progress-Kontrolle, ideal für Exploration. | +| **Spikes** (aus XP) | Timeboxed Exploration zu offenen Fragen (z. B. Helm, Secrets). | +| **Enabler Epics (SAFe)** | Deployment- und Ops-Fragen formal als "Enabler" fassen. | +| **Team Topologies – Platform Team Light**| Ihr agiert gerade wie ein internes Plattform-Team. | +| **Weekly DevOps Review** | Alle 5–7 Tage Stand der Automatisierung/Doku/Strukturen. | +| **ADRs & Living Docs** | Architectural Decision Records für Deployment-/Ops-Entscheidungen.| + +#### 4. **Konkrete Empfehlungen zur Strukturierung** + +- **Ziele für die 8 Wochen formulieren** als **"Capabilities"**, z. B.: + - „Greenfield-Clouddeployment in AWS/GCP über GitHub Actions.“ + - „Parameterisierbares Helm-Chart mit Doku.“ + - „Konfigurierbarkeit über ENV vs. Secrets evaluieren.“ +- Dazu **1–2 Woche cadence**, jede Woche ein Review/Checkpoint. +- **Boards mit Task-Kategorien**: + - 🧪 Spike + - 🛠️ Tooling/Automation + - 📦 Infrastruktur/Dienst + - 📓 Dokumentation +- **Ergebnisse sofort versionieren und dokumentieren**, z. B.: + - GitOps Repo-Struktur + - ADRs + - Beispiel-Deployments + +--- + +### Fazit + +Ihr seid im **"technisch operativen Enablement"** eures Systems, nicht im Produkt-Delivery. Das rechtfertigt: +- ein **kanban-artiges, flexibles Modell mit timeboxed Reviews**, +- tägliche Abstimmungen, aber nicht zwingend tägliche Zyklen, +- Fokus auf **Enabler-Ziele statt funktionale Stories**. + +SCRUM ist hier fehl am Platz, aber euer Ansatz ist sehr nahe an einer **modernen DevOps-orientierten Arbeitsweise**, die z. B. von **Platform Engineering Teams** eingesetzt wird. + +Möchtest du ein Beispiel für ein solches Kanban-Board mit passenden Task-Typen und Zielstruktur? + +## Kanban + +> ja, gerne! + +Hier ist ein konkretes Beispiel für ein **Kanban-Board**, das speziell auf eure Situation als „Platform/Enablement“-Team mit einem vorhandenen Architekturbild, aber offenem Deployment- und Betriebsdesign zugeschnitten ist. + +--- + +## 🎯 **Zielstruktur (übergeordnet für 8 Wochen)** + +Diese formuliert ihr am besten als **Capabilities** – Fähigkeiten, die das System nachher haben soll: + +| Capability ID | Zielbeschreibung | +|---------------|---------------------------------------------------------------------------------------------| +| C1 | Anwendung kann automatisiert in Cloudumgebung X deployed werden (inkl. Secrets Mgmt) | +| C2 | Konfiguration des Systems ist externisiert und dokumentiert (ENV, YAML, o. ä.) | +| C3 | Monitoring- und Logging-Infrastruktur ist einsatzbereit und dokumentiert | +| C4 | Dev- und Test-Umgebungen sind klar getrennt und automatisch provisionierbar | +| C5 | Alle Plattformentscheidungen (z. B. Helm vs. Kustomize) sind versioniert und begründet | + +Diese Capabilities bilden **Spalten** oder **Swimlanes** im Board (wenn euer Tool das unterstützt, z. B. GitHub Projects, Jira oder Trello mit Labels). + +--- + +## 🗂️ **Kanban-Board-Spalten (klassisch)** + +| Spalte | Zweck | +|------------------|-----------------------------------------------------------| +| 🔍 Backlog | Ideen, Hypothesen, Tasks – priorisiert nach Capabilities | +| 🧪 In Exploration | Aktive Spikes, Proofs, technische Evaluierungen | +| 🛠️ In Progress | Umsetzung mit konkretem Ziel | +| ✅ Review / Check | Funktionsprüfung, internes Review | +| 📦 Done | Abgeschlossen, dokumentiert, ggf. in Repo | + +--- + +## 🏷️ **Task-Typen (Labels oder Emojis zur Kennzeichnung)** + +| Symbol / Label | Typ | Beispiel | +|------------------|-----------------------------|--------------------------------------------------------------------------| +| 🧪 Spike | Technische Untersuchung | „Untersuche ArgoCD vs. Flux für GitOps Deployment“ | +| 📦 Infra | Infrastruktur | „Provisioniere dev/test/stage in GCP mit Terraform“ | +| 🔐 Secrets | Sicherheitsrelevante Aufgabe| „Design für Secret-Handling mit Sealed Secrets“ | +| 📓 Docs | Dokumentation | „README für Developer Setup schreiben“ | +| 🧰 Tooling | CI/CD, Pipelines, Linter | „GitHub Action für Build & Deploy schreiben“ | +| 🔁 Entscheidung | Architekturentscheidung | „ADR: Helm vs. Kustomize für Service Deployment“ | + +--- + +## 🧩 Beispielhafte Tasks für Capability „C1 – Deployment automatisieren“ + +| Task | Typ | Status | +|----------------------------------------------|----------|----------------| +| Write GitHub Action for Docker image push | 🧰 Tooling | 🛠️ In Progress | +| Evaluate ArgoCD vs. Flux | 🧪 Spike | ✅ Review | +| Create Helm Chart for Service A | 📦 Infra | 🔍 Backlog | +| Create ADR: Deployment-Toolentscheidung | 🔁 Entscheidung | 🔍 Backlog | +| Add deployment doc in Wiki | 📓 Docs | 🔍 Backlog | + +--- + +## 📅 Cadence-Empfehlung + +- **Daily Standup (15 min)**: Was läuft, was blockiert? Pull statt Push! +- **Weekly Planning (Montag)**: Priorisieren und Backlog-Grooming (welche Capabilities sind diese Woche dran?) +- **Weekly Review (Freitag)**: Erkenntnisse, Entscheidungen und Dokumentation präsentieren +- Optional: **Retrospektive alle 2 Wochen**, falls das Team Energie hat + +--- + +Wenn du magst, kann ich dir ein Beispiel-Board als Markdown-Vorlage oder als CSV-Datei zum Import in Trello, GitHub Projects, Jira etc. machen. Wäre das hilfreich? + +## Living Docs + +> kannst du noch etwas mehr zu 'LivingDocs' sagen? + +Ja, gerne! **"Living Docs"** (bzw. **Living Documentation**) ist ein Konzept aus der agilen Softwareentwicklung und DevOps, das sich auf **aktuelle, direkt aus dem System oder aus dem Arbeitsprozess generierte Dokumentation** bezieht. Ziel ist es, dass die Dokumentation *nicht veraltet*, sondern so eng mit Code und Systemzustand gekoppelt ist, dass sie sich (teilweise) selbst aktualisiert oder sich mit dem Entwicklungsprozess mitbewegt. + +--- + +## 🔍 **Was macht "Living Documentation" aus?** + +| Merkmal | Beschreibung | +|----------------------------------|------------------------------------------------------------------------------| +| 🔄 Automatisch erzeugt oder aktualisiert | Generiert aus Code, Tests, Pipelines, ADRs oder Deployments | +| 📌 Versionskontrolliert | Im Git abgelegt, gemeinsam mit dem Code gepflegt | +| 🧑‍💻 Entwicklernah | Entwickelt sich mit dem Code weiter – keine Trennung zwischen "Docs" und Dev | +| 📈 Änderbar & nachvollziehbar | Jede Änderung an Code/Doku hat einen Commit & Kontext | +| 📚 Mehrwert für alle Beteiligten| Richtet sich an Devs, Ops, PMs oder andere Teams – nicht nur "für später" | + +--- + +## 🧰 Typische Formen von Living Docs + +| Typ | Beschreibung & Tools | +|----------------------|----------------------------------------------------------------------------------------| +| **Architecture Decision Records (ADRs)** | Markdown-Dateien im Repo (z. B. `docs/adr/001-helm-vs-kustomize.md`) | +| **Code-Doku aus Source** | Mit Tools wie JSDoc, TypeDoc, Sphinx, Doxygen, etc. | +| **API-Doku** | Automatisch aus Code oder OpenAPI (Swagger) generiert | +| **Test-Doku (z. B. BDD)** | z. B. Gherkin-Style: `Given/When/Then`-Spezifikationen als Dokumentation | +| **Monitoring & Deployment-Status** | z. B. Dashboards mit Infrastructure-Doku (Grafana, Backstage, Argo UI) | +| **DevDocs im Repo** | z. B. `README.md`, `CONTRIBUTING.md`, `how-to/`, `docs/`, `adr/` | +| **Playbooks / Runbooks** | Schritt-für-Schritt-Anleitungen für Betrieb oder Störungen | + +--- + +## ✅ **Best Practices** + +1. **Nutze Markdown + Git:** Einfach, versionierbar, lesbar → ADRs, Runbooks, HowTos. +2. **Dokumentiere Entscheidungen bewusst:** Lieber knappe, saubere ADRs als keine Doku. +3. **Verknüpfe Doku mit Code / CI/CD:** Beispiel: Build-Tool erzeugt automatisch API-Doku oder ADR-Lint-Checks. +4. **Verlinke Logs, Dashboards, Monitoring:** z. B. in einem `system-overview.md`. +5. **Behandle Doku wie Code:** Reviewpflichtig, Pull Request basiert, CI-checkbar. + +--- + +## 🛠️ Tools & Frameworks + +| Zweck | Tools (Beispiele) | +|------------------------|-------------------------------------------------------------------------| +| ADRs | [`adr-tools`](https://github.com/npryce/adr-tools), einfaches Markdown | +| Markdown-Doku | MkDocs, Docusaurus, GitBook | +| API-Doku | Swagger/OpenAPI, Redocly | +| Infrastruktur-Doku | Backstage (Spotify), Terraform-docs | +| Doku-Automatisierung | GitHub Actions, pre-commit Hooks, CI-Checks | + +--- + +## 🧠 Denkweise: Doku = Gespräch in Zeit + +> "Dokumentation ist kein Nachtrag, sondern ein asynchrones Gespräch mit deinem zukünftigen Ich – oder dem nächsten Teammitglied." + +Gerade in eurem Kontext (technisches Enablement, Deployment, Betrieb) ist das **entscheidungsorientierte, leichtgewichtige Festhalten von Kontext** Gold wert. ADRs und `docs/runbooks/`-Verzeichnisse sind ein idealer Startpunkt. + +--- + +Möchtest du eine Vorlage für ein ADR oder ein Beispielverzeichnis für eine sinnvolle Living-Docs-Struktur im Repo? \ No newline at end of file From d6f3d6772466c92e556345af3cfb2cadec4dce21 Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Thu, 23 Oct 2025 14:02:22 +0200 Subject: [PATCH 09/80] chore(deps): update Hugo to v0.151.0 and Docsy to v0.12.0 - Upgrade Hugo from v0.125.4 to v0.151.0+extended - Upgrade Docsy theme from v0.10.0 to v0.12.0 - Update Bootstrap to v5.3.8 - Update Go to v1.25.1 - Add Node.js for PostCSS support - Install PostCSS, autoprefixer dependencies - Remove obsolete custom render-heading template - Update minimum Hugo version requirement to 0.151.0 --- devbox.json | 8 +- devbox.lock | 211 +++++++++++++++---- go.mod | 6 +- go.sum | 11 +- hugo.toml | 2 +- layouts/_default/_markup/render-heading.html | 1 - 6 files changed, 190 insertions(+), 49 deletions(-) delete mode 100644 layouts/_default/_markup/render-heading.html diff --git a/devbox.json b/devbox.json index a5adc5a..f688f2b 100644 --- a/devbox.json +++ b/devbox.json @@ -1,9 +1,11 @@ { "$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.10.5/.schema/devbox.schema.json", "packages": [ - "hugo@0.125.4", - "dart-sass@1.75.0", - "go@latest" + "hugo@latest", + "dart-sass@latest", + "go@latest", + "nodejs@latest", + "htmltest@latest" ], "shell": { "init_hook": [], diff --git a/devbox.lock b/devbox.lock index c009b13..672aced 100644 --- a/devbox.lock +++ b/devbox.lock @@ -1,163 +1,296 @@ { "lockfile_version": "1", "packages": { - "dart-sass@1.75.0": { - "last_modified": "2024-05-03T15:42:32Z", - "resolved": "github:NixOS/nixpkgs/5fd8536a9a5932d4ae8de52b7dc08d92041237fc#dart-sass", + "dart-sass@latest": { + "last_modified": "2025-10-11T06:31:15Z", + "resolved": "github:NixOS/nixpkgs/362791944032cb532aabbeed7887a441496d5e6e#dart-sass", "source": "devbox-search", - "version": "1.75.0", + "version": "1.93.2", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/6ynzjs0v55h88ri86li1d9nyr822n7kk-dart-sass-1.75.0", + "path": "/nix/store/2wjcjimv86a010lvbsqiyjdl2jmbz49z-dart-sass-1.93.2", "default": true }, { "name": "pubcache", - "path": "/nix/store/f4wbni4cqdhq8y9phl6aazyh54mnacz7-dart-sass-1.75.0-pubcache" + "path": "/nix/store/r8d714i4fgjgsv1hj875afbp0n9cq4gi-dart-sass-1.93.2-pubcache" } ], - "store_path": "/nix/store/6ynzjs0v55h88ri86li1d9nyr822n7kk-dart-sass-1.75.0" + "store_path": "/nix/store/2wjcjimv86a010lvbsqiyjdl2jmbz49z-dart-sass-1.93.2" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/g88isq3r0zpxvx1rzc86dl9ny15jr980-dart-sass-1.75.0", + "path": "/nix/store/r8a0s7gf8chy7p5jjhdj4ip5a3jjyjb0-dart-sass-1.93.2", "default": true }, { "name": "pubcache", - "path": "/nix/store/l6vdyb4i5hb9qmvms9v9g7vsnynfq0lb-dart-sass-1.75.0-pubcache" + "path": "/nix/store/b68qdyy9zwzanlvcqf9ppj1yna7svkna-dart-sass-1.93.2-pubcache" } ], - "store_path": "/nix/store/g88isq3r0zpxvx1rzc86dl9ny15jr980-dart-sass-1.75.0" + "store_path": "/nix/store/r8a0s7gf8chy7p5jjhdj4ip5a3jjyjb0-dart-sass-1.93.2" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/h79n1apvmgpvw4w855zxf9qx887k9v3d-dart-sass-1.75.0", + "path": "/nix/store/i09v3a327zg2kcby5kapqpyrx1ijh8vi-dart-sass-1.93.2", "default": true }, { "name": "pubcache", - "path": "/nix/store/bxmfb2129kn4xnrz5i4p4ngkplavrxv4-dart-sass-1.75.0-pubcache" + "path": "/nix/store/ranyl11vksmg46nf9biw4nwk8h0hpqv9-dart-sass-1.93.2-pubcache" } ], - "store_path": "/nix/store/h79n1apvmgpvw4w855zxf9qx887k9v3d-dart-sass-1.75.0" + "store_path": "/nix/store/i09v3a327zg2kcby5kapqpyrx1ijh8vi-dart-sass-1.93.2" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/yvr71pda4bm9a2dilgyd77297xx32iad-dart-sass-1.75.0", + "path": "/nix/store/hqfw052brhr3ln21sw347jgdva8z33qh-dart-sass-1.93.2", "default": true }, { "name": "pubcache", - "path": "/nix/store/h8n6s7f91kn596g2hbn3ccbs4s80bm46-dart-sass-1.75.0-pubcache" + "path": "/nix/store/5vfpdb333pcbxw7adky8nbqjn2r4dc5h-dart-sass-1.93.2-pubcache" } ], - "store_path": "/nix/store/yvr71pda4bm9a2dilgyd77297xx32iad-dart-sass-1.75.0" + "store_path": "/nix/store/hqfw052brhr3ln21sw347jgdva8z33qh-dart-sass-1.93.2" } } }, + "github:NixOS/nixpkgs/nixpkgs-unstable": { + "last_modified": "2025-10-13T09:56:54Z", + "resolved": "github:NixOS/nixpkgs/c12c63cd6c5eb34c7b4c3076c6a99e00fcab86ec?lastModified=1760349414&narHash=sha256-W4Ri1ZwYuNcBzqQQa7NnWfrv0wHMo7rduTWjIeU9dZk%3D" + }, "go@latest": { - "last_modified": "2024-10-13T23:44:06Z", - "resolved": "github:NixOS/nixpkgs/d4f247e89f6e10120f911e2e2d2254a050d0f732#go", + "last_modified": "2025-10-07T08:41:47Z", + "resolved": "github:NixOS/nixpkgs/bce5fe2bb998488d8e7e7856315f90496723793c#go", "source": "devbox-search", - "version": "1.23.2", + "version": "1.25.1", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/35jikx2wg5r0qj47sic0p99bqnmwi6cn-go-1.23.2", + "path": "/nix/store/mkdfnr1nkfj2kznxyag9pypbxp3wqqdv-go-1.25.1", "default": true } ], - "store_path": "/nix/store/35jikx2wg5r0qj47sic0p99bqnmwi6cn-go-1.23.2" + "store_path": "/nix/store/mkdfnr1nkfj2kznxyag9pypbxp3wqqdv-go-1.25.1" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/6bx6d90kpy537yab22wja70ibpp4gkww-go-1.23.2", + "path": "/nix/store/0jzj8p7k9wkr4l17sgrlg3z5di27sggf-go-1.25.1", "default": true } ], - "store_path": "/nix/store/6bx6d90kpy537yab22wja70ibpp4gkww-go-1.23.2" + "store_path": "/nix/store/0jzj8p7k9wkr4l17sgrlg3z5di27sggf-go-1.25.1" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/yi89mimkmw48qhzrll1aaibxbvllpsjv-go-1.23.2", + "path": "/nix/store/q2xylk8h3kbfajhw2lpdmyzyyqgqx8fl-go-1.25.1", "default": true } ], - "store_path": "/nix/store/yi89mimkmw48qhzrll1aaibxbvllpsjv-go-1.23.2" + "store_path": "/nix/store/q2xylk8h3kbfajhw2lpdmyzyyqgqx8fl-go-1.25.1" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/klw1ipjsqx1np7pkk833x7sad7f3ivv9-go-1.23.2", + "path": "/nix/store/f01qkydd3c2jqwi4w6hkddkf3blp16kw-go-1.25.1", "default": true } ], - "store_path": "/nix/store/klw1ipjsqx1np7pkk833x7sad7f3ivv9-go-1.23.2" + "store_path": "/nix/store/f01qkydd3c2jqwi4w6hkddkf3blp16kw-go-1.25.1" } } }, - "hugo@0.125.4": { - "last_modified": "2024-04-27T02:17:36Z", - "resolved": "github:NixOS/nixpkgs/698fd43e541a6b8685ed408aaf7a63561018f9f8#hugo", + "htmltest@latest": { + "last_modified": "2025-10-07T08:41:47Z", + "resolved": "github:NixOS/nixpkgs/bce5fe2bb998488d8e7e7856315f90496723793c#htmltest", "source": "devbox-search", - "version": "0.125.4", + "version": "0.17.0", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/2ssds5l4s15xfgljv2ygjhqpn949lxj4-hugo-0.125.4", + "path": "/nix/store/46gsr9pd5ssf705yl68mdb1wsls20q2p-htmltest-0.17.0", "default": true } ], - "store_path": "/nix/store/2ssds5l4s15xfgljv2ygjhqpn949lxj4-hugo-0.125.4" + "store_path": "/nix/store/46gsr9pd5ssf705yl68mdb1wsls20q2p-htmltest-0.17.0" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/nln80v8vsw5h3hv7kihglb12fy077flb-hugo-0.125.4", + "path": "/nix/store/chw7bw31lh3knq26p5ij6i7rq33wlhws-htmltest-0.17.0", "default": true } ], - "store_path": "/nix/store/nln80v8vsw5h3hv7kihglb12fy077flb-hugo-0.125.4" + "store_path": "/nix/store/chw7bw31lh3knq26p5ij6i7rq33wlhws-htmltest-0.17.0" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/n6az4gns36nrq9sbiqf2kf7kgn1kjyfm-hugo-0.125.4", + "path": "/nix/store/lclvbaw9h8jr3wq8y7jxyd5p67ljqnd0-htmltest-0.17.0", "default": true } ], - "store_path": "/nix/store/n6az4gns36nrq9sbiqf2kf7kgn1kjyfm-hugo-0.125.4" + "store_path": "/nix/store/lclvbaw9h8jr3wq8y7jxyd5p67ljqnd0-htmltest-0.17.0" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/k53ijl83p62i6lqia2jjky8l136x42i7-hugo-0.125.4", + "path": "/nix/store/0pywisrmyx271ryk3jd35hair132sc7k-htmltest-0.17.0", "default": true } ], - "store_path": "/nix/store/k53ijl83p62i6lqia2jjky8l136x42i7-hugo-0.125.4" + "store_path": "/nix/store/0pywisrmyx271ryk3jd35hair132sc7k-htmltest-0.17.0" + } + } + }, + "hugo@latest": { + "last_modified": "2025-10-09T02:37:25Z", + "resolved": "github:NixOS/nixpkgs/2dad7af78a183b6c486702c18af8a9544f298377#hugo", + "source": "devbox-search", + "version": "0.151.0", + "systems": { + "aarch64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/dcrip0cqzp49qrxj2y6866zivlh4ll7n-hugo-0.151.0", + "default": true + } + ], + "store_path": "/nix/store/dcrip0cqzp49qrxj2y6866zivlh4ll7n-hugo-0.151.0" + }, + "aarch64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/7wkfywf6q4im4lqfb0px0gj1z470qbji-hugo-0.151.0", + "default": true + } + ], + "store_path": "/nix/store/7wkfywf6q4im4lqfb0px0gj1z470qbji-hugo-0.151.0" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/lgn4bf0axzgm44783j8rp24gjh87j1an-hugo-0.151.0", + "default": true + } + ], + "store_path": "/nix/store/lgn4bf0axzgm44783j8rp24gjh87j1an-hugo-0.151.0" + }, + "x86_64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/jh0xghg9k3l7f8igldaqymj84fncyzcc-hugo-0.151.0", + "default": true + } + ], + "store_path": "/nix/store/jh0xghg9k3l7f8igldaqymj84fncyzcc-hugo-0.151.0" + } + } + }, + "nodejs@latest": { + "last_modified": "2025-10-13T09:56:54Z", + "plugin_version": "0.0.2", + "resolved": "github:NixOS/nixpkgs/c12c63cd6c5eb34c7b4c3076c6a99e00fcab86ec#nodejs_24", + "source": "devbox-search", + "version": "24.10.0", + "systems": { + "aarch64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/355hbbr8bfhyij7vkqczbjmgqa9dbrsh-nodejs-24.10.0", + "default": true + }, + { + "name": "dev", + "path": "/nix/store/pfnl3nqxa7agrd4rw52z52pspss7nvbi-nodejs-24.10.0-dev" + }, + { + "name": "libv8", + "path": "/nix/store/ch0ss8jqxs4dda64786ap78s3vrfi3kz-nodejs-24.10.0-libv8" + } + ], + "store_path": "/nix/store/355hbbr8bfhyij7vkqczbjmgqa9dbrsh-nodejs-24.10.0" + }, + "aarch64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/ybfap4y7drm5nbx358cj238ba87gp8bk-nodejs-24.10.0", + "default": true + }, + { + "name": "dev", + "path": "/nix/store/zdwjsr9hcb8ydkgwvljnm1rcbfg3336k-nodejs-24.10.0-dev" + }, + { + "name": "libv8", + "path": "/nix/store/lmcnw7gwb71bfy15qb87b1cphsxvj5jp-nodejs-24.10.0-libv8" + } + ], + "store_path": "/nix/store/ybfap4y7drm5nbx358cj238ba87gp8bk-nodejs-24.10.0" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/bgh57m6c4k348hd4wyb367xwkljq42ky-nodejs-24.10.0", + "default": true + }, + { + "name": "dev", + "path": "/nix/store/747r79izxv4jm0h1zn2qdyc7hbz06ckz-nodejs-24.10.0-dev" + }, + { + "name": "libv8", + "path": "/nix/store/2zb0z0qhzb29jlksjpc2vz0sk9icln1p-nodejs-24.10.0-libv8" + } + ], + "store_path": "/nix/store/bgh57m6c4k348hd4wyb367xwkljq42ky-nodejs-24.10.0" + }, + "x86_64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/p2sk3402d788hqn5diy5gba8cskjffzz-nodejs-24.10.0", + "default": true + }, + { + "name": "dev", + "path": "/nix/store/fn613shrdw5k5d5is7h8rs3dmi9xrh37-nodejs-24.10.0-dev" + }, + { + "name": "libv8", + "path": "/nix/store/y9km82y1yqw1r7ld0xcifpj9zfzfy0q3-nodejs-24.10.0-libv8" + } + ], + "store_path": "/nix/store/p2sk3402d788hqn5diy5gba8cskjffzz-nodejs-24.10.0" } } } diff --git a/go.mod b/go.mod index 625dea4..f4c0b45 100644 --- a/go.mod +++ b/go.mod @@ -2,4 +2,8 @@ module github.com/me/ipceicis go 1.22.5 -require github.com/google/docsy v0.10.0 // indirect +require ( + github.com/FortAwesome/Font-Awesome v0.0.0-20241216213156-af620534bfc3 // indirect + github.com/google/docsy v0.12.0 // indirect + github.com/twbs/bootstrap v5.3.8+incompatible // indirect +) diff --git a/go.sum b/go.sum index 78bc934..6a51e65 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,7 @@ -github.com/FortAwesome/Font-Awesome v0.0.0-20240402185447-c0f460dca7f7/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= -github.com/google/docsy v0.10.0 h1:6tMDacPwAyRWNCfvsn/9qGOZDQ8b0aRzjRZvnZPY5dg= -github.com/google/docsy v0.10.0/go.mod h1:c0nIAqmRTOuJ01F85U/wJPQtc3Zj9N58Kea9bOT2AJc= -github.com/twbs/bootstrap v5.3.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= +github.com/FortAwesome/Font-Awesome v0.0.0-20241216213156-af620534bfc3 h1:/iluJkJiyTAdnqrw3Yi9rH2HNHhrrtCmj8VJe7I6o3w= +github.com/FortAwesome/Font-Awesome v0.0.0-20241216213156-af620534bfc3/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= +github.com/google/docsy v0.12.0 h1:CddZKL39YyJzawr8GTVaakvcUTCJRAAYdz7W0qfZ2P4= +github.com/google/docsy v0.12.0/go.mod h1:1bioDqA493neyFesaTvQ9reV0V2vYy+xUAnlnz7+miM= +github.com/twbs/bootstrap v5.3.6+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= +github.com/twbs/bootstrap v5.3.8+incompatible h1:eK1fsXP7R/FWFt+sSNmmvUH9usPocf240nWVw7Dh02o= +github.com/twbs/bootstrap v5.3.8+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= diff --git a/hugo.toml b/hugo.toml index 29044f7..7a6a60d 100644 --- a/hugo.toml +++ b/hugo.toml @@ -152,7 +152,7 @@ enable = false # workspace = "docsy.work" [module.hugoVersion] extended = true - min = "0.110.0" + min = "0.151.0" [[module.imports]] path = "github.com/google/docsy" disable = false diff --git a/layouts/_default/_markup/render-heading.html b/layouts/_default/_markup/render-heading.html deleted file mode 100644 index 7f8e974..0000000 --- a/layouts/_default/_markup/render-heading.html +++ /dev/null @@ -1 +0,0 @@ -{{ template "_default/_markup/td-render-heading.html" . }} From 12e31ede9156a4fb6deb989c45cfc2ced033b12e Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Thu, 23 Oct 2025 14:02:39 +0200 Subject: [PATCH 10/80] test: add comprehensive testing infrastructure - Add npm test scripts for build, markdown, HTML, and link validation - Install markdownlint-cli for content quality checks - Install html-validate for HTML5 conformity validation - Add htmltest (via devbox) for internal/external link checking - Configure test rules in .htmltest.yml, .htmlvalidate.json, .markdownlint.json - Add GitHub Actions workflow for automated CI testing - Add TESTING.md documentation for test usage --- .github/workflows/test.yml | 51 +++++++++++++++++++++++++++++++ .htmltest.yml | 10 ++++++ .htmlvalidate.json | 12 ++++++++ .markdownlint.json | 8 +++++ TESTING.md | 62 ++++++++++++++++++++++++++++++++++++++ package.json | 20 ++++++++++++ 6 files changed, 163 insertions(+) create mode 100644 .github/workflows/test.yml create mode 100644 .htmltest.yml create mode 100644 .htmlvalidate.json create mode 100644 .markdownlint.json create mode 100644 TESTING.md create mode 100644 package.json diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..26ff785 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,51 @@ +name: Hugo Site Tests + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + fetch-depth: 0 + + - name: Setup Hugo + uses: peaceiris/actions-hugo@v3 + with: + hugo-version: 'latest' + extended: true + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: '24' + cache: 'npm' + + - name: Install dependencies + run: | + npm ci + go install github.com/wjdp/htmltest@latest + + - name: Run tests + run: | + npm run test:build + npm run test:markdown + npm run test:html + + - name: Run link checker + run: htmltest + continue-on-error: true + + - name: Upload htmltest results + uses: actions/upload-artifact@v4 + if: always() + with: + name: htmltest-report + path: tmp/.htmltest/ diff --git a/.htmltest.yml b/.htmltest.yml new file mode 100644 index 0000000..d70687f --- /dev/null +++ b/.htmltest.yml @@ -0,0 +1,10 @@ +DirectoryPath: "public" +CheckExternal: true +CheckInternalHash: true +IgnoreURLs: + - "^https://example\\.docsy\\.dev" + - "^https://example\\.com" + - "^http://localhost" +IgnoreDirectoryMissingTrailingSlash: true +IgnoreAltMissing: true +CheckDoctype: true diff --git a/.htmlvalidate.json b/.htmlvalidate.json new file mode 100644 index 0000000..8019e35 --- /dev/null +++ b/.htmlvalidate.json @@ -0,0 +1,12 @@ +{ + "extends": ["html-validate:recommended"], + "rules": { + "no-inline-style": "off", + "require-sri": "off", + "no-trailing-whitespace": "off", + "void-style": "off" + }, + "elements": [ + "html5" + ] +} diff --git a/.markdownlint.json b/.markdownlint.json new file mode 100644 index 0000000..8c37aec --- /dev/null +++ b/.markdownlint.json @@ -0,0 +1,8 @@ +{ + "default": true, + "MD013": false, + "MD033": false, + "MD041": false, + "MD024": { "siblings_only": true }, + "MD025": { "front_matter_title": "" } +} diff --git a/TESTING.md b/TESTING.md new file mode 100644 index 0000000..1488139 --- /dev/null +++ b/TESTING.md @@ -0,0 +1,62 @@ +# Hugo Site Testing + +Dieses Projekt verwendet mehrere automatisierte Tests zur Qualitätssicherung. + +## Verfügbare Tests + +### 1. Build-Test +```bash +npm run test:build +``` +Prüft ob die Hugo-Seite überhaupt baut und zeigt Warnungen/Fehler an. + +### 2. Markdown-Linting +```bash +npm run test:markdown +``` +Validiert Markdown-Dateien auf Stilprobleme und Best Practices. + +### 3. HTML-Validierung +```bash +npm run test:html +``` +Prüft die generierte HTML auf HTML5-Konformität. + +### 4. Link-Checker +```bash +npm run test:links +``` +Testet alle internen und externen Links auf Gültigkeit. + +### Alle Tests ausführen +```bash +npm test +``` + +### Schnelle Tests (ohne Link-Check) +```bash +npm run test:quick +``` + +## Konfigurationsdateien + +- `.htmltest.yml` - Link-Checker-Konfiguration +- `.htmlvalidate.json` - HTML-Validierungs-Regeln +- `.markdownlint.json` - Markdown-Linting-Regeln + +## CI/CD Integration + +GitHub Actions führt diese Tests automatisch bei jedem Push/PR aus: +- `.github/workflows/test.yml` + +## Lokale Entwicklung + +Vor dem Commit empfohlen: +```bash +npm run test:quick # Schnelle Tests +``` + +Vor dem Push: +```bash +npm test # Alle Tests inkl. Link-Check +``` diff --git a/package.json b/package.json new file mode 100644 index 0000000..4ad689c --- /dev/null +++ b/package.json @@ -0,0 +1,20 @@ +{ + "name": "ipceicis-developerframework", + "version": "1.0.0", + "scripts": { + "build": "hugo --gc --minify", + "test:build": "hugo --gc --minify --logLevel info", + "test:links": "htmltest", + "test:html": "html-validate 'public/**/*.html'", + "test:markdown": "markdownlint 'content/**/*.md'", + "test": "npm run test:build && npm run test:markdown && npm run test:html && npm run test:links", + "test:quick": "npm run test:build && npm run test:markdown" + }, + "devDependencies": { + "autoprefixer": "^10.4.21", + "html-validate": "^10.1.2", + "markdownlint-cli": "^0.45.0", + "postcss": "^8.5.6", + "postcss-cli": "^11.0.1" + } +} From 08a0e8863ffeb1c4c8050d6e0423800a1800fe07 Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Thu, 23 Oct 2025 14:02:54 +0200 Subject: [PATCH 11/80] chore(config): improve .gitignore for Hugo project - Add resources/_gen/ for Hugo-generated assets - Add node_modules/ for NPM dependencies - Add test output directories (tmp/, .htmltest/) - Add devbox local directory (.devbox/) - Add IDE files (VS Code, IntelliJ, Vim) - Add OS-specific files (macOS, Windows) - Add log files - Remove package.json from ignore (needed for NPM scripts) --- .gitignore | 31 +- ...s_3f90599f3717b4a4920df16fdcadce3d.content | 19722 ---------------- ...scss_3f90599f3717b4a4920df16fdcadce3d.json | 1 - ...s_fae17086e470d8c6ed0d487092f631b7.content | 19722 ---------------- ...scss_fae17086e470d8c6ed0d487092f631b7.json | 1 - 5 files changed, 28 insertions(+), 39449 deletions(-) delete mode 100644 resources/_gen/assets/scss/main.scss_3f90599f3717b4a4920df16fdcadce3d.content delete mode 100644 resources/_gen/assets/scss/main.scss_3f90599f3717b4a4920df16fdcadce3d.json delete mode 100644 resources/_gen/assets/scss/main.scss_fae17086e470d8c6ed0d487092f631b7.content delete mode 100644 resources/_gen/assets/scss/main.scss_fae17086e470d8c6ed0d487092f631b7.json diff --git a/.gitignore b/.gitignore index 3b13a74..f015864 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,32 @@ +# Hugo .hugo_build.lock -public +public/ +resources/_gen/ -# for npm devcontainer cli +# Node.js / NPM +node_modules/ package-lock.json -package.json +# Test outputs +tmp/ +.htmltest/ + +# devbox +.devbox/ + +# IDE +.vscode/ +.idea/ +*.swp +*.swo +*~ + +# OS +.DS_Store +Thumbs.db + +# Logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/resources/_gen/assets/scss/main.scss_3f90599f3717b4a4920df16fdcadce3d.content b/resources/_gen/assets/scss/main.scss_3f90599f3717b4a4920df16fdcadce3d.content deleted file mode 100644 index e79aaa3..0000000 --- a/resources/_gen/assets/scss/main.scss_3f90599f3717b4a4920df16fdcadce3d.content +++ /dev/null @@ -1,19722 +0,0 @@ -/* - -Add styles or override variables from the theme here. - -*/ -@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i&display=swap"); -:root, -[data-bs-theme="light"] { - --td-pre-bg: var(--bs-tertiary-bg); } - -/*! - * Bootstrap v5.3.3 (https://getbootstrap.com/) - * Copyright 2011-2024 The Bootstrap Authors - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -:root, -[data-bs-theme="light"] { - --bs-blue: #0d6efd; - --bs-indigo: #6610f2; - --bs-purple: #6f42c1; - --bs-pink: #d63384; - --bs-red: #dc3545; - --bs-orange: #fd7e14; - --bs-yellow: #ffc107; - --bs-green: #198754; - --bs-teal: #20c997; - --bs-cyan: #0dcaf0; - --bs-black: #000; - --bs-white: #fff; - --bs-gray: #6c757d; - --bs-gray-dark: #343a40; - --bs-gray-100: #f8f9fa; - --bs-gray-200: #e9ecef; - --bs-gray-300: #dee2e6; - --bs-gray-400: #ced4da; - --bs-gray-500: #adb5bd; - --bs-gray-600: #6c757d; - --bs-gray-700: #495057; - --bs-gray-800: #343a40; - --bs-gray-900: #212529; - --bs-primary: #30638e; - --bs-secondary: #ffa630; - --bs-success: #3772ff; - --bs-info: #c0e0de; - --bs-warning: #ed6a5a; - --bs-danger: #ed6a5a; - --bs-light: #d3f3ee; - --bs-dark: #403f4c; - --bs-primary-rgb: 48, 99, 142; - --bs-secondary-rgb: 255, 166, 48; - --bs-success-rgb: 55, 114, 255; - --bs-info-rgb: 192, 224, 222; - --bs-warning-rgb: 237, 106, 90; - --bs-danger-rgb: 237, 106, 90; - --bs-light-rgb: 211, 243, 238; - --bs-dark-rgb: 64, 63, 76; - --bs-primary-text-emphasis: #132839; - --bs-secondary-text-emphasis: #664213; - --bs-success-text-emphasis: #162e66; - --bs-info-text-emphasis: #4d5a59; - --bs-warning-text-emphasis: #5f2a24; - --bs-danger-text-emphasis: #5f2a24; - --bs-light-text-emphasis: #495057; - --bs-dark-text-emphasis: #495057; - --bs-primary-bg-subtle: #d6e0e8; - --bs-secondary-bg-subtle: #ffedd6; - --bs-success-bg-subtle: #d7e3ff; - --bs-info-bg-subtle: #f2f9f8; - --bs-warning-bg-subtle: #fbe1de; - --bs-danger-bg-subtle: #fbe1de; - --bs-light-bg-subtle: #fcfcfd; - --bs-dark-bg-subtle: #ced4da; - --bs-primary-border-subtle: #acc1d2; - --bs-secondary-border-subtle: #ffdbac; - --bs-success-border-subtle: #afc7ff; - --bs-info-border-subtle: #e6f3f2; - --bs-warning-border-subtle: #f8c3bd; - --bs-danger-border-subtle: #f8c3bd; - --bs-light-border-subtle: #e9ecef; - --bs-dark-border-subtle: #adb5bd; - --bs-white-rgb: 255, 255, 255; - --bs-black-rgb: 0, 0, 0; - --bs-font-sans-serif: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); - --bs-body-font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - --bs-body-font-size: 1rem; - --bs-body-font-weight: 400; - --bs-body-line-height: 1.5; - --bs-body-color: #212529; - --bs-body-color-rgb: 33, 37, 41; - --bs-body-bg: #fff; - --bs-body-bg-rgb: 255, 255, 255; - --bs-emphasis-color: #000; - --bs-emphasis-color-rgb: 0, 0, 0; - --bs-secondary-color: rgba(33, 37, 41, 0.75); - --bs-secondary-color-rgb: 33, 37, 41; - --bs-secondary-bg: #e9ecef; - --bs-secondary-bg-rgb: 233, 236, 239; - --bs-tertiary-color: rgba(33, 37, 41, 0.5); - --bs-tertiary-color-rgb: 33, 37, 41; - --bs-tertiary-bg: #f8f9fa; - --bs-tertiary-bg-rgb: 248, 249, 250; - --bs-heading-color: inherit; - --bs-link-color: #0d6efd; - --bs-link-color-rgb: 13, 110, 253; - --bs-link-decoration: underline; - --bs-link-hover-color: #094db1; - --bs-link-hover-color-rgb: 9, 77, 177; - --bs-code-color: #99641d; - --bs-highlight-color: #212529; - --bs-highlight-bg: #fff3cd; - --bs-border-width: 1px; - --bs-border-style: solid; - --bs-border-color: #dee2e6; - --bs-border-color-translucent: rgba(0, 0, 0, 0.175); - --bs-border-radius: 0.375rem; - --bs-border-radius-sm: 0.25rem; - --bs-border-radius-lg: 0.5rem; - --bs-border-radius-xl: 1rem; - --bs-border-radius-xxl: 2rem; - --bs-border-radius-2xl: var(--bs-border-radius-xxl); - --bs-border-radius-pill: 50rem; - --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); - --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); - --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175); - --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075); - --bs-focus-ring-width: 0.25rem; - --bs-focus-ring-opacity: 0.25; - --bs-focus-ring-color: rgba(48, 99, 142, 0.25); - --bs-form-valid-color: #3772ff; - --bs-form-valid-border-color: #3772ff; - --bs-form-invalid-color: #ed6a5a; - --bs-form-invalid-border-color: #ed6a5a; } - -[data-bs-theme="dark"] { - color-scheme: dark; - --bs-body-color: #dee2e6; - --bs-body-color-rgb: 222, 226, 230; - --bs-body-bg: #212529; - --bs-body-bg-rgb: 33, 37, 41; - --bs-emphasis-color: #fff; - --bs-emphasis-color-rgb: 255, 255, 255; - --bs-secondary-color: rgba(222, 226, 230, 0.75); - --bs-secondary-color-rgb: 222, 226, 230; - --bs-secondary-bg: #343a40; - --bs-secondary-bg-rgb: 52, 58, 64; - --bs-tertiary-color: rgba(222, 226, 230, 0.5); - --bs-tertiary-color-rgb: 222, 226, 230; - --bs-tertiary-bg: #2b3035; - --bs-tertiary-bg-rgb: 43, 48, 53; - --bs-primary-text-emphasis: #83a1bb; - --bs-secondary-text-emphasis: #ffca83; - --bs-success-text-emphasis: #87aaff; - --bs-info-text-emphasis: #d9eceb; - --bs-warning-text-emphasis: #f4a69c; - --bs-danger-text-emphasis: #f4a69c; - --bs-light-text-emphasis: #f8f9fa; - --bs-dark-text-emphasis: #dee2e6; - --bs-primary-bg-subtle: #0a141c; - --bs-secondary-bg-subtle: #33210a; - --bs-success-bg-subtle: #0b1733; - --bs-info-bg-subtle: #262d2c; - --bs-warning-bg-subtle: #2f1512; - --bs-danger-bg-subtle: #2f1512; - --bs-light-bg-subtle: #343a40; - --bs-dark-bg-subtle: #1a1d20; - --bs-primary-border-subtle: #1d3b55; - --bs-secondary-border-subtle: #99641d; - --bs-success-border-subtle: #214499; - --bs-info-border-subtle: #738685; - --bs-warning-border-subtle: #8e4036; - --bs-danger-border-subtle: #8e4036; - --bs-light-border-subtle: #495057; - --bs-dark-border-subtle: #343a40; - --bs-heading-color: inherit; - --bs-link-color: #83a1bb; - --bs-link-hover-color: #a8bdcf; - --bs-link-color-rgb: 131, 161, 187; - --bs-link-hover-color-rgb: 168, 189, 207; - --bs-code-color: #c2a277; - --bs-highlight-color: #dee2e6; - --bs-highlight-bg: #664d03; - --bs-border-color: #495057; - --bs-border-color-translucent: rgba(255, 255, 255, 0.15); - --bs-form-valid-color: #75b798; - --bs-form-valid-border-color: #75b798; - --bs-form-invalid-color: #ea868f; - --bs-form-invalid-border-color: #ea868f; } - -*, -*::before, -*::after { - box-sizing: border-box; } - -@media (prefers-reduced-motion: no-preference) { - :root { - scroll-behavior: smooth; } } - -body { - margin: 0; - font-family: var(--bs-body-font-family); - font-size: var(--bs-body-font-size); - font-weight: var(--bs-body-font-weight); - line-height: var(--bs-body-line-height); - color: var(--bs-body-color); - text-align: var(--bs-body-text-align); - background-color: var(--bs-body-bg); - -webkit-text-size-adjust: 100%; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } - -hr { - margin: 1rem 0; - color: inherit; - border: 0; - border-top: var(--bs-border-width) solid; - opacity: 0.25; } - -h6, .h6, h5, .h5, h4, .h4, h3, .h3, .td-footer__links-item, h2, .h2, h1, .h1 { - margin-top: 0; - margin-bottom: 0.5rem; - font-weight: 500; - line-height: 1.2; - color: var(--bs-heading-color); } - -h1, .h1 { - font-size: calc(1.375rem + 1.5vw); } - @media (min-width: 1200px) { - h1, .h1 { - font-size: 2.5rem; } } -h2, .h2 { - font-size: calc(1.325rem + 0.9vw); } - @media (min-width: 1200px) { - h2, .h2 { - font-size: 2rem; } } -h3, .h3, .td-footer__links-item { - font-size: calc(1.275rem + 0.3vw); } - @media (min-width: 1200px) { - h3, .h3, .td-footer__links-item { - font-size: 1.5rem; } } -h4, .h4 { - font-size: calc(1.26rem + 0.12vw); } - @media (min-width: 1200px) { - h4, .h4 { - font-size: 1.35rem; } } -h5, .h5 { - font-size: 1.15rem; } - -h6, .h6 { - font-size: 1rem; } - -p { - margin-top: 0; - margin-bottom: 1rem; } - -abbr[title] { - text-decoration: underline dotted; - cursor: help; - text-decoration-skip-ink: none; } - -address { - margin-bottom: 1rem; - font-style: normal; - line-height: inherit; } - -ol, -ul { - padding-left: 2rem; } - -ol, -ul, -dl { - margin-top: 0; - margin-bottom: 1rem; } - -ol ol, -ul ul, -ol ul, -ul ol { - margin-bottom: 0; } - -dt { - font-weight: 700; } - -dd { - margin-bottom: .5rem; - margin-left: 0; } - -blockquote { - margin: 0 0 1rem; } - -b, -strong { - font-weight: bolder; } - -small, .small, .td-footer__center, .td-cover-block > .byline { - font-size: 0.875em; } - -mark, .mark { - padding: 0.1875em; - color: var(--bs-highlight-color); - background-color: var(--bs-highlight-bg); } - -sub, -sup { - position: relative; - font-size: 0.75em; - line-height: 0; - vertical-align: baseline; } - -sub { - bottom: -.25em; } - -sup { - top: -.5em; } - -a { - color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1)); - text-decoration: underline; } - a:hover { - --bs-link-color-rgb: var(--bs-link-hover-color-rgb); } - -a:not([href]):not([class]), a:not([href]):not([class]):hover { - color: inherit; - text-decoration: none; } - -pre, -code, -kbd, -samp { - font-family: var(--bs-font-monospace); - font-size: 1em; } - -pre { - display: block; - margin-top: 0; - margin-bottom: 1rem; - overflow: auto; - font-size: 0.875em; } - pre code { - font-size: inherit; - color: inherit; - word-break: normal; } - -code { - font-size: 0.875em; - color: var(--bs-code-color); - word-wrap: break-word; } - a > code { - color: inherit; } - -kbd { - padding: 0.1875rem 0.375rem; - font-size: 0.875em; - color: var(--bs-body-bg); - background-color: var(--bs-body-color); - border-radius: 0.25rem; } - kbd kbd { - padding: 0; - font-size: 1em; } - -figure { - margin: 0 0 1rem; } - -img, -svg { - vertical-align: middle; } - -table { - caption-side: bottom; - border-collapse: collapse; } - -caption { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - color: var(--bs-secondary-color); - text-align: left; } - -th { - text-align: inherit; - text-align: -webkit-match-parent; } - -thead, -tbody, -tfoot, -tr, -td, -th { - border-color: inherit; - border-style: solid; - border-width: 0; } - -label { - display: inline-block; } - -button { - border-radius: 0; } - -button:focus:not(:focus-visible) { - outline: 0; } - -input, -button, -select, -optgroup, -textarea { - margin: 0; - font-family: inherit; - font-size: inherit; - line-height: inherit; } - -button, -select { - text-transform: none; } - -[role="button"] { - cursor: pointer; } - -select { - word-wrap: normal; } - select:disabled { - opacity: 1; } - -[list]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator { - display: none !important; } - -button, -[type="button"], -[type="reset"], -[type="submit"] { - -webkit-appearance: button; } - button:not(:disabled), - [type="button"]:not(:disabled), - [type="reset"]:not(:disabled), - [type="submit"]:not(:disabled) { - cursor: pointer; } - -::-moz-focus-inner { - padding: 0; - border-style: none; } - -textarea { - resize: vertical; } - -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; } - -legend { - float: left; - width: 100%; - padding: 0; - margin-bottom: 0.5rem; - font-size: calc(1.275rem + 0.3vw); - line-height: inherit; } - @media (min-width: 1200px) { - legend { - font-size: 1.5rem; } } - legend + * { - clear: left; } - -::-webkit-datetime-edit-fields-wrapper, -::-webkit-datetime-edit-text, -::-webkit-datetime-edit-minute, -::-webkit-datetime-edit-hour-field, -::-webkit-datetime-edit-day-field, -::-webkit-datetime-edit-month-field, -::-webkit-datetime-edit-year-field { - padding: 0; } - -::-webkit-inner-spin-button { - height: auto; } - -[type="search"] { - -webkit-appearance: textfield; - outline-offset: -2px; } - -/* rtl:raw: -[type="tel"], -[type="url"], -[type="email"], -[type="number"] { - direction: ltr; -} -*/ -::-webkit-search-decoration { - -webkit-appearance: none; } - -::-webkit-color-swatch-wrapper { - padding: 0; } - -::file-selector-button { - font: inherit; - -webkit-appearance: button; } - -output { - display: inline-block; } - -iframe { - border: 0; } - -summary { - display: list-item; - cursor: pointer; } - -progress { - vertical-align: baseline; } - -[hidden] { - display: none !important; } - -.lead { - font-size: 1.25rem; - font-weight: 300; } - -.display-1 { - font-size: calc(1.625rem + 4.5vw); - font-weight: 300; - line-height: 1.2; } - @media (min-width: 1200px) { - .display-1 { - font-size: 5rem; } } -.display-2 { - font-size: calc(1.575rem + 3.9vw); - font-weight: 300; - line-height: 1.2; } - @media (min-width: 1200px) { - .display-2 { - font-size: 4.5rem; } } -.display-3 { - font-size: calc(1.525rem + 3.3vw); - font-weight: 300; - line-height: 1.2; } - @media (min-width: 1200px) { - .display-3 { - font-size: 4rem; } } -.display-4 { - font-size: calc(1.475rem + 2.7vw); - font-weight: 300; - line-height: 1.2; } - @media (min-width: 1200px) { - .display-4 { - font-size: 3.5rem; } } -.display-5 { - font-size: calc(1.425rem + 2.1vw); - font-weight: 300; - line-height: 1.2; } - @media (min-width: 1200px) { - .display-5 { - font-size: 3rem; } } -.display-6 { - font-size: calc(1.375rem + 1.5vw); - font-weight: 300; - line-height: 1.2; } - @media (min-width: 1200px) { - .display-6 { - font-size: 2.5rem; } } -.list-unstyled, .td-blog-posts-list { - padding-left: 0; - list-style: none; } - -.list-inline, .td-footer__links-list { - padding-left: 0; - list-style: none; } - -.list-inline-item, .td-footer__links-item { - display: inline-block; } - .list-inline-item:not(:last-child), .td-footer__links-item:not(:last-child) { - margin-right: 1rem; } - -.initialism { - font-size: 0.875em; - text-transform: uppercase; } - -.blockquote { - margin-bottom: 1rem; - font-size: 1.25rem; } - .blockquote > :last-child { - margin-bottom: 0; } - -.blockquote-footer { - margin-top: -1rem; - margin-bottom: 1rem; - font-size: 0.875em; - color: #6c757d; } - .blockquote-footer::before { - content: "\2014\00A0"; } - -.img-fluid, .td-content img { - max-width: 100%; - height: auto; } - -.img-thumbnail { - padding: 0.25rem; - background-color: var(--bs-body-bg); - border: var(--bs-border-width) solid var(--bs-border-color); - border-radius: var(--bs-border-radius); - box-shadow: var(--bs-box-shadow-sm); - max-width: 100%; - height: auto; } - -.figure { - display: inline-block; } - -.figure-img { - margin-bottom: 0.5rem; - line-height: 1; } - -.figure-caption { - font-size: 0.875em; - color: var(--bs-secondary-color); } - -.container, -.container-fluid, -.container-xxl, -.container-xl, -.container-lg, -.container-md, -.container-sm { - --bs-gutter-x: 1.5rem; - --bs-gutter-y: 0; - width: 100%; - padding-right: calc(var(--bs-gutter-x) * .5); - padding-left: calc(var(--bs-gutter-x) * .5); - margin-right: auto; - margin-left: auto; } - -@media (min-width: 576px) { - .container-sm, .container { - max-width: 540px; } } - -@media (min-width: 768px) { - .container-md, .container-sm, .container { - max-width: 720px; } } - -@media (min-width: 992px) { - .container-lg, .container-md, .container-sm, .container { - max-width: 960px; } } - -@media (min-width: 1200px) { - .container-xl, .container-lg, .container-md, .container-sm, .container { - max-width: 1140px; } } - -@media (min-width: 1400px) { - .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { - max-width: 1320px; } } - -:root { - --bs-breakpoint-xs: 0; - --bs-breakpoint-sm: 576px; - --bs-breakpoint-md: 768px; - --bs-breakpoint-lg: 992px; - --bs-breakpoint-xl: 1200px; - --bs-breakpoint-xxl: 1400px; } - -.row { - --bs-gutter-x: 1.5rem; - --bs-gutter-y: 0; - display: flex; - flex-wrap: wrap; - margin-top: calc(-1 * var(--bs-gutter-y)); - margin-right: calc(-.5 * var(--bs-gutter-x)); - margin-left: calc(-.5 * var(--bs-gutter-x)); } - .row > * { - flex-shrink: 0; - width: 100%; - max-width: 100%; - padding-right: calc(var(--bs-gutter-x) * .5); - padding-left: calc(var(--bs-gutter-x) * .5); - margin-top: var(--bs-gutter-y); } - -.col { - flex: 1 0 0%; } - -.row-cols-auto > * { - flex: 0 0 auto; - width: auto; } - -.row-cols-1 > * { - flex: 0 0 auto; - width: 100%; } - -.row-cols-2 > * { - flex: 0 0 auto; - width: 50%; } - -.row-cols-3 > * { - flex: 0 0 auto; - width: 33.33333333%; } - -.row-cols-4 > * { - flex: 0 0 auto; - width: 25%; } - -.row-cols-5 > * { - flex: 0 0 auto; - width: 20%; } - -.row-cols-6 > * { - flex: 0 0 auto; - width: 16.66666667%; } - -.col-auto { - flex: 0 0 auto; - width: auto; } - -.col-1 { - flex: 0 0 auto; - width: 8.33333333%; } - -.col-2 { - flex: 0 0 auto; - width: 16.66666667%; } - -.col-3 { - flex: 0 0 auto; - width: 25%; } - -.col-4 { - flex: 0 0 auto; - width: 33.33333333%; } - -.col-5 { - flex: 0 0 auto; - width: 41.66666667%; } - -.col-6 { - flex: 0 0 auto; - width: 50%; } - -.col-7 { - flex: 0 0 auto; - width: 58.33333333%; } - -.col-8 { - flex: 0 0 auto; - width: 66.66666667%; } - -.col-9 { - flex: 0 0 auto; - width: 75%; } - -.col-10 { - flex: 0 0 auto; - width: 83.33333333%; } - -.col-11 { - flex: 0 0 auto; - width: 91.66666667%; } - -.col-12 { - flex: 0 0 auto; - width: 100%; } - -.offset-1 { - margin-left: 8.33333333%; } - -.offset-2 { - margin-left: 16.66666667%; } - -.offset-3 { - margin-left: 25%; } - -.offset-4 { - margin-left: 33.33333333%; } - -.offset-5 { - margin-left: 41.66666667%; } - -.offset-6 { - margin-left: 50%; } - -.offset-7 { - margin-left: 58.33333333%; } - -.offset-8 { - margin-left: 66.66666667%; } - -.offset-9 { - margin-left: 75%; } - -.offset-10 { - margin-left: 83.33333333%; } - -.offset-11 { - margin-left: 91.66666667%; } - -.g-0, -.gx-0 { - --bs-gutter-x: 0; } - -.g-0, -.gy-0 { - --bs-gutter-y: 0; } - -.g-1, -.gx-1 { - --bs-gutter-x: 0.25rem; } - -.g-1, -.gy-1 { - --bs-gutter-y: 0.25rem; } - -.g-2, -.gx-2 { - --bs-gutter-x: 0.5rem; } - -.g-2, -.gy-2 { - --bs-gutter-y: 0.5rem; } - -.g-3, -.gx-3 { - --bs-gutter-x: 1rem; } - -.g-3, -.gy-3 { - --bs-gutter-y: 1rem; } - -.g-4, -.gx-4 { - --bs-gutter-x: 1.5rem; } - -.g-4, -.gy-4 { - --bs-gutter-y: 1.5rem; } - -.g-5, -.gx-5 { - --bs-gutter-x: 3rem; } - -.g-5, -.gy-5 { - --bs-gutter-y: 3rem; } - -@media (min-width: 576px) { - .col-sm { - flex: 1 0 0%; } - .row-cols-sm-auto > * { - flex: 0 0 auto; - width: auto; } - .row-cols-sm-1 > * { - flex: 0 0 auto; - width: 100%; } - .row-cols-sm-2 > * { - flex: 0 0 auto; - width: 50%; } - .row-cols-sm-3 > * { - flex: 0 0 auto; - width: 33.33333333%; } - .row-cols-sm-4 > * { - flex: 0 0 auto; - width: 25%; } - .row-cols-sm-5 > * { - flex: 0 0 auto; - width: 20%; } - .row-cols-sm-6 > * { - flex: 0 0 auto; - width: 16.66666667%; } - .col-sm-auto { - flex: 0 0 auto; - width: auto; } - .col-sm-1 { - flex: 0 0 auto; - width: 8.33333333%; } - .col-sm-2 { - flex: 0 0 auto; - width: 16.66666667%; } - .col-sm-3 { - flex: 0 0 auto; - width: 25%; } - .col-sm-4 { - flex: 0 0 auto; - width: 33.33333333%; } - .col-sm-5 { - flex: 0 0 auto; - width: 41.66666667%; } - .col-sm-6 { - flex: 0 0 auto; - width: 50%; } - .col-sm-7 { - flex: 0 0 auto; - width: 58.33333333%; } - .col-sm-8 { - flex: 0 0 auto; - width: 66.66666667%; } - .col-sm-9 { - flex: 0 0 auto; - width: 75%; } - .col-sm-10 { - flex: 0 0 auto; - width: 83.33333333%; } - .col-sm-11 { - flex: 0 0 auto; - width: 91.66666667%; } - .col-sm-12 { - flex: 0 0 auto; - width: 100%; } - .offset-sm-0 { - margin-left: 0; } - .offset-sm-1 { - margin-left: 8.33333333%; } - .offset-sm-2 { - margin-left: 16.66666667%; } - .offset-sm-3 { - margin-left: 25%; } - .offset-sm-4 { - margin-left: 33.33333333%; } - .offset-sm-5 { - margin-left: 41.66666667%; } - .offset-sm-6 { - margin-left: 50%; } - .offset-sm-7 { - margin-left: 58.33333333%; } - .offset-sm-8 { - margin-left: 66.66666667%; } - .offset-sm-9 { - margin-left: 75%; } - .offset-sm-10 { - margin-left: 83.33333333%; } - .offset-sm-11 { - margin-left: 91.66666667%; } - .g-sm-0, - .gx-sm-0 { - --bs-gutter-x: 0; } - .g-sm-0, - .gy-sm-0 { - --bs-gutter-y: 0; } - .g-sm-1, - .gx-sm-1 { - --bs-gutter-x: 0.25rem; } - .g-sm-1, - .gy-sm-1 { - --bs-gutter-y: 0.25rem; } - .g-sm-2, - .gx-sm-2 { - --bs-gutter-x: 0.5rem; } - .g-sm-2, - .gy-sm-2 { - --bs-gutter-y: 0.5rem; } - .g-sm-3, - .gx-sm-3 { - --bs-gutter-x: 1rem; } - .g-sm-3, - .gy-sm-3 { - --bs-gutter-y: 1rem; } - .g-sm-4, - .gx-sm-4 { - --bs-gutter-x: 1.5rem; } - .g-sm-4, - .gy-sm-4 { - --bs-gutter-y: 1.5rem; } - .g-sm-5, - .gx-sm-5 { - --bs-gutter-x: 3rem; } - .g-sm-5, - .gy-sm-5 { - --bs-gutter-y: 3rem; } } - -@media (min-width: 768px) { - .col-md { - flex: 1 0 0%; } - .row-cols-md-auto > * { - flex: 0 0 auto; - width: auto; } - .row-cols-md-1 > * { - flex: 0 0 auto; - width: 100%; } - .row-cols-md-2 > * { - flex: 0 0 auto; - width: 50%; } - .row-cols-md-3 > * { - flex: 0 0 auto; - width: 33.33333333%; } - .row-cols-md-4 > * { - flex: 0 0 auto; - width: 25%; } - .row-cols-md-5 > * { - flex: 0 0 auto; - width: 20%; } - .row-cols-md-6 > * { - flex: 0 0 auto; - width: 16.66666667%; } - .col-md-auto { - flex: 0 0 auto; - width: auto; } - .col-md-1 { - flex: 0 0 auto; - width: 8.33333333%; } - .col-md-2 { - flex: 0 0 auto; - width: 16.66666667%; } - .col-md-3 { - flex: 0 0 auto; - width: 25%; } - .col-md-4 { - flex: 0 0 auto; - width: 33.33333333%; } - .col-md-5 { - flex: 0 0 auto; - width: 41.66666667%; } - .col-md-6 { - flex: 0 0 auto; - width: 50%; } - .col-md-7 { - flex: 0 0 auto; - width: 58.33333333%; } - .col-md-8 { - flex: 0 0 auto; - width: 66.66666667%; } - .col-md-9 { - flex: 0 0 auto; - width: 75%; } - .col-md-10 { - flex: 0 0 auto; - width: 83.33333333%; } - .col-md-11 { - flex: 0 0 auto; - width: 91.66666667%; } - .col-md-12 { - flex: 0 0 auto; - width: 100%; } - .offset-md-0 { - margin-left: 0; } - .offset-md-1 { - margin-left: 8.33333333%; } - .offset-md-2 { - margin-left: 16.66666667%; } - .offset-md-3 { - margin-left: 25%; } - .offset-md-4 { - margin-left: 33.33333333%; } - .offset-md-5 { - margin-left: 41.66666667%; } - .offset-md-6 { - margin-left: 50%; } - .offset-md-7 { - margin-left: 58.33333333%; } - .offset-md-8 { - margin-left: 66.66666667%; } - .offset-md-9 { - margin-left: 75%; } - .offset-md-10 { - margin-left: 83.33333333%; } - .offset-md-11 { - margin-left: 91.66666667%; } - .g-md-0, - .gx-md-0 { - --bs-gutter-x: 0; } - .g-md-0, - .gy-md-0 { - --bs-gutter-y: 0; } - .g-md-1, - .gx-md-1 { - --bs-gutter-x: 0.25rem; } - .g-md-1, - .gy-md-1 { - --bs-gutter-y: 0.25rem; } - .g-md-2, - .gx-md-2 { - --bs-gutter-x: 0.5rem; } - .g-md-2, - .gy-md-2 { - --bs-gutter-y: 0.5rem; } - .g-md-3, - .gx-md-3 { - --bs-gutter-x: 1rem; } - .g-md-3, - .gy-md-3 { - --bs-gutter-y: 1rem; } - .g-md-4, - .gx-md-4 { - --bs-gutter-x: 1.5rem; } - .g-md-4, - .gy-md-4 { - --bs-gutter-y: 1.5rem; } - .g-md-5, - .gx-md-5 { - --bs-gutter-x: 3rem; } - .g-md-5, - .gy-md-5 { - --bs-gutter-y: 3rem; } } - -@media (min-width: 992px) { - .col-lg { - flex: 1 0 0%; } - .row-cols-lg-auto > * { - flex: 0 0 auto; - width: auto; } - .row-cols-lg-1 > * { - flex: 0 0 auto; - width: 100%; } - .row-cols-lg-2 > * { - flex: 0 0 auto; - width: 50%; } - .row-cols-lg-3 > * { - flex: 0 0 auto; - width: 33.33333333%; } - .row-cols-lg-4 > * { - flex: 0 0 auto; - width: 25%; } - .row-cols-lg-5 > * { - flex: 0 0 auto; - width: 20%; } - .row-cols-lg-6 > * { - flex: 0 0 auto; - width: 16.66666667%; } - .col-lg-auto { - flex: 0 0 auto; - width: auto; } - .col-lg-1 { - flex: 0 0 auto; - width: 8.33333333%; } - .col-lg-2 { - flex: 0 0 auto; - width: 16.66666667%; } - .col-lg-3 { - flex: 0 0 auto; - width: 25%; } - .col-lg-4 { - flex: 0 0 auto; - width: 33.33333333%; } - .col-lg-5 { - flex: 0 0 auto; - width: 41.66666667%; } - .col-lg-6 { - flex: 0 0 auto; - width: 50%; } - .col-lg-7 { - flex: 0 0 auto; - width: 58.33333333%; } - .col-lg-8 { - flex: 0 0 auto; - width: 66.66666667%; } - .col-lg-9 { - flex: 0 0 auto; - width: 75%; } - .col-lg-10 { - flex: 0 0 auto; - width: 83.33333333%; } - .col-lg-11 { - flex: 0 0 auto; - width: 91.66666667%; } - .col-lg-12 { - flex: 0 0 auto; - width: 100%; } - .offset-lg-0 { - margin-left: 0; } - .offset-lg-1 { - margin-left: 8.33333333%; } - .offset-lg-2 { - margin-left: 16.66666667%; } - .offset-lg-3 { - margin-left: 25%; } - .offset-lg-4 { - margin-left: 33.33333333%; } - .offset-lg-5 { - margin-left: 41.66666667%; } - .offset-lg-6 { - margin-left: 50%; } - .offset-lg-7 { - margin-left: 58.33333333%; } - .offset-lg-8 { - margin-left: 66.66666667%; } - .offset-lg-9 { - margin-left: 75%; } - .offset-lg-10 { - margin-left: 83.33333333%; } - .offset-lg-11 { - margin-left: 91.66666667%; } - .g-lg-0, - .gx-lg-0 { - --bs-gutter-x: 0; } - .g-lg-0, - .gy-lg-0 { - --bs-gutter-y: 0; } - .g-lg-1, - .gx-lg-1 { - --bs-gutter-x: 0.25rem; } - .g-lg-1, - .gy-lg-1 { - --bs-gutter-y: 0.25rem; } - .g-lg-2, - .gx-lg-2 { - --bs-gutter-x: 0.5rem; } - .g-lg-2, - .gy-lg-2 { - --bs-gutter-y: 0.5rem; } - .g-lg-3, - .gx-lg-3 { - --bs-gutter-x: 1rem; } - .g-lg-3, - .gy-lg-3 { - --bs-gutter-y: 1rem; } - .g-lg-4, - .gx-lg-4 { - --bs-gutter-x: 1.5rem; } - .g-lg-4, - .gy-lg-4 { - --bs-gutter-y: 1.5rem; } - .g-lg-5, - .gx-lg-5 { - --bs-gutter-x: 3rem; } - .g-lg-5, - .gy-lg-5 { - --bs-gutter-y: 3rem; } } - -@media (min-width: 1200px) { - .col-xl { - flex: 1 0 0%; } - .row-cols-xl-auto > * { - flex: 0 0 auto; - width: auto; } - .row-cols-xl-1 > * { - flex: 0 0 auto; - width: 100%; } - .row-cols-xl-2 > * { - flex: 0 0 auto; - width: 50%; } - .row-cols-xl-3 > * { - flex: 0 0 auto; - width: 33.33333333%; } - .row-cols-xl-4 > * { - flex: 0 0 auto; - width: 25%; } - .row-cols-xl-5 > * { - flex: 0 0 auto; - width: 20%; } - .row-cols-xl-6 > * { - flex: 0 0 auto; - width: 16.66666667%; } - .col-xl-auto { - flex: 0 0 auto; - width: auto; } - .col-xl-1 { - flex: 0 0 auto; - width: 8.33333333%; } - .col-xl-2 { - flex: 0 0 auto; - width: 16.66666667%; } - .col-xl-3 { - flex: 0 0 auto; - width: 25%; } - .col-xl-4 { - flex: 0 0 auto; - width: 33.33333333%; } - .col-xl-5 { - flex: 0 0 auto; - width: 41.66666667%; } - .col-xl-6 { - flex: 0 0 auto; - width: 50%; } - .col-xl-7 { - flex: 0 0 auto; - width: 58.33333333%; } - .col-xl-8 { - flex: 0 0 auto; - width: 66.66666667%; } - .col-xl-9 { - flex: 0 0 auto; - width: 75%; } - .col-xl-10 { - flex: 0 0 auto; - width: 83.33333333%; } - .col-xl-11 { - flex: 0 0 auto; - width: 91.66666667%; } - .col-xl-12 { - flex: 0 0 auto; - width: 100%; } - .offset-xl-0 { - margin-left: 0; } - .offset-xl-1 { - margin-left: 8.33333333%; } - .offset-xl-2 { - margin-left: 16.66666667%; } - .offset-xl-3 { - margin-left: 25%; } - .offset-xl-4 { - margin-left: 33.33333333%; } - .offset-xl-5 { - margin-left: 41.66666667%; } - .offset-xl-6 { - margin-left: 50%; } - .offset-xl-7 { - margin-left: 58.33333333%; } - .offset-xl-8 { - margin-left: 66.66666667%; } - .offset-xl-9 { - margin-left: 75%; } - .offset-xl-10 { - margin-left: 83.33333333%; } - .offset-xl-11 { - margin-left: 91.66666667%; } - .g-xl-0, - .gx-xl-0 { - --bs-gutter-x: 0; } - .g-xl-0, - .gy-xl-0 { - --bs-gutter-y: 0; } - .g-xl-1, - .gx-xl-1 { - --bs-gutter-x: 0.25rem; } - .g-xl-1, - .gy-xl-1 { - --bs-gutter-y: 0.25rem; } - .g-xl-2, - .gx-xl-2 { - --bs-gutter-x: 0.5rem; } - .g-xl-2, - .gy-xl-2 { - --bs-gutter-y: 0.5rem; } - .g-xl-3, - .gx-xl-3 { - --bs-gutter-x: 1rem; } - .g-xl-3, - .gy-xl-3 { - --bs-gutter-y: 1rem; } - .g-xl-4, - .gx-xl-4 { - --bs-gutter-x: 1.5rem; } - .g-xl-4, - .gy-xl-4 { - --bs-gutter-y: 1.5rem; } - .g-xl-5, - .gx-xl-5 { - --bs-gutter-x: 3rem; } - .g-xl-5, - .gy-xl-5 { - --bs-gutter-y: 3rem; } } - -@media (min-width: 1400px) { - .col-xxl { - flex: 1 0 0%; } - .row-cols-xxl-auto > * { - flex: 0 0 auto; - width: auto; } - .row-cols-xxl-1 > * { - flex: 0 0 auto; - width: 100%; } - .row-cols-xxl-2 > * { - flex: 0 0 auto; - width: 50%; } - .row-cols-xxl-3 > * { - flex: 0 0 auto; - width: 33.33333333%; } - .row-cols-xxl-4 > * { - flex: 0 0 auto; - width: 25%; } - .row-cols-xxl-5 > * { - flex: 0 0 auto; - width: 20%; } - .row-cols-xxl-6 > * { - flex: 0 0 auto; - width: 16.66666667%; } - .col-xxl-auto { - flex: 0 0 auto; - width: auto; } - .col-xxl-1 { - flex: 0 0 auto; - width: 8.33333333%; } - .col-xxl-2 { - flex: 0 0 auto; - width: 16.66666667%; } - .col-xxl-3 { - flex: 0 0 auto; - width: 25%; } - .col-xxl-4 { - flex: 0 0 auto; - width: 33.33333333%; } - .col-xxl-5 { - flex: 0 0 auto; - width: 41.66666667%; } - .col-xxl-6 { - flex: 0 0 auto; - width: 50%; } - .col-xxl-7 { - flex: 0 0 auto; - width: 58.33333333%; } - .col-xxl-8 { - flex: 0 0 auto; - width: 66.66666667%; } - .col-xxl-9 { - flex: 0 0 auto; - width: 75%; } - .col-xxl-10 { - flex: 0 0 auto; - width: 83.33333333%; } - .col-xxl-11 { - flex: 0 0 auto; - width: 91.66666667%; } - .col-xxl-12 { - flex: 0 0 auto; - width: 100%; } - .offset-xxl-0 { - margin-left: 0; } - .offset-xxl-1 { - margin-left: 8.33333333%; } - .offset-xxl-2 { - margin-left: 16.66666667%; } - .offset-xxl-3 { - margin-left: 25%; } - .offset-xxl-4 { - margin-left: 33.33333333%; } - .offset-xxl-5 { - margin-left: 41.66666667%; } - .offset-xxl-6 { - margin-left: 50%; } - .offset-xxl-7 { - margin-left: 58.33333333%; } - .offset-xxl-8 { - margin-left: 66.66666667%; } - .offset-xxl-9 { - margin-left: 75%; } - .offset-xxl-10 { - margin-left: 83.33333333%; } - .offset-xxl-11 { - margin-left: 91.66666667%; } - .g-xxl-0, - .gx-xxl-0 { - --bs-gutter-x: 0; } - .g-xxl-0, - .gy-xxl-0 { - --bs-gutter-y: 0; } - .g-xxl-1, - .gx-xxl-1 { - --bs-gutter-x: 0.25rem; } - .g-xxl-1, - .gy-xxl-1 { - --bs-gutter-y: 0.25rem; } - .g-xxl-2, - .gx-xxl-2 { - --bs-gutter-x: 0.5rem; } - .g-xxl-2, - .gy-xxl-2 { - --bs-gutter-y: 0.5rem; } - .g-xxl-3, - .gx-xxl-3 { - --bs-gutter-x: 1rem; } - .g-xxl-3, - .gy-xxl-3 { - --bs-gutter-y: 1rem; } - .g-xxl-4, - .gx-xxl-4 { - --bs-gutter-x: 1.5rem; } - .g-xxl-4, - .gy-xxl-4 { - --bs-gutter-y: 1.5rem; } - .g-xxl-5, - .gx-xxl-5 { - --bs-gutter-x: 3rem; } - .g-xxl-5, - .gy-xxl-5 { - --bs-gutter-y: 3rem; } } - -.table, .td-table:not(.td-initial), .td-content table:not(.td-initial), .td-box table:not(.td-initial) { - --bs-table-color-type: initial; - --bs-table-bg-type: initial; - --bs-table-color-state: initial; - --bs-table-bg-state: initial; - --bs-table-color: var(--bs-emphasis-color); - --bs-table-bg: var(--bs-body-bg); - --bs-table-border-color: var(--bs-border-color); - --bs-table-accent-bg: transparent; - --bs-table-striped-color: var(--bs-emphasis-color); - --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05); - --bs-table-active-color: var(--bs-emphasis-color); - --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1); - --bs-table-hover-color: var(--bs-emphasis-color); - --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075); - width: 100%; - margin-bottom: 1rem; - vertical-align: top; - border-color: var(--bs-table-border-color); } - .table > :not(caption) > * > *, .td-table:not(.td-initial) > :not(caption) > * > *, .td-content table:not(.td-initial) > :not(caption) > * > *, .td-box table:not(.td-initial) > :not(caption) > * > * { - padding: 0.5rem 0.5rem; - color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color))); - background-color: var(--bs-table-bg); - border-bottom-width: var(--bs-border-width); - box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg))); } - .table > tbody, .td-table:not(.td-initial) > tbody, .td-content table:not(.td-initial) > tbody, .td-box table:not(.td-initial) > tbody { - vertical-align: inherit; } - .table > thead, .td-table:not(.td-initial) > thead, .td-content table:not(.td-initial) > thead, .td-box table:not(.td-initial) > thead { - vertical-align: bottom; } - -.table-group-divider { - border-top: calc(var(--bs-border-width) * 2) solid currentcolor; } - -.caption-top { - caption-side: top; } - -.table-sm > :not(caption) > * > * { - padding: 0.25rem 0.25rem; } - -.table-bordered > :not(caption) > * { - border-width: var(--bs-border-width) 0; } - .table-bordered > :not(caption) > * > * { - border-width: 0 var(--bs-border-width); } - -.table-borderless > :not(caption) > * > * { - border-bottom-width: 0; } - -.table-borderless > :not(:first-child) { - border-top-width: 0; } - -.table-striped > tbody > tr:nth-of-type(odd) > *, .td-table:not(.td-initial) > tbody > tr:nth-of-type(odd) > *, .td-content table:not(.td-initial) > tbody > tr:nth-of-type(odd) > *, .td-box table:not(.td-initial) > tbody > tr:nth-of-type(odd) > * { - --bs-table-color-type: var(--bs-table-striped-color); - --bs-table-bg-type: var(--bs-table-striped-bg); } - -.table-striped-columns > :not(caption) > tr > :nth-child(even) { - --bs-table-color-type: var(--bs-table-striped-color); - --bs-table-bg-type: var(--bs-table-striped-bg); } - -.table-active { - --bs-table-color-state: var(--bs-table-active-color); - --bs-table-bg-state: var(--bs-table-active-bg); } - -.table-hover > tbody > tr:hover > * { - --bs-table-color-state: var(--bs-table-hover-color); - --bs-table-bg-state: var(--bs-table-hover-bg); } - -.table-primary { - --bs-table-color: #000; - --bs-table-bg: #d6e0e8; - --bs-table-border-color: #abb3ba; - --bs-table-striped-bg: #cbd5dc; - --bs-table-striped-color: #000; - --bs-table-active-bg: #c1cad1; - --bs-table-active-color: #000; - --bs-table-hover-bg: #c6cfd7; - --bs-table-hover-color: #000; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-secondary { - --bs-table-color: #000; - --bs-table-bg: #ffedd6; - --bs-table-border-color: #ccbeab; - --bs-table-striped-bg: #f2e1cb; - --bs-table-striped-color: #000; - --bs-table-active-bg: #e6d5c1; - --bs-table-active-color: #000; - --bs-table-hover-bg: #ecdbc6; - --bs-table-hover-color: #000; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-success { - --bs-table-color: #000; - --bs-table-bg: #d7e3ff; - --bs-table-border-color: #acb6cc; - --bs-table-striped-bg: #ccd8f2; - --bs-table-striped-color: #000; - --bs-table-active-bg: #c2cce6; - --bs-table-active-color: #000; - --bs-table-hover-bg: #c7d2ec; - --bs-table-hover-color: #000; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-info { - --bs-table-color: #000; - --bs-table-bg: #f2f9f8; - --bs-table-border-color: #c2c7c6; - --bs-table-striped-bg: #e6edec; - --bs-table-striped-color: #000; - --bs-table-active-bg: #dae0df; - --bs-table-active-color: #000; - --bs-table-hover-bg: #e0e6e5; - --bs-table-hover-color: #000; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-warning { - --bs-table-color: #000; - --bs-table-bg: #fbe1de; - --bs-table-border-color: #c9b4b2; - --bs-table-striped-bg: #eed6d3; - --bs-table-striped-color: #000; - --bs-table-active-bg: #e2cbc8; - --bs-table-active-color: #000; - --bs-table-hover-bg: #e8d0cd; - --bs-table-hover-color: #000; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-danger { - --bs-table-color: #000; - --bs-table-bg: #fbe1de; - --bs-table-border-color: #c9b4b2; - --bs-table-striped-bg: #eed6d3; - --bs-table-striped-color: #000; - --bs-table-active-bg: #e2cbc8; - --bs-table-active-color: #000; - --bs-table-hover-bg: #e8d0cd; - --bs-table-hover-color: #000; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-light { - --bs-table-color: #000; - --bs-table-bg: #d3f3ee; - --bs-table-border-color: #a9c2be; - --bs-table-striped-bg: #c8e7e2; - --bs-table-striped-color: #000; - --bs-table-active-bg: #bedbd6; - --bs-table-active-color: #000; - --bs-table-hover-bg: #c3e1dc; - --bs-table-hover-color: #000; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-dark { - --bs-table-color: #fff; - --bs-table-bg: #403f4c; - --bs-table-border-color: #666570; - --bs-table-striped-bg: #4a4955; - --bs-table-striped-color: #fff; - --bs-table-active-bg: #53525e; - --bs-table-active-color: #fff; - --bs-table-hover-bg: #4e4d59; - --bs-table-hover-color: #fff; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-responsive, .td-table:not(.td-initial), .td-content table:not(.td-initial), .td-box table:not(.td-initial) { - overflow-x: auto; - -webkit-overflow-scrolling: touch; } - -@media (max-width: 575.98px) { - .table-responsive-sm { - overflow-x: auto; - -webkit-overflow-scrolling: touch; } } - -@media (max-width: 767.98px) { - .table-responsive-md { - overflow-x: auto; - -webkit-overflow-scrolling: touch; } } - -@media (max-width: 991.98px) { - .table-responsive-lg { - overflow-x: auto; - -webkit-overflow-scrolling: touch; } } - -@media (max-width: 1199.98px) { - .table-responsive-xl { - overflow-x: auto; - -webkit-overflow-scrolling: touch; } } - -@media (max-width: 1399.98px) { - .table-responsive-xxl { - overflow-x: auto; - -webkit-overflow-scrolling: touch; } } - -.form-label { - margin-bottom: 0.5rem; } - -.col-form-label { - padding-top: calc(0.375rem + var(--bs-border-width)); - padding-bottom: calc(0.375rem + var(--bs-border-width)); - margin-bottom: 0; - font-size: inherit; - line-height: 1.5; } - -.col-form-label-lg { - padding-top: calc(0.5rem + var(--bs-border-width)); - padding-bottom: calc(0.5rem + var(--bs-border-width)); - font-size: 1.25rem; } - -.col-form-label-sm { - padding-top: calc(0.25rem + var(--bs-border-width)); - padding-bottom: calc(0.25rem + var(--bs-border-width)); - font-size: 0.875rem; } - -.form-text { - margin-top: 0.25rem; - font-size: 0.875em; - color: var(--bs-secondary-color); } - -.form-control { - display: block; - width: 100%; - padding: 0.375rem 0.75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: var(--bs-body-color); - appearance: none; - background-color: var(--bs-body-bg); - background-clip: padding-box; - border: var(--bs-border-width) solid var(--bs-border-color); - border-radius: var(--bs-border-radius); - box-shadow: var(--bs-box-shadow-inset); - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-control { - transition: none; } } - .form-control[type="file"] { - overflow: hidden; } - .form-control[type="file"]:not(:disabled):not([readonly]) { - cursor: pointer; } - .form-control:focus { - color: var(--bs-body-color); - background-color: var(--bs-body-bg); - border-color: #98b1c7; - outline: 0; - box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25rem rgba(48, 99, 142, 0.25); } - .form-control::-webkit-date-and-time-value { - min-width: 85px; - height: 1.5em; - margin: 0; } - .form-control::-webkit-datetime-edit { - display: block; - padding: 0; } - .form-control::placeholder { - color: var(--bs-secondary-color); - opacity: 1; } - .form-control:disabled { - background-color: var(--bs-secondary-bg); - opacity: 1; } - .form-control::file-selector-button { - padding: 0.375rem 0.75rem; - margin: -0.375rem -0.75rem; - margin-inline-end: 0.75rem; - color: var(--bs-body-color); - background-color: var(--bs-tertiary-bg); - background-image: var(--bs-gradient); - pointer-events: none; - border-color: inherit; - border-style: solid; - border-width: 0; - border-inline-end-width: var(--bs-border-width); - border-radius: 0; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-control::file-selector-button { - transition: none; } } - .form-control:hover:not(:disabled):not([readonly])::file-selector-button { - background-color: var(--bs-secondary-bg); } - -.form-control-plaintext { - display: block; - width: 100%; - padding: 0.375rem 0; - margin-bottom: 0; - line-height: 1.5; - color: var(--bs-body-color); - background-color: transparent; - border: solid transparent; - border-width: var(--bs-border-width) 0; } - .form-control-plaintext:focus { - outline: 0; } - .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { - padding-right: 0; - padding-left: 0; } - -.form-control-sm { - min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - border-radius: var(--bs-border-radius-sm); } - .form-control-sm::file-selector-button { - padding: 0.25rem 0.5rem; - margin: -0.25rem -0.5rem; - margin-inline-end: 0.5rem; } - -.form-control-lg { - min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); - padding: 0.5rem 1rem; - font-size: 1.25rem; - border-radius: var(--bs-border-radius-lg); } - .form-control-lg::file-selector-button { - padding: 0.5rem 1rem; - margin: -0.5rem -1rem; - margin-inline-end: 1rem; } - -textarea.form-control { - min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2)); } - -textarea.form-control-sm { - min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); } - -textarea.form-control-lg { - min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); } - -.form-control-color { - width: 3rem; - height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2)); - padding: 0.375rem; } - .form-control-color:not(:disabled):not([readonly]) { - cursor: pointer; } - .form-control-color::-moz-color-swatch { - border: 0 !important; - border-radius: var(--bs-border-radius); } - .form-control-color::-webkit-color-swatch { - border: 0 !important; - border-radius: var(--bs-border-radius); } - .form-control-color.form-control-sm { - height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); } - .form-control-color.form-control-lg { - height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); } - -.form-select { - --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); - display: block; - width: 100%; - padding: 0.375rem 2.25rem 0.375rem 0.75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: var(--bs-body-color); - appearance: none; - background-color: var(--bs-body-bg); - background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); - background-repeat: no-repeat; - background-position: right 0.75rem center; - background-size: 16px 12px; - border: var(--bs-border-width) solid var(--bs-border-color); - border-radius: var(--bs-border-radius); - box-shadow: var(--bs-box-shadow-inset); - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-select { - transition: none; } } - .form-select:focus { - border-color: #98b1c7; - outline: 0; - box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25rem rgba(48, 99, 142, 0.25); } - .form-select[multiple], .form-select[size]:not([size="1"]) { - padding-right: 0.75rem; - background-image: none; } - .form-select:disabled { - background-color: var(--bs-secondary-bg); } - .form-select:-moz-focusring { - color: transparent; - text-shadow: 0 0 0 var(--bs-body-color); } - -.form-select-sm { - padding-top: 0.25rem; - padding-bottom: 0.25rem; - padding-left: 0.5rem; - font-size: 0.875rem; - border-radius: var(--bs-border-radius-sm); } - -.form-select-lg { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 1rem; - font-size: 1.25rem; - border-radius: var(--bs-border-radius-lg); } - -[data-bs-theme="dark"] .form-select { - --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); } - -.form-check { - display: block; - min-height: 1.5rem; - padding-left: 1.5em; - margin-bottom: 0.125rem; } - .form-check .form-check-input { - float: left; - margin-left: -1.5em; } - -.form-check-reverse { - padding-right: 1.5em; - padding-left: 0; - text-align: right; } - .form-check-reverse .form-check-input { - float: right; - margin-right: -1.5em; - margin-left: 0; } - -.form-check-input { - --bs-form-check-bg: var(--bs-body-bg); - flex-shrink: 0; - width: 1em; - height: 1em; - margin-top: 0.25em; - vertical-align: top; - appearance: none; - background-color: var(--bs-form-check-bg); - background-image: var(--bs-form-check-bg-image); - background-repeat: no-repeat; - background-position: center; - background-size: contain; - border: var(--bs-border-width) solid var(--bs-border-color); - print-color-adjust: exact; } - .form-check-input[type="checkbox"] { - border-radius: 0.25em; } - .form-check-input[type="radio"] { - border-radius: 50%; } - .form-check-input:active { - filter: brightness(90%); } - .form-check-input:focus { - border-color: #98b1c7; - outline: 0; - box-shadow: 0 0 0 0.25rem rgba(48, 99, 142, 0.25); } - .form-check-input:checked { - background-color: #30638e; - border-color: #30638e; } - .form-check-input:checked[type="checkbox"] { - --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"), var(--bs-gradient); } - .form-check-input:checked[type="radio"] { - --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"), var(--bs-gradient); } - .form-check-input[type="checkbox"]:indeterminate { - background-color: #30638e; - border-color: #30638e; - --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"), var(--bs-gradient); } - .form-check-input:disabled { - pointer-events: none; - filter: none; - opacity: 0.5; } - .form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { - cursor: default; - opacity: 0.5; } - -.form-switch { - padding-left: 2.5em; } - .form-switch .form-check-input { - --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e"); - width: 2em; - margin-left: -2.5em; - background-image: var(--bs-form-switch-bg); - background-position: left center; - border-radius: 2em; - transition: background-position 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-switch .form-check-input { - transition: none; } } - .form-switch .form-check-input:focus { - --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2398b1c7'/%3e%3c/svg%3e"); } - .form-switch .form-check-input:checked { - background-position: right center; - --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"), var(--bs-gradient); } - .form-switch.form-check-reverse { - padding-right: 2.5em; - padding-left: 0; } - .form-switch.form-check-reverse .form-check-input { - margin-right: -2.5em; - margin-left: 0; } - -.form-check-inline { - display: inline-block; - margin-right: 1rem; } - -.btn-check { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none; } - .btn-check[disabled] + .btn, div.drawio .btn-check[disabled] + button, .td-blog .btn-check[disabled] + .td-rss-button, .btn-check:disabled + .btn, div.drawio .btn-check:disabled + button, .td-blog .btn-check:disabled + .td-rss-button { - pointer-events: none; - filter: none; - opacity: 0.65; } - -[data-bs-theme="dark"] .form-switch .form-check-input:not(:checked):not(:focus) { - --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e"); } - -.form-range { - width: 100%; - height: 1.5rem; - padding: 0; - appearance: none; - background-color: transparent; } - .form-range:focus { - outline: 0; } - .form-range:focus::-webkit-slider-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(48, 99, 142, 0.25); } - .form-range:focus::-moz-range-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(48, 99, 142, 0.25); } - .form-range::-moz-focus-outer { - border: 0; } - .form-range::-webkit-slider-thumb { - width: 1rem; - height: 1rem; - margin-top: -0.25rem; - appearance: none; - background-color: #30638e; - background-image: var(--bs-gradient); - border: 0; - border-radius: 1rem; - box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-range::-webkit-slider-thumb { - transition: none; } } - .form-range::-webkit-slider-thumb:active { - background-color: #c1d0dd; - background-image: var(--bs-gradient); } - .form-range::-webkit-slider-runnable-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: var(--bs-secondary-bg); - border-color: transparent; - border-radius: 1rem; - box-shadow: var(--bs-box-shadow-inset); } - .form-range::-moz-range-thumb { - width: 1rem; - height: 1rem; - appearance: none; - background-color: #30638e; - background-image: var(--bs-gradient); - border: 0; - border-radius: 1rem; - box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-range::-moz-range-thumb { - transition: none; } } - .form-range::-moz-range-thumb:active { - background-color: #c1d0dd; - background-image: var(--bs-gradient); } - .form-range::-moz-range-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: var(--bs-secondary-bg); - border-color: transparent; - border-radius: 1rem; - box-shadow: var(--bs-box-shadow-inset); } - .form-range:disabled { - pointer-events: none; } - .form-range:disabled::-webkit-slider-thumb { - background-color: var(--bs-secondary-color); } - .form-range:disabled::-moz-range-thumb { - background-color: var(--bs-secondary-color); } - -.form-floating { - position: relative; } - .form-floating > .form-control, - .form-floating > .form-control-plaintext, - .form-floating > .form-select { - height: calc(3.5rem + calc(var(--bs-border-width) * 2)); - min-height: calc(3.5rem + calc(var(--bs-border-width) * 2)); - line-height: 1.25; } - .form-floating > label { - position: absolute; - top: 0; - left: 0; - z-index: 2; - height: 100%; - padding: 1rem 0.75rem; - overflow: hidden; - text-align: start; - text-overflow: ellipsis; - white-space: nowrap; - pointer-events: none; - border: var(--bs-border-width) solid transparent; - transform-origin: 0 0; - transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-floating > label { - transition: none; } } - .form-floating > .form-control, - .form-floating > .form-control-plaintext { - padding: 1rem 0.75rem; } - .form-floating > .form-control::placeholder, - .form-floating > .form-control-plaintext::placeholder { - color: transparent; } - .form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown), - .form-floating > .form-control-plaintext:focus, - .form-floating > .form-control-plaintext:not(:placeholder-shown) { - padding-top: 1.625rem; - padding-bottom: 0.625rem; } - .form-floating > .form-control:-webkit-autofill, - .form-floating > .form-control-plaintext:-webkit-autofill { - padding-top: 1.625rem; - padding-bottom: 0.625rem; } - .form-floating > .form-select { - padding-top: 1.625rem; - padding-bottom: 0.625rem; } - .form-floating > .form-control:focus ~ label, - .form-floating > .form-control:not(:placeholder-shown) ~ label, - .form-floating > .form-control-plaintext ~ label, - .form-floating > .form-select ~ label { - color: rgba(var(--bs-body-color-rgb), 0.65); - transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); } - .form-floating > .form-control:focus ~ label::after, - .form-floating > .form-control:not(:placeholder-shown) ~ label::after, - .form-floating > .form-control-plaintext ~ label::after, - .form-floating > .form-select ~ label::after { - position: absolute; - inset: 1rem 0.375rem; - z-index: -1; - height: 1.5em; - content: ""; - background-color: var(--bs-body-bg); - border-radius: var(--bs-border-radius); } - .form-floating > .form-control:-webkit-autofill ~ label { - color: rgba(var(--bs-body-color-rgb), 0.65); - transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); } - .form-floating > .form-control-plaintext ~ label { - border-width: var(--bs-border-width) 0; } - .form-floating > :disabled ~ label, - .form-floating > .form-control:disabled ~ label { - color: #6c757d; } - .form-floating > :disabled ~ label::after, - .form-floating > .form-control:disabled ~ label::after { - background-color: var(--bs-secondary-bg); } - -.input-group { - position: relative; - display: flex; - flex-wrap: wrap; - align-items: stretch; - width: 100%; } - .input-group > .form-control, - .input-group > .form-select, - .input-group > .form-floating { - position: relative; - flex: 1 1 auto; - width: 1%; - min-width: 0; } - .input-group > .form-control:focus, - .input-group > .form-select:focus, - .input-group > .form-floating:focus-within { - z-index: 5; } - .input-group .btn, .input-group div.drawio button, div.drawio .input-group button, .input-group .td-blog .td-rss-button, .td-blog .input-group .td-rss-button { - position: relative; - z-index: 2; } - .input-group .btn:focus, .input-group div.drawio button:focus, div.drawio .input-group button:focus, .input-group .td-blog .td-rss-button:focus, .td-blog .input-group .td-rss-button:focus { - z-index: 5; } - -.input-group-text { - display: flex; - align-items: center; - padding: 0.375rem 0.75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: var(--bs-body-color); - text-align: center; - white-space: nowrap; - background-color: var(--bs-tertiary-bg); - border: var(--bs-border-width) solid var(--bs-border-color); - border-radius: var(--bs-border-radius); } - -.input-group-lg > .form-control, -.input-group-lg > .form-select, -.input-group-lg > .input-group-text, -.input-group-lg > .btn, -div.drawio .input-group-lg > button, -.td-blog .input-group-lg > .td-rss-button { - padding: 0.5rem 1rem; - font-size: 1.25rem; - border-radius: var(--bs-border-radius-lg); } - -.input-group-sm > .form-control, -.input-group-sm > .form-select, -.input-group-sm > .input-group-text, -.input-group-sm > .btn, -div.drawio .input-group-sm > button, -.td-blog .input-group-sm > .td-rss-button { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - border-radius: var(--bs-border-radius-sm); } - -.input-group-lg > .form-select, -.input-group-sm > .form-select { - padding-right: 3rem; } - -.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), -.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3), -.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, -.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - -.input-group.has-validation > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), -.input-group.has-validation > .dropdown-toggle:nth-last-child(n + 4), -.input-group.has-validation > .form-floating:nth-last-child(n + 3) > .form-control, -.input-group.has-validation > .form-floating:nth-last-child(n + 3) > .form-select { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - -.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { - margin-left: calc(var(--bs-border-width) * -1); - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - -.input-group > .form-floating:not(:first-child) > .form-control, -.input-group > .form-floating:not(:first-child) > .form-select { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - -.valid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 0.875em; - color: var(--bs-form-valid-color); } - -.valid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: .1rem; - font-size: 0.875rem; - color: #fff; - background-color: var(--bs-success); - border-radius: var(--bs-border-radius); } - -.was-validated :valid ~ .valid-feedback, -.was-validated :valid ~ .valid-tooltip, -.is-valid ~ .valid-feedback, -.is-valid ~ .valid-tooltip { - display: block; } - -.was-validated .form-control:valid, .form-control.is-valid { - border-color: var(--bs-form-valid-border-color); - padding-right: calc(1.5em + 0.75rem); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%233772ff' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: right calc(0.375em + 0.1875rem) center; - background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } - .was-validated .form-control:valid:focus, .form-control.is-valid:focus { - border-color: var(--bs-form-valid-border-color); - box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); } - -.was-validated textarea.form-control:valid, textarea.form-control.is-valid { - padding-right: calc(1.5em + 0.75rem); - background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); } - -.was-validated .form-select:valid, .form-select.is-valid { - border-color: var(--bs-form-valid-border-color); } - .was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { - --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%233772ff' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); - padding-right: 4.125rem; - background-position: right 0.75rem center, center right 2.25rem; - background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } - .was-validated .form-select:valid:focus, .form-select.is-valid:focus { - border-color: var(--bs-form-valid-border-color); - box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); } - -.was-validated .form-control-color:valid, .form-control-color.is-valid { - width: calc(3rem + calc(1.5em + 0.75rem)); } - -.was-validated .form-check-input:valid, .form-check-input.is-valid { - border-color: var(--bs-form-valid-border-color); } - .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { - background-color: var(--bs-form-valid-color); } - .was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { - box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); } - .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { - color: var(--bs-form-valid-color); } - -.form-check-inline .form-check-input ~ .valid-feedback { - margin-left: .5em; } - -.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, .was-validated .input-group > .form-select:not(:focus):valid, -.input-group > .form-select:not(:focus).is-valid, .was-validated .input-group > .form-floating:not(:focus-within):valid, -.input-group > .form-floating:not(:focus-within).is-valid { - z-index: 3; } - -.invalid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 0.875em; - color: var(--bs-form-invalid-color); } - -.invalid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: .1rem; - font-size: 0.875rem; - color: #fff; - background-color: var(--bs-danger); - border-radius: var(--bs-border-radius); } - -.was-validated :invalid ~ .invalid-feedback, -.was-validated :invalid ~ .invalid-tooltip, -.is-invalid ~ .invalid-feedback, -.is-invalid ~ .invalid-tooltip { - display: block; } - -.was-validated .form-control:invalid, .form-control.is-invalid { - border-color: var(--bs-form-invalid-border-color); - padding-right: calc(1.5em + 0.75rem); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ed6a5a'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ed6a5a' stroke='none'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: right calc(0.375em + 0.1875rem) center; - background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } - .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { - border-color: var(--bs-form-invalid-border-color); - box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); } - -.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { - padding-right: calc(1.5em + 0.75rem); - background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); } - -.was-validated .form-select:invalid, .form-select.is-invalid { - border-color: var(--bs-form-invalid-border-color); } - .was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { - --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ed6a5a'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ed6a5a' stroke='none'/%3e%3c/svg%3e"); - padding-right: 4.125rem; - background-position: right 0.75rem center, center right 2.25rem; - background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } - .was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { - border-color: var(--bs-form-invalid-border-color); - box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); } - -.was-validated .form-control-color:invalid, .form-control-color.is-invalid { - width: calc(3rem + calc(1.5em + 0.75rem)); } - -.was-validated .form-check-input:invalid, .form-check-input.is-invalid { - border-color: var(--bs-form-invalid-border-color); } - .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { - background-color: var(--bs-form-invalid-color); } - .was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { - box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); } - .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { - color: var(--bs-form-invalid-color); } - -.form-check-inline .form-check-input ~ .invalid-feedback { - margin-left: .5em; } - -.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, .was-validated .input-group > .form-select:not(:focus):invalid, -.input-group > .form-select:not(:focus).is-invalid, .was-validated .input-group > .form-floating:not(:focus-within):invalid, -.input-group > .form-floating:not(:focus-within).is-invalid { - z-index: 4; } - -.btn, div.drawio button, .td-blog .td-rss-button { - --bs-btn-padding-x: 0.75rem; - --bs-btn-padding-y: 0.375rem; - --bs-btn-font-family: ; - --bs-btn-font-size: 1rem; - --bs-btn-font-weight: 400; - --bs-btn-line-height: 1.5; - --bs-btn-color: var(--bs-body-color); - --bs-btn-bg: transparent; - --bs-btn-border-width: var(--bs-border-width); - --bs-btn-border-color: transparent; - --bs-btn-border-radius: var(--bs-border-radius); - --bs-btn-hover-border-color: transparent; - --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); - --bs-btn-disabled-opacity: 0.65; - --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5); - display: inline-block; - padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x); - font-family: var(--bs-btn-font-family); - font-size: var(--bs-btn-font-size); - font-weight: var(--bs-btn-font-weight); - line-height: var(--bs-btn-line-height); - color: var(--bs-btn-color); - text-align: center; - text-decoration: none; - vertical-align: middle; - cursor: pointer; - user-select: none; - border: var(--bs-btn-border-width) solid var(--bs-btn-border-color); - border-radius: var(--bs-btn-border-radius); - background-color: var(--bs-btn-bg); - background-image: var(--bs-gradient); - box-shadow: var(--bs-btn-box-shadow); - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .btn, div.drawio button, .td-blog .td-rss-button { - transition: none; } } - .btn:hover, div.drawio button:hover, .td-blog .td-rss-button:hover { - color: var(--bs-btn-hover-color); - background-color: var(--bs-btn-hover-bg); - border-color: var(--bs-btn-hover-border-color); } - .btn-check + .btn:hover, div.drawio .btn-check + button:hover, .td-blog .btn-check + .td-rss-button:hover { - color: var(--bs-btn-color); - background-color: var(--bs-btn-bg); - border-color: var(--bs-btn-border-color); } - .btn:focus-visible, div.drawio button:focus-visible, .td-blog .td-rss-button:focus-visible { - color: var(--bs-btn-hover-color); - background-color: var(--bs-btn-hover-bg); - background-image: var(--bs-gradient); - border-color: var(--bs-btn-hover-border-color); - outline: 0; - box-shadow: var(--bs-btn-box-shadow), var(--bs-btn-focus-box-shadow); } - .btn-check:focus-visible + .btn, div.drawio .btn-check:focus-visible + button, .td-blog .btn-check:focus-visible + .td-rss-button { - border-color: var(--bs-btn-hover-border-color); - outline: 0; - box-shadow: var(--bs-btn-box-shadow), var(--bs-btn-focus-box-shadow); } - .btn-check:checked + .btn, div.drawio .btn-check:checked + button, .td-blog .btn-check:checked + .td-rss-button, :not(.btn-check) + .btn:active, div.drawio :not(.btn-check) + button:active, .td-blog :not(.btn-check) + .td-rss-button:active, .btn:first-child:active, div.drawio button:first-child:active, .td-blog .td-rss-button:first-child:active, .btn.active, div.drawio button.active, .td-blog .active.td-rss-button, .btn.show, div.drawio button.show, .td-blog .show.td-rss-button { - color: var(--bs-btn-active-color); - background-color: var(--bs-btn-active-bg); - background-image: none; - border-color: var(--bs-btn-active-border-color); - box-shadow: var(--bs-btn-active-shadow); } - .btn-check:checked + .btn:focus-visible, div.drawio .btn-check:checked + button:focus-visible, .td-blog .btn-check:checked + .td-rss-button:focus-visible, :not(.btn-check) + .btn:active:focus-visible, div.drawio :not(.btn-check) + button:active:focus-visible, .td-blog :not(.btn-check) + .td-rss-button:active:focus-visible, .btn:first-child:active:focus-visible, div.drawio button:first-child:active:focus-visible, .td-blog .td-rss-button:first-child:active:focus-visible, .btn.active:focus-visible, div.drawio button.active:focus-visible, .td-blog .active.td-rss-button:focus-visible, .btn.show:focus-visible, div.drawio button.show:focus-visible, .td-blog .show.td-rss-button:focus-visible { - box-shadow: var(--bs-btn-active-shadow), var(--bs-btn-focus-box-shadow); } - .btn-check:checked:focus-visible + .btn, div.drawio .btn-check:checked:focus-visible + button, .td-blog .btn-check:checked:focus-visible + .td-rss-button { - box-shadow: var(--bs-btn-active-shadow), var(--bs-btn-focus-box-shadow); } - .btn:disabled, div.drawio button:disabled, .td-blog .td-rss-button:disabled, .btn.disabled, div.drawio button.disabled, .td-blog .disabled.td-rss-button, fieldset:disabled .btn, fieldset:disabled div.drawio button, div.drawio fieldset:disabled button, fieldset:disabled .td-blog .td-rss-button, .td-blog fieldset:disabled .td-rss-button { - color: var(--bs-btn-disabled-color); - pointer-events: none; - background-color: var(--bs-btn-disabled-bg); - background-image: none; - border-color: var(--bs-btn-disabled-border-color); - opacity: var(--bs-btn-disabled-opacity); - box-shadow: none; } - -.btn-primary { - --bs-btn-color: #fff; - --bs-btn-bg: #30638e; - --bs-btn-border-color: #30638e; - --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #295479; - --bs-btn-hover-border-color: #264f72; - --bs-btn-focus-shadow-rgb: 79, 122, 159; - --bs-btn-active-color: #fff; - --bs-btn-active-bg: #264f72; - --bs-btn-active-border-color: #244a6b; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #fff; - --bs-btn-disabled-bg: #30638e; - --bs-btn-disabled-border-color: #30638e; } - -.btn-secondary { - --bs-btn-color: #000; - --bs-btn-bg: #ffa630; - --bs-btn-border-color: #ffa630; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #ffb34f; - --bs-btn-hover-border-color: #ffaf45; - --bs-btn-focus-shadow-rgb: 217, 141, 41; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #ffb859; - --bs-btn-active-border-color: #ffaf45; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #000; - --bs-btn-disabled-bg: #ffa630; - --bs-btn-disabled-border-color: #ffa630; } - -.btn-success { - --bs-btn-color: #000; - --bs-btn-bg: #3772ff; - --bs-btn-border-color: #3772ff; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #5587ff; - --bs-btn-hover-border-color: #4b80ff; - --bs-btn-focus-shadow-rgb: 47, 97, 217; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #5f8eff; - --bs-btn-active-border-color: #4b80ff; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #000; - --bs-btn-disabled-bg: #3772ff; - --bs-btn-disabled-border-color: #3772ff; } - -.btn-info, .td-blog .td-rss-button { - --bs-btn-color: #000; - --bs-btn-bg: #c0e0de; - --bs-btn-border-color: #c0e0de; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #c9e5e3; - --bs-btn-hover-border-color: #c6e3e1; - --bs-btn-focus-shadow-rgb: 163, 190, 189; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #cde6e5; - --bs-btn-active-border-color: #c6e3e1; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #000; - --bs-btn-disabled-bg: #c0e0de; - --bs-btn-disabled-border-color: #c0e0de; } - -.btn-warning { - --bs-btn-color: #000; - --bs-btn-bg: #ed6a5a; - --bs-btn-border-color: #ed6a5a; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #f08073; - --bs-btn-hover-border-color: #ef796b; - --bs-btn-focus-shadow-rgb: 201, 90, 77; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #f1887b; - --bs-btn-active-border-color: #ef796b; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #000; - --bs-btn-disabled-bg: #ed6a5a; - --bs-btn-disabled-border-color: #ed6a5a; } - -.btn-danger { - --bs-btn-color: #000; - --bs-btn-bg: #ed6a5a; - --bs-btn-border-color: #ed6a5a; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #f08073; - --bs-btn-hover-border-color: #ef796b; - --bs-btn-focus-shadow-rgb: 201, 90, 77; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #f1887b; - --bs-btn-active-border-color: #ef796b; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #000; - --bs-btn-disabled-bg: #ed6a5a; - --bs-btn-disabled-border-color: #ed6a5a; } - -.btn-light { - --bs-btn-color: #000; - --bs-btn-bg: #d3f3ee; - --bs-btn-border-color: #d3f3ee; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #b3cfca; - --bs-btn-hover-border-color: #a9c2be; - --bs-btn-focus-shadow-rgb: 179, 207, 202; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #a9c2be; - --bs-btn-active-border-color: #9eb6b3; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #000; - --bs-btn-disabled-bg: #d3f3ee; - --bs-btn-disabled-border-color: #d3f3ee; } - -.btn-dark { - --bs-btn-color: #fff; - --bs-btn-bg: #403f4c; - --bs-btn-border-color: #403f4c; - --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #5d5c67; - --bs-btn-hover-border-color: #53525e; - --bs-btn-focus-shadow-rgb: 93, 92, 103; - --bs-btn-active-color: #fff; - --bs-btn-active-bg: #666570; - --bs-btn-active-border-color: #53525e; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #fff; - --bs-btn-disabled-bg: #403f4c; - --bs-btn-disabled-border-color: #403f4c; } - -.btn-outline-primary, div.drawio button { - --bs-btn-color: #30638e; - --bs-btn-border-color: #30638e; - --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #30638e; - --bs-btn-hover-border-color: #30638e; - --bs-btn-focus-shadow-rgb: 48, 99, 142; - --bs-btn-active-color: #fff; - --bs-btn-active-bg: #30638e; - --bs-btn-active-border-color: #30638e; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #30638e; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #30638e; - --bs-gradient: none; } - -.btn-outline-secondary { - --bs-btn-color: #ffa630; - --bs-btn-border-color: #ffa630; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #ffa630; - --bs-btn-hover-border-color: #ffa630; - --bs-btn-focus-shadow-rgb: 255, 166, 48; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #ffa630; - --bs-btn-active-border-color: #ffa630; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #ffa630; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #ffa630; - --bs-gradient: none; } - -.btn-outline-success { - --bs-btn-color: #3772ff; - --bs-btn-border-color: #3772ff; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #3772ff; - --bs-btn-hover-border-color: #3772ff; - --bs-btn-focus-shadow-rgb: 55, 114, 255; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #3772ff; - --bs-btn-active-border-color: #3772ff; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #3772ff; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #3772ff; - --bs-gradient: none; } - -.btn-outline-info { - --bs-btn-color: #c0e0de; - --bs-btn-border-color: #c0e0de; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #c0e0de; - --bs-btn-hover-border-color: #c0e0de; - --bs-btn-focus-shadow-rgb: 192, 224, 222; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #c0e0de; - --bs-btn-active-border-color: #c0e0de; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #c0e0de; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #c0e0de; - --bs-gradient: none; } - -.btn-outline-warning { - --bs-btn-color: #ed6a5a; - --bs-btn-border-color: #ed6a5a; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #ed6a5a; - --bs-btn-hover-border-color: #ed6a5a; - --bs-btn-focus-shadow-rgb: 237, 106, 90; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #ed6a5a; - --bs-btn-active-border-color: #ed6a5a; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #ed6a5a; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #ed6a5a; - --bs-gradient: none; } - -.btn-outline-danger { - --bs-btn-color: #ed6a5a; - --bs-btn-border-color: #ed6a5a; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #ed6a5a; - --bs-btn-hover-border-color: #ed6a5a; - --bs-btn-focus-shadow-rgb: 237, 106, 90; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #ed6a5a; - --bs-btn-active-border-color: #ed6a5a; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #ed6a5a; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #ed6a5a; - --bs-gradient: none; } - -.btn-outline-light { - --bs-btn-color: #d3f3ee; - --bs-btn-border-color: #d3f3ee; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #d3f3ee; - --bs-btn-hover-border-color: #d3f3ee; - --bs-btn-focus-shadow-rgb: 211, 243, 238; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #d3f3ee; - --bs-btn-active-border-color: #d3f3ee; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #d3f3ee; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #d3f3ee; - --bs-gradient: none; } - -.btn-outline-dark { - --bs-btn-color: #403f4c; - --bs-btn-border-color: #403f4c; - --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #403f4c; - --bs-btn-hover-border-color: #403f4c; - --bs-btn-focus-shadow-rgb: 64, 63, 76; - --bs-btn-active-color: #fff; - --bs-btn-active-bg: #403f4c; - --bs-btn-active-border-color: #403f4c; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #403f4c; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #403f4c; - --bs-gradient: none; } - -.btn-link { - --bs-btn-font-weight: 400; - --bs-btn-color: var(--bs-link-color); - --bs-btn-bg: transparent; - --bs-btn-border-color: transparent; - --bs-btn-hover-color: var(--bs-link-hover-color); - --bs-btn-hover-border-color: transparent; - --bs-btn-active-color: var(--bs-link-hover-color); - --bs-btn-active-border-color: transparent; - --bs-btn-disabled-color: #6c757d; - --bs-btn-disabled-border-color: transparent; - --bs-btn-box-shadow: 0 0 0 #000; - --bs-btn-focus-shadow-rgb: 49, 132, 253; - text-decoration: underline; - background-image: none; } - .btn-link:focus-visible { - color: var(--bs-btn-color); } - .btn-link:hover { - color: var(--bs-btn-hover-color); } - -.btn-lg, .td-blog .td-rss-button, .btn-group-lg > .btn, div.drawio .btn-group-lg > button { - --bs-btn-padding-y: 0.5rem; - --bs-btn-padding-x: 1rem; - --bs-btn-font-size: 1.25rem; - --bs-btn-border-radius: var(--bs-border-radius-lg); } - -.btn-sm, .btn-group-sm > .btn, div.drawio .btn-group-sm > button, .td-blog .btn-group-sm > .td-rss-button { - --bs-btn-padding-y: 0.25rem; - --bs-btn-padding-x: 0.5rem; - --bs-btn-font-size: 0.875rem; - --bs-btn-border-radius: var(--bs-border-radius-sm); } - -.fade { - transition: opacity 0.15s linear; } - @media (prefers-reduced-motion: reduce) { - .fade { - transition: none; } } - .fade:not(.show) { - opacity: 0; } - -.collapse:not(.show) { - display: none; } - -.collapsing { - height: 0; - overflow: hidden; - transition: height 0.35s ease; } - @media (prefers-reduced-motion: reduce) { - .collapsing { - transition: none; } } - .collapsing.collapse-horizontal { - width: 0; - height: auto; - transition: width 0.35s ease; } - @media (prefers-reduced-motion: reduce) { - .collapsing.collapse-horizontal { - transition: none; } } -.dropup, -.dropend, -.dropdown, -.dropstart, -.dropup-center, -.dropdown-center { - position: relative; } - -.dropdown-toggle { - white-space: nowrap; } - .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid; - border-right: 0.3em solid transparent; - border-bottom: 0; - border-left: 0.3em solid transparent; } - .dropdown-toggle:empty::after { - margin-left: 0; } - -.dropdown-menu { - --bs-dropdown-zindex: 1000; - --bs-dropdown-min-width: 10rem; - --bs-dropdown-padding-x: 0; - --bs-dropdown-padding-y: 0.5rem; - --bs-dropdown-spacer: 0.125rem; - --bs-dropdown-font-size: 1rem; - --bs-dropdown-color: var(--bs-body-color); - --bs-dropdown-bg: var(--bs-body-bg); - --bs-dropdown-border-color: var(--bs-border-color-translucent); - --bs-dropdown-border-radius: var(--bs-border-radius); - --bs-dropdown-border-width: var(--bs-border-width); - --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width)); - --bs-dropdown-divider-bg: var(--bs-border-color-translucent); - --bs-dropdown-divider-margin-y: 0.5rem; - --bs-dropdown-box-shadow: var(--bs-box-shadow); - --bs-dropdown-link-color: var(--bs-body-color); - --bs-dropdown-link-hover-color: var(--bs-body-color); - --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg); - --bs-dropdown-link-active-color: #fff; - --bs-dropdown-link-active-bg: #30638e; - --bs-dropdown-link-disabled-color: var(--bs-tertiary-color); - --bs-dropdown-item-padding-x: 1rem; - --bs-dropdown-item-padding-y: 0.25rem; - --bs-dropdown-header-color: #6c757d; - --bs-dropdown-header-padding-x: 1rem; - --bs-dropdown-header-padding-y: 0.5rem; - position: absolute; - z-index: var(--bs-dropdown-zindex); - display: none; - min-width: var(--bs-dropdown-min-width); - padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x); - margin: 0; - font-size: var(--bs-dropdown-font-size); - color: var(--bs-dropdown-color); - text-align: left; - list-style: none; - background-color: var(--bs-dropdown-bg); - background-clip: padding-box; - border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color); - border-radius: var(--bs-dropdown-border-radius); - box-shadow: var(--bs-dropdown-box-shadow); } - .dropdown-menu[data-bs-popper] { - top: 100%; - left: 0; - margin-top: var(--bs-dropdown-spacer); } - -.dropdown-menu-start { - --bs-position: start; } - .dropdown-menu-start[data-bs-popper] { - right: auto; - left: 0; } - -.dropdown-menu-end { - --bs-position: end; } - .dropdown-menu-end[data-bs-popper] { - right: 0; - left: auto; } - -@media (min-width: 576px) { - .dropdown-menu-sm-start { - --bs-position: start; } - .dropdown-menu-sm-start[data-bs-popper] { - right: auto; - left: 0; } - .dropdown-menu-sm-end { - --bs-position: end; } - .dropdown-menu-sm-end[data-bs-popper] { - right: 0; - left: auto; } } - -@media (min-width: 768px) { - .dropdown-menu-md-start { - --bs-position: start; } - .dropdown-menu-md-start[data-bs-popper] { - right: auto; - left: 0; } - .dropdown-menu-md-end { - --bs-position: end; } - .dropdown-menu-md-end[data-bs-popper] { - right: 0; - left: auto; } } - -@media (min-width: 992px) { - .dropdown-menu-lg-start { - --bs-position: start; } - .dropdown-menu-lg-start[data-bs-popper] { - right: auto; - left: 0; } - .dropdown-menu-lg-end { - --bs-position: end; } - .dropdown-menu-lg-end[data-bs-popper] { - right: 0; - left: auto; } } - -@media (min-width: 1200px) { - .dropdown-menu-xl-start { - --bs-position: start; } - .dropdown-menu-xl-start[data-bs-popper] { - right: auto; - left: 0; } - .dropdown-menu-xl-end { - --bs-position: end; } - .dropdown-menu-xl-end[data-bs-popper] { - right: 0; - left: auto; } } - -@media (min-width: 1400px) { - .dropdown-menu-xxl-start { - --bs-position: start; } - .dropdown-menu-xxl-start[data-bs-popper] { - right: auto; - left: 0; } - .dropdown-menu-xxl-end { - --bs-position: end; } - .dropdown-menu-xxl-end[data-bs-popper] { - right: 0; - left: auto; } } - -.dropup .dropdown-menu[data-bs-popper] { - top: auto; - bottom: 100%; - margin-top: 0; - margin-bottom: var(--bs-dropdown-spacer); } - -.dropup .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0; - border-right: 0.3em solid transparent; - border-bottom: 0.3em solid; - border-left: 0.3em solid transparent; } - -.dropup .dropdown-toggle:empty::after { - margin-left: 0; } - -.dropend .dropdown-menu[data-bs-popper] { - top: 0; - right: auto; - left: 100%; - margin-top: 0; - margin-left: var(--bs-dropdown-spacer); } - -.dropend .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid transparent; - border-right: 0; - border-bottom: 0.3em solid transparent; - border-left: 0.3em solid; } - -.dropend .dropdown-toggle:empty::after { - margin-left: 0; } - -.dropend .dropdown-toggle::after { - vertical-align: 0; } - -.dropstart .dropdown-menu[data-bs-popper] { - top: 0; - right: 100%; - left: auto; - margin-top: 0; - margin-right: var(--bs-dropdown-spacer); } - -.dropstart .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; } - -.dropstart .dropdown-toggle::after { - display: none; } - -.dropstart .dropdown-toggle::before { - display: inline-block; - margin-right: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid transparent; - border-right: 0.3em solid; - border-bottom: 0.3em solid transparent; } - -.dropstart .dropdown-toggle:empty::after { - margin-left: 0; } - -.dropstart .dropdown-toggle::before { - vertical-align: 0; } - -.dropdown-divider { - height: 0; - margin: var(--bs-dropdown-divider-margin-y) 0; - overflow: hidden; - border-top: 1px solid var(--bs-dropdown-divider-bg); - opacity: 1; } - -.dropdown-item { - display: block; - width: 100%; - padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); - clear: both; - font-weight: 400; - color: var(--bs-dropdown-link-color); - text-align: inherit; - text-decoration: none; - white-space: nowrap; - background-color: transparent; - border: 0; - border-radius: var(--bs-dropdown-item-border-radius, 0); } - .dropdown-item:hover, .dropdown-item:focus { - color: var(--bs-dropdown-link-hover-color); - background-color: var(--bs-dropdown-link-hover-bg); - background-image: var(--bs-gradient); } - .dropdown-item.active, .dropdown-item:active { - color: var(--bs-dropdown-link-active-color); - text-decoration: none; - background-color: var(--bs-dropdown-link-active-bg); - background-image: var(--bs-gradient); } - .dropdown-item.disabled, .dropdown-item:disabled { - color: var(--bs-dropdown-link-disabled-color); - pointer-events: none; - background-color: transparent; - background-image: none; } - -.dropdown-menu.show { - display: block; } - -.dropdown-header { - display: block; - padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x); - margin-bottom: 0; - font-size: 0.875rem; - color: var(--bs-dropdown-header-color); - white-space: nowrap; } - -.dropdown-item-text { - display: block; - padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); - color: var(--bs-dropdown-link-color); } - -.dropdown-menu-dark { - --bs-dropdown-color: #dee2e6; - --bs-dropdown-bg: #343a40; - --bs-dropdown-border-color: var(--bs-border-color-translucent); - --bs-dropdown-box-shadow: ; - --bs-dropdown-link-color: #dee2e6; - --bs-dropdown-link-hover-color: #fff; - --bs-dropdown-divider-bg: var(--bs-border-color-translucent); - --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15); - --bs-dropdown-link-active-color: #fff; - --bs-dropdown-link-active-bg: #30638e; - --bs-dropdown-link-disabled-color: #adb5bd; - --bs-dropdown-header-color: #adb5bd; } - -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-flex; - vertical-align: middle; } - .btn-group > .btn, div.drawio .btn-group > button, .td-blog .btn-group > .td-rss-button, - .btn-group-vertical > .btn, - div.drawio .btn-group-vertical > button, - .td-blog .btn-group-vertical > .td-rss-button { - position: relative; - flex: 1 1 auto; } - .btn-group > .btn-check:checked + .btn, div.drawio .btn-group > .btn-check:checked + button, .td-blog .btn-group > .btn-check:checked + .td-rss-button, - .btn-group > .btn-check:focus + .btn, - div.drawio .btn-group > .btn-check:focus + button, - .td-blog .btn-group > .btn-check:focus + .td-rss-button, - .btn-group > .btn:hover, - div.drawio .btn-group > button:hover, - .td-blog .btn-group > .td-rss-button:hover, - .btn-group > .btn:focus, - div.drawio .btn-group > button:focus, - .td-blog .btn-group > .td-rss-button:focus, - .btn-group > .btn:active, - div.drawio .btn-group > button:active, - .td-blog .btn-group > .td-rss-button:active, - .btn-group > .btn.active, - div.drawio .btn-group > button.active, - .td-blog .btn-group > .active.td-rss-button, - .btn-group-vertical > .btn-check:checked + .btn, - div.drawio .btn-group-vertical > .btn-check:checked + button, - .td-blog .btn-group-vertical > .btn-check:checked + .td-rss-button, - .btn-group-vertical > .btn-check:focus + .btn, - div.drawio .btn-group-vertical > .btn-check:focus + button, - .td-blog .btn-group-vertical > .btn-check:focus + .td-rss-button, - .btn-group-vertical > .btn:hover, - div.drawio .btn-group-vertical > button:hover, - .td-blog .btn-group-vertical > .td-rss-button:hover, - .btn-group-vertical > .btn:focus, - div.drawio .btn-group-vertical > button:focus, - .td-blog .btn-group-vertical > .td-rss-button:focus, - .btn-group-vertical > .btn:active, - div.drawio .btn-group-vertical > button:active, - .td-blog .btn-group-vertical > .td-rss-button:active, - .btn-group-vertical > .btn.active, - div.drawio .btn-group-vertical > button.active, - .td-blog .btn-group-vertical > .active.td-rss-button { - z-index: 1; } - -.btn-toolbar { - display: flex; - flex-wrap: wrap; - justify-content: flex-start; } - .btn-toolbar .input-group { - width: auto; } - -.btn-group { - border-radius: var(--bs-border-radius); } - .btn-group > :not(.btn-check:first-child) + .btn, div.drawio .btn-group > :not(.btn-check:first-child) + button, .td-blog .btn-group > :not(.btn-check:first-child) + .td-rss-button, - .btn-group > .btn-group:not(:first-child) { - margin-left: calc(var(--bs-border-width) * -1); } - .btn-group > .btn:not(:last-child):not(.dropdown-toggle), div.drawio .btn-group > button:not(:last-child):not(.dropdown-toggle), .td-blog .btn-group > .td-rss-button:not(:last-child):not(.dropdown-toggle), - .btn-group > .btn.dropdown-toggle-split:first-child, - div.drawio .btn-group > button.dropdown-toggle-split:first-child, - .td-blog .btn-group > .dropdown-toggle-split.td-rss-button:first-child, - .btn-group > .btn-group:not(:last-child) > .btn, - div.drawio .btn-group > .btn-group:not(:last-child) > button, - .td-blog .btn-group > .btn-group:not(:last-child) > .td-rss-button { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .btn-group > .btn:nth-child(n + 3), div.drawio .btn-group > button:nth-child(n + 3), .td-blog .btn-group > .td-rss-button:nth-child(n + 3), - .btn-group > :not(.btn-check) + .btn, - div.drawio .btn-group > :not(.btn-check) + button, - .td-blog .btn-group > :not(.btn-check) + .td-rss-button, - .btn-group > .btn-group:not(:first-child) > .btn, - div.drawio .btn-group > .btn-group:not(:first-child) > button, - .td-blog .btn-group > .btn-group:not(:first-child) > .td-rss-button { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - -.dropdown-toggle-split { - padding-right: 0.5625rem; - padding-left: 0.5625rem; } - .dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after { - margin-left: 0; } - .dropstart .dropdown-toggle-split::before { - margin-right: 0; } - -.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split, div.drawio .btn-group-sm > button + .dropdown-toggle-split, .td-blog .btn-group-sm > .td-rss-button + .dropdown-toggle-split { - padding-right: 0.375rem; - padding-left: 0.375rem; } - -.btn-lg + .dropdown-toggle-split, .td-blog .td-rss-button + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split, div.drawio .btn-group-lg > button + .dropdown-toggle-split, .td-blog .btn-group-lg > .td-rss-button + .dropdown-toggle-split { - padding-right: 0.75rem; - padding-left: 0.75rem; } - -.btn-group.show .dropdown-toggle { - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } - .btn-group.show .dropdown-toggle.btn-link { - box-shadow: none; } - -.btn-group-vertical { - flex-direction: column; - align-items: flex-start; - justify-content: center; } - .btn-group-vertical > .btn, div.drawio .btn-group-vertical > button, .td-blog .btn-group-vertical > .td-rss-button, - .btn-group-vertical > .btn-group { - width: 100%; } - .btn-group-vertical > .btn:not(:first-child), div.drawio .btn-group-vertical > button:not(:first-child), .td-blog .btn-group-vertical > .td-rss-button:not(:first-child), - .btn-group-vertical > .btn-group:not(:first-child) { - margin-top: calc(var(--bs-border-width) * -1); } - .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), div.drawio .btn-group-vertical > button:not(:last-child):not(.dropdown-toggle), .td-blog .btn-group-vertical > .td-rss-button:not(:last-child):not(.dropdown-toggle), - .btn-group-vertical > .btn-group:not(:last-child) > .btn, - div.drawio .btn-group-vertical > .btn-group:not(:last-child) > button, - .td-blog .btn-group-vertical > .btn-group:not(:last-child) > .td-rss-button { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; } - .btn-group-vertical > .btn ~ .btn, div.drawio .btn-group-vertical > button ~ .btn, div.drawio .btn-group-vertical > .btn ~ button, div.drawio .btn-group-vertical > button ~ button, .td-blog .btn-group-vertical > .td-rss-button ~ .btn, .td-blog div.drawio .btn-group-vertical > .td-rss-button ~ button, div.drawio .td-blog .btn-group-vertical > .td-rss-button ~ button, .td-blog .btn-group-vertical > .btn ~ .td-rss-button, .td-blog div.drawio .btn-group-vertical > button ~ .td-rss-button, div.drawio .td-blog .btn-group-vertical > button ~ .td-rss-button, .td-blog .btn-group-vertical > .td-rss-button ~ .td-rss-button, - .btn-group-vertical > .btn-group:not(:first-child) > .btn, - div.drawio .btn-group-vertical > .btn-group:not(:first-child) > button, - .td-blog .btn-group-vertical > .btn-group:not(:first-child) > .td-rss-button { - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.nav { - --bs-nav-link-padding-x: 1rem; - --bs-nav-link-padding-y: 0.5rem; - --bs-nav-link-font-weight: ; - --bs-nav-link-color: var(--bs-link-color); - --bs-nav-link-hover-color: var(--bs-link-hover-color); - --bs-nav-link-disabled-color: var(--bs-secondary-color); - display: flex; - flex-wrap: wrap; - padding-left: 0; - margin-bottom: 0; - list-style: none; } - -.nav-link { - display: block; - padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x); - font-size: var(--bs-nav-link-font-size); - font-weight: var(--bs-nav-link-font-weight); - color: var(--bs-nav-link-color); - text-decoration: none; - background: none; - border: 0; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .nav-link { - transition: none; } } - .nav-link:hover, .nav-link:focus { - color: var(--bs-nav-link-hover-color); } - .nav-link:focus-visible { - outline: 0; - box-shadow: 0 0 0 0.25rem rgba(48, 99, 142, 0.25); } - .nav-link.disabled, .nav-link:disabled { - color: var(--bs-nav-link-disabled-color); - pointer-events: none; - cursor: default; } - -.nav-tabs { - --bs-nav-tabs-border-width: var(--bs-border-width); - --bs-nav-tabs-border-color: var(--bs-border-color); - --bs-nav-tabs-border-radius: var(--bs-border-radius); - --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color); - --bs-nav-tabs-link-active-color: var(--bs-emphasis-color); - --bs-nav-tabs-link-active-bg: var(--bs-body-bg); - --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg); - border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color); } - .nav-tabs .nav-link { - margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width)); - border: var(--bs-nav-tabs-border-width) solid transparent; - border-top-left-radius: var(--bs-nav-tabs-border-radius); - border-top-right-radius: var(--bs-nav-tabs-border-radius); } - .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { - isolation: isolate; - border-color: var(--bs-nav-tabs-link-hover-border-color); } - .nav-tabs .nav-link.active, - .nav-tabs .nav-item.show .nav-link { - color: var(--bs-nav-tabs-link-active-color); - background-color: var(--bs-nav-tabs-link-active-bg); - border-color: var(--bs-nav-tabs-link-active-border-color); } - .nav-tabs .dropdown-menu { - margin-top: calc(-1 * var(--bs-nav-tabs-border-width)); - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.nav-pills { - --bs-nav-pills-border-radius: var(--bs-border-radius); - --bs-nav-pills-link-active-color: #fff; - --bs-nav-pills-link-active-bg: #30638e; } - .nav-pills .nav-link { - border-radius: var(--bs-nav-pills-border-radius); } - .nav-pills .nav-link.active, - .nav-pills .show > .nav-link { - color: var(--bs-nav-pills-link-active-color); - background-color: var(--bs-nav-pills-link-active-bg); - background-image: var(--bs-gradient); } - -.nav-underline { - --bs-nav-underline-gap: 1rem; - --bs-nav-underline-border-width: 0.125rem; - --bs-nav-underline-link-active-color: var(--bs-emphasis-color); - gap: var(--bs-nav-underline-gap); } - .nav-underline .nav-link { - padding-right: 0; - padding-left: 0; - border-bottom: var(--bs-nav-underline-border-width) solid transparent; } - .nav-underline .nav-link:hover, .nav-underline .nav-link:focus { - border-bottom-color: currentcolor; } - .nav-underline .nav-link.active, - .nav-underline .show > .nav-link { - font-weight: 700; - color: var(--bs-nav-underline-link-active-color); - border-bottom-color: currentcolor; } - -.nav-fill > .nav-link, -.nav-fill .nav-item { - flex: 1 1 auto; - text-align: center; } - -.nav-justified > .nav-link, -.nav-justified .nav-item { - flex-basis: 0; - flex-grow: 1; - text-align: center; } - -.nav-fill .nav-item .nav-link, -.nav-justified .nav-item .nav-link { - width: 100%; } - -.tab-content > .tab-pane { - display: none; } - -.tab-content > .active { - display: block; } - -.navbar, .td-navbar { - --bs-navbar-padding-x: 0; - --bs-navbar-padding-y: 0.5rem; - --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65); - --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8); - --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3); - --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1); - --bs-navbar-brand-padding-y: 0.3125rem; - --bs-navbar-brand-margin-end: 1rem; - --bs-navbar-brand-font-size: 1.25rem; - --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1); - --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1); - --bs-navbar-nav-link-padding-x: 0.5rem; - --bs-navbar-toggler-padding-y: 0.25rem; - --bs-navbar-toggler-padding-x: 0.75rem; - --bs-navbar-toggler-font-size: 1.25rem; - --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); - --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15); - --bs-navbar-toggler-border-radius: var(--bs-border-radius); - --bs-navbar-toggler-focus-width: 0.25rem; - --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out; - position: relative; - display: flex; - flex-wrap: wrap; - align-items: center; - justify-content: space-between; - padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x); - background-image: var(--bs-gradient); } - .navbar > .container, .td-navbar > .container, - .navbar > .container-fluid, - .td-navbar > .container-fluid, - .navbar > .container-sm, - .td-navbar > .container-sm, - .navbar > .container-md, - .td-navbar > .container-md, - .navbar > .container-lg, - .td-navbar > .container-lg, - .navbar > .container-xl, - .td-navbar > .container-xl, - .navbar > .container-xxl, - .td-navbar > .container-xxl { - display: flex; - flex-wrap: inherit; - align-items: center; - justify-content: space-between; } - -.navbar-brand { - padding-top: var(--bs-navbar-brand-padding-y); - padding-bottom: var(--bs-navbar-brand-padding-y); - margin-right: var(--bs-navbar-brand-margin-end); - font-size: var(--bs-navbar-brand-font-size); - color: var(--bs-navbar-brand-color); - text-decoration: none; - white-space: nowrap; } - .navbar-brand:hover, .navbar-brand:focus { - color: var(--bs-navbar-brand-hover-color); } - -.navbar-nav { - --bs-nav-link-padding-x: 0; - --bs-nav-link-padding-y: 0.5rem; - --bs-nav-link-font-weight: ; - --bs-nav-link-color: var(--bs-navbar-color); - --bs-nav-link-hover-color: var(--bs-navbar-hover-color); - --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color); - display: flex; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - list-style: none; } - .navbar-nav .nav-link.active, .navbar-nav .nav-link.show { - color: var(--bs-navbar-active-color); } - .navbar-nav .dropdown-menu { - position: static; } - -.navbar-text { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - color: var(--bs-navbar-color); } - .navbar-text a, - .navbar-text a:hover, - .navbar-text a:focus { - color: var(--bs-navbar-active-color); } - -.navbar-collapse { - flex-basis: 100%; - flex-grow: 1; - align-items: center; } - -.navbar-toggler { - padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x); - font-size: var(--bs-navbar-toggler-font-size); - line-height: 1; - color: var(--bs-navbar-color); - background-color: transparent; - border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color); - border-radius: var(--bs-navbar-toggler-border-radius); - transition: var(--bs-navbar-toggler-transition); } - @media (prefers-reduced-motion: reduce) { - .navbar-toggler { - transition: none; } } - .navbar-toggler:hover { - text-decoration: none; } - .navbar-toggler:focus { - text-decoration: none; - outline: 0; - box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width); } - -.navbar-toggler-icon { - display: inline-block; - width: 1.5em; - height: 1.5em; - vertical-align: middle; - background-image: var(--bs-navbar-toggler-icon-bg); - background-repeat: no-repeat; - background-position: center; - background-size: 100%; } - -.navbar-nav-scroll { - max-height: var(--bs-scroll-height, 75vh); - overflow-y: auto; } - -@media (min-width: 576px) { - .navbar-expand-sm { - flex-wrap: nowrap; - justify-content: flex-start; } - .navbar-expand-sm .navbar-nav { - flex-direction: row; } - .navbar-expand-sm .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-sm .navbar-nav .nav-link { - padding-right: var(--bs-navbar-nav-link-padding-x); - padding-left: var(--bs-navbar-nav-link-padding-x); } - .navbar-expand-sm .navbar-nav-scroll { - overflow: visible; } - .navbar-expand-sm .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand-sm .navbar-toggler { - display: none; } - .navbar-expand-sm .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - box-shadow: none; - transition: none; } - .navbar-expand-sm .offcanvas .offcanvas-header { - display: none; } - .navbar-expand-sm .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; } } - -@media (min-width: 768px) { - .navbar-expand-md { - flex-wrap: nowrap; - justify-content: flex-start; } - .navbar-expand-md .navbar-nav { - flex-direction: row; } - .navbar-expand-md .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-md .navbar-nav .nav-link { - padding-right: var(--bs-navbar-nav-link-padding-x); - padding-left: var(--bs-navbar-nav-link-padding-x); } - .navbar-expand-md .navbar-nav-scroll { - overflow: visible; } - .navbar-expand-md .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand-md .navbar-toggler { - display: none; } - .navbar-expand-md .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - box-shadow: none; - transition: none; } - .navbar-expand-md .offcanvas .offcanvas-header { - display: none; } - .navbar-expand-md .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; } } - -@media (min-width: 992px) { - .navbar-expand-lg { - flex-wrap: nowrap; - justify-content: flex-start; } - .navbar-expand-lg .navbar-nav { - flex-direction: row; } - .navbar-expand-lg .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-lg .navbar-nav .nav-link { - padding-right: var(--bs-navbar-nav-link-padding-x); - padding-left: var(--bs-navbar-nav-link-padding-x); } - .navbar-expand-lg .navbar-nav-scroll { - overflow: visible; } - .navbar-expand-lg .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand-lg .navbar-toggler { - display: none; } - .navbar-expand-lg .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - box-shadow: none; - transition: none; } - .navbar-expand-lg .offcanvas .offcanvas-header { - display: none; } - .navbar-expand-lg .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; } } - -@media (min-width: 1200px) { - .navbar-expand-xl { - flex-wrap: nowrap; - justify-content: flex-start; } - .navbar-expand-xl .navbar-nav { - flex-direction: row; } - .navbar-expand-xl .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-xl .navbar-nav .nav-link { - padding-right: var(--bs-navbar-nav-link-padding-x); - padding-left: var(--bs-navbar-nav-link-padding-x); } - .navbar-expand-xl .navbar-nav-scroll { - overflow: visible; } - .navbar-expand-xl .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand-xl .navbar-toggler { - display: none; } - .navbar-expand-xl .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - box-shadow: none; - transition: none; } - .navbar-expand-xl .offcanvas .offcanvas-header { - display: none; } - .navbar-expand-xl .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; } } - -@media (min-width: 1400px) { - .navbar-expand-xxl { - flex-wrap: nowrap; - justify-content: flex-start; } - .navbar-expand-xxl .navbar-nav { - flex-direction: row; } - .navbar-expand-xxl .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-xxl .navbar-nav .nav-link { - padding-right: var(--bs-navbar-nav-link-padding-x); - padding-left: var(--bs-navbar-nav-link-padding-x); } - .navbar-expand-xxl .navbar-nav-scroll { - overflow: visible; } - .navbar-expand-xxl .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand-xxl .navbar-toggler { - display: none; } - .navbar-expand-xxl .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - box-shadow: none; - transition: none; } - .navbar-expand-xxl .offcanvas .offcanvas-header { - display: none; } - .navbar-expand-xxl .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; } } - -.navbar-expand, .td-navbar { - flex-wrap: nowrap; - justify-content: flex-start; } - .navbar-expand .navbar-nav, .td-navbar .navbar-nav { - flex-direction: row; } - .navbar-expand .navbar-nav .dropdown-menu, .td-navbar .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand .navbar-nav .nav-link, .td-navbar .navbar-nav .nav-link { - padding-right: var(--bs-navbar-nav-link-padding-x); - padding-left: var(--bs-navbar-nav-link-padding-x); } - .navbar-expand .navbar-nav-scroll, .td-navbar .navbar-nav-scroll { - overflow: visible; } - .navbar-expand .navbar-collapse, .td-navbar .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand .navbar-toggler, .td-navbar .navbar-toggler { - display: none; } - .navbar-expand .offcanvas, .td-navbar .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - box-shadow: none; - transition: none; } - .navbar-expand .offcanvas .offcanvas-header, .td-navbar .offcanvas .offcanvas-header { - display: none; } - .navbar-expand .offcanvas .offcanvas-body, .td-navbar .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; } - -.navbar-dark, -.navbar[data-bs-theme="dark"], -[data-bs-theme="dark"].td-navbar { - --bs-navbar-color: rgba(255, 255, 255, 0.55); - --bs-navbar-hover-color: rgba(255, 255, 255, 0.75); - --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25); - --bs-navbar-active-color: #fff; - --bs-navbar-brand-color: #fff; - --bs-navbar-brand-hover-color: #fff; - --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1); - --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } - -[data-bs-theme="dark"] .navbar-toggler-icon { - --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } - -.card { - --bs-card-spacer-y: 1rem; - --bs-card-spacer-x: 1rem; - --bs-card-title-spacer-y: 0.5rem; - --bs-card-title-color: ; - --bs-card-subtitle-color: ; - --bs-card-border-width: var(--bs-border-width); - --bs-card-border-color: var(--bs-border-color-translucent); - --bs-card-border-radius: var(--bs-border-radius); - --bs-card-box-shadow: ; - --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width))); - --bs-card-cap-padding-y: 0.5rem; - --bs-card-cap-padding-x: 1rem; - --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03); - --bs-card-cap-color: ; - --bs-card-height: ; - --bs-card-color: ; - --bs-card-bg: var(--bs-body-bg); - --bs-card-img-overlay-padding: 1rem; - --bs-card-group-margin: 0.75rem; - position: relative; - display: flex; - flex-direction: column; - min-width: 0; - height: var(--bs-card-height); - color: var(--bs-body-color); - word-wrap: break-word; - background-color: var(--bs-card-bg); - background-clip: border-box; - border: var(--bs-card-border-width) solid var(--bs-card-border-color); - border-radius: var(--bs-card-border-radius); - box-shadow: var(--bs-card-box-shadow); } - .card > hr { - margin-right: 0; - margin-left: 0; } - .card > .list-group { - border-top: inherit; - border-bottom: inherit; } - .card > .list-group:first-child { - border-top-width: 0; - border-top-left-radius: var(--bs-card-inner-border-radius); - border-top-right-radius: var(--bs-card-inner-border-radius); } - .card > .list-group:last-child { - border-bottom-width: 0; - border-bottom-right-radius: var(--bs-card-inner-border-radius); - border-bottom-left-radius: var(--bs-card-inner-border-radius); } - .card > .card-header + .list-group, - .card > .list-group + .card-footer { - border-top: 0; } - -.card-body { - flex: 1 1 auto; - padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x); - color: var(--bs-card-color); } - -.card-title { - margin-bottom: var(--bs-card-title-spacer-y); - color: var(--bs-card-title-color); } - -.card-subtitle { - margin-top: calc(-.5 * var(--bs-card-title-spacer-y)); - margin-bottom: 0; - color: var(--bs-card-subtitle-color); } - -.card-text:last-child { - margin-bottom: 0; } - -.card-link + .card-link { - margin-left: var(--bs-card-spacer-x); } - -.card-header { - padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); - margin-bottom: 0; - color: var(--bs-card-cap-color); - background-color: var(--bs-card-cap-bg); - border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color); } - .card-header:first-child { - border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0; } - -.card-footer { - padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); - color: var(--bs-card-cap-color); - background-color: var(--bs-card-cap-bg); - border-top: var(--bs-card-border-width) solid var(--bs-card-border-color); } - .card-footer:last-child { - border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius); } - -.card-header-tabs { - margin-right: calc(-.5 * var(--bs-card-cap-padding-x)); - margin-bottom: calc(-1 * var(--bs-card-cap-padding-y)); - margin-left: calc(-.5 * var(--bs-card-cap-padding-x)); - border-bottom: 0; } - .card-header-tabs .nav-link.active { - background-color: var(--bs-card-bg); - border-bottom-color: var(--bs-card-bg); } - -.card-header-pills { - margin-right: calc(-.5 * var(--bs-card-cap-padding-x)); - margin-left: calc(-.5 * var(--bs-card-cap-padding-x)); } - -.card-img-overlay { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: var(--bs-card-img-overlay-padding); - border-radius: var(--bs-card-inner-border-radius); } - -.card-img, -.card-img-top, -.card-img-bottom { - width: 100%; } - -.card-img, -.card-img-top { - border-top-left-radius: var(--bs-card-inner-border-radius); - border-top-right-radius: var(--bs-card-inner-border-radius); } - -.card-img, -.card-img-bottom { - border-bottom-right-radius: var(--bs-card-inner-border-radius); - border-bottom-left-radius: var(--bs-card-inner-border-radius); } - -.card-group > .card { - margin-bottom: var(--bs-card-group-margin); } - -@media (min-width: 576px) { - .card-group { - display: flex; - flex-flow: row wrap; } - .card-group > .card { - flex: 1 0 0%; - margin-bottom: 0; } - .card-group > .card + .card { - margin-left: 0; - border-left: 0; } - .card-group > .card:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .card-group > .card:not(:last-child) .card-img-top, - .card-group > .card:not(:last-child) .card-header { - border-top-right-radius: 0; } - .card-group > .card:not(:last-child) .card-img-bottom, - .card-group > .card:not(:last-child) .card-footer { - border-bottom-right-radius: 0; } - .card-group > .card:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .card-group > .card:not(:first-child) .card-img-top, - .card-group > .card:not(:first-child) .card-header { - border-top-left-radius: 0; } - .card-group > .card:not(:first-child) .card-img-bottom, - .card-group > .card:not(:first-child) .card-footer { - border-bottom-left-radius: 0; } } - -.accordion { - --bs-accordion-color: var(--bs-body-color); - --bs-accordion-bg: var(--bs-body-bg); - --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease; - --bs-accordion-border-color: var(--bs-border-color); - --bs-accordion-border-width: var(--bs-border-width); - --bs-accordion-border-radius: var(--bs-border-radius); - --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width))); - --bs-accordion-btn-padding-x: 1.25rem; - --bs-accordion-btn-padding-y: 1rem; - --bs-accordion-btn-color: var(--bs-body-color); - --bs-accordion-btn-bg: var(--bs-accordion-bg); - --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e"); - --bs-accordion-btn-icon-width: 1.25rem; - --bs-accordion-btn-icon-transform: rotate(-180deg); - --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out; - --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23132839' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e"); - --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(48, 99, 142, 0.25); - --bs-accordion-body-padding-x: 1.25rem; - --bs-accordion-body-padding-y: 1rem; - --bs-accordion-active-color: var(--bs-primary-text-emphasis); - --bs-accordion-active-bg: var(--bs-primary-bg-subtle); } - -.accordion-button { - position: relative; - display: flex; - align-items: center; - width: 100%; - padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x); - font-size: 1rem; - color: var(--bs-accordion-btn-color); - text-align: left; - background-color: var(--bs-accordion-btn-bg); - border: 0; - border-radius: 0; - overflow-anchor: none; - transition: var(--bs-accordion-transition); } - @media (prefers-reduced-motion: reduce) { - .accordion-button { - transition: none; } } - .accordion-button:not(.collapsed) { - color: var(--bs-accordion-active-color); - background-color: var(--bs-accordion-active-bg); - box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color); } - .accordion-button:not(.collapsed)::after { - background-image: var(--bs-accordion-btn-active-icon); - transform: var(--bs-accordion-btn-icon-transform); } - .accordion-button::after { - flex-shrink: 0; - width: var(--bs-accordion-btn-icon-width); - height: var(--bs-accordion-btn-icon-width); - margin-left: auto; - content: ""; - background-image: var(--bs-accordion-btn-icon); - background-repeat: no-repeat; - background-size: var(--bs-accordion-btn-icon-width); - transition: var(--bs-accordion-btn-icon-transition); } - @media (prefers-reduced-motion: reduce) { - .accordion-button::after { - transition: none; } } - .accordion-button:hover { - z-index: 2; } - .accordion-button:focus { - z-index: 3; - outline: 0; - box-shadow: var(--bs-accordion-btn-focus-box-shadow); } - -.accordion-header { - margin-bottom: 0; } - -.accordion-item { - color: var(--bs-accordion-color); - background-color: var(--bs-accordion-bg); - border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color); } - .accordion-item:first-of-type { - border-top-left-radius: var(--bs-accordion-border-radius); - border-top-right-radius: var(--bs-accordion-border-radius); } - .accordion-item:first-of-type > .accordion-header .accordion-button { - border-top-left-radius: var(--bs-accordion-inner-border-radius); - border-top-right-radius: var(--bs-accordion-inner-border-radius); } - .accordion-item:not(:first-of-type) { - border-top: 0; } - .accordion-item:last-of-type { - border-bottom-right-radius: var(--bs-accordion-border-radius); - border-bottom-left-radius: var(--bs-accordion-border-radius); } - .accordion-item:last-of-type > .accordion-header .accordion-button.collapsed { - border-bottom-right-radius: var(--bs-accordion-inner-border-radius); - border-bottom-left-radius: var(--bs-accordion-inner-border-radius); } - .accordion-item:last-of-type > .accordion-collapse { - border-bottom-right-radius: var(--bs-accordion-border-radius); - border-bottom-left-radius: var(--bs-accordion-border-radius); } - -.accordion-body { - padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); } - -.accordion-flush > .accordion-item { - border-right: 0; - border-left: 0; - border-radius: 0; } - .accordion-flush > .accordion-item:first-child { - border-top: 0; } - .accordion-flush > .accordion-item:last-child { - border-bottom: 0; } - .accordion-flush > .accordion-item > .accordion-header .accordion-button, .accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed { - border-radius: 0; } - .accordion-flush > .accordion-item > .accordion-collapse { - border-radius: 0; } - -[data-bs-theme="dark"] .accordion-button::after { - --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2383a1bb'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); - --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2383a1bb'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); } - -.breadcrumb { - --bs-breadcrumb-padding-x: 0; - --bs-breadcrumb-padding-y: 0; - --bs-breadcrumb-margin-bottom: 1rem; - --bs-breadcrumb-bg: ; - --bs-breadcrumb-border-radius: ; - --bs-breadcrumb-divider-color: var(--bs-secondary-color); - --bs-breadcrumb-item-padding-x: 0.5rem; - --bs-breadcrumb-item-active-color: var(--bs-secondary-color); - display: flex; - flex-wrap: wrap; - padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x); - margin-bottom: var(--bs-breadcrumb-margin-bottom); - font-size: var(--bs-breadcrumb-font-size); - list-style: none; - background-color: var(--bs-breadcrumb-bg); - border-radius: var(--bs-breadcrumb-border-radius); } - -.breadcrumb-item + .breadcrumb-item { - padding-left: var(--bs-breadcrumb-item-padding-x); } - .breadcrumb-item + .breadcrumb-item::before { - float: left; - padding-right: var(--bs-breadcrumb-item-padding-x); - color: var(--bs-breadcrumb-divider-color); - content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; } - -.breadcrumb-item.active { - color: var(--bs-breadcrumb-item-active-color); } - -.pagination { - --bs-pagination-padding-x: 0.75rem; - --bs-pagination-padding-y: 0.375rem; - --bs-pagination-font-size: 1rem; - --bs-pagination-color: #6c757d; - --bs-pagination-bg: var(--bs-body-bg); - --bs-pagination-border-width: var(--bs-border-width); - --bs-pagination-border-color: var(--bs-border-color); - --bs-pagination-border-radius: var(--bs-border-radius); - --bs-pagination-hover-color: var(--bs-link-hover-color); - --bs-pagination-hover-bg: var(--bs-tertiary-bg); - --bs-pagination-hover-border-color: var(--bs-border-color); - --bs-pagination-focus-color: var(--bs-link-hover-color); - --bs-pagination-focus-bg: var(--bs-secondary-bg); - --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(48, 99, 142, 0.25); - --bs-pagination-active-color: #fff; - --bs-pagination-active-bg: #30638e; - --bs-pagination-active-border-color: #30638e; - --bs-pagination-disabled-color: #dee2e6; - --bs-pagination-disabled-bg: var(--bs-secondary-bg); - --bs-pagination-disabled-border-color: var(--bs-border-color); - display: flex; - padding-left: 0; - list-style: none; } - -.page-link { - position: relative; - display: block; - padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x); - font-size: var(--bs-pagination-font-size); - color: var(--bs-pagination-color); - text-decoration: none; - background-color: var(--bs-pagination-bg); - border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color); - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .page-link { - transition: none; } } - .page-link:hover { - z-index: 2; - color: var(--bs-pagination-hover-color); - background-color: var(--bs-pagination-hover-bg); - border-color: var(--bs-pagination-hover-border-color); } - .page-link:focus { - z-index: 3; - color: var(--bs-pagination-focus-color); - background-color: var(--bs-pagination-focus-bg); - outline: 0; - box-shadow: var(--bs-pagination-focus-box-shadow); } - .page-link.active, .active > .page-link { - z-index: 3; - color: var(--bs-pagination-active-color); - background-color: var(--bs-pagination-active-bg); - background-image: var(--bs-gradient); - border-color: var(--bs-pagination-active-border-color); } - .page-link.disabled, .disabled > .page-link { - color: var(--bs-pagination-disabled-color); - pointer-events: none; - background-color: var(--bs-pagination-disabled-bg); - border-color: var(--bs-pagination-disabled-border-color); } - -.page-item:not(:first-child) .page-link { - margin-left: calc(var(--bs-border-width) * -1); } - -.page-item:first-child .page-link { - border-top-left-radius: var(--bs-pagination-border-radius); - border-bottom-left-radius: var(--bs-pagination-border-radius); } - -.page-item:last-child .page-link { - border-top-right-radius: var(--bs-pagination-border-radius); - border-bottom-right-radius: var(--bs-pagination-border-radius); } - -.pagination-lg { - --bs-pagination-padding-x: 1.5rem; - --bs-pagination-padding-y: 0.75rem; - --bs-pagination-font-size: 1.25rem; - --bs-pagination-border-radius: var(--bs-border-radius-lg); } - -.pagination-sm { - --bs-pagination-padding-x: 0.5rem; - --bs-pagination-padding-y: 0.25rem; - --bs-pagination-font-size: 0.875rem; - --bs-pagination-border-radius: var(--bs-border-radius-sm); } - -.badge { - --bs-badge-padding-x: 0.65em; - --bs-badge-padding-y: 0.35em; - --bs-badge-font-size: 0.75em; - --bs-badge-font-weight: 700; - --bs-badge-color: #fff; - --bs-badge-border-radius: var(--bs-border-radius); - display: inline-block; - padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x); - font-size: var(--bs-badge-font-size); - font-weight: var(--bs-badge-font-weight); - line-height: 1; - color: var(--bs-badge-color); - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: var(--bs-badge-border-radius); - background-image: var(--bs-gradient); } - .badge:empty { - display: none; } - -.btn .badge, div.drawio button .badge, .td-blog .td-rss-button .badge { - position: relative; - top: -1px; } - -.alert { - --bs-alert-bg: transparent; - --bs-alert-padding-x: 1rem; - --bs-alert-padding-y: 1rem; - --bs-alert-margin-bottom: 1rem; - --bs-alert-color: inherit; - --bs-alert-border-color: transparent; - --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color); - --bs-alert-border-radius: var(--bs-border-radius); - --bs-alert-link-color: inherit; - position: relative; - padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x); - margin-bottom: var(--bs-alert-margin-bottom); - color: var(--bs-alert-color); - background-color: var(--bs-alert-bg); - border: var(--bs-alert-border); - border-radius: var(--bs-alert-border-radius); } - -.alert-heading { - color: inherit; } - -.alert-link { - font-weight: 700; - color: var(--bs-alert-link-color); } - -.alert-dismissible { - padding-right: 3rem; } - .alert-dismissible .btn-close { - position: absolute; - top: 0; - right: 0; - z-index: 2; - padding: 1.25rem 1rem; } - -.alert-primary, .pageinfo-primary { - --bs-alert-color: var(--bs-primary-text-emphasis); - --bs-alert-bg: var(--bs-primary-bg-subtle); - --bs-alert-border-color: var(--bs-primary-border-subtle); - --bs-alert-link-color: var(--bs-primary-text-emphasis); } - -.alert-secondary, .pageinfo-secondary { - --bs-alert-color: var(--bs-secondary-text-emphasis); - --bs-alert-bg: var(--bs-secondary-bg-subtle); - --bs-alert-border-color: var(--bs-secondary-border-subtle); - --bs-alert-link-color: var(--bs-secondary-text-emphasis); } - -.alert-success, .pageinfo-success { - --bs-alert-color: var(--bs-success-text-emphasis); - --bs-alert-bg: var(--bs-success-bg-subtle); - --bs-alert-border-color: var(--bs-success-border-subtle); - --bs-alert-link-color: var(--bs-success-text-emphasis); } - -.alert-info, .pageinfo-info { - --bs-alert-color: var(--bs-info-text-emphasis); - --bs-alert-bg: var(--bs-info-bg-subtle); - --bs-alert-border-color: var(--bs-info-border-subtle); - --bs-alert-link-color: var(--bs-info-text-emphasis); } - -.alert-warning, .pageinfo-warning { - --bs-alert-color: var(--bs-warning-text-emphasis); - --bs-alert-bg: var(--bs-warning-bg-subtle); - --bs-alert-border-color: var(--bs-warning-border-subtle); - --bs-alert-link-color: var(--bs-warning-text-emphasis); } - -.alert-danger, .pageinfo-danger { - --bs-alert-color: var(--bs-danger-text-emphasis); - --bs-alert-bg: var(--bs-danger-bg-subtle); - --bs-alert-border-color: var(--bs-danger-border-subtle); - --bs-alert-link-color: var(--bs-danger-text-emphasis); } - -.alert-light, .pageinfo-light { - --bs-alert-color: var(--bs-light-text-emphasis); - --bs-alert-bg: var(--bs-light-bg-subtle); - --bs-alert-border-color: var(--bs-light-border-subtle); - --bs-alert-link-color: var(--bs-light-text-emphasis); } - -.alert-dark, .pageinfo-dark { - --bs-alert-color: var(--bs-dark-text-emphasis); - --bs-alert-bg: var(--bs-dark-bg-subtle); - --bs-alert-border-color: var(--bs-dark-border-subtle); - --bs-alert-link-color: var(--bs-dark-text-emphasis); } - -@keyframes progress-bar-stripes { - 0% { - background-position-x: 1rem; } } - -.progress, -.progress-stacked { - --bs-progress-height: 1rem; - --bs-progress-font-size: 0.75rem; - --bs-progress-bg: var(--bs-secondary-bg); - --bs-progress-border-radius: var(--bs-border-radius); - --bs-progress-box-shadow: var(--bs-box-shadow-inset); - --bs-progress-bar-color: #fff; - --bs-progress-bar-bg: #30638e; - --bs-progress-bar-transition: width 0.6s ease; - display: flex; - height: var(--bs-progress-height); - overflow: hidden; - font-size: var(--bs-progress-font-size); - background-color: var(--bs-progress-bg); - border-radius: var(--bs-progress-border-radius); - box-shadow: var(--bs-progress-box-shadow); } - -.progress-bar { - display: flex; - flex-direction: column; - justify-content: center; - overflow: hidden; - color: var(--bs-progress-bar-color); - text-align: center; - white-space: nowrap; - background-color: var(--bs-progress-bar-bg); - transition: var(--bs-progress-bar-transition); } - @media (prefers-reduced-motion: reduce) { - .progress-bar { - transition: none; } } -.progress-bar-striped { - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-size: var(--bs-progress-height) var(--bs-progress-height); } - -.progress-stacked > .progress { - overflow: visible; } - -.progress-stacked > .progress > .progress-bar { - width: 100%; } - -.progress-bar-animated { - animation: 1s linear infinite progress-bar-stripes; } - @media (prefers-reduced-motion: reduce) { - .progress-bar-animated { - animation: none; } } -.list-group { - --bs-list-group-color: var(--bs-body-color); - --bs-list-group-bg: var(--bs-body-bg); - --bs-list-group-border-color: var(--bs-border-color); - --bs-list-group-border-width: var(--bs-border-width); - --bs-list-group-border-radius: var(--bs-border-radius); - --bs-list-group-item-padding-x: 1rem; - --bs-list-group-item-padding-y: 0.5rem; - --bs-list-group-action-color: var(--bs-secondary-color); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-tertiary-bg); - --bs-list-group-action-active-color: var(--bs-body-color); - --bs-list-group-action-active-bg: var(--bs-secondary-bg); - --bs-list-group-disabled-color: var(--bs-secondary-color); - --bs-list-group-disabled-bg: var(--bs-body-bg); - --bs-list-group-active-color: #fff; - --bs-list-group-active-bg: #30638e; - --bs-list-group-active-border-color: #30638e; - display: flex; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - border-radius: var(--bs-list-group-border-radius); } - -.list-group-numbered { - list-style-type: none; - counter-reset: section; } - .list-group-numbered > .list-group-item::before { - content: counters(section, ".") ". "; - counter-increment: section; } - -.list-group-item-action { - width: 100%; - color: var(--bs-list-group-action-color); - text-align: inherit; } - .list-group-item-action:hover, .list-group-item-action:focus { - z-index: 1; - color: var(--bs-list-group-action-hover-color); - text-decoration: none; - background-color: var(--bs-list-group-action-hover-bg); } - .list-group-item-action:active { - color: var(--bs-list-group-action-active-color); - background-color: var(--bs-list-group-action-active-bg); } - -.list-group-item { - position: relative; - display: block; - padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x); - color: var(--bs-list-group-color); - text-decoration: none; - background-color: var(--bs-list-group-bg); - border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color); } - .list-group-item:first-child { - border-top-left-radius: inherit; - border-top-right-radius: inherit; } - .list-group-item:last-child { - border-bottom-right-radius: inherit; - border-bottom-left-radius: inherit; } - .list-group-item.disabled, .list-group-item:disabled { - color: var(--bs-list-group-disabled-color); - pointer-events: none; - background-color: var(--bs-list-group-disabled-bg); } - .list-group-item.active { - z-index: 2; - color: var(--bs-list-group-active-color); - background-color: var(--bs-list-group-active-bg); - border-color: var(--bs-list-group-active-border-color); } - .list-group-item + .list-group-item { - border-top-width: 0; } - .list-group-item + .list-group-item.active { - margin-top: calc(-1 * var(--bs-list-group-border-width)); - border-top-width: var(--bs-list-group-border-width); } - -.list-group-horizontal { - flex-direction: row; } - .list-group-horizontal > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--bs-list-group-border-radius); - border-top-right-radius: 0; } - .list-group-horizontal > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--bs-list-group-border-radius); - border-bottom-left-radius: 0; } - .list-group-horizontal > .list-group-item.active { - margin-top: 0; } - .list-group-horizontal > .list-group-item + .list-group-item { - border-top-width: var(--bs-list-group-border-width); - border-left-width: 0; } - .list-group-horizontal > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--bs-list-group-border-width)); - border-left-width: var(--bs-list-group-border-width); } - -@media (min-width: 576px) { - .list-group-horizontal-sm { - flex-direction: row; } - .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--bs-list-group-border-radius); - border-top-right-radius: 0; } - .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--bs-list-group-border-radius); - border-bottom-left-radius: 0; } - .list-group-horizontal-sm > .list-group-item.active { - margin-top: 0; } - .list-group-horizontal-sm > .list-group-item + .list-group-item { - border-top-width: var(--bs-list-group-border-width); - border-left-width: 0; } - .list-group-horizontal-sm > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--bs-list-group-border-width)); - border-left-width: var(--bs-list-group-border-width); } } - -@media (min-width: 768px) { - .list-group-horizontal-md { - flex-direction: row; } - .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--bs-list-group-border-radius); - border-top-right-radius: 0; } - .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--bs-list-group-border-radius); - border-bottom-left-radius: 0; } - .list-group-horizontal-md > .list-group-item.active { - margin-top: 0; } - .list-group-horizontal-md > .list-group-item + .list-group-item { - border-top-width: var(--bs-list-group-border-width); - border-left-width: 0; } - .list-group-horizontal-md > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--bs-list-group-border-width)); - border-left-width: var(--bs-list-group-border-width); } } - -@media (min-width: 992px) { - .list-group-horizontal-lg { - flex-direction: row; } - .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--bs-list-group-border-radius); - border-top-right-radius: 0; } - .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--bs-list-group-border-radius); - border-bottom-left-radius: 0; } - .list-group-horizontal-lg > .list-group-item.active { - margin-top: 0; } - .list-group-horizontal-lg > .list-group-item + .list-group-item { - border-top-width: var(--bs-list-group-border-width); - border-left-width: 0; } - .list-group-horizontal-lg > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--bs-list-group-border-width)); - border-left-width: var(--bs-list-group-border-width); } } - -@media (min-width: 1200px) { - .list-group-horizontal-xl { - flex-direction: row; } - .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--bs-list-group-border-radius); - border-top-right-radius: 0; } - .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--bs-list-group-border-radius); - border-bottom-left-radius: 0; } - .list-group-horizontal-xl > .list-group-item.active { - margin-top: 0; } - .list-group-horizontal-xl > .list-group-item + .list-group-item { - border-top-width: var(--bs-list-group-border-width); - border-left-width: 0; } - .list-group-horizontal-xl > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--bs-list-group-border-width)); - border-left-width: var(--bs-list-group-border-width); } } - -@media (min-width: 1400px) { - .list-group-horizontal-xxl { - flex-direction: row; } - .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--bs-list-group-border-radius); - border-top-right-radius: 0; } - .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--bs-list-group-border-radius); - border-bottom-left-radius: 0; } - .list-group-horizontal-xxl > .list-group-item.active { - margin-top: 0; } - .list-group-horizontal-xxl > .list-group-item + .list-group-item { - border-top-width: var(--bs-list-group-border-width); - border-left-width: 0; } - .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--bs-list-group-border-width)); - border-left-width: var(--bs-list-group-border-width); } } - -.list-group-flush { - border-radius: 0; } - .list-group-flush > .list-group-item { - border-width: 0 0 var(--bs-list-group-border-width); } - .list-group-flush > .list-group-item:last-child { - border-bottom-width: 0; } - -.list-group-item-primary { - --bs-list-group-color: var(--bs-primary-text-emphasis); - --bs-list-group-bg: var(--bs-primary-bg-subtle); - --bs-list-group-border-color: var(--bs-primary-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-primary-border-subtle); - --bs-list-group-active-color: var(--bs-primary-bg-subtle); - --bs-list-group-active-bg: var(--bs-primary-text-emphasis); - --bs-list-group-active-border-color: var(--bs-primary-text-emphasis); } - -.list-group-item-secondary { - --bs-list-group-color: var(--bs-secondary-text-emphasis); - --bs-list-group-bg: var(--bs-secondary-bg-subtle); - --bs-list-group-border-color: var(--bs-secondary-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle); - --bs-list-group-active-color: var(--bs-secondary-bg-subtle); - --bs-list-group-active-bg: var(--bs-secondary-text-emphasis); - --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis); } - -.list-group-item-success { - --bs-list-group-color: var(--bs-success-text-emphasis); - --bs-list-group-bg: var(--bs-success-bg-subtle); - --bs-list-group-border-color: var(--bs-success-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-success-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-success-border-subtle); - --bs-list-group-active-color: var(--bs-success-bg-subtle); - --bs-list-group-active-bg: var(--bs-success-text-emphasis); - --bs-list-group-active-border-color: var(--bs-success-text-emphasis); } - -.list-group-item-info { - --bs-list-group-color: var(--bs-info-text-emphasis); - --bs-list-group-bg: var(--bs-info-bg-subtle); - --bs-list-group-border-color: var(--bs-info-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-info-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-info-border-subtle); - --bs-list-group-active-color: var(--bs-info-bg-subtle); - --bs-list-group-active-bg: var(--bs-info-text-emphasis); - --bs-list-group-active-border-color: var(--bs-info-text-emphasis); } - -.list-group-item-warning { - --bs-list-group-color: var(--bs-warning-text-emphasis); - --bs-list-group-bg: var(--bs-warning-bg-subtle); - --bs-list-group-border-color: var(--bs-warning-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-warning-border-subtle); - --bs-list-group-active-color: var(--bs-warning-bg-subtle); - --bs-list-group-active-bg: var(--bs-warning-text-emphasis); - --bs-list-group-active-border-color: var(--bs-warning-text-emphasis); } - -.list-group-item-danger { - --bs-list-group-color: var(--bs-danger-text-emphasis); - --bs-list-group-bg: var(--bs-danger-bg-subtle); - --bs-list-group-border-color: var(--bs-danger-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-danger-border-subtle); - --bs-list-group-active-color: var(--bs-danger-bg-subtle); - --bs-list-group-active-bg: var(--bs-danger-text-emphasis); - --bs-list-group-active-border-color: var(--bs-danger-text-emphasis); } - -.list-group-item-light { - --bs-list-group-color: var(--bs-light-text-emphasis); - --bs-list-group-bg: var(--bs-light-bg-subtle); - --bs-list-group-border-color: var(--bs-light-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-light-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-light-border-subtle); - --bs-list-group-active-color: var(--bs-light-bg-subtle); - --bs-list-group-active-bg: var(--bs-light-text-emphasis); - --bs-list-group-active-border-color: var(--bs-light-text-emphasis); } - -.list-group-item-dark { - --bs-list-group-color: var(--bs-dark-text-emphasis); - --bs-list-group-bg: var(--bs-dark-bg-subtle); - --bs-list-group-border-color: var(--bs-dark-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-dark-border-subtle); - --bs-list-group-active-color: var(--bs-dark-bg-subtle); - --bs-list-group-active-bg: var(--bs-dark-text-emphasis); - --bs-list-group-active-border-color: var(--bs-dark-text-emphasis); } - -.btn-close { - --bs-btn-close-color: #000; - --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e"); - --bs-btn-close-opacity: 0.5; - --bs-btn-close-hover-opacity: 0.75; - --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(48, 99, 142, 0.25); - --bs-btn-close-focus-opacity: 1; - --bs-btn-close-disabled-opacity: 0.25; - --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%); - box-sizing: content-box; - width: 1em; - height: 1em; - padding: 0.25em 0.25em; - color: var(--bs-btn-close-color); - background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat; - border: 0; - border-radius: 0.375rem; - opacity: var(--bs-btn-close-opacity); } - .btn-close:hover { - color: var(--bs-btn-close-color); - text-decoration: none; - opacity: var(--bs-btn-close-hover-opacity); } - .btn-close:focus { - outline: 0; - box-shadow: var(--bs-btn-close-focus-shadow); - opacity: var(--bs-btn-close-focus-opacity); } - .btn-close:disabled, .btn-close.disabled { - pointer-events: none; - user-select: none; - opacity: var(--bs-btn-close-disabled-opacity); } - -.btn-close-white { - filter: var(--bs-btn-close-white-filter); } - -[data-bs-theme="dark"] .btn-close { - filter: var(--bs-btn-close-white-filter); } - -.toast { - --bs-toast-zindex: 1090; - --bs-toast-padding-x: 0.75rem; - --bs-toast-padding-y: 0.5rem; - --bs-toast-spacing: 1.5rem; - --bs-toast-max-width: 350px; - --bs-toast-font-size: 0.875rem; - --bs-toast-color: ; - --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85); - --bs-toast-border-width: var(--bs-border-width); - --bs-toast-border-color: var(--bs-border-color-translucent); - --bs-toast-border-radius: var(--bs-border-radius); - --bs-toast-box-shadow: var(--bs-box-shadow); - --bs-toast-header-color: var(--bs-secondary-color); - --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85); - --bs-toast-header-border-color: var(--bs-border-color-translucent); - width: var(--bs-toast-max-width); - max-width: 100%; - font-size: var(--bs-toast-font-size); - color: var(--bs-toast-color); - pointer-events: auto; - background-color: var(--bs-toast-bg); - background-clip: padding-box; - border: var(--bs-toast-border-width) solid var(--bs-toast-border-color); - box-shadow: var(--bs-toast-box-shadow); - border-radius: var(--bs-toast-border-radius); } - .toast.showing { - opacity: 0; } - .toast:not(.show) { - display: none; } - -.toast-container { - --bs-toast-zindex: 1090; - position: absolute; - z-index: var(--bs-toast-zindex); - width: max-content; - max-width: 100%; - pointer-events: none; } - .toast-container > :not(:last-child) { - margin-bottom: var(--bs-toast-spacing); } - -.toast-header { - display: flex; - align-items: center; - padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x); - color: var(--bs-toast-header-color); - background-color: var(--bs-toast-header-bg); - background-clip: padding-box; - border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color); - border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); - border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); } - .toast-header .btn-close { - margin-right: calc(-.5 * var(--bs-toast-padding-x)); - margin-left: var(--bs-toast-padding-x); } - -.toast-body { - padding: var(--bs-toast-padding-x); - word-wrap: break-word; } - -.modal { - --bs-modal-zindex: 1055; - --bs-modal-width: 500px; - --bs-modal-padding: 1rem; - --bs-modal-margin: 0.5rem; - --bs-modal-color: ; - --bs-modal-bg: var(--bs-body-bg); - --bs-modal-border-color: var(--bs-border-color-translucent); - --bs-modal-border-width: var(--bs-border-width); - --bs-modal-border-radius: var(--bs-border-radius-lg); - --bs-modal-box-shadow: var(--bs-box-shadow-sm); - --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width))); - --bs-modal-header-padding-x: 1rem; - --bs-modal-header-padding-y: 1rem; - --bs-modal-header-padding: 1rem 1rem; - --bs-modal-header-border-color: var(--bs-border-color); - --bs-modal-header-border-width: var(--bs-border-width); - --bs-modal-title-line-height: 1.5; - --bs-modal-footer-gap: 0.5rem; - --bs-modal-footer-bg: ; - --bs-modal-footer-border-color: var(--bs-border-color); - --bs-modal-footer-border-width: var(--bs-border-width); - position: fixed; - top: 0; - left: 0; - z-index: var(--bs-modal-zindex); - display: none; - width: 100%; - height: 100%; - overflow-x: hidden; - overflow-y: auto; - outline: 0; } - -.modal-dialog { - position: relative; - width: auto; - margin: var(--bs-modal-margin); - pointer-events: none; } - .modal.fade .modal-dialog { - transition: transform 0.3s ease-out; - transform: translate(0, -50px); } - @media (prefers-reduced-motion: reduce) { - .modal.fade .modal-dialog { - transition: none; } } - .modal.show .modal-dialog { - transform: none; } - .modal.modal-static .modal-dialog { - transform: scale(1.02); } - -.modal-dialog-scrollable { - height: calc(100% - var(--bs-modal-margin) * 2); } - .modal-dialog-scrollable .modal-content { - max-height: 100%; - overflow: hidden; } - .modal-dialog-scrollable .modal-body { - overflow-y: auto; } - -.modal-dialog-centered { - display: flex; - align-items: center; - min-height: calc(100% - var(--bs-modal-margin) * 2); } - -.modal-content { - position: relative; - display: flex; - flex-direction: column; - width: 100%; - color: var(--bs-modal-color); - pointer-events: auto; - background-color: var(--bs-modal-bg); - background-clip: padding-box; - border: var(--bs-modal-border-width) solid var(--bs-modal-border-color); - border-radius: var(--bs-modal-border-radius); - box-shadow: var(--bs-modal-box-shadow); - outline: 0; } - -.modal-backdrop { - --bs-backdrop-zindex: 1050; - --bs-backdrop-bg: #000; - --bs-backdrop-opacity: 0.5; - position: fixed; - top: 0; - left: 0; - z-index: var(--bs-backdrop-zindex); - width: 100vw; - height: 100vh; - background-color: var(--bs-backdrop-bg); } - .modal-backdrop.fade { - opacity: 0; } - .modal-backdrop.show { - opacity: var(--bs-backdrop-opacity); } - -.modal-header { - display: flex; - flex-shrink: 0; - align-items: center; - padding: var(--bs-modal-header-padding); - border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color); - border-top-left-radius: var(--bs-modal-inner-border-radius); - border-top-right-radius: var(--bs-modal-inner-border-radius); } - .modal-header .btn-close { - padding: calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5); - margin: calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto; } - -.modal-title { - margin-bottom: 0; - line-height: var(--bs-modal-title-line-height); } - -.modal-body { - position: relative; - flex: 1 1 auto; - padding: var(--bs-modal-padding); } - -.modal-footer { - display: flex; - flex-shrink: 0; - flex-wrap: wrap; - align-items: center; - justify-content: flex-end; - padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5); - background-color: var(--bs-modal-footer-bg); - border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color); - border-bottom-right-radius: var(--bs-modal-inner-border-radius); - border-bottom-left-radius: var(--bs-modal-inner-border-radius); } - .modal-footer > * { - margin: calc(var(--bs-modal-footer-gap) * .5); } - -@media (min-width: 576px) { - .modal { - --bs-modal-margin: 1.75rem; - --bs-modal-box-shadow: var(--bs-box-shadow); } - .modal-dialog { - max-width: var(--bs-modal-width); - margin-right: auto; - margin-left: auto; } - .modal-sm { - --bs-modal-width: 300px; } } - -@media (min-width: 992px) { - .modal-lg, - .modal-xl { - --bs-modal-width: 800px; } } - -@media (min-width: 1200px) { - .modal-xl { - --bs-modal-width: 1140px; } } - -.modal-fullscreen { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; } - .modal-fullscreen .modal-content { - height: 100%; - border: 0; - border-radius: 0; } - .modal-fullscreen .modal-header, - .modal-fullscreen .modal-footer { - border-radius: 0; } - .modal-fullscreen .modal-body { - overflow-y: auto; } - -@media (max-width: 575.98px) { - .modal-fullscreen-sm-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; } - .modal-fullscreen-sm-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; } - .modal-fullscreen-sm-down .modal-header, - .modal-fullscreen-sm-down .modal-footer { - border-radius: 0; } - .modal-fullscreen-sm-down .modal-body { - overflow-y: auto; } } - -@media (max-width: 767.98px) { - .modal-fullscreen-md-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; } - .modal-fullscreen-md-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; } - .modal-fullscreen-md-down .modal-header, - .modal-fullscreen-md-down .modal-footer { - border-radius: 0; } - .modal-fullscreen-md-down .modal-body { - overflow-y: auto; } } - -@media (max-width: 991.98px) { - .modal-fullscreen-lg-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; } - .modal-fullscreen-lg-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; } - .modal-fullscreen-lg-down .modal-header, - .modal-fullscreen-lg-down .modal-footer { - border-radius: 0; } - .modal-fullscreen-lg-down .modal-body { - overflow-y: auto; } } - -@media (max-width: 1199.98px) { - .modal-fullscreen-xl-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; } - .modal-fullscreen-xl-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; } - .modal-fullscreen-xl-down .modal-header, - .modal-fullscreen-xl-down .modal-footer { - border-radius: 0; } - .modal-fullscreen-xl-down .modal-body { - overflow-y: auto; } } - -@media (max-width: 1399.98px) { - .modal-fullscreen-xxl-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; } - .modal-fullscreen-xxl-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; } - .modal-fullscreen-xxl-down .modal-header, - .modal-fullscreen-xxl-down .modal-footer { - border-radius: 0; } - .modal-fullscreen-xxl-down .modal-body { - overflow-y: auto; } } - -.tooltip { - --bs-tooltip-zindex: 1080; - --bs-tooltip-max-width: 200px; - --bs-tooltip-padding-x: 0.5rem; - --bs-tooltip-padding-y: 0.25rem; - --bs-tooltip-margin: ; - --bs-tooltip-font-size: 0.875rem; - --bs-tooltip-color: var(--bs-body-bg); - --bs-tooltip-bg: var(--bs-emphasis-color); - --bs-tooltip-border-radius: var(--bs-border-radius); - --bs-tooltip-opacity: 0.9; - --bs-tooltip-arrow-width: 0.8rem; - --bs-tooltip-arrow-height: 0.4rem; - z-index: var(--bs-tooltip-zindex); - display: block; - margin: var(--bs-tooltip-margin); - font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - white-space: normal; - word-spacing: normal; - line-break: auto; - font-size: var(--bs-tooltip-font-size); - word-wrap: break-word; - opacity: 0; } - .tooltip.show { - opacity: var(--bs-tooltip-opacity); } - .tooltip .tooltip-arrow { - display: block; - width: var(--bs-tooltip-arrow-width); - height: var(--bs-tooltip-arrow-height); } - .tooltip .tooltip-arrow::before { - position: absolute; - content: ""; - border-color: transparent; - border-style: solid; } - -.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow { - bottom: calc(-1 * var(--bs-tooltip-arrow-height)); } - .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before { - top: -1px; - border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0; - border-top-color: var(--bs-tooltip-bg); } - -/* rtl:begin:ignore */ -.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow { - left: calc(-1 * var(--bs-tooltip-arrow-height)); - width: var(--bs-tooltip-arrow-height); - height: var(--bs-tooltip-arrow-width); } - .bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before { - right: -1px; - border-width: calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0; - border-right-color: var(--bs-tooltip-bg); } - -/* rtl:end:ignore */ -.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow { - top: calc(-1 * var(--bs-tooltip-arrow-height)); } - .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before { - bottom: -1px; - border-width: 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height); - border-bottom-color: var(--bs-tooltip-bg); } - -/* rtl:begin:ignore */ -.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow { - right: calc(-1 * var(--bs-tooltip-arrow-height)); - width: var(--bs-tooltip-arrow-height); - height: var(--bs-tooltip-arrow-width); } - .bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before { - left: -1px; - border-width: calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height); - border-left-color: var(--bs-tooltip-bg); } - -/* rtl:end:ignore */ -.tooltip-inner { - max-width: var(--bs-tooltip-max-width); - padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x); - color: var(--bs-tooltip-color); - text-align: center; - background-color: var(--bs-tooltip-bg); - border-radius: var(--bs-tooltip-border-radius); } - -.popover { - --bs-popover-zindex: 1070; - --bs-popover-max-width: 276px; - --bs-popover-font-size: 0.875rem; - --bs-popover-bg: var(--bs-body-bg); - --bs-popover-border-width: var(--bs-border-width); - --bs-popover-border-color: var(--bs-border-color-translucent); - --bs-popover-border-radius: var(--bs-border-radius-lg); - --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width)); - --bs-popover-box-shadow: var(--bs-box-shadow); - --bs-popover-header-padding-x: 1rem; - --bs-popover-header-padding-y: 0.5rem; - --bs-popover-header-font-size: 1rem; - --bs-popover-header-color: inherit; - --bs-popover-header-bg: var(--bs-secondary-bg); - --bs-popover-body-padding-x: 1rem; - --bs-popover-body-padding-y: 1rem; - --bs-popover-body-color: var(--bs-body-color); - --bs-popover-arrow-width: 1rem; - --bs-popover-arrow-height: 0.5rem; - --bs-popover-arrow-border: var(--bs-popover-border-color); - z-index: var(--bs-popover-zindex); - display: block; - max-width: var(--bs-popover-max-width); - font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - white-space: normal; - word-spacing: normal; - line-break: auto; - font-size: var(--bs-popover-font-size); - word-wrap: break-word; - background-color: var(--bs-popover-bg); - background-clip: padding-box; - border: var(--bs-popover-border-width) solid var(--bs-popover-border-color); - border-radius: var(--bs-popover-border-radius); - box-shadow: var(--bs-popover-box-shadow); } - .popover .popover-arrow { - display: block; - width: var(--bs-popover-arrow-width); - height: var(--bs-popover-arrow-height); } - .popover .popover-arrow::before, .popover .popover-arrow::after { - position: absolute; - display: block; - content: ""; - border-color: transparent; - border-style: solid; - border-width: 0; } - -.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow { - bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); } - .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after { - border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0; } - .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before { - bottom: 0; - border-top-color: var(--bs-popover-arrow-border); } - .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after { - bottom: var(--bs-popover-border-width); - border-top-color: var(--bs-popover-bg); } - -/* rtl:begin:ignore */ -.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow { - left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); - width: var(--bs-popover-arrow-height); - height: var(--bs-popover-arrow-width); } - .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::after { - border-width: calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0; } - .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::before { - left: 0; - border-right-color: var(--bs-popover-arrow-border); } - .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::after { - left: var(--bs-popover-border-width); - border-right-color: var(--bs-popover-bg); } - -/* rtl:end:ignore */ -.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow { - top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); } - .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after { - border-width: 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height); } - .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before { - top: 0; - border-bottom-color: var(--bs-popover-arrow-border); } - .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after { - top: var(--bs-popover-border-width); - border-bottom-color: var(--bs-popover-bg); } - -.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before { - position: absolute; - top: 0; - left: 50%; - display: block; - width: var(--bs-popover-arrow-width); - margin-left: calc(-.5 * var(--bs-popover-arrow-width)); - content: ""; - border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg); } - -/* rtl:begin:ignore */ -.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow { - right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); - width: var(--bs-popover-arrow-height); - height: var(--bs-popover-arrow-width); } - .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::after { - border-width: calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height); } - .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::before { - right: 0; - border-left-color: var(--bs-popover-arrow-border); } - .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::after { - right: var(--bs-popover-border-width); - border-left-color: var(--bs-popover-bg); } - -/* rtl:end:ignore */ -.popover-header { - padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x); - margin-bottom: 0; - font-size: var(--bs-popover-header-font-size); - color: var(--bs-popover-header-color); - background-color: var(--bs-popover-header-bg); - border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color); - border-top-left-radius: var(--bs-popover-inner-border-radius); - border-top-right-radius: var(--bs-popover-inner-border-radius); } - .popover-header:empty { - display: none; } - -.popover-body { - padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x); - color: var(--bs-popover-body-color); } - -.carousel { - position: relative; } - -.carousel.pointer-event { - touch-action: pan-y; } - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; } - .carousel-inner::after { - display: block; - clear: both; - content: ""; } - -.carousel-item { - position: relative; - display: none; - float: left; - width: 100%; - margin-right: -100%; - backface-visibility: hidden; - transition: transform 0.6s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .carousel-item { - transition: none; } } -.carousel-item.active, -.carousel-item-next, -.carousel-item-prev { - display: block; } - -.carousel-item-next:not(.carousel-item-start), -.active.carousel-item-end { - transform: translateX(100%); } - -.carousel-item-prev:not(.carousel-item-end), -.active.carousel-item-start { - transform: translateX(-100%); } - -.carousel-fade .carousel-item { - opacity: 0; - transition-property: opacity; - transform: none; } - -.carousel-fade .carousel-item.active, -.carousel-fade .carousel-item-next.carousel-item-start, -.carousel-fade .carousel-item-prev.carousel-item-end { - z-index: 1; - opacity: 1; } - -.carousel-fade .active.carousel-item-start, -.carousel-fade .active.carousel-item-end { - z-index: 0; - opacity: 0; - transition: opacity 0s 0.6s; } - @media (prefers-reduced-motion: reduce) { - .carousel-fade .active.carousel-item-start, - .carousel-fade .active.carousel-item-end { - transition: none; } } -.carousel-control-prev, -.carousel-control-next { - position: absolute; - top: 0; - bottom: 0; - z-index: 1; - display: flex; - align-items: center; - justify-content: center; - width: 15%; - padding: 0; - color: #fff; - text-align: center; - background: none; - border: 0; - opacity: 0.5; - transition: opacity 0.15s ease; } - @media (prefers-reduced-motion: reduce) { - .carousel-control-prev, - .carousel-control-next { - transition: none; } } - .carousel-control-prev:hover, .carousel-control-prev:focus, - .carousel-control-next:hover, - .carousel-control-next:focus { - color: #fff; - text-decoration: none; - outline: 0; - opacity: 0.9; } - -.carousel-control-prev { - left: 0; - background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.001)); } - -.carousel-control-next { - right: 0; - background-image: linear-gradient(270deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.001)); } - -.carousel-control-prev-icon, -.carousel-control-next-icon { - display: inline-block; - width: 2rem; - height: 2rem; - background-repeat: no-repeat; - background-position: 50%; - background-size: 100% 100%; } - -.carousel-control-prev-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")*/; } - -.carousel-control-next-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")*/; } - -.carousel-indicators { - position: absolute; - right: 0; - bottom: 0; - left: 0; - z-index: 2; - display: flex; - justify-content: center; - padding: 0; - margin-right: 15%; - margin-bottom: 1rem; - margin-left: 15%; } - .carousel-indicators [data-bs-target] { - box-sizing: content-box; - flex: 0 1 auto; - width: 30px; - height: 3px; - padding: 0; - margin-right: 3px; - margin-left: 3px; - text-indent: -999px; - cursor: pointer; - background-color: #fff; - background-clip: padding-box; - border: 0; - border-top: 10px solid transparent; - border-bottom: 10px solid transparent; - opacity: 0.5; - transition: opacity 0.6s ease; } - @media (prefers-reduced-motion: reduce) { - .carousel-indicators [data-bs-target] { - transition: none; } } - .carousel-indicators .active { - opacity: 1; } - -.carousel-caption { - position: absolute; - right: 15%; - bottom: 1.25rem; - left: 15%; - padding-top: 1.25rem; - padding-bottom: 1.25rem; - color: #fff; - text-align: center; } - -.carousel-dark .carousel-control-prev-icon, -.carousel-dark .carousel-control-next-icon { - filter: invert(1) grayscale(100); } - -.carousel-dark .carousel-indicators [data-bs-target] { - background-color: #000; } - -.carousel-dark .carousel-caption { - color: #000; } - -[data-bs-theme="dark"] .carousel .carousel-control-prev-icon, -[data-bs-theme="dark"] .carousel .carousel-control-next-icon, [data-bs-theme="dark"].carousel .carousel-control-prev-icon, -[data-bs-theme="dark"].carousel .carousel-control-next-icon { - filter: invert(1) grayscale(100); } - -[data-bs-theme="dark"] .carousel .carousel-indicators [data-bs-target], [data-bs-theme="dark"].carousel .carousel-indicators [data-bs-target] { - background-color: #000; } - -[data-bs-theme="dark"] .carousel .carousel-caption, [data-bs-theme="dark"].carousel .carousel-caption { - color: #000; } - -.spinner-grow, -.spinner-border { - display: inline-block; - width: var(--bs-spinner-width); - height: var(--bs-spinner-height); - vertical-align: var(--bs-spinner-vertical-align); - border-radius: 50%; - animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name); } - -@keyframes spinner-border { - to { - transform: rotate(360deg) /* rtl:ignore */; } } - -.spinner-border { - --bs-spinner-width: 2rem; - --bs-spinner-height: 2rem; - --bs-spinner-vertical-align: -0.125em; - --bs-spinner-border-width: 0.25em; - --bs-spinner-animation-speed: 0.75s; - --bs-spinner-animation-name: spinner-border; - border: var(--bs-spinner-border-width) solid currentcolor; - border-right-color: transparent; } - -.spinner-border-sm { - --bs-spinner-width: 1rem; - --bs-spinner-height: 1rem; - --bs-spinner-border-width: 0.2em; } - -@keyframes spinner-grow { - 0% { - transform: scale(0); } - 50% { - opacity: 1; - transform: none; } } - -.spinner-grow { - --bs-spinner-width: 2rem; - --bs-spinner-height: 2rem; - --bs-spinner-vertical-align: -0.125em; - --bs-spinner-animation-speed: 0.75s; - --bs-spinner-animation-name: spinner-grow; - background-color: currentcolor; - opacity: 0; } - -.spinner-grow-sm { - --bs-spinner-width: 1rem; - --bs-spinner-height: 1rem; } - -@media (prefers-reduced-motion: reduce) { - .spinner-border, - .spinner-grow { - --bs-spinner-animation-speed: 1.5s; } } - -.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm { - --bs-offcanvas-zindex: 1045; - --bs-offcanvas-width: 400px; - --bs-offcanvas-height: 30vh; - --bs-offcanvas-padding-x: 1rem; - --bs-offcanvas-padding-y: 1rem; - --bs-offcanvas-color: var(--bs-body-color); - --bs-offcanvas-bg: var(--bs-body-bg); - --bs-offcanvas-border-width: var(--bs-border-width); - --bs-offcanvas-border-color: var(--bs-border-color-translucent); - --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm); - --bs-offcanvas-transition: transform 0.3s ease-in-out; - --bs-offcanvas-title-line-height: 1.5; } - -@media (max-width: 575.98px) { - .offcanvas-sm { - position: fixed; - bottom: 0; - z-index: var(--bs-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--bs-offcanvas-color); - visibility: hidden; - background-color: var(--bs-offcanvas-bg); - background-clip: padding-box; - outline: 0; - box-shadow: var(--bs-offcanvas-box-shadow); - transition: var(--bs-offcanvas-transition); } } - @media (max-width: 575.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-sm { - transition: none; } } -@media (max-width: 575.98px) { - .offcanvas-sm.offcanvas-start { - top: 0; - left: 0; - width: var(--bs-offcanvas-width); - border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(-100%); } - .offcanvas-sm.offcanvas-end { - top: 0; - right: 0; - width: var(--bs-offcanvas-width); - border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(100%); } - .offcanvas-sm.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(-100%); } - .offcanvas-sm.offcanvas-bottom { - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(100%); } - .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) { - transform: none; } - .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show { - visibility: visible; } } - -@media (min-width: 576px) { - .offcanvas-sm { - --bs-offcanvas-height: auto; - --bs-offcanvas-border-width: 0; - background-color: transparent !important; } - .offcanvas-sm .offcanvas-header { - display: none; } - .offcanvas-sm .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; } } - -@media (max-width: 767.98px) { - .offcanvas-md { - position: fixed; - bottom: 0; - z-index: var(--bs-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--bs-offcanvas-color); - visibility: hidden; - background-color: var(--bs-offcanvas-bg); - background-clip: padding-box; - outline: 0; - box-shadow: var(--bs-offcanvas-box-shadow); - transition: var(--bs-offcanvas-transition); } } - @media (max-width: 767.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-md { - transition: none; } } -@media (max-width: 767.98px) { - .offcanvas-md.offcanvas-start { - top: 0; - left: 0; - width: var(--bs-offcanvas-width); - border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(-100%); } - .offcanvas-md.offcanvas-end { - top: 0; - right: 0; - width: var(--bs-offcanvas-width); - border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(100%); } - .offcanvas-md.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(-100%); } - .offcanvas-md.offcanvas-bottom { - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(100%); } - .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) { - transform: none; } - .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show { - visibility: visible; } } - -@media (min-width: 768px) { - .offcanvas-md { - --bs-offcanvas-height: auto; - --bs-offcanvas-border-width: 0; - background-color: transparent !important; } - .offcanvas-md .offcanvas-header { - display: none; } - .offcanvas-md .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; } } - -@media (max-width: 991.98px) { - .offcanvas-lg { - position: fixed; - bottom: 0; - z-index: var(--bs-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--bs-offcanvas-color); - visibility: hidden; - background-color: var(--bs-offcanvas-bg); - background-clip: padding-box; - outline: 0; - box-shadow: var(--bs-offcanvas-box-shadow); - transition: var(--bs-offcanvas-transition); } } - @media (max-width: 991.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-lg { - transition: none; } } -@media (max-width: 991.98px) { - .offcanvas-lg.offcanvas-start { - top: 0; - left: 0; - width: var(--bs-offcanvas-width); - border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(-100%); } - .offcanvas-lg.offcanvas-end { - top: 0; - right: 0; - width: var(--bs-offcanvas-width); - border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(100%); } - .offcanvas-lg.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(-100%); } - .offcanvas-lg.offcanvas-bottom { - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(100%); } - .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) { - transform: none; } - .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show { - visibility: visible; } } - -@media (min-width: 992px) { - .offcanvas-lg { - --bs-offcanvas-height: auto; - --bs-offcanvas-border-width: 0; - background-color: transparent !important; } - .offcanvas-lg .offcanvas-header { - display: none; } - .offcanvas-lg .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; } } - -@media (max-width: 1199.98px) { - .offcanvas-xl { - position: fixed; - bottom: 0; - z-index: var(--bs-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--bs-offcanvas-color); - visibility: hidden; - background-color: var(--bs-offcanvas-bg); - background-clip: padding-box; - outline: 0; - box-shadow: var(--bs-offcanvas-box-shadow); - transition: var(--bs-offcanvas-transition); } } - @media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-xl { - transition: none; } } -@media (max-width: 1199.98px) { - .offcanvas-xl.offcanvas-start { - top: 0; - left: 0; - width: var(--bs-offcanvas-width); - border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(-100%); } - .offcanvas-xl.offcanvas-end { - top: 0; - right: 0; - width: var(--bs-offcanvas-width); - border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(100%); } - .offcanvas-xl.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(-100%); } - .offcanvas-xl.offcanvas-bottom { - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(100%); } - .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) { - transform: none; } - .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show { - visibility: visible; } } - -@media (min-width: 1200px) { - .offcanvas-xl { - --bs-offcanvas-height: auto; - --bs-offcanvas-border-width: 0; - background-color: transparent !important; } - .offcanvas-xl .offcanvas-header { - display: none; } - .offcanvas-xl .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; } } - -@media (max-width: 1399.98px) { - .offcanvas-xxl { - position: fixed; - bottom: 0; - z-index: var(--bs-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--bs-offcanvas-color); - visibility: hidden; - background-color: var(--bs-offcanvas-bg); - background-clip: padding-box; - outline: 0; - box-shadow: var(--bs-offcanvas-box-shadow); - transition: var(--bs-offcanvas-transition); } } - @media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-xxl { - transition: none; } } -@media (max-width: 1399.98px) { - .offcanvas-xxl.offcanvas-start { - top: 0; - left: 0; - width: var(--bs-offcanvas-width); - border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(-100%); } - .offcanvas-xxl.offcanvas-end { - top: 0; - right: 0; - width: var(--bs-offcanvas-width); - border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(100%); } - .offcanvas-xxl.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(-100%); } - .offcanvas-xxl.offcanvas-bottom { - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(100%); } - .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) { - transform: none; } - .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show { - visibility: visible; } } - -@media (min-width: 1400px) { - .offcanvas-xxl { - --bs-offcanvas-height: auto; - --bs-offcanvas-border-width: 0; - background-color: transparent !important; } - .offcanvas-xxl .offcanvas-header { - display: none; } - .offcanvas-xxl .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; } } - -.offcanvas { - position: fixed; - bottom: 0; - z-index: var(--bs-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--bs-offcanvas-color); - visibility: hidden; - background-color: var(--bs-offcanvas-bg); - background-clip: padding-box; - outline: 0; - box-shadow: var(--bs-offcanvas-box-shadow); - transition: var(--bs-offcanvas-transition); } - @media (prefers-reduced-motion: reduce) { - .offcanvas { - transition: none; } } - .offcanvas.offcanvas-start { - top: 0; - left: 0; - width: var(--bs-offcanvas-width); - border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(-100%); } - .offcanvas.offcanvas-end { - top: 0; - right: 0; - width: var(--bs-offcanvas-width); - border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(100%); } - .offcanvas.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(-100%); } - .offcanvas.offcanvas-bottom { - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(100%); } - .offcanvas.showing, .offcanvas.show:not(.hiding) { - transform: none; } - .offcanvas.showing, .offcanvas.hiding, .offcanvas.show { - visibility: visible; } - -.offcanvas-backdrop { - position: fixed; - top: 0; - left: 0; - z-index: 1040; - width: 100vw; - height: 100vh; - background-color: #000; } - .offcanvas-backdrop.fade { - opacity: 0; } - .offcanvas-backdrop.show { - opacity: 0.5; } - -.offcanvas-header { - display: flex; - align-items: center; - padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); } - .offcanvas-header .btn-close { - padding: calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5); - margin: calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x)) calc(-.5 * var(--bs-offcanvas-padding-y)) auto; } - -.offcanvas-title { - margin-bottom: 0; - line-height: var(--bs-offcanvas-title-line-height); } - -.offcanvas-body { - flex-grow: 1; - padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); - overflow-y: auto; } - -.placeholder { - display: inline-block; - min-height: 1em; - vertical-align: middle; - cursor: wait; - background-color: currentcolor; - opacity: 0.5; } - .placeholder.btn::before, div.drawio button.placeholder::before, .td-blog .placeholder.td-rss-button::before { - display: inline-block; - content: ""; } - -.placeholder-xs { - min-height: .6em; } - -.placeholder-sm { - min-height: .8em; } - -.placeholder-lg { - min-height: 1.2em; } - -.placeholder-glow .placeholder { - animation: placeholder-glow 2s ease-in-out infinite; } - -@keyframes placeholder-glow { - 50% { - opacity: 0.2; } } - -.placeholder-wave { - mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%); - mask-size: 200% 100%; - animation: placeholder-wave 2s linear infinite; } - -@keyframes placeholder-wave { - 100% { - mask-position: -200% 0%; } } - -.clearfix::after { - display: block; - clear: both; - content: ""; } - -.text-bg-primary { - color: #fff !important; - background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important; } - -.text-bg-secondary { - color: #000 !important; - background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important; } - -.text-bg-success { - color: #000 !important; - background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important; } - -.text-bg-info { - color: #000 !important; - background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important; } - -.text-bg-warning { - color: #000 !important; - background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important; } - -.text-bg-danger { - color: #000 !important; - background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important; } - -.text-bg-light { - color: #000 !important; - background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important; } - -.text-bg-dark { - color: #fff !important; - background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important; } - -.link-primary { - color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-primary:hover, .link-primary:focus { - color: RGBA(34, 69, 99, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(34, 69, 99, var(--bs-link-underline-opacity, 1)) !important; } - -.link-secondary { - color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-secondary:hover, .link-secondary:focus { - color: RGBA(255, 193, 110, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(255, 193, 110, var(--bs-link-underline-opacity, 1)) !important; } - -.link-success { - color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-success:hover, .link-success:focus { - color: RGBA(115, 156, 255, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(115, 156, 255, var(--bs-link-underline-opacity, 1)) !important; } - -.link-info { - color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-info:hover, .link-info:focus { - color: RGBA(211, 233, 232, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(211, 233, 232, var(--bs-link-underline-opacity, 1)) !important; } - -.link-warning { - color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-warning:hover, .link-warning:focus { - color: RGBA(242, 151, 140, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(242, 151, 140, var(--bs-link-underline-opacity, 1)) !important; } - -.link-danger { - color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-danger:hover, .link-danger:focus { - color: RGBA(242, 151, 140, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(242, 151, 140, var(--bs-link-underline-opacity, 1)) !important; } - -.link-light { - color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-light:hover, .link-light:focus { - color: RGBA(224, 247, 243, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(224, 247, 243, var(--bs-link-underline-opacity, 1)) !important; } - -.link-dark { - color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-dark:hover, .link-dark:focus { - color: RGBA(45, 44, 53, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(45, 44, 53, var(--bs-link-underline-opacity, 1)) !important; } - -.link-body-emphasis { - color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-body-emphasis:hover, .link-body-emphasis:focus { - color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important; - text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important; } - -.focus-ring:focus { - outline: 0; - box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color); } - -.icon-link { - display: inline-flex; - gap: 0.375rem; - align-items: center; - text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5)); - text-underline-offset: 0.25em; - backface-visibility: hidden; } - .icon-link > .bi { - flex-shrink: 0; - width: 1em; - height: 1em; - fill: currentcolor; - transition: 0.2s ease-in-out transform; } - @media (prefers-reduced-motion: reduce) { - .icon-link > .bi { - transition: none; } } -.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi { - transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0)); } - -.ratio { - position: relative; - width: 100%; } - .ratio::before { - display: block; - padding-top: var(--bs-aspect-ratio); - content: ""; } - .ratio > * { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; } - -.ratio-1x1 { - --bs-aspect-ratio: 100%; } - -.ratio-4x3 { - --bs-aspect-ratio: calc(3 / 4 * 100%); } - -.ratio-16x9 { - --bs-aspect-ratio: calc(9 / 16 * 100%); } - -.ratio-21x9 { - --bs-aspect-ratio: calc(9 / 21 * 100%); } - -.fixed-top { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: 1030; } - -.fixed-bottom { - position: fixed; - right: 0; - bottom: 0; - left: 0; - z-index: 1030; } - -.sticky-top { - position: sticky; - top: 0; - z-index: 1020; } - -.sticky-bottom { - position: sticky; - bottom: 0; - z-index: 1020; } - -@media (min-width: 576px) { - .sticky-sm-top { - position: sticky; - top: 0; - z-index: 1020; } - .sticky-sm-bottom { - position: sticky; - bottom: 0; - z-index: 1020; } } - -@media (min-width: 768px) { - .sticky-md-top { - position: sticky; - top: 0; - z-index: 1020; } - .sticky-md-bottom { - position: sticky; - bottom: 0; - z-index: 1020; } } - -@media (min-width: 992px) { - .sticky-lg-top { - position: sticky; - top: 0; - z-index: 1020; } - .sticky-lg-bottom { - position: sticky; - bottom: 0; - z-index: 1020; } } - -@media (min-width: 1200px) { - .sticky-xl-top { - position: sticky; - top: 0; - z-index: 1020; } - .sticky-xl-bottom { - position: sticky; - bottom: 0; - z-index: 1020; } } - -@media (min-width: 1400px) { - .sticky-xxl-top { - position: sticky; - top: 0; - z-index: 1020; } - .sticky-xxl-bottom { - position: sticky; - bottom: 0; - z-index: 1020; } } - -.hstack { - display: flex; - flex-direction: row; - align-items: center; - align-self: stretch; } - -.vstack { - display: flex; - flex: 1 1 auto; - flex-direction: column; - align-self: stretch; } - -.visually-hidden, -.visually-hidden-focusable:not(:focus):not(:focus-within) { - width: 1px !important; - height: 1px !important; - padding: 0 !important; - margin: -1px !important; - overflow: hidden !important; - clip: rect(0, 0, 0, 0) !important; - white-space: nowrap !important; - border: 0 !important; } - .visually-hidden:not(caption), - .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) { - position: absolute !important; } - -.stretched-link::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - content: ""; } - -.text-truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; } - -.vr { - display: inline-block; - align-self: stretch; - width: var(--bs-border-width); - min-height: 1em; - background-color: currentcolor; - opacity: 0.25; } - -.align-baseline { - vertical-align: baseline !important; } - -.align-top { - vertical-align: top !important; } - -.align-middle { - vertical-align: middle !important; } - -.align-bottom { - vertical-align: bottom !important; } - -.align-text-bottom { - vertical-align: text-bottom !important; } - -.align-text-top { - vertical-align: text-top !important; } - -.float-start { - float: left !important; } - -.float-end { - float: right !important; } - -.float-none { - float: none !important; } - -.object-fit-contain { - object-fit: contain !important; } - -.object-fit-cover { - object-fit: cover !important; } - -.object-fit-fill { - object-fit: fill !important; } - -.object-fit-scale { - object-fit: scale-down !important; } - -.object-fit-none { - object-fit: none !important; } - -.opacity-0 { - opacity: 0 !important; } - -.opacity-25 { - opacity: 0.25 !important; } - -.opacity-50 { - opacity: 0.5 !important; } - -.opacity-75 { - opacity: 0.75 !important; } - -.opacity-100 { - opacity: 1 !important; } - -.overflow-auto { - overflow: auto !important; } - -.overflow-hidden { - overflow: hidden !important; } - -.overflow-visible { - overflow: visible !important; } - -.overflow-scroll { - overflow: scroll !important; } - -.overflow-x-auto { - overflow-x: auto !important; } - -.overflow-x-hidden { - overflow-x: hidden !important; } - -.overflow-x-visible { - overflow-x: visible !important; } - -.overflow-x-scroll { - overflow-x: scroll !important; } - -.overflow-y-auto { - overflow-y: auto !important; } - -.overflow-y-hidden { - overflow-y: hidden !important; } - -.overflow-y-visible { - overflow-y: visible !important; } - -.overflow-y-scroll { - overflow-y: scroll !important; } - -.d-inline { - display: inline !important; } - -.d-inline-block { - display: inline-block !important; } - -.d-block { - display: block !important; } - -.d-grid { - display: grid !important; } - -.d-inline-grid { - display: inline-grid !important; } - -.d-table { - display: table !important; } - -.d-table-row { - display: table-row !important; } - -.d-table-cell { - display: table-cell !important; } - -.d-flex { - display: flex !important; } - -.d-inline-flex { - display: inline-flex !important; } - -.d-none { - display: none !important; } - -.shadow { - box-shadow: var(--bs-box-shadow) !important; } - -.shadow-sm { - box-shadow: var(--bs-box-shadow-sm) !important; } - -.shadow-lg { - box-shadow: var(--bs-box-shadow-lg) !important; } - -.shadow-none { - box-shadow: none !important; } - -.focus-ring-primary { - --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity)); } - -.focus-ring-secondary { - --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity)); } - -.focus-ring-success { - --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity)); } - -.focus-ring-info { - --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity)); } - -.focus-ring-warning { - --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity)); } - -.focus-ring-danger { - --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity)); } - -.focus-ring-light { - --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity)); } - -.focus-ring-dark { - --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity)); } - -.position-static { - position: static !important; } - -.position-relative { - position: relative !important; } - -.position-absolute { - position: absolute !important; } - -.position-fixed { - position: fixed !important; } - -.position-sticky { - position: sticky !important; } - -.top-0 { - top: 0 !important; } - -.top-50 { - top: 50% !important; } - -.top-100 { - top: 100% !important; } - -.bottom-0 { - bottom: 0 !important; } - -.bottom-50 { - bottom: 50% !important; } - -.bottom-100 { - bottom: 100% !important; } - -.start-0 { - left: 0 !important; } - -.start-50 { - left: 50% !important; } - -.start-100 { - left: 100% !important; } - -.end-0 { - right: 0 !important; } - -.end-50 { - right: 50% !important; } - -.end-100 { - right: 100% !important; } - -.translate-middle { - transform: translate(-50%, -50%) !important; } - -.translate-middle-x { - transform: translateX(-50%) !important; } - -.translate-middle-y { - transform: translateY(-50%) !important; } - -.border { - border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; } - -.border-0 { - border: 0 !important; } - -.border-top, .td-page-meta__lastmod { - border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; } - -.border-top-0 { - border-top: 0 !important; } - -.border-end { - border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; } - -.border-end-0 { - border-right: 0 !important; } - -.border-bottom { - border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; } - -.border-bottom-0 { - border-bottom: 0 !important; } - -.border-start { - border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; } - -.border-start-0 { - border-left: 0 !important; } - -.border-primary { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important; } - -.border-secondary { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important; } - -.border-success { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important; } - -.border-info { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important; } - -.border-warning { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important; } - -.border-danger { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important; } - -.border-light { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important; } - -.border-dark { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important; } - -.border-black { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important; } - -.border-white { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important; } - -.border-primary-subtle { - border-color: var(--bs-primary-border-subtle) !important; } - -.border-secondary-subtle { - border-color: var(--bs-secondary-border-subtle) !important; } - -.border-success-subtle { - border-color: var(--bs-success-border-subtle) !important; } - -.border-info-subtle { - border-color: var(--bs-info-border-subtle) !important; } - -.border-warning-subtle { - border-color: var(--bs-warning-border-subtle) !important; } - -.border-danger-subtle { - border-color: var(--bs-danger-border-subtle) !important; } - -.border-light-subtle { - border-color: var(--bs-light-border-subtle) !important; } - -.border-dark-subtle { - border-color: var(--bs-dark-border-subtle) !important; } - -.border-1 { - border-width: 1px !important; } - -.border-2 { - border-width: 2px !important; } - -.border-3 { - border-width: 3px !important; } - -.border-4 { - border-width: 4px !important; } - -.border-5 { - border-width: 5px !important; } - -.border-opacity-10 { - --bs-border-opacity: 0.1; } - -.border-opacity-25 { - --bs-border-opacity: 0.25; } - -.border-opacity-50 { - --bs-border-opacity: 0.5; } - -.border-opacity-75 { - --bs-border-opacity: 0.75; } - -.border-opacity-100 { - --bs-border-opacity: 1; } - -.w-25 { - width: 25% !important; } - -.w-50 { - width: 50% !important; } - -.w-75 { - width: 75% !important; } - -.w-100 { - width: 100% !important; } - -.w-auto { - width: auto !important; } - -.mw-100 { - max-width: 100% !important; } - -.vw-100 { - width: 100vw !important; } - -.min-vw-100 { - min-width: 100vw !important; } - -.h-25 { - height: 25% !important; } - -.h-50 { - height: 50% !important; } - -.h-75 { - height: 75% !important; } - -.h-100 { - height: 100% !important; } - -.h-auto { - height: auto !important; } - -.mh-100 { - max-height: 100% !important; } - -.vh-100 { - height: 100vh !important; } - -.min-vh-100 { - min-height: 100vh !important; } - -.flex-fill { - flex: 1 1 auto !important; } - -.flex-row { - flex-direction: row !important; } - -.flex-column { - flex-direction: column !important; } - -.flex-row-reverse { - flex-direction: row-reverse !important; } - -.flex-column-reverse { - flex-direction: column-reverse !important; } - -.flex-grow-0 { - flex-grow: 0 !important; } - -.flex-grow-1 { - flex-grow: 1 !important; } - -.flex-shrink-0 { - flex-shrink: 0 !important; } - -.flex-shrink-1 { - flex-shrink: 1 !important; } - -.flex-wrap { - flex-wrap: wrap !important; } - -.flex-nowrap { - flex-wrap: nowrap !important; } - -.flex-wrap-reverse { - flex-wrap: wrap-reverse !important; } - -.justify-content-start { - justify-content: flex-start !important; } - -.justify-content-end { - justify-content: flex-end !important; } - -.justify-content-center { - justify-content: center !important; } - -.justify-content-between { - justify-content: space-between !important; } - -.justify-content-around { - justify-content: space-around !important; } - -.justify-content-evenly { - justify-content: space-evenly !important; } - -.align-items-start { - align-items: flex-start !important; } - -.align-items-end { - align-items: flex-end !important; } - -.align-items-center { - align-items: center !important; } - -.align-items-baseline { - align-items: baseline !important; } - -.align-items-stretch { - align-items: stretch !important; } - -.align-content-start { - align-content: flex-start !important; } - -.align-content-end { - align-content: flex-end !important; } - -.align-content-center { - align-content: center !important; } - -.align-content-between { - align-content: space-between !important; } - -.align-content-around { - align-content: space-around !important; } - -.align-content-stretch { - align-content: stretch !important; } - -.align-self-auto { - align-self: auto !important; } - -.align-self-start { - align-self: flex-start !important; } - -.align-self-end { - align-self: flex-end !important; } - -.align-self-center { - align-self: center !important; } - -.align-self-baseline { - align-self: baseline !important; } - -.align-self-stretch { - align-self: stretch !important; } - -.order-first { - order: -1 !important; } - -.order-0 { - order: 0 !important; } - -.order-1 { - order: 1 !important; } - -.order-2 { - order: 2 !important; } - -.order-3 { - order: 3 !important; } - -.order-4 { - order: 4 !important; } - -.order-5 { - order: 5 !important; } - -.order-last { - order: 6 !important; } - -.m-0 { - margin: 0 !important; } - -.m-1 { - margin: 0.25rem !important; } - -.m-2 { - margin: 0.5rem !important; } - -.m-3 { - margin: 1rem !important; } - -.m-4 { - margin: 1.5rem !important; } - -.m-5 { - margin: 3rem !important; } - -.m-auto { - margin: auto !important; } - -.mx-0 { - margin-right: 0 !important; - margin-left: 0 !important; } - -.mx-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; } - -.mx-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; } - -.mx-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; } - -.mx-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; } - -.mx-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; } - -.mx-auto { - margin-right: auto !important; - margin-left: auto !important; } - -.my-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; } - -.my-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; } - -.my-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; } - -.my-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; } - -.my-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; } - -.my-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; } - -.my-auto { - margin-top: auto !important; - margin-bottom: auto !important; } - -.mt-0 { - margin-top: 0 !important; } - -.mt-1 { - margin-top: 0.25rem !important; } - -.mt-2 { - margin-top: 0.5rem !important; } - -.mt-3 { - margin-top: 1rem !important; } - -.mt-4 { - margin-top: 1.5rem !important; } - -.mt-5 { - margin-top: 3rem !important; } - -.mt-auto { - margin-top: auto !important; } - -.me-0 { - margin-right: 0 !important; } - -.me-1 { - margin-right: 0.25rem !important; } - -.me-2 { - margin-right: 0.5rem !important; } - -.me-3 { - margin-right: 1rem !important; } - -.me-4 { - margin-right: 1.5rem !important; } - -.me-5 { - margin-right: 3rem !important; } - -.me-auto { - margin-right: auto !important; } - -.mb-0 { - margin-bottom: 0 !important; } - -.mb-1 { - margin-bottom: 0.25rem !important; } - -.mb-2 { - margin-bottom: 0.5rem !important; } - -.mb-3 { - margin-bottom: 1rem !important; } - -.mb-4 { - margin-bottom: 1.5rem !important; } - -.mb-5 { - margin-bottom: 3rem !important; } - -.mb-auto { - margin-bottom: auto !important; } - -.ms-0 { - margin-left: 0 !important; } - -.ms-1 { - margin-left: 0.25rem !important; } - -.ms-2 { - margin-left: 0.5rem !important; } - -.ms-3 { - margin-left: 1rem !important; } - -.ms-4 { - margin-left: 1.5rem !important; } - -.ms-5 { - margin-left: 3rem !important; } - -.ms-auto { - margin-left: auto !important; } - -.p-0 { - padding: 0 !important; } - -.p-1 { - padding: 0.25rem !important; } - -.p-2 { - padding: 0.5rem !important; } - -.p-3 { - padding: 1rem !important; } - -.p-4 { - padding: 1.5rem !important; } - -.p-5 { - padding: 3rem !important; } - -.px-0 { - padding-right: 0 !important; - padding-left: 0 !important; } - -.px-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; } - -.px-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; } - -.px-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; } - -.px-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; } - -.px-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; } - -.py-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; } - -.py-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; } - -.py-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; } - -.py-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; } - -.py-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; } - -.py-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; } - -.pt-0 { - padding-top: 0 !important; } - -.pt-1 { - padding-top: 0.25rem !important; } - -.pt-2 { - padding-top: 0.5rem !important; } - -.pt-3 { - padding-top: 1rem !important; } - -.pt-4 { - padding-top: 1.5rem !important; } - -.pt-5 { - padding-top: 3rem !important; } - -.pe-0 { - padding-right: 0 !important; } - -.pe-1 { - padding-right: 0.25rem !important; } - -.pe-2 { - padding-right: 0.5rem !important; } - -.pe-3 { - padding-right: 1rem !important; } - -.pe-4 { - padding-right: 1.5rem !important; } - -.pe-5 { - padding-right: 3rem !important; } - -.pb-0 { - padding-bottom: 0 !important; } - -.pb-1 { - padding-bottom: 0.25rem !important; } - -.pb-2 { - padding-bottom: 0.5rem !important; } - -.pb-3 { - padding-bottom: 1rem !important; } - -.pb-4 { - padding-bottom: 1.5rem !important; } - -.pb-5 { - padding-bottom: 3rem !important; } - -.ps-0 { - padding-left: 0 !important; } - -.ps-1 { - padding-left: 0.25rem !important; } - -.ps-2 { - padding-left: 0.5rem !important; } - -.ps-3 { - padding-left: 1rem !important; } - -.ps-4 { - padding-left: 1.5rem !important; } - -.ps-5 { - padding-left: 3rem !important; } - -.gap-0 { - gap: 0 !important; } - -.gap-1 { - gap: 0.25rem !important; } - -.gap-2 { - gap: 0.5rem !important; } - -.gap-3 { - gap: 1rem !important; } - -.gap-4 { - gap: 1.5rem !important; } - -.gap-5 { - gap: 3rem !important; } - -.row-gap-0 { - row-gap: 0 !important; } - -.row-gap-1 { - row-gap: 0.25rem !important; } - -.row-gap-2 { - row-gap: 0.5rem !important; } - -.row-gap-3 { - row-gap: 1rem !important; } - -.row-gap-4 { - row-gap: 1.5rem !important; } - -.row-gap-5 { - row-gap: 3rem !important; } - -.column-gap-0 { - column-gap: 0 !important; } - -.column-gap-1 { - column-gap: 0.25rem !important; } - -.column-gap-2 { - column-gap: 0.5rem !important; } - -.column-gap-3 { - column-gap: 1rem !important; } - -.column-gap-4 { - column-gap: 1.5rem !important; } - -.column-gap-5 { - column-gap: 3rem !important; } - -.font-monospace { - font-family: var(--bs-font-monospace) !important; } - -.fs-1 { - font-size: calc(1.375rem + 1.5vw) !important; } - -.fs-2 { - font-size: calc(1.325rem + 0.9vw) !important; } - -.fs-3 { - font-size: calc(1.275rem + 0.3vw) !important; } - -.fs-4 { - font-size: calc(1.26rem + 0.12vw) !important; } - -.fs-5 { - font-size: 1.15rem !important; } - -.fs-6 { - font-size: 1rem !important; } - -.fst-italic { - font-style: italic !important; } - -.fst-normal { - font-style: normal !important; } - -.fw-lighter { - font-weight: lighter !important; } - -.fw-light { - font-weight: 300 !important; } - -.fw-normal { - font-weight: 400 !important; } - -.fw-medium { - font-weight: 500 !important; } - -.fw-semibold { - font-weight: 600 !important; } - -.fw-bold { - font-weight: 700 !important; } - -.fw-bolder { - font-weight: bolder !important; } - -.lh-1 { - line-height: 1 !important; } - -.lh-sm { - line-height: 1.25 !important; } - -.lh-base { - line-height: 1.5 !important; } - -.lh-lg { - line-height: 2 !important; } - -.text-start { - text-align: left !important; } - -.text-end { - text-align: right !important; } - -.text-center { - text-align: center !important; } - -.text-decoration-none { - text-decoration: none !important; } - -.text-decoration-underline { - text-decoration: underline !important; } - -.text-decoration-line-through { - text-decoration: line-through !important; } - -.text-lowercase { - text-transform: lowercase !important; } - -.text-uppercase { - text-transform: uppercase !important; } - -.text-capitalize { - text-transform: capitalize !important; } - -.text-wrap { - white-space: normal !important; } - -.text-nowrap { - white-space: nowrap !important; } - -/* rtl:begin:remove */ -.text-break { - word-wrap: break-word !important; - word-break: break-word !important; } - -/* rtl:end:remove */ -.text-primary { - --bs-text-opacity: 1; - color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important; } - -.text-secondary { - --bs-text-opacity: 1; - color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important; } - -.text-success { - --bs-text-opacity: 1; - color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important; } - -.text-info { - --bs-text-opacity: 1; - color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important; } - -.text-warning { - --bs-text-opacity: 1; - color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important; } - -.text-danger { - --bs-text-opacity: 1; - color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important; } - -.text-light { - --bs-text-opacity: 1; - color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important; } - -.text-dark { - --bs-text-opacity: 1; - color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important; } - -.text-black { - --bs-text-opacity: 1; - color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important; } - -.text-white { - --bs-text-opacity: 1; - color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; } - -.text-body { - --bs-text-opacity: 1; - color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important; } - -.text-muted { - --bs-text-opacity: 1; - color: var(--bs-secondary-color) !important; } - -.text-black-50 { - --bs-text-opacity: 1; - color: rgba(0, 0, 0, 0.5) !important; } - -.text-white-50 { - --bs-text-opacity: 1; - color: rgba(255, 255, 255, 0.5) !important; } - -.text-body-secondary, .td-page-meta__lastmod { - --bs-text-opacity: 1; - color: var(--bs-secondary-color) !important; } - -.text-body-tertiary { - --bs-text-opacity: 1; - color: var(--bs-tertiary-color) !important; } - -.text-body-emphasis { - --bs-text-opacity: 1; - color: var(--bs-emphasis-color) !important; } - -.text-reset { - --bs-text-opacity: 1; - color: inherit !important; } - -.text-opacity-25 { - --bs-text-opacity: 0.25; } - -.text-opacity-50 { - --bs-text-opacity: 0.5; } - -.text-opacity-75 { - --bs-text-opacity: 0.75; } - -.text-opacity-100 { - --bs-text-opacity: 1; } - -.text-primary-emphasis { - color: var(--bs-primary-text-emphasis) !important; } - -.text-secondary-emphasis { - color: var(--bs-secondary-text-emphasis) !important; } - -.text-success-emphasis { - color: var(--bs-success-text-emphasis) !important; } - -.text-info-emphasis { - color: var(--bs-info-text-emphasis) !important; } - -.text-warning-emphasis { - color: var(--bs-warning-text-emphasis) !important; } - -.text-danger-emphasis { - color: var(--bs-danger-text-emphasis) !important; } - -.text-light-emphasis { - color: var(--bs-light-text-emphasis) !important; } - -.text-dark-emphasis { - color: var(--bs-dark-text-emphasis) !important; } - -.link-opacity-10 { - --bs-link-opacity: 0.1; } - -.link-opacity-10-hover:hover { - --bs-link-opacity: 0.1; } - -.link-opacity-25 { - --bs-link-opacity: 0.25; } - -.link-opacity-25-hover:hover { - --bs-link-opacity: 0.25; } - -.link-opacity-50 { - --bs-link-opacity: 0.5; } - -.link-opacity-50-hover:hover { - --bs-link-opacity: 0.5; } - -.link-opacity-75 { - --bs-link-opacity: 0.75; } - -.link-opacity-75-hover:hover { - --bs-link-opacity: 0.75; } - -.link-opacity-100 { - --bs-link-opacity: 1; } - -.link-opacity-100-hover:hover { - --bs-link-opacity: 1; } - -.link-offset-1 { - text-underline-offset: 0.125em !important; } - -.link-offset-1-hover:hover { - text-underline-offset: 0.125em !important; } - -.link-offset-2 { - text-underline-offset: 0.25em !important; } - -.link-offset-2-hover:hover { - text-underline-offset: 0.25em !important; } - -.link-offset-3 { - text-underline-offset: 0.375em !important; } - -.link-offset-3-hover:hover { - text-underline-offset: 0.375em !important; } - -.link-underline-primary { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline-secondary { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline-success { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline-info { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline-warning { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline-danger { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline-light { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline-dark { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important; } - -.link-underline-opacity-0 { - --bs-link-underline-opacity: 0; } - -.link-underline-opacity-0-hover:hover { - --bs-link-underline-opacity: 0; } - -.link-underline-opacity-10 { - --bs-link-underline-opacity: 0.1; } - -.link-underline-opacity-10-hover:hover { - --bs-link-underline-opacity: 0.1; } - -.link-underline-opacity-25 { - --bs-link-underline-opacity: 0.25; } - -.link-underline-opacity-25-hover:hover { - --bs-link-underline-opacity: 0.25; } - -.link-underline-opacity-50 { - --bs-link-underline-opacity: 0.5; } - -.link-underline-opacity-50-hover:hover { - --bs-link-underline-opacity: 0.5; } - -.link-underline-opacity-75 { - --bs-link-underline-opacity: 0.75; } - -.link-underline-opacity-75-hover:hover { - --bs-link-underline-opacity: 0.75; } - -.link-underline-opacity-100 { - --bs-link-underline-opacity: 1; } - -.link-underline-opacity-100-hover:hover { - --bs-link-underline-opacity: 1; } - -.bg-primary { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important; } - -.bg-secondary { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important; } - -.bg-success { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important; } - -.bg-info { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important; } - -.bg-warning { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important; } - -.bg-danger { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important; } - -.bg-light { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important; } - -.bg-dark { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important; } - -.bg-black { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important; } - -.bg-white { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important; } - -.bg-body { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important; } - -.bg-transparent { - --bs-bg-opacity: 1; - background-color: transparent !important; } - -.bg-body-secondary { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important; } - -.bg-body-tertiary { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important; } - -.bg-opacity-10 { - --bs-bg-opacity: 0.1; } - -.bg-opacity-25 { - --bs-bg-opacity: 0.25; } - -.bg-opacity-50 { - --bs-bg-opacity: 0.5; } - -.bg-opacity-75 { - --bs-bg-opacity: 0.75; } - -.bg-opacity-100 { - --bs-bg-opacity: 1; } - -.bg-primary-subtle { - background-color: var(--bs-primary-bg-subtle) !important; } - -.bg-secondary-subtle { - background-color: var(--bs-secondary-bg-subtle) !important; } - -.bg-success-subtle { - background-color: var(--bs-success-bg-subtle) !important; } - -.bg-info-subtle { - background-color: var(--bs-info-bg-subtle) !important; } - -.bg-warning-subtle { - background-color: var(--bs-warning-bg-subtle) !important; } - -.bg-danger-subtle { - background-color: var(--bs-danger-bg-subtle) !important; } - -.bg-light-subtle { - background-color: var(--bs-light-bg-subtle) !important; } - -.bg-dark-subtle { - background-color: var(--bs-dark-bg-subtle) !important; } - -.bg-gradient { - background-image: var(--bs-gradient) !important; } - -.user-select-all { - user-select: all !important; } - -.user-select-auto { - user-select: auto !important; } - -.user-select-none { - user-select: none !important; } - -.pe-none { - pointer-events: none !important; } - -.pe-auto { - pointer-events: auto !important; } - -.rounded { - border-radius: var(--bs-border-radius) !important; } - -.rounded-0 { - border-radius: 0 !important; } - -.rounded-1 { - border-radius: var(--bs-border-radius-sm) !important; } - -.rounded-2 { - border-radius: var(--bs-border-radius) !important; } - -.rounded-3 { - border-radius: var(--bs-border-radius-lg) !important; } - -.rounded-4 { - border-radius: var(--bs-border-radius-xl) !important; } - -.rounded-5 { - border-radius: var(--bs-border-radius-xxl) !important; } - -.rounded-circle { - border-radius: 50% !important; } - -.rounded-pill { - border-radius: var(--bs-border-radius-pill) !important; } - -.rounded-top { - border-top-left-radius: var(--bs-border-radius) !important; - border-top-right-radius: var(--bs-border-radius) !important; } - -.rounded-top-0 { - border-top-left-radius: 0 !important; - border-top-right-radius: 0 !important; } - -.rounded-top-1 { - border-top-left-radius: var(--bs-border-radius-sm) !important; - border-top-right-radius: var(--bs-border-radius-sm) !important; } - -.rounded-top-2 { - border-top-left-radius: var(--bs-border-radius) !important; - border-top-right-radius: var(--bs-border-radius) !important; } - -.rounded-top-3 { - border-top-left-radius: var(--bs-border-radius-lg) !important; - border-top-right-radius: var(--bs-border-radius-lg) !important; } - -.rounded-top-4 { - border-top-left-radius: var(--bs-border-radius-xl) !important; - border-top-right-radius: var(--bs-border-radius-xl) !important; } - -.rounded-top-5 { - border-top-left-radius: var(--bs-border-radius-xxl) !important; - border-top-right-radius: var(--bs-border-radius-xxl) !important; } - -.rounded-top-circle { - border-top-left-radius: 50% !important; - border-top-right-radius: 50% !important; } - -.rounded-top-pill { - border-top-left-radius: var(--bs-border-radius-pill) !important; - border-top-right-radius: var(--bs-border-radius-pill) !important; } - -.rounded-end { - border-top-right-radius: var(--bs-border-radius) !important; - border-bottom-right-radius: var(--bs-border-radius) !important; } - -.rounded-end-0 { - border-top-right-radius: 0 !important; - border-bottom-right-radius: 0 !important; } - -.rounded-end-1 { - border-top-right-radius: var(--bs-border-radius-sm) !important; - border-bottom-right-radius: var(--bs-border-radius-sm) !important; } - -.rounded-end-2 { - border-top-right-radius: var(--bs-border-radius) !important; - border-bottom-right-radius: var(--bs-border-radius) !important; } - -.rounded-end-3 { - border-top-right-radius: var(--bs-border-radius-lg) !important; - border-bottom-right-radius: var(--bs-border-radius-lg) !important; } - -.rounded-end-4 { - border-top-right-radius: var(--bs-border-radius-xl) !important; - border-bottom-right-radius: var(--bs-border-radius-xl) !important; } - -.rounded-end-5 { - border-top-right-radius: var(--bs-border-radius-xxl) !important; - border-bottom-right-radius: var(--bs-border-radius-xxl) !important; } - -.rounded-end-circle { - border-top-right-radius: 50% !important; - border-bottom-right-radius: 50% !important; } - -.rounded-end-pill { - border-top-right-radius: var(--bs-border-radius-pill) !important; - border-bottom-right-radius: var(--bs-border-radius-pill) !important; } - -.rounded-bottom { - border-bottom-right-radius: var(--bs-border-radius) !important; - border-bottom-left-radius: var(--bs-border-radius) !important; } - -.rounded-bottom-0 { - border-bottom-right-radius: 0 !important; - border-bottom-left-radius: 0 !important; } - -.rounded-bottom-1 { - border-bottom-right-radius: var(--bs-border-radius-sm) !important; - border-bottom-left-radius: var(--bs-border-radius-sm) !important; } - -.rounded-bottom-2 { - border-bottom-right-radius: var(--bs-border-radius) !important; - border-bottom-left-radius: var(--bs-border-radius) !important; } - -.rounded-bottom-3 { - border-bottom-right-radius: var(--bs-border-radius-lg) !important; - border-bottom-left-radius: var(--bs-border-radius-lg) !important; } - -.rounded-bottom-4 { - border-bottom-right-radius: var(--bs-border-radius-xl) !important; - border-bottom-left-radius: var(--bs-border-radius-xl) !important; } - -.rounded-bottom-5 { - border-bottom-right-radius: var(--bs-border-radius-xxl) !important; - border-bottom-left-radius: var(--bs-border-radius-xxl) !important; } - -.rounded-bottom-circle { - border-bottom-right-radius: 50% !important; - border-bottom-left-radius: 50% !important; } - -.rounded-bottom-pill { - border-bottom-right-radius: var(--bs-border-radius-pill) !important; - border-bottom-left-radius: var(--bs-border-radius-pill) !important; } - -.rounded-start { - border-bottom-left-radius: var(--bs-border-radius) !important; - border-top-left-radius: var(--bs-border-radius) !important; } - -.rounded-start-0 { - border-bottom-left-radius: 0 !important; - border-top-left-radius: 0 !important; } - -.rounded-start-1 { - border-bottom-left-radius: var(--bs-border-radius-sm) !important; - border-top-left-radius: var(--bs-border-radius-sm) !important; } - -.rounded-start-2 { - border-bottom-left-radius: var(--bs-border-radius) !important; - border-top-left-radius: var(--bs-border-radius) !important; } - -.rounded-start-3 { - border-bottom-left-radius: var(--bs-border-radius-lg) !important; - border-top-left-radius: var(--bs-border-radius-lg) !important; } - -.rounded-start-4 { - border-bottom-left-radius: var(--bs-border-radius-xl) !important; - border-top-left-radius: var(--bs-border-radius-xl) !important; } - -.rounded-start-5 { - border-bottom-left-radius: var(--bs-border-radius-xxl) !important; - border-top-left-radius: var(--bs-border-radius-xxl) !important; } - -.rounded-start-circle { - border-bottom-left-radius: 50% !important; - border-top-left-radius: 50% !important; } - -.rounded-start-pill { - border-bottom-left-radius: var(--bs-border-radius-pill) !important; - border-top-left-radius: var(--bs-border-radius-pill) !important; } - -.visible { - visibility: visible !important; } - -.invisible { - visibility: hidden !important; } - -.z-n1 { - z-index: -1 !important; } - -.z-0 { - z-index: 0 !important; } - -.z-1 { - z-index: 1 !important; } - -.z-2 { - z-index: 2 !important; } - -.z-3 { - z-index: 3 !important; } - -@media (min-width: 576px) { - .float-sm-start { - float: left !important; } - .float-sm-end { - float: right !important; } - .float-sm-none { - float: none !important; } - .object-fit-sm-contain { - object-fit: contain !important; } - .object-fit-sm-cover { - object-fit: cover !important; } - .object-fit-sm-fill { - object-fit: fill !important; } - .object-fit-sm-scale { - object-fit: scale-down !important; } - .object-fit-sm-none { - object-fit: none !important; } - .d-sm-inline { - display: inline !important; } - .d-sm-inline-block { - display: inline-block !important; } - .d-sm-block { - display: block !important; } - .d-sm-grid { - display: grid !important; } - .d-sm-inline-grid { - display: inline-grid !important; } - .d-sm-table { - display: table !important; } - .d-sm-table-row { - display: table-row !important; } - .d-sm-table-cell { - display: table-cell !important; } - .d-sm-flex { - display: flex !important; } - .d-sm-inline-flex { - display: inline-flex !important; } - .d-sm-none { - display: none !important; } - .flex-sm-fill { - flex: 1 1 auto !important; } - .flex-sm-row { - flex-direction: row !important; } - .flex-sm-column { - flex-direction: column !important; } - .flex-sm-row-reverse { - flex-direction: row-reverse !important; } - .flex-sm-column-reverse { - flex-direction: column-reverse !important; } - .flex-sm-grow-0 { - flex-grow: 0 !important; } - .flex-sm-grow-1 { - flex-grow: 1 !important; } - .flex-sm-shrink-0 { - flex-shrink: 0 !important; } - .flex-sm-shrink-1 { - flex-shrink: 1 !important; } - .flex-sm-wrap { - flex-wrap: wrap !important; } - .flex-sm-nowrap { - flex-wrap: nowrap !important; } - .flex-sm-wrap-reverse { - flex-wrap: wrap-reverse !important; } - .justify-content-sm-start { - justify-content: flex-start !important; } - .justify-content-sm-end { - justify-content: flex-end !important; } - .justify-content-sm-center { - justify-content: center !important; } - .justify-content-sm-between { - justify-content: space-between !important; } - .justify-content-sm-around { - justify-content: space-around !important; } - .justify-content-sm-evenly { - justify-content: space-evenly !important; } - .align-items-sm-start { - align-items: flex-start !important; } - .align-items-sm-end { - align-items: flex-end !important; } - .align-items-sm-center { - align-items: center !important; } - .align-items-sm-baseline { - align-items: baseline !important; } - .align-items-sm-stretch { - align-items: stretch !important; } - .align-content-sm-start { - align-content: flex-start !important; } - .align-content-sm-end { - align-content: flex-end !important; } - .align-content-sm-center { - align-content: center !important; } - .align-content-sm-between { - align-content: space-between !important; } - .align-content-sm-around { - align-content: space-around !important; } - .align-content-sm-stretch { - align-content: stretch !important; } - .align-self-sm-auto { - align-self: auto !important; } - .align-self-sm-start { - align-self: flex-start !important; } - .align-self-sm-end { - align-self: flex-end !important; } - .align-self-sm-center { - align-self: center !important; } - .align-self-sm-baseline { - align-self: baseline !important; } - .align-self-sm-stretch { - align-self: stretch !important; } - .order-sm-first { - order: -1 !important; } - .order-sm-0 { - order: 0 !important; } - .order-sm-1 { - order: 1 !important; } - .order-sm-2 { - order: 2 !important; } - .order-sm-3 { - order: 3 !important; } - .order-sm-4 { - order: 4 !important; } - .order-sm-5 { - order: 5 !important; } - .order-sm-last { - order: 6 !important; } - .m-sm-0 { - margin: 0 !important; } - .m-sm-1 { - margin: 0.25rem !important; } - .m-sm-2 { - margin: 0.5rem !important; } - .m-sm-3 { - margin: 1rem !important; } - .m-sm-4 { - margin: 1.5rem !important; } - .m-sm-5 { - margin: 3rem !important; } - .m-sm-auto { - margin: auto !important; } - .mx-sm-0 { - margin-right: 0 !important; - margin-left: 0 !important; } - .mx-sm-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; } - .mx-sm-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; } - .mx-sm-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; } - .mx-sm-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; } - .mx-sm-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; } - .mx-sm-auto { - margin-right: auto !important; - margin-left: auto !important; } - .my-sm-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; } - .my-sm-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; } - .my-sm-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; } - .my-sm-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; } - .my-sm-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; } - .my-sm-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; } - .my-sm-auto { - margin-top: auto !important; - margin-bottom: auto !important; } - .mt-sm-0 { - margin-top: 0 !important; } - .mt-sm-1 { - margin-top: 0.25rem !important; } - .mt-sm-2 { - margin-top: 0.5rem !important; } - .mt-sm-3 { - margin-top: 1rem !important; } - .mt-sm-4 { - margin-top: 1.5rem !important; } - .mt-sm-5 { - margin-top: 3rem !important; } - .mt-sm-auto { - margin-top: auto !important; } - .me-sm-0 { - margin-right: 0 !important; } - .me-sm-1 { - margin-right: 0.25rem !important; } - .me-sm-2 { - margin-right: 0.5rem !important; } - .me-sm-3 { - margin-right: 1rem !important; } - .me-sm-4 { - margin-right: 1.5rem !important; } - .me-sm-5 { - margin-right: 3rem !important; } - .me-sm-auto { - margin-right: auto !important; } - .mb-sm-0 { - margin-bottom: 0 !important; } - .mb-sm-1 { - margin-bottom: 0.25rem !important; } - .mb-sm-2 { - margin-bottom: 0.5rem !important; } - .mb-sm-3 { - margin-bottom: 1rem !important; } - .mb-sm-4 { - margin-bottom: 1.5rem !important; } - .mb-sm-5 { - margin-bottom: 3rem !important; } - .mb-sm-auto { - margin-bottom: auto !important; } - .ms-sm-0 { - margin-left: 0 !important; } - .ms-sm-1 { - margin-left: 0.25rem !important; } - .ms-sm-2 { - margin-left: 0.5rem !important; } - .ms-sm-3 { - margin-left: 1rem !important; } - .ms-sm-4 { - margin-left: 1.5rem !important; } - .ms-sm-5 { - margin-left: 3rem !important; } - .ms-sm-auto { - margin-left: auto !important; } - .p-sm-0 { - padding: 0 !important; } - .p-sm-1 { - padding: 0.25rem !important; } - .p-sm-2 { - padding: 0.5rem !important; } - .p-sm-3 { - padding: 1rem !important; } - .p-sm-4 { - padding: 1.5rem !important; } - .p-sm-5 { - padding: 3rem !important; } - .px-sm-0 { - padding-right: 0 !important; - padding-left: 0 !important; } - .px-sm-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; } - .px-sm-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; } - .px-sm-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; } - .px-sm-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; } - .px-sm-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; } - .py-sm-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; } - .py-sm-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; } - .py-sm-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; } - .py-sm-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; } - .py-sm-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; } - .py-sm-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; } - .pt-sm-0 { - padding-top: 0 !important; } - .pt-sm-1 { - padding-top: 0.25rem !important; } - .pt-sm-2 { - padding-top: 0.5rem !important; } - .pt-sm-3 { - padding-top: 1rem !important; } - .pt-sm-4 { - padding-top: 1.5rem !important; } - .pt-sm-5 { - padding-top: 3rem !important; } - .pe-sm-0 { - padding-right: 0 !important; } - .pe-sm-1 { - padding-right: 0.25rem !important; } - .pe-sm-2 { - padding-right: 0.5rem !important; } - .pe-sm-3 { - padding-right: 1rem !important; } - .pe-sm-4 { - padding-right: 1.5rem !important; } - .pe-sm-5 { - padding-right: 3rem !important; } - .pb-sm-0 { - padding-bottom: 0 !important; } - .pb-sm-1 { - padding-bottom: 0.25rem !important; } - .pb-sm-2 { - padding-bottom: 0.5rem !important; } - .pb-sm-3 { - padding-bottom: 1rem !important; } - .pb-sm-4 { - padding-bottom: 1.5rem !important; } - .pb-sm-5 { - padding-bottom: 3rem !important; } - .ps-sm-0 { - padding-left: 0 !important; } - .ps-sm-1 { - padding-left: 0.25rem !important; } - .ps-sm-2 { - padding-left: 0.5rem !important; } - .ps-sm-3 { - padding-left: 1rem !important; } - .ps-sm-4 { - padding-left: 1.5rem !important; } - .ps-sm-5 { - padding-left: 3rem !important; } - .gap-sm-0 { - gap: 0 !important; } - .gap-sm-1 { - gap: 0.25rem !important; } - .gap-sm-2 { - gap: 0.5rem !important; } - .gap-sm-3 { - gap: 1rem !important; } - .gap-sm-4 { - gap: 1.5rem !important; } - .gap-sm-5 { - gap: 3rem !important; } - .row-gap-sm-0 { - row-gap: 0 !important; } - .row-gap-sm-1 { - row-gap: 0.25rem !important; } - .row-gap-sm-2 { - row-gap: 0.5rem !important; } - .row-gap-sm-3 { - row-gap: 1rem !important; } - .row-gap-sm-4 { - row-gap: 1.5rem !important; } - .row-gap-sm-5 { - row-gap: 3rem !important; } - .column-gap-sm-0 { - column-gap: 0 !important; } - .column-gap-sm-1 { - column-gap: 0.25rem !important; } - .column-gap-sm-2 { - column-gap: 0.5rem !important; } - .column-gap-sm-3 { - column-gap: 1rem !important; } - .column-gap-sm-4 { - column-gap: 1.5rem !important; } - .column-gap-sm-5 { - column-gap: 3rem !important; } - .text-sm-start { - text-align: left !important; } - .text-sm-end { - text-align: right !important; } - .text-sm-center { - text-align: center !important; } } - -@media (min-width: 768px) { - .float-md-start { - float: left !important; } - .float-md-end { - float: right !important; } - .float-md-none { - float: none !important; } - .object-fit-md-contain { - object-fit: contain !important; } - .object-fit-md-cover { - object-fit: cover !important; } - .object-fit-md-fill { - object-fit: fill !important; } - .object-fit-md-scale { - object-fit: scale-down !important; } - .object-fit-md-none { - object-fit: none !important; } - .d-md-inline { - display: inline !important; } - .d-md-inline-block { - display: inline-block !important; } - .d-md-block { - display: block !important; } - .d-md-grid { - display: grid !important; } - .d-md-inline-grid { - display: inline-grid !important; } - .d-md-table { - display: table !important; } - .d-md-table-row { - display: table-row !important; } - .d-md-table-cell { - display: table-cell !important; } - .d-md-flex { - display: flex !important; } - .d-md-inline-flex { - display: inline-flex !important; } - .d-md-none { - display: none !important; } - .flex-md-fill { - flex: 1 1 auto !important; } - .flex-md-row { - flex-direction: row !important; } - .flex-md-column { - flex-direction: column !important; } - .flex-md-row-reverse { - flex-direction: row-reverse !important; } - .flex-md-column-reverse { - flex-direction: column-reverse !important; } - .flex-md-grow-0 { - flex-grow: 0 !important; } - .flex-md-grow-1 { - flex-grow: 1 !important; } - .flex-md-shrink-0 { - flex-shrink: 0 !important; } - .flex-md-shrink-1 { - flex-shrink: 1 !important; } - .flex-md-wrap { - flex-wrap: wrap !important; } - .flex-md-nowrap { - flex-wrap: nowrap !important; } - .flex-md-wrap-reverse { - flex-wrap: wrap-reverse !important; } - .justify-content-md-start { - justify-content: flex-start !important; } - .justify-content-md-end { - justify-content: flex-end !important; } - .justify-content-md-center { - justify-content: center !important; } - .justify-content-md-between { - justify-content: space-between !important; } - .justify-content-md-around { - justify-content: space-around !important; } - .justify-content-md-evenly { - justify-content: space-evenly !important; } - .align-items-md-start { - align-items: flex-start !important; } - .align-items-md-end { - align-items: flex-end !important; } - .align-items-md-center { - align-items: center !important; } - .align-items-md-baseline { - align-items: baseline !important; } - .align-items-md-stretch { - align-items: stretch !important; } - .align-content-md-start { - align-content: flex-start !important; } - .align-content-md-end { - align-content: flex-end !important; } - .align-content-md-center { - align-content: center !important; } - .align-content-md-between { - align-content: space-between !important; } - .align-content-md-around { - align-content: space-around !important; } - .align-content-md-stretch { - align-content: stretch !important; } - .align-self-md-auto { - align-self: auto !important; } - .align-self-md-start { - align-self: flex-start !important; } - .align-self-md-end { - align-self: flex-end !important; } - .align-self-md-center { - align-self: center !important; } - .align-self-md-baseline { - align-self: baseline !important; } - .align-self-md-stretch { - align-self: stretch !important; } - .order-md-first { - order: -1 !important; } - .order-md-0 { - order: 0 !important; } - .order-md-1 { - order: 1 !important; } - .order-md-2 { - order: 2 !important; } - .order-md-3 { - order: 3 !important; } - .order-md-4 { - order: 4 !important; } - .order-md-5 { - order: 5 !important; } - .order-md-last { - order: 6 !important; } - .m-md-0 { - margin: 0 !important; } - .m-md-1 { - margin: 0.25rem !important; } - .m-md-2 { - margin: 0.5rem !important; } - .m-md-3 { - margin: 1rem !important; } - .m-md-4 { - margin: 1.5rem !important; } - .m-md-5 { - margin: 3rem !important; } - .m-md-auto { - margin: auto !important; } - .mx-md-0 { - margin-right: 0 !important; - margin-left: 0 !important; } - .mx-md-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; } - .mx-md-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; } - .mx-md-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; } - .mx-md-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; } - .mx-md-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; } - .mx-md-auto { - margin-right: auto !important; - margin-left: auto !important; } - .my-md-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; } - .my-md-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; } - .my-md-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; } - .my-md-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; } - .my-md-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; } - .my-md-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; } - .my-md-auto { - margin-top: auto !important; - margin-bottom: auto !important; } - .mt-md-0 { - margin-top: 0 !important; } - .mt-md-1 { - margin-top: 0.25rem !important; } - .mt-md-2 { - margin-top: 0.5rem !important; } - .mt-md-3 { - margin-top: 1rem !important; } - .mt-md-4 { - margin-top: 1.5rem !important; } - .mt-md-5 { - margin-top: 3rem !important; } - .mt-md-auto { - margin-top: auto !important; } - .me-md-0 { - margin-right: 0 !important; } - .me-md-1 { - margin-right: 0.25rem !important; } - .me-md-2 { - margin-right: 0.5rem !important; } - .me-md-3 { - margin-right: 1rem !important; } - .me-md-4 { - margin-right: 1.5rem !important; } - .me-md-5 { - margin-right: 3rem !important; } - .me-md-auto { - margin-right: auto !important; } - .mb-md-0 { - margin-bottom: 0 !important; } - .mb-md-1 { - margin-bottom: 0.25rem !important; } - .mb-md-2 { - margin-bottom: 0.5rem !important; } - .mb-md-3 { - margin-bottom: 1rem !important; } - .mb-md-4 { - margin-bottom: 1.5rem !important; } - .mb-md-5 { - margin-bottom: 3rem !important; } - .mb-md-auto { - margin-bottom: auto !important; } - .ms-md-0 { - margin-left: 0 !important; } - .ms-md-1 { - margin-left: 0.25rem !important; } - .ms-md-2 { - margin-left: 0.5rem !important; } - .ms-md-3 { - margin-left: 1rem !important; } - .ms-md-4 { - margin-left: 1.5rem !important; } - .ms-md-5 { - margin-left: 3rem !important; } - .ms-md-auto { - margin-left: auto !important; } - .p-md-0 { - padding: 0 !important; } - .p-md-1 { - padding: 0.25rem !important; } - .p-md-2 { - padding: 0.5rem !important; } - .p-md-3 { - padding: 1rem !important; } - .p-md-4 { - padding: 1.5rem !important; } - .p-md-5 { - padding: 3rem !important; } - .px-md-0 { - padding-right: 0 !important; - padding-left: 0 !important; } - .px-md-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; } - .px-md-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; } - .px-md-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; } - .px-md-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; } - .px-md-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; } - .py-md-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; } - .py-md-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; } - .py-md-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; } - .py-md-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; } - .py-md-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; } - .py-md-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; } - .pt-md-0 { - padding-top: 0 !important; } - .pt-md-1 { - padding-top: 0.25rem !important; } - .pt-md-2 { - padding-top: 0.5rem !important; } - .pt-md-3 { - padding-top: 1rem !important; } - .pt-md-4 { - padding-top: 1.5rem !important; } - .pt-md-5 { - padding-top: 3rem !important; } - .pe-md-0 { - padding-right: 0 !important; } - .pe-md-1 { - padding-right: 0.25rem !important; } - .pe-md-2 { - padding-right: 0.5rem !important; } - .pe-md-3 { - padding-right: 1rem !important; } - .pe-md-4 { - padding-right: 1.5rem !important; } - .pe-md-5 { - padding-right: 3rem !important; } - .pb-md-0 { - padding-bottom: 0 !important; } - .pb-md-1 { - padding-bottom: 0.25rem !important; } - .pb-md-2 { - padding-bottom: 0.5rem !important; } - .pb-md-3 { - padding-bottom: 1rem !important; } - .pb-md-4 { - padding-bottom: 1.5rem !important; } - .pb-md-5 { - padding-bottom: 3rem !important; } - .ps-md-0 { - padding-left: 0 !important; } - .ps-md-1 { - padding-left: 0.25rem !important; } - .ps-md-2 { - padding-left: 0.5rem !important; } - .ps-md-3 { - padding-left: 1rem !important; } - .ps-md-4 { - padding-left: 1.5rem !important; } - .ps-md-5 { - padding-left: 3rem !important; } - .gap-md-0 { - gap: 0 !important; } - .gap-md-1 { - gap: 0.25rem !important; } - .gap-md-2 { - gap: 0.5rem !important; } - .gap-md-3 { - gap: 1rem !important; } - .gap-md-4 { - gap: 1.5rem !important; } - .gap-md-5 { - gap: 3rem !important; } - .row-gap-md-0 { - row-gap: 0 !important; } - .row-gap-md-1 { - row-gap: 0.25rem !important; } - .row-gap-md-2 { - row-gap: 0.5rem !important; } - .row-gap-md-3 { - row-gap: 1rem !important; } - .row-gap-md-4 { - row-gap: 1.5rem !important; } - .row-gap-md-5 { - row-gap: 3rem !important; } - .column-gap-md-0 { - column-gap: 0 !important; } - .column-gap-md-1 { - column-gap: 0.25rem !important; } - .column-gap-md-2 { - column-gap: 0.5rem !important; } - .column-gap-md-3 { - column-gap: 1rem !important; } - .column-gap-md-4 { - column-gap: 1.5rem !important; } - .column-gap-md-5 { - column-gap: 3rem !important; } - .text-md-start { - text-align: left !important; } - .text-md-end { - text-align: right !important; } - .text-md-center { - text-align: center !important; } } - -@media (min-width: 992px) { - .float-lg-start { - float: left !important; } - .float-lg-end { - float: right !important; } - .float-lg-none { - float: none !important; } - .object-fit-lg-contain { - object-fit: contain !important; } - .object-fit-lg-cover { - object-fit: cover !important; } - .object-fit-lg-fill { - object-fit: fill !important; } - .object-fit-lg-scale { - object-fit: scale-down !important; } - .object-fit-lg-none { - object-fit: none !important; } - .d-lg-inline { - display: inline !important; } - .d-lg-inline-block { - display: inline-block !important; } - .d-lg-block, .td-blog .td-rss-button { - display: block !important; } - .d-lg-grid { - display: grid !important; } - .d-lg-inline-grid { - display: inline-grid !important; } - .d-lg-table { - display: table !important; } - .d-lg-table-row { - display: table-row !important; } - .d-lg-table-cell { - display: table-cell !important; } - .d-lg-flex { - display: flex !important; } - .d-lg-inline-flex { - display: inline-flex !important; } - .d-lg-none { - display: none !important; } - .flex-lg-fill { - flex: 1 1 auto !important; } - .flex-lg-row { - flex-direction: row !important; } - .flex-lg-column { - flex-direction: column !important; } - .flex-lg-row-reverse { - flex-direction: row-reverse !important; } - .flex-lg-column-reverse { - flex-direction: column-reverse !important; } - .flex-lg-grow-0 { - flex-grow: 0 !important; } - .flex-lg-grow-1 { - flex-grow: 1 !important; } - .flex-lg-shrink-0 { - flex-shrink: 0 !important; } - .flex-lg-shrink-1 { - flex-shrink: 1 !important; } - .flex-lg-wrap { - flex-wrap: wrap !important; } - .flex-lg-nowrap { - flex-wrap: nowrap !important; } - .flex-lg-wrap-reverse { - flex-wrap: wrap-reverse !important; } - .justify-content-lg-start { - justify-content: flex-start !important; } - .justify-content-lg-end { - justify-content: flex-end !important; } - .justify-content-lg-center { - justify-content: center !important; } - .justify-content-lg-between { - justify-content: space-between !important; } - .justify-content-lg-around { - justify-content: space-around !important; } - .justify-content-lg-evenly { - justify-content: space-evenly !important; } - .align-items-lg-start { - align-items: flex-start !important; } - .align-items-lg-end { - align-items: flex-end !important; } - .align-items-lg-center { - align-items: center !important; } - .align-items-lg-baseline { - align-items: baseline !important; } - .align-items-lg-stretch { - align-items: stretch !important; } - .align-content-lg-start { - align-content: flex-start !important; } - .align-content-lg-end { - align-content: flex-end !important; } - .align-content-lg-center { - align-content: center !important; } - .align-content-lg-between { - align-content: space-between !important; } - .align-content-lg-around { - align-content: space-around !important; } - .align-content-lg-stretch { - align-content: stretch !important; } - .align-self-lg-auto { - align-self: auto !important; } - .align-self-lg-start { - align-self: flex-start !important; } - .align-self-lg-end { - align-self: flex-end !important; } - .align-self-lg-center { - align-self: center !important; } - .align-self-lg-baseline { - align-self: baseline !important; } - .align-self-lg-stretch { - align-self: stretch !important; } - .order-lg-first { - order: -1 !important; } - .order-lg-0 { - order: 0 !important; } - .order-lg-1 { - order: 1 !important; } - .order-lg-2 { - order: 2 !important; } - .order-lg-3 { - order: 3 !important; } - .order-lg-4 { - order: 4 !important; } - .order-lg-5 { - order: 5 !important; } - .order-lg-last { - order: 6 !important; } - .m-lg-0 { - margin: 0 !important; } - .m-lg-1 { - margin: 0.25rem !important; } - .m-lg-2 { - margin: 0.5rem !important; } - .m-lg-3 { - margin: 1rem !important; } - .m-lg-4 { - margin: 1.5rem !important; } - .m-lg-5 { - margin: 3rem !important; } - .m-lg-auto { - margin: auto !important; } - .mx-lg-0 { - margin-right: 0 !important; - margin-left: 0 !important; } - .mx-lg-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; } - .mx-lg-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; } - .mx-lg-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; } - .mx-lg-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; } - .mx-lg-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; } - .mx-lg-auto { - margin-right: auto !important; - margin-left: auto !important; } - .my-lg-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; } - .my-lg-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; } - .my-lg-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; } - .my-lg-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; } - .my-lg-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; } - .my-lg-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; } - .my-lg-auto { - margin-top: auto !important; - margin-bottom: auto !important; } - .mt-lg-0 { - margin-top: 0 !important; } - .mt-lg-1 { - margin-top: 0.25rem !important; } - .mt-lg-2 { - margin-top: 0.5rem !important; } - .mt-lg-3 { - margin-top: 1rem !important; } - .mt-lg-4 { - margin-top: 1.5rem !important; } - .mt-lg-5 { - margin-top: 3rem !important; } - .mt-lg-auto { - margin-top: auto !important; } - .me-lg-0 { - margin-right: 0 !important; } - .me-lg-1 { - margin-right: 0.25rem !important; } - .me-lg-2 { - margin-right: 0.5rem !important; } - .me-lg-3 { - margin-right: 1rem !important; } - .me-lg-4 { - margin-right: 1.5rem !important; } - .me-lg-5 { - margin-right: 3rem !important; } - .me-lg-auto { - margin-right: auto !important; } - .mb-lg-0 { - margin-bottom: 0 !important; } - .mb-lg-1 { - margin-bottom: 0.25rem !important; } - .mb-lg-2 { - margin-bottom: 0.5rem !important; } - .mb-lg-3 { - margin-bottom: 1rem !important; } - .mb-lg-4 { - margin-bottom: 1.5rem !important; } - .mb-lg-5 { - margin-bottom: 3rem !important; } - .mb-lg-auto { - margin-bottom: auto !important; } - .ms-lg-0 { - margin-left: 0 !important; } - .ms-lg-1 { - margin-left: 0.25rem !important; } - .ms-lg-2 { - margin-left: 0.5rem !important; } - .ms-lg-3 { - margin-left: 1rem !important; } - .ms-lg-4 { - margin-left: 1.5rem !important; } - .ms-lg-5 { - margin-left: 3rem !important; } - .ms-lg-auto { - margin-left: auto !important; } - .p-lg-0 { - padding: 0 !important; } - .p-lg-1 { - padding: 0.25rem !important; } - .p-lg-2 { - padding: 0.5rem !important; } - .p-lg-3 { - padding: 1rem !important; } - .p-lg-4 { - padding: 1.5rem !important; } - .p-lg-5 { - padding: 3rem !important; } - .px-lg-0 { - padding-right: 0 !important; - padding-left: 0 !important; } - .px-lg-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; } - .px-lg-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; } - .px-lg-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; } - .px-lg-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; } - .px-lg-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; } - .py-lg-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; } - .py-lg-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; } - .py-lg-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; } - .py-lg-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; } - .py-lg-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; } - .py-lg-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; } - .pt-lg-0 { - padding-top: 0 !important; } - .pt-lg-1 { - padding-top: 0.25rem !important; } - .pt-lg-2 { - padding-top: 0.5rem !important; } - .pt-lg-3 { - padding-top: 1rem !important; } - .pt-lg-4 { - padding-top: 1.5rem !important; } - .pt-lg-5 { - padding-top: 3rem !important; } - .pe-lg-0 { - padding-right: 0 !important; } - .pe-lg-1 { - padding-right: 0.25rem !important; } - .pe-lg-2 { - padding-right: 0.5rem !important; } - .pe-lg-3 { - padding-right: 1rem !important; } - .pe-lg-4 { - padding-right: 1.5rem !important; } - .pe-lg-5 { - padding-right: 3rem !important; } - .pb-lg-0 { - padding-bottom: 0 !important; } - .pb-lg-1 { - padding-bottom: 0.25rem !important; } - .pb-lg-2 { - padding-bottom: 0.5rem !important; } - .pb-lg-3 { - padding-bottom: 1rem !important; } - .pb-lg-4 { - padding-bottom: 1.5rem !important; } - .pb-lg-5 { - padding-bottom: 3rem !important; } - .ps-lg-0 { - padding-left: 0 !important; } - .ps-lg-1 { - padding-left: 0.25rem !important; } - .ps-lg-2 { - padding-left: 0.5rem !important; } - .ps-lg-3 { - padding-left: 1rem !important; } - .ps-lg-4 { - padding-left: 1.5rem !important; } - .ps-lg-5 { - padding-left: 3rem !important; } - .gap-lg-0 { - gap: 0 !important; } - .gap-lg-1 { - gap: 0.25rem !important; } - .gap-lg-2 { - gap: 0.5rem !important; } - .gap-lg-3 { - gap: 1rem !important; } - .gap-lg-4 { - gap: 1.5rem !important; } - .gap-lg-5 { - gap: 3rem !important; } - .row-gap-lg-0 { - row-gap: 0 !important; } - .row-gap-lg-1 { - row-gap: 0.25rem !important; } - .row-gap-lg-2 { - row-gap: 0.5rem !important; } - .row-gap-lg-3 { - row-gap: 1rem !important; } - .row-gap-lg-4 { - row-gap: 1.5rem !important; } - .row-gap-lg-5 { - row-gap: 3rem !important; } - .column-gap-lg-0 { - column-gap: 0 !important; } - .column-gap-lg-1 { - column-gap: 0.25rem !important; } - .column-gap-lg-2 { - column-gap: 0.5rem !important; } - .column-gap-lg-3 { - column-gap: 1rem !important; } - .column-gap-lg-4 { - column-gap: 1.5rem !important; } - .column-gap-lg-5 { - column-gap: 3rem !important; } - .text-lg-start { - text-align: left !important; } - .text-lg-end { - text-align: right !important; } - .text-lg-center { - text-align: center !important; } } - -@media (min-width: 1200px) { - .float-xl-start { - float: left !important; } - .float-xl-end { - float: right !important; } - .float-xl-none { - float: none !important; } - .object-fit-xl-contain { - object-fit: contain !important; } - .object-fit-xl-cover { - object-fit: cover !important; } - .object-fit-xl-fill { - object-fit: fill !important; } - .object-fit-xl-scale { - object-fit: scale-down !important; } - .object-fit-xl-none { - object-fit: none !important; } - .d-xl-inline { - display: inline !important; } - .d-xl-inline-block { - display: inline-block !important; } - .d-xl-block { - display: block !important; } - .d-xl-grid { - display: grid !important; } - .d-xl-inline-grid { - display: inline-grid !important; } - .d-xl-table { - display: table !important; } - .d-xl-table-row { - display: table-row !important; } - .d-xl-table-cell { - display: table-cell !important; } - .d-xl-flex { - display: flex !important; } - .d-xl-inline-flex { - display: inline-flex !important; } - .d-xl-none { - display: none !important; } - .flex-xl-fill { - flex: 1 1 auto !important; } - .flex-xl-row { - flex-direction: row !important; } - .flex-xl-column { - flex-direction: column !important; } - .flex-xl-row-reverse { - flex-direction: row-reverse !important; } - .flex-xl-column-reverse { - flex-direction: column-reverse !important; } - .flex-xl-grow-0 { - flex-grow: 0 !important; } - .flex-xl-grow-1 { - flex-grow: 1 !important; } - .flex-xl-shrink-0 { - flex-shrink: 0 !important; } - .flex-xl-shrink-1 { - flex-shrink: 1 !important; } - .flex-xl-wrap { - flex-wrap: wrap !important; } - .flex-xl-nowrap { - flex-wrap: nowrap !important; } - .flex-xl-wrap-reverse { - flex-wrap: wrap-reverse !important; } - .justify-content-xl-start { - justify-content: flex-start !important; } - .justify-content-xl-end { - justify-content: flex-end !important; } - .justify-content-xl-center { - justify-content: center !important; } - .justify-content-xl-between { - justify-content: space-between !important; } - .justify-content-xl-around { - justify-content: space-around !important; } - .justify-content-xl-evenly { - justify-content: space-evenly !important; } - .align-items-xl-start { - align-items: flex-start !important; } - .align-items-xl-end { - align-items: flex-end !important; } - .align-items-xl-center { - align-items: center !important; } - .align-items-xl-baseline { - align-items: baseline !important; } - .align-items-xl-stretch { - align-items: stretch !important; } - .align-content-xl-start { - align-content: flex-start !important; } - .align-content-xl-end { - align-content: flex-end !important; } - .align-content-xl-center { - align-content: center !important; } - .align-content-xl-between { - align-content: space-between !important; } - .align-content-xl-around { - align-content: space-around !important; } - .align-content-xl-stretch { - align-content: stretch !important; } - .align-self-xl-auto { - align-self: auto !important; } - .align-self-xl-start { - align-self: flex-start !important; } - .align-self-xl-end { - align-self: flex-end !important; } - .align-self-xl-center { - align-self: center !important; } - .align-self-xl-baseline { - align-self: baseline !important; } - .align-self-xl-stretch { - align-self: stretch !important; } - .order-xl-first { - order: -1 !important; } - .order-xl-0 { - order: 0 !important; } - .order-xl-1 { - order: 1 !important; } - .order-xl-2 { - order: 2 !important; } - .order-xl-3 { - order: 3 !important; } - .order-xl-4 { - order: 4 !important; } - .order-xl-5 { - order: 5 !important; } - .order-xl-last { - order: 6 !important; } - .m-xl-0 { - margin: 0 !important; } - .m-xl-1 { - margin: 0.25rem !important; } - .m-xl-2 { - margin: 0.5rem !important; } - .m-xl-3 { - margin: 1rem !important; } - .m-xl-4 { - margin: 1.5rem !important; } - .m-xl-5 { - margin: 3rem !important; } - .m-xl-auto { - margin: auto !important; } - .mx-xl-0 { - margin-right: 0 !important; - margin-left: 0 !important; } - .mx-xl-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; } - .mx-xl-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; } - .mx-xl-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; } - .mx-xl-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; } - .mx-xl-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; } - .mx-xl-auto { - margin-right: auto !important; - margin-left: auto !important; } - .my-xl-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; } - .my-xl-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; } - .my-xl-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; } - .my-xl-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; } - .my-xl-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; } - .my-xl-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; } - .my-xl-auto { - margin-top: auto !important; - margin-bottom: auto !important; } - .mt-xl-0 { - margin-top: 0 !important; } - .mt-xl-1 { - margin-top: 0.25rem !important; } - .mt-xl-2 { - margin-top: 0.5rem !important; } - .mt-xl-3 { - margin-top: 1rem !important; } - .mt-xl-4 { - margin-top: 1.5rem !important; } - .mt-xl-5 { - margin-top: 3rem !important; } - .mt-xl-auto { - margin-top: auto !important; } - .me-xl-0 { - margin-right: 0 !important; } - .me-xl-1 { - margin-right: 0.25rem !important; } - .me-xl-2 { - margin-right: 0.5rem !important; } - .me-xl-3 { - margin-right: 1rem !important; } - .me-xl-4 { - margin-right: 1.5rem !important; } - .me-xl-5 { - margin-right: 3rem !important; } - .me-xl-auto { - margin-right: auto !important; } - .mb-xl-0 { - margin-bottom: 0 !important; } - .mb-xl-1 { - margin-bottom: 0.25rem !important; } - .mb-xl-2 { - margin-bottom: 0.5rem !important; } - .mb-xl-3 { - margin-bottom: 1rem !important; } - .mb-xl-4 { - margin-bottom: 1.5rem !important; } - .mb-xl-5 { - margin-bottom: 3rem !important; } - .mb-xl-auto { - margin-bottom: auto !important; } - .ms-xl-0 { - margin-left: 0 !important; } - .ms-xl-1 { - margin-left: 0.25rem !important; } - .ms-xl-2 { - margin-left: 0.5rem !important; } - .ms-xl-3 { - margin-left: 1rem !important; } - .ms-xl-4 { - margin-left: 1.5rem !important; } - .ms-xl-5 { - margin-left: 3rem !important; } - .ms-xl-auto { - margin-left: auto !important; } - .p-xl-0 { - padding: 0 !important; } - .p-xl-1 { - padding: 0.25rem !important; } - .p-xl-2 { - padding: 0.5rem !important; } - .p-xl-3 { - padding: 1rem !important; } - .p-xl-4 { - padding: 1.5rem !important; } - .p-xl-5 { - padding: 3rem !important; } - .px-xl-0 { - padding-right: 0 !important; - padding-left: 0 !important; } - .px-xl-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; } - .px-xl-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; } - .px-xl-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; } - .px-xl-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; } - .px-xl-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; } - .py-xl-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; } - .py-xl-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; } - .py-xl-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; } - .py-xl-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; } - .py-xl-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; } - .py-xl-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; } - .pt-xl-0 { - padding-top: 0 !important; } - .pt-xl-1 { - padding-top: 0.25rem !important; } - .pt-xl-2 { - padding-top: 0.5rem !important; } - .pt-xl-3 { - padding-top: 1rem !important; } - .pt-xl-4 { - padding-top: 1.5rem !important; } - .pt-xl-5 { - padding-top: 3rem !important; } - .pe-xl-0 { - padding-right: 0 !important; } - .pe-xl-1 { - padding-right: 0.25rem !important; } - .pe-xl-2 { - padding-right: 0.5rem !important; } - .pe-xl-3 { - padding-right: 1rem !important; } - .pe-xl-4 { - padding-right: 1.5rem !important; } - .pe-xl-5 { - padding-right: 3rem !important; } - .pb-xl-0 { - padding-bottom: 0 !important; } - .pb-xl-1 { - padding-bottom: 0.25rem !important; } - .pb-xl-2 { - padding-bottom: 0.5rem !important; } - .pb-xl-3 { - padding-bottom: 1rem !important; } - .pb-xl-4 { - padding-bottom: 1.5rem !important; } - .pb-xl-5 { - padding-bottom: 3rem !important; } - .ps-xl-0 { - padding-left: 0 !important; } - .ps-xl-1 { - padding-left: 0.25rem !important; } - .ps-xl-2 { - padding-left: 0.5rem !important; } - .ps-xl-3 { - padding-left: 1rem !important; } - .ps-xl-4 { - padding-left: 1.5rem !important; } - .ps-xl-5 { - padding-left: 3rem !important; } - .gap-xl-0 { - gap: 0 !important; } - .gap-xl-1 { - gap: 0.25rem !important; } - .gap-xl-2 { - gap: 0.5rem !important; } - .gap-xl-3 { - gap: 1rem !important; } - .gap-xl-4 { - gap: 1.5rem !important; } - .gap-xl-5 { - gap: 3rem !important; } - .row-gap-xl-0 { - row-gap: 0 !important; } - .row-gap-xl-1 { - row-gap: 0.25rem !important; } - .row-gap-xl-2 { - row-gap: 0.5rem !important; } - .row-gap-xl-3 { - row-gap: 1rem !important; } - .row-gap-xl-4 { - row-gap: 1.5rem !important; } - .row-gap-xl-5 { - row-gap: 3rem !important; } - .column-gap-xl-0 { - column-gap: 0 !important; } - .column-gap-xl-1 { - column-gap: 0.25rem !important; } - .column-gap-xl-2 { - column-gap: 0.5rem !important; } - .column-gap-xl-3 { - column-gap: 1rem !important; } - .column-gap-xl-4 { - column-gap: 1.5rem !important; } - .column-gap-xl-5 { - column-gap: 3rem !important; } - .text-xl-start { - text-align: left !important; } - .text-xl-end { - text-align: right !important; } - .text-xl-center { - text-align: center !important; } } - -@media (min-width: 1400px) { - .float-xxl-start { - float: left !important; } - .float-xxl-end { - float: right !important; } - .float-xxl-none { - float: none !important; } - .object-fit-xxl-contain { - object-fit: contain !important; } - .object-fit-xxl-cover { - object-fit: cover !important; } - .object-fit-xxl-fill { - object-fit: fill !important; } - .object-fit-xxl-scale { - object-fit: scale-down !important; } - .object-fit-xxl-none { - object-fit: none !important; } - .d-xxl-inline { - display: inline !important; } - .d-xxl-inline-block { - display: inline-block !important; } - .d-xxl-block { - display: block !important; } - .d-xxl-grid { - display: grid !important; } - .d-xxl-inline-grid { - display: inline-grid !important; } - .d-xxl-table { - display: table !important; } - .d-xxl-table-row { - display: table-row !important; } - .d-xxl-table-cell { - display: table-cell !important; } - .d-xxl-flex { - display: flex !important; } - .d-xxl-inline-flex { - display: inline-flex !important; } - .d-xxl-none { - display: none !important; } - .flex-xxl-fill { - flex: 1 1 auto !important; } - .flex-xxl-row { - flex-direction: row !important; } - .flex-xxl-column { - flex-direction: column !important; } - .flex-xxl-row-reverse { - flex-direction: row-reverse !important; } - .flex-xxl-column-reverse { - flex-direction: column-reverse !important; } - .flex-xxl-grow-0 { - flex-grow: 0 !important; } - .flex-xxl-grow-1 { - flex-grow: 1 !important; } - .flex-xxl-shrink-0 { - flex-shrink: 0 !important; } - .flex-xxl-shrink-1 { - flex-shrink: 1 !important; } - .flex-xxl-wrap { - flex-wrap: wrap !important; } - .flex-xxl-nowrap { - flex-wrap: nowrap !important; } - .flex-xxl-wrap-reverse { - flex-wrap: wrap-reverse !important; } - .justify-content-xxl-start { - justify-content: flex-start !important; } - .justify-content-xxl-end { - justify-content: flex-end !important; } - .justify-content-xxl-center { - justify-content: center !important; } - .justify-content-xxl-between { - justify-content: space-between !important; } - .justify-content-xxl-around { - justify-content: space-around !important; } - .justify-content-xxl-evenly { - justify-content: space-evenly !important; } - .align-items-xxl-start { - align-items: flex-start !important; } - .align-items-xxl-end { - align-items: flex-end !important; } - .align-items-xxl-center { - align-items: center !important; } - .align-items-xxl-baseline { - align-items: baseline !important; } - .align-items-xxl-stretch { - align-items: stretch !important; } - .align-content-xxl-start { - align-content: flex-start !important; } - .align-content-xxl-end { - align-content: flex-end !important; } - .align-content-xxl-center { - align-content: center !important; } - .align-content-xxl-between { - align-content: space-between !important; } - .align-content-xxl-around { - align-content: space-around !important; } - .align-content-xxl-stretch { - align-content: stretch !important; } - .align-self-xxl-auto { - align-self: auto !important; } - .align-self-xxl-start { - align-self: flex-start !important; } - .align-self-xxl-end { - align-self: flex-end !important; } - .align-self-xxl-center { - align-self: center !important; } - .align-self-xxl-baseline { - align-self: baseline !important; } - .align-self-xxl-stretch { - align-self: stretch !important; } - .order-xxl-first { - order: -1 !important; } - .order-xxl-0 { - order: 0 !important; } - .order-xxl-1 { - order: 1 !important; } - .order-xxl-2 { - order: 2 !important; } - .order-xxl-3 { - order: 3 !important; } - .order-xxl-4 { - order: 4 !important; } - .order-xxl-5 { - order: 5 !important; } - .order-xxl-last { - order: 6 !important; } - .m-xxl-0 { - margin: 0 !important; } - .m-xxl-1 { - margin: 0.25rem !important; } - .m-xxl-2 { - margin: 0.5rem !important; } - .m-xxl-3 { - margin: 1rem !important; } - .m-xxl-4 { - margin: 1.5rem !important; } - .m-xxl-5 { - margin: 3rem !important; } - .m-xxl-auto { - margin: auto !important; } - .mx-xxl-0 { - margin-right: 0 !important; - margin-left: 0 !important; } - .mx-xxl-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; } - .mx-xxl-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; } - .mx-xxl-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; } - .mx-xxl-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; } - .mx-xxl-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; } - .mx-xxl-auto { - margin-right: auto !important; - margin-left: auto !important; } - .my-xxl-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; } - .my-xxl-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; } - .my-xxl-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; } - .my-xxl-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; } - .my-xxl-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; } - .my-xxl-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; } - .my-xxl-auto { - margin-top: auto !important; - margin-bottom: auto !important; } - .mt-xxl-0 { - margin-top: 0 !important; } - .mt-xxl-1 { - margin-top: 0.25rem !important; } - .mt-xxl-2 { - margin-top: 0.5rem !important; } - .mt-xxl-3 { - margin-top: 1rem !important; } - .mt-xxl-4 { - margin-top: 1.5rem !important; } - .mt-xxl-5 { - margin-top: 3rem !important; } - .mt-xxl-auto { - margin-top: auto !important; } - .me-xxl-0 { - margin-right: 0 !important; } - .me-xxl-1 { - margin-right: 0.25rem !important; } - .me-xxl-2 { - margin-right: 0.5rem !important; } - .me-xxl-3 { - margin-right: 1rem !important; } - .me-xxl-4 { - margin-right: 1.5rem !important; } - .me-xxl-5 { - margin-right: 3rem !important; } - .me-xxl-auto { - margin-right: auto !important; } - .mb-xxl-0 { - margin-bottom: 0 !important; } - .mb-xxl-1 { - margin-bottom: 0.25rem !important; } - .mb-xxl-2 { - margin-bottom: 0.5rem !important; } - .mb-xxl-3 { - margin-bottom: 1rem !important; } - .mb-xxl-4 { - margin-bottom: 1.5rem !important; } - .mb-xxl-5 { - margin-bottom: 3rem !important; } - .mb-xxl-auto { - margin-bottom: auto !important; } - .ms-xxl-0 { - margin-left: 0 !important; } - .ms-xxl-1 { - margin-left: 0.25rem !important; } - .ms-xxl-2 { - margin-left: 0.5rem !important; } - .ms-xxl-3 { - margin-left: 1rem !important; } - .ms-xxl-4 { - margin-left: 1.5rem !important; } - .ms-xxl-5 { - margin-left: 3rem !important; } - .ms-xxl-auto { - margin-left: auto !important; } - .p-xxl-0 { - padding: 0 !important; } - .p-xxl-1 { - padding: 0.25rem !important; } - .p-xxl-2 { - padding: 0.5rem !important; } - .p-xxl-3 { - padding: 1rem !important; } - .p-xxl-4 { - padding: 1.5rem !important; } - .p-xxl-5 { - padding: 3rem !important; } - .px-xxl-0 { - padding-right: 0 !important; - padding-left: 0 !important; } - .px-xxl-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; } - .px-xxl-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; } - .px-xxl-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; } - .px-xxl-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; } - .px-xxl-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; } - .py-xxl-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; } - .py-xxl-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; } - .py-xxl-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; } - .py-xxl-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; } - .py-xxl-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; } - .py-xxl-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; } - .pt-xxl-0 { - padding-top: 0 !important; } - .pt-xxl-1 { - padding-top: 0.25rem !important; } - .pt-xxl-2 { - padding-top: 0.5rem !important; } - .pt-xxl-3 { - padding-top: 1rem !important; } - .pt-xxl-4 { - padding-top: 1.5rem !important; } - .pt-xxl-5 { - padding-top: 3rem !important; } - .pe-xxl-0 { - padding-right: 0 !important; } - .pe-xxl-1 { - padding-right: 0.25rem !important; } - .pe-xxl-2 { - padding-right: 0.5rem !important; } - .pe-xxl-3 { - padding-right: 1rem !important; } - .pe-xxl-4 { - padding-right: 1.5rem !important; } - .pe-xxl-5 { - padding-right: 3rem !important; } - .pb-xxl-0 { - padding-bottom: 0 !important; } - .pb-xxl-1 { - padding-bottom: 0.25rem !important; } - .pb-xxl-2 { - padding-bottom: 0.5rem !important; } - .pb-xxl-3 { - padding-bottom: 1rem !important; } - .pb-xxl-4 { - padding-bottom: 1.5rem !important; } - .pb-xxl-5 { - padding-bottom: 3rem !important; } - .ps-xxl-0 { - padding-left: 0 !important; } - .ps-xxl-1 { - padding-left: 0.25rem !important; } - .ps-xxl-2 { - padding-left: 0.5rem !important; } - .ps-xxl-3 { - padding-left: 1rem !important; } - .ps-xxl-4 { - padding-left: 1.5rem !important; } - .ps-xxl-5 { - padding-left: 3rem !important; } - .gap-xxl-0 { - gap: 0 !important; } - .gap-xxl-1 { - gap: 0.25rem !important; } - .gap-xxl-2 { - gap: 0.5rem !important; } - .gap-xxl-3 { - gap: 1rem !important; } - .gap-xxl-4 { - gap: 1.5rem !important; } - .gap-xxl-5 { - gap: 3rem !important; } - .row-gap-xxl-0 { - row-gap: 0 !important; } - .row-gap-xxl-1 { - row-gap: 0.25rem !important; } - .row-gap-xxl-2 { - row-gap: 0.5rem !important; } - .row-gap-xxl-3 { - row-gap: 1rem !important; } - .row-gap-xxl-4 { - row-gap: 1.5rem !important; } - .row-gap-xxl-5 { - row-gap: 3rem !important; } - .column-gap-xxl-0 { - column-gap: 0 !important; } - .column-gap-xxl-1 { - column-gap: 0.25rem !important; } - .column-gap-xxl-2 { - column-gap: 0.5rem !important; } - .column-gap-xxl-3 { - column-gap: 1rem !important; } - .column-gap-xxl-4 { - column-gap: 1.5rem !important; } - .column-gap-xxl-5 { - column-gap: 3rem !important; } - .text-xxl-start { - text-align: left !important; } - .text-xxl-end { - text-align: right !important; } - .text-xxl-center { - text-align: center !important; } } - -@media (min-width: 1200px) { - .fs-1 { - font-size: 2.5rem !important; } - .fs-2 { - font-size: 2rem !important; } - .fs-3 { - font-size: 1.5rem !important; } - .fs-4 { - font-size: 1.35rem !important; } } - -@media print { - .d-print-inline { - display: inline !important; } - .d-print-inline-block { - display: inline-block !important; } - .d-print-block { - display: block !important; } - .d-print-grid { - display: grid !important; } - .d-print-inline-grid { - display: inline-grid !important; } - .d-print-table { - display: table !important; } - .d-print-table-row { - display: table-row !important; } - .d-print-table-cell { - display: table-cell !important; } - .d-print-flex { - display: flex !important; } - .d-print-inline-flex { - display: inline-flex !important; } - .d-print-none { - display: none !important; } } - -/*! - * 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, .td-search__icon:before { - font-family: var(--fa-style-family, "Font Awesome 6 Free"); - font-weight: var(--fa-style, 900); } - -.fa, .td-search__icon:before, -.fa-classic, -.fa-sharp, -.fas, -.td-offline-search-results__close-button:after, -.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, .td-offline-search-results__close-button:after, -.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: 0.625em; - line-height: 0.1em; - vertical-align: 0.225em; } - -.fa-xs { - font-size: 0.75em; - line-height: 0.08333333em; - vertical-align: 0.125em; } - -.fa-sm { - font-size: 0.875em; - line-height: 0.07142857em; - vertical-align: 0.05357143em; } - -.fa-lg { - font-size: 1.25em; - line-height: 0.05em; - vertical-align: -0.075em; } - -.fa-xl { - font-size: 1.5em; - line-height: 0.04166667em; - vertical-align: -0.125em; } - -.fa-2xl { - font-size: 2em; - line-height: 0.03125em; - vertical-align: -0.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, 0.1em); - border-style: var(--fa-border-style, solid); - border-width: var(--fa-border-width, 0.08em); - padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } - -.fa-pull-left { - float: left; - margin-right: var(--fa-pull-margin, 0.3em); } - -.fa-pull-right { - float: right; - margin-left: var(--fa-pull-margin, 0.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); } - -/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen -readers do not read off random characters that represent icons */ -.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: "\f576"; } - -.fa-arrows-to-circle::before { - content: "\e4bd"; } - -.fa-circle-chevron-right::before { - content: "\f138"; } - -.fa-chevron-circle-right::before { - content: "\f138"; } - -.fa-at::before { - content: "\40"; } - -.fa-trash-can::before { - content: "\f2ed"; } - -.fa-trash-alt::before { - content: "\f2ed"; } - -.fa-text-height::before { - content: "\f034"; } - -.fa-user-xmark::before { - content: "\f235"; } - -.fa-user-times::before { - content: "\f235"; } - -.fa-stethoscope::before { - content: "\f0f1"; } - -.fa-message::before { - content: "\f27a"; } - -.fa-comment-alt::before { - content: "\f27a"; } - -.fa-info::before { - content: "\f129"; } - -.fa-down-left-and-up-right-to-center::before { - content: "\f422"; } - -.fa-compress-alt::before { - content: "\f422"; } - -.fa-explosion::before { - content: "\e4e9"; } - -.fa-file-lines::before { - content: "\f15c"; } - -.fa-file-alt::before { - content: "\f15c"; } - -.fa-file-text::before { - content: "\f15c"; } - -.fa-wave-square::before { - content: "\f83e"; } - -.fa-ring::before { - content: "\f70b"; } - -.fa-building-un::before { - content: "\e4d9"; } - -.fa-dice-three::before { - content: "\f527"; } - -.fa-calendar-days::before { - content: "\f073"; } - -.fa-calendar-alt::before { - content: "\f073"; } - -.fa-anchor-circle-check::before { - content: "\e4aa"; } - -.fa-building-circle-arrow-right::before { - content: "\e4d1"; } - -.fa-volleyball::before { - content: "\f45f"; } - -.fa-volleyball-ball::before { - content: "\f45f"; } - -.fa-arrows-up-to-line::before { - content: "\e4c2"; } - -.fa-sort-down::before { - content: "\f0dd"; } - -.fa-sort-desc::before { - content: "\f0dd"; } - -.fa-circle-minus::before { - content: "\f056"; } - -.fa-minus-circle::before { - content: "\f056"; } - -.fa-door-open::before { - content: "\f52b"; } - -.fa-right-from-bracket::before { - content: "\f2f5"; } - -.fa-sign-out-alt::before { - content: "\f2f5"; } - -.fa-atom::before { - content: "\f5d2"; } - -.fa-soap::before { - content: "\e06e"; } - -.fa-icons::before { - content: "\f86d"; } - -.fa-heart-music-camera-bolt::before { - content: "\f86d"; } - -.fa-microphone-lines-slash::before { - content: "\f539"; } - -.fa-microphone-alt-slash::before { - content: "\f539"; } - -.fa-bridge-circle-check::before { - content: "\e4c9"; } - -.fa-pump-medical::before { - content: "\e06a"; } - -.fa-fingerprint::before { - content: "\f577"; } - -.fa-hand-point-right::before { - content: "\f0a4"; } - -.fa-magnifying-glass-location::before { - content: "\f689"; } - -.fa-search-location::before { - content: "\f689"; } - -.fa-forward-step::before { - content: "\f051"; } - -.fa-step-forward::before { - content: "\f051"; } - -.fa-face-smile-beam::before { - content: "\f5b8"; } - -.fa-smile-beam::before { - content: "\f5b8"; } - -.fa-flag-checkered::before { - content: "\f11e"; } - -.fa-football::before { - content: "\f44e"; } - -.fa-football-ball::before { - content: "\f44e"; } - -.fa-school-circle-exclamation::before { - content: "\e56c"; } - -.fa-crop::before { - content: "\f125"; } - -.fa-angles-down::before { - content: "\f103"; } - -.fa-angle-double-down::before { - content: "\f103"; } - -.fa-users-rectangle::before { - content: "\e594"; } - -.fa-people-roof::before { - content: "\e537"; } - -.fa-people-line::before { - content: "\e534"; } - -.fa-beer-mug-empty::before { - content: "\f0fc"; } - -.fa-beer::before { - content: "\f0fc"; } - -.fa-diagram-predecessor::before { - content: "\e477"; } - -.fa-arrow-up-long::before { - content: "\f176"; } - -.fa-long-arrow-up::before { - content: "\f176"; } - -.fa-fire-flame-simple::before { - content: "\f46a"; } - -.fa-burn::before { - content: "\f46a"; } - -.fa-person::before { - content: "\f183"; } - -.fa-male::before { - content: "\f183"; } - -.fa-laptop::before { - content: "\f109"; } - -.fa-file-csv::before { - content: "\f6dd"; } - -.fa-menorah::before { - content: "\f676"; } - -.fa-truck-plane::before { - content: "\e58f"; } - -.fa-record-vinyl::before { - content: "\f8d9"; } - -.fa-face-grin-stars::before { - content: "\f587"; } - -.fa-grin-stars::before { - content: "\f587"; } - -.fa-bong::before { - content: "\f55c"; } - -.fa-spaghetti-monster-flying::before { - content: "\f67b"; } - -.fa-pastafarianism::before { - content: "\f67b"; } - -.fa-arrow-down-up-across-line::before { - content: "\e4af"; } - -.fa-spoon::before { - content: "\f2e5"; } - -.fa-utensil-spoon::before { - content: "\f2e5"; } - -.fa-jar-wheat::before { - content: "\e517"; } - -.fa-envelopes-bulk::before { - content: "\f674"; } - -.fa-mail-bulk::before { - content: "\f674"; } - -.fa-file-circle-exclamation::before { - content: "\e4eb"; } - -.fa-circle-h::before { - content: "\f47e"; } - -.fa-hospital-symbol::before { - content: "\f47e"; } - -.fa-pager::before { - content: "\f815"; } - -.fa-address-book::before { - content: "\f2b9"; } - -.fa-contact-book::before { - content: "\f2b9"; } - -.fa-strikethrough::before { - content: "\f0cc"; } - -.fa-k::before { - content: "\4b"; } - -.fa-landmark-flag::before { - content: "\e51c"; } - -.fa-pencil::before { - content: "\f303"; } - -.fa-pencil-alt::before { - content: "\f303"; } - -.fa-backward::before { - content: "\f04a"; } - -.fa-caret-right::before { - content: "\f0da"; } - -.fa-comments::before { - content: "\f086"; } - -.fa-paste::before { - content: "\f0ea"; } - -.fa-file-clipboard::before { - content: "\f0ea"; } - -.fa-code-pull-request::before { - content: "\e13c"; } - -.fa-clipboard-list::before { - content: "\f46d"; } - -.fa-truck-ramp-box::before { - content: "\f4de"; } - -.fa-truck-loading::before { - content: "\f4de"; } - -.fa-user-check::before { - content: "\f4fc"; } - -.fa-vial-virus::before { - content: "\e597"; } - -.fa-sheet-plastic::before { - content: "\e571"; } - -.fa-blog::before { - content: "\f781"; } - -.fa-user-ninja::before { - content: "\f504"; } - -.fa-person-arrow-up-from-line::before { - content: "\e539"; } - -.fa-scroll-torah::before { - content: "\f6a0"; } - -.fa-torah::before { - content: "\f6a0"; } - -.fa-broom-ball::before { - content: "\f458"; } - -.fa-quidditch::before { - content: "\f458"; } - -.fa-quidditch-broom-ball::before { - content: "\f458"; } - -.fa-toggle-off::before { - content: "\f204"; } - -.fa-box-archive::before { - content: "\f187"; } - -.fa-archive::before { - content: "\f187"; } - -.fa-person-drowning::before { - content: "\e545"; } - -.fa-arrow-down-9-1::before { - content: "\f886"; } - -.fa-sort-numeric-desc::before { - content: "\f886"; } - -.fa-sort-numeric-down-alt::before { - content: "\f886"; } - -.fa-face-grin-tongue-squint::before { - content: "\f58a"; } - -.fa-grin-tongue-squint::before { - content: "\f58a"; } - -.fa-spray-can::before { - content: "\f5bd"; } - -.fa-truck-monster::before { - content: "\f63b"; } - -.fa-w::before { - content: "\57"; } - -.fa-earth-africa::before { - content: "\f57c"; } - -.fa-globe-africa::before { - content: "\f57c"; } - -.fa-rainbow::before { - content: "\f75b"; } - -.fa-circle-notch::before { - content: "\f1ce"; } - -.fa-tablet-screen-button::before { - content: "\f3fa"; } - -.fa-tablet-alt::before { - content: "\f3fa"; } - -.fa-paw::before { - content: "\f1b0"; } - -.fa-cloud::before { - content: "\f0c2"; } - -.fa-trowel-bricks::before { - content: "\e58a"; } - -.fa-face-flushed::before { - content: "\f579"; } - -.fa-flushed::before { - content: "\f579"; } - -.fa-hospital-user::before { - content: "\f80d"; } - -.fa-tent-arrow-left-right::before { - content: "\e57f"; } - -.fa-gavel::before { - content: "\f0e3"; } - -.fa-legal::before { - content: "\f0e3"; } - -.fa-binoculars::before { - content: "\f1e5"; } - -.fa-microphone-slash::before { - content: "\f131"; } - -.fa-box-tissue::before { - content: "\e05b"; } - -.fa-motorcycle::before { - content: "\f21c"; } - -.fa-bell-concierge::before { - content: "\f562"; } - -.fa-concierge-bell::before { - content: "\f562"; } - -.fa-pen-ruler::before { - content: "\f5ae"; } - -.fa-pencil-ruler::before { - content: "\f5ae"; } - -.fa-people-arrows::before { - content: "\e068"; } - -.fa-people-arrows-left-right::before { - content: "\e068"; } - -.fa-mars-and-venus-burst::before { - content: "\e523"; } - -.fa-square-caret-right::before { - content: "\f152"; } - -.fa-caret-square-right::before { - content: "\f152"; } - -.fa-scissors::before { - content: "\f0c4"; } - -.fa-cut::before { - content: "\f0c4"; } - -.fa-sun-plant-wilt::before { - content: "\e57a"; } - -.fa-toilets-portable::before { - content: "\e584"; } - -.fa-hockey-puck::before { - content: "\f453"; } - -.fa-table::before { - content: "\f0ce"; } - -.fa-magnifying-glass-arrow-right::before { - content: "\e521"; } - -.fa-tachograph-digital::before { - content: "\f566"; } - -.fa-digital-tachograph::before { - content: "\f566"; } - -.fa-users-slash::before { - content: "\e073"; } - -.fa-clover::before { - content: "\e139"; } - -.fa-reply::before { - content: "\f3e5"; } - -.fa-mail-reply::before { - content: "\f3e5"; } - -.fa-star-and-crescent::before { - content: "\f699"; } - -.fa-house-fire::before { - content: "\e50c"; } - -.fa-square-minus::before { - content: "\f146"; } - -.fa-minus-square::before { - content: "\f146"; } - -.fa-helicopter::before { - content: "\f533"; } - -.fa-compass::before { - content: "\f14e"; } - -.fa-square-caret-down::before { - content: "\f150"; } - -.fa-caret-square-down::before { - content: "\f150"; } - -.fa-file-circle-question::before { - content: "\e4ef"; } - -.fa-laptop-code::before { - content: "\f5fc"; } - -.fa-swatchbook::before { - content: "\f5c3"; } - -.fa-prescription-bottle::before { - content: "\f485"; } - -.fa-bars::before { - content: "\f0c9"; } - -.fa-navicon::before { - content: "\f0c9"; } - -.fa-people-group::before { - content: "\e533"; } - -.fa-hourglass-end::before { - content: "\f253"; } - -.fa-hourglass-3::before { - content: "\f253"; } - -.fa-heart-crack::before { - content: "\f7a9"; } - -.fa-heart-broken::before { - content: "\f7a9"; } - -.fa-square-up-right::before { - content: "\f360"; } - -.fa-external-link-square-alt::before { - content: "\f360"; } - -.fa-face-kiss-beam::before { - content: "\f597"; } - -.fa-kiss-beam::before { - content: "\f597"; } - -.fa-film::before { - content: "\f008"; } - -.fa-ruler-horizontal::before { - content: "\f547"; } - -.fa-people-robbery::before { - content: "\e536"; } - -.fa-lightbulb::before { - content: "\f0eb"; } - -.fa-caret-left::before { - content: "\f0d9"; } - -.fa-circle-exclamation::before { - content: "\f06a"; } - -.fa-exclamation-circle::before { - content: "\f06a"; } - -.fa-school-circle-xmark::before { - content: "\e56d"; } - -.fa-arrow-right-from-bracket::before { - content: "\f08b"; } - -.fa-sign-out::before { - content: "\f08b"; } - -.fa-circle-chevron-down::before { - content: "\f13a"; } - -.fa-chevron-circle-down::before { - content: "\f13a"; } - -.fa-unlock-keyhole::before { - content: "\f13e"; } - -.fa-unlock-alt::before { - content: "\f13e"; } - -.fa-cloud-showers-heavy::before { - content: "\f740"; } - -.fa-headphones-simple::before { - content: "\f58f"; } - -.fa-headphones-alt::before { - content: "\f58f"; } - -.fa-sitemap::before { - content: "\f0e8"; } - -.fa-circle-dollar-to-slot::before { - content: "\f4b9"; } - -.fa-donate::before { - content: "\f4b9"; } - -.fa-memory::before { - content: "\f538"; } - -.fa-road-spikes::before { - content: "\e568"; } - -.fa-fire-burner::before { - content: "\e4f1"; } - -.fa-flag::before { - content: "\f024"; } - -.fa-hanukiah::before { - content: "\f6e6"; } - -.fa-feather::before { - content: "\f52d"; } - -.fa-volume-low::before { - content: "\f027"; } - -.fa-volume-down::before { - content: "\f027"; } - -.fa-comment-slash::before { - content: "\f4b3"; } - -.fa-cloud-sun-rain::before { - content: "\f743"; } - -.fa-compress::before { - content: "\f066"; } - -.fa-wheat-awn::before { - content: "\e2cd"; } - -.fa-wheat-alt::before { - content: "\e2cd"; } - -.fa-ankh::before { - content: "\f644"; } - -.fa-hands-holding-child::before { - content: "\e4fa"; } - -.fa-asterisk::before { - content: "\2a"; } - -.fa-square-check::before { - content: "\f14a"; } - -.fa-check-square::before { - content: "\f14a"; } - -.fa-peseta-sign::before { - content: "\e221"; } - -.fa-heading::before { - content: "\f1dc"; } - -.fa-header::before { - content: "\f1dc"; } - -.fa-ghost::before { - content: "\f6e2"; } - -.fa-list::before { - content: "\f03a"; } - -.fa-list-squares::before { - content: "\f03a"; } - -.fa-square-phone-flip::before { - content: "\f87b"; } - -.fa-phone-square-alt::before { - content: "\f87b"; } - -.fa-cart-plus::before { - content: "\f217"; } - -.fa-gamepad::before { - content: "\f11b"; } - -.fa-circle-dot::before { - content: "\f192"; } - -.fa-dot-circle::before { - content: "\f192"; } - -.fa-face-dizzy::before { - content: "\f567"; } - -.fa-dizzy::before { - content: "\f567"; } - -.fa-egg::before { - content: "\f7fb"; } - -.fa-house-medical-circle-xmark::before { - content: "\e513"; } - -.fa-campground::before { - content: "\f6bb"; } - -.fa-folder-plus::before { - content: "\f65e"; } - -.fa-futbol::before { - content: "\f1e3"; } - -.fa-futbol-ball::before { - content: "\f1e3"; } - -.fa-soccer-ball::before { - content: "\f1e3"; } - -.fa-paintbrush::before { - content: "\f1fc"; } - -.fa-paint-brush::before { - content: "\f1fc"; } - -.fa-lock::before { - content: "\f023"; } - -.fa-gas-pump::before { - content: "\f52f"; } - -.fa-hot-tub-person::before { - content: "\f593"; } - -.fa-hot-tub::before { - content: "\f593"; } - -.fa-map-location::before { - content: "\f59f"; } - -.fa-map-marked::before { - content: "\f59f"; } - -.fa-house-flood-water::before { - content: "\e50e"; } - -.fa-tree::before { - content: "\f1bb"; } - -.fa-bridge-lock::before { - content: "\e4cc"; } - -.fa-sack-dollar::before { - content: "\f81d"; } - -.fa-pen-to-square::before { - content: "\f044"; } - -.fa-edit::before { - content: "\f044"; } - -.fa-car-side::before { - content: "\f5e4"; } - -.fa-share-nodes::before { - content: "\f1e0"; } - -.fa-share-alt::before { - content: "\f1e0"; } - -.fa-heart-circle-minus::before { - content: "\e4ff"; } - -.fa-hourglass-half::before { - content: "\f252"; } - -.fa-hourglass-2::before { - content: "\f252"; } - -.fa-microscope::before { - content: "\f610"; } - -.fa-sink::before { - content: "\e06d"; } - -.fa-bag-shopping::before { - content: "\f290"; } - -.fa-shopping-bag::before { - content: "\f290"; } - -.fa-arrow-down-z-a::before { - content: "\f881"; } - -.fa-sort-alpha-desc::before { - content: "\f881"; } - -.fa-sort-alpha-down-alt::before { - content: "\f881"; } - -.fa-mitten::before { - content: "\f7b5"; } - -.fa-person-rays::before { - content: "\e54d"; } - -.fa-users::before { - content: "\f0c0"; } - -.fa-eye-slash::before { - content: "\f070"; } - -.fa-flask-vial::before { - content: "\e4f3"; } - -.fa-hand::before { - content: "\f256"; } - -.fa-hand-paper::before { - content: "\f256"; } - -.fa-om::before { - content: "\f679"; } - -.fa-worm::before { - content: "\e599"; } - -.fa-house-circle-xmark::before { - content: "\e50b"; } - -.fa-plug::before { - content: "\f1e6"; } - -.fa-chevron-up::before { - content: "\f077"; } - -.fa-hand-spock::before { - content: "\f259"; } - -.fa-stopwatch::before { - content: "\f2f2"; } - -.fa-face-kiss::before { - content: "\f596"; } - -.fa-kiss::before { - content: "\f596"; } - -.fa-bridge-circle-xmark::before { - content: "\e4cb"; } - -.fa-face-grin-tongue::before { - content: "\f589"; } - -.fa-grin-tongue::before { - content: "\f589"; } - -.fa-chess-bishop::before { - content: "\f43a"; } - -.fa-face-grin-wink::before { - content: "\f58c"; } - -.fa-grin-wink::before { - content: "\f58c"; } - -.fa-ear-deaf::before { - content: "\f2a4"; } - -.fa-deaf::before { - content: "\f2a4"; } - -.fa-deafness::before { - content: "\f2a4"; } - -.fa-hard-of-hearing::before { - content: "\f2a4"; } - -.fa-road-circle-check::before { - content: "\e564"; } - -.fa-dice-five::before { - content: "\f523"; } - -.fa-square-rss::before { - content: "\f143"; } - -.fa-rss-square::before { - content: "\f143"; } - -.fa-land-mine-on::before { - content: "\e51b"; } - -.fa-i-cursor::before { - content: "\f246"; } - -.fa-stamp::before { - content: "\f5bf"; } - -.fa-stairs::before { - content: "\e289"; } - -.fa-i::before { - content: "\49"; } - -.fa-hryvnia-sign::before { - content: "\f6f2"; } - -.fa-hryvnia::before { - content: "\f6f2"; } - -.fa-pills::before { - content: "\f484"; } - -.fa-face-grin-wide::before { - content: "\f581"; } - -.fa-grin-alt::before { - content: "\f581"; } - -.fa-tooth::before { - content: "\f5c9"; } - -.fa-v::before { - content: "\56"; } - -.fa-bangladeshi-taka-sign::before { - content: "\e2e6"; } - -.fa-bicycle::before { - content: "\f206"; } - -.fa-staff-snake::before { - content: "\e579"; } - -.fa-rod-asclepius::before { - content: "\e579"; } - -.fa-rod-snake::before { - content: "\e579"; } - -.fa-staff-aesculapius::before { - content: "\e579"; } - -.fa-head-side-cough-slash::before { - content: "\e062"; } - -.fa-truck-medical::before { - content: "\f0f9"; } - -.fa-ambulance::before { - content: "\f0f9"; } - -.fa-wheat-awn-circle-exclamation::before { - content: "\e598"; } - -.fa-snowman::before { - content: "\f7d0"; } - -.fa-mortar-pestle::before { - content: "\f5a7"; } - -.fa-road-barrier::before { - content: "\e562"; } - -.fa-school::before { - content: "\f549"; } - -.fa-igloo::before { - content: "\f7ae"; } - -.fa-joint::before { - content: "\f595"; } - -.fa-angle-right::before { - content: "\f105"; } - -.fa-horse::before { - content: "\f6f0"; } - -.fa-q::before { - content: "\51"; } - -.fa-g::before { - content: "\47"; } - -.fa-notes-medical::before { - content: "\f481"; } - -.fa-temperature-half::before { - content: "\f2c9"; } - -.fa-temperature-2::before { - content: "\f2c9"; } - -.fa-thermometer-2::before { - content: "\f2c9"; } - -.fa-thermometer-half::before { - content: "\f2c9"; } - -.fa-dong-sign::before { - content: "\e169"; } - -.fa-capsules::before { - content: "\f46b"; } - -.fa-poo-storm::before { - content: "\f75a"; } - -.fa-poo-bolt::before { - content: "\f75a"; } - -.fa-face-frown-open::before { - content: "\f57a"; } - -.fa-frown-open::before { - content: "\f57a"; } - -.fa-hand-point-up::before { - content: "\f0a6"; } - -.fa-money-bill::before { - content: "\f0d6"; } - -.fa-bookmark::before { - content: "\f02e"; } - -.fa-align-justify::before { - content: "\f039"; } - -.fa-umbrella-beach::before { - content: "\f5ca"; } - -.fa-helmet-un::before { - content: "\e503"; } - -.fa-bullseye::before { - content: "\f140"; } - -.fa-bacon::before { - content: "\f7e5"; } - -.fa-hand-point-down::before { - content: "\f0a7"; } - -.fa-arrow-up-from-bracket::before { - content: "\e09a"; } - -.fa-folder::before { - content: "\f07b"; } - -.fa-folder-blank::before { - content: "\f07b"; } - -.fa-file-waveform::before { - content: "\f478"; } - -.fa-file-medical-alt::before { - content: "\f478"; } - -.fa-radiation::before { - content: "\f7b9"; } - -.fa-chart-simple::before { - content: "\e473"; } - -.fa-mars-stroke::before { - content: "\f229"; } - -.fa-vial::before { - content: "\f492"; } - -.fa-gauge::before { - content: "\f624"; } - -.fa-dashboard::before { - content: "\f624"; } - -.fa-gauge-med::before { - content: "\f624"; } - -.fa-tachometer-alt-average::before { - content: "\f624"; } - -.fa-wand-magic-sparkles::before { - content: "\e2ca"; } - -.fa-magic-wand-sparkles::before { - content: "\e2ca"; } - -.fa-e::before { - content: "\45"; } - -.fa-pen-clip::before { - content: "\f305"; } - -.fa-pen-alt::before { - content: "\f305"; } - -.fa-bridge-circle-exclamation::before { - content: "\e4ca"; } - -.fa-user::before { - content: "\f007"; } - -.fa-school-circle-check::before { - content: "\e56b"; } - -.fa-dumpster::before { - content: "\f793"; } - -.fa-van-shuttle::before { - content: "\f5b6"; } - -.fa-shuttle-van::before { - content: "\f5b6"; } - -.fa-building-user::before { - content: "\e4da"; } - -.fa-square-caret-left::before { - content: "\f191"; } - -.fa-caret-square-left::before { - content: "\f191"; } - -.fa-highlighter::before { - content: "\f591"; } - -.fa-key::before { - content: "\f084"; } - -.fa-bullhorn::before { - content: "\f0a1"; } - -.fa-globe::before { - content: "\f0ac"; } - -.fa-synagogue::before { - content: "\f69b"; } - -.fa-person-half-dress::before { - content: "\e548"; } - -.fa-road-bridge::before { - content: "\e563"; } - -.fa-location-arrow::before { - content: "\f124"; } - -.fa-c::before { - content: "\43"; } - -.fa-tablet-button::before { - content: "\f10a"; } - -.fa-building-lock::before { - content: "\e4d6"; } - -.fa-pizza-slice::before { - content: "\f818"; } - -.fa-money-bill-wave::before { - content: "\f53a"; } - -.fa-chart-area::before { - content: "\f1fe"; } - -.fa-area-chart::before { - content: "\f1fe"; } - -.fa-house-flag::before { - content: "\e50d"; } - -.fa-person-circle-minus::before { - content: "\e540"; } - -.fa-ban::before { - content: "\f05e"; } - -.fa-cancel::before { - content: "\f05e"; } - -.fa-camera-rotate::before { - content: "\e0d8"; } - -.fa-spray-can-sparkles::before { - content: "\f5d0"; } - -.fa-air-freshener::before { - content: "\f5d0"; } - -.fa-star::before { - content: "\f005"; } - -.fa-repeat::before { - content: "\f363"; } - -.fa-cross::before { - content: "\f654"; } - -.fa-box::before { - content: "\f466"; } - -.fa-venus-mars::before { - content: "\f228"; } - -.fa-arrow-pointer::before { - content: "\f245"; } - -.fa-mouse-pointer::before { - content: "\f245"; } - -.fa-maximize::before { - content: "\f31e"; } - -.fa-expand-arrows-alt::before { - content: "\f31e"; } - -.fa-charging-station::before { - content: "\f5e7"; } - -.fa-shapes::before { - content: "\f61f"; } - -.fa-triangle-circle-square::before { - content: "\f61f"; } - -.fa-shuffle::before { - content: "\f074"; } - -.fa-random::before { - content: "\f074"; } - -.fa-person-running::before { - content: "\f70c"; } - -.fa-running::before { - content: "\f70c"; } - -.fa-mobile-retro::before { - content: "\e527"; } - -.fa-grip-lines-vertical::before { - content: "\f7a5"; } - -.fa-spider::before { - content: "\f717"; } - -.fa-hands-bound::before { - content: "\e4f9"; } - -.fa-file-invoice-dollar::before { - content: "\f571"; } - -.fa-plane-circle-exclamation::before { - content: "\e556"; } - -.fa-x-ray::before { - content: "\f497"; } - -.fa-spell-check::before { - content: "\f891"; } - -.fa-slash::before { - content: "\f715"; } - -.fa-computer-mouse::before { - content: "\f8cc"; } - -.fa-mouse::before { - content: "\f8cc"; } - -.fa-arrow-right-to-bracket::before { - content: "\f090"; } - -.fa-sign-in::before { - content: "\f090"; } - -.fa-shop-slash::before { - content: "\e070"; } - -.fa-store-alt-slash::before { - content: "\e070"; } - -.fa-server::before { - content: "\f233"; } - -.fa-virus-covid-slash::before { - content: "\e4a9"; } - -.fa-shop-lock::before { - content: "\e4a5"; } - -.fa-hourglass-start::before { - content: "\f251"; } - -.fa-hourglass-1::before { - content: "\f251"; } - -.fa-blender-phone::before { - content: "\f6b6"; } - -.fa-building-wheat::before { - content: "\e4db"; } - -.fa-person-breastfeeding::before { - content: "\e53a"; } - -.fa-right-to-bracket::before { - content: "\f2f6"; } - -.fa-sign-in-alt::before { - content: "\f2f6"; } - -.fa-venus::before { - content: "\f221"; } - -.fa-passport::before { - content: "\f5ab"; } - -.fa-heart-pulse::before { - content: "\f21e"; } - -.fa-heartbeat::before { - content: "\f21e"; } - -.fa-people-carry-box::before { - content: "\f4ce"; } - -.fa-people-carry::before { - content: "\f4ce"; } - -.fa-temperature-high::before { - content: "\f769"; } - -.fa-microchip::before { - content: "\f2db"; } - -.fa-crown::before { - content: "\f521"; } - -.fa-weight-hanging::before { - content: "\f5cd"; } - -.fa-xmarks-lines::before { - content: "\e59a"; } - -.fa-file-prescription::before { - content: "\f572"; } - -.fa-weight-scale::before { - content: "\f496"; } - -.fa-weight::before { - content: "\f496"; } - -.fa-user-group::before { - content: "\f500"; } - -.fa-user-friends::before { - content: "\f500"; } - -.fa-arrow-up-a-z::before { - content: "\f15e"; } - -.fa-sort-alpha-up::before { - content: "\f15e"; } - -.fa-chess-knight::before { - content: "\f441"; } - -.fa-face-laugh-squint::before { - content: "\f59b"; } - -.fa-laugh-squint::before { - content: "\f59b"; } - -.fa-wheelchair::before { - content: "\f193"; } - -.fa-circle-arrow-up::before { - content: "\f0aa"; } - -.fa-arrow-circle-up::before { - content: "\f0aa"; } - -.fa-toggle-on::before { - content: "\f205"; } - -.fa-person-walking::before { - content: "\f554"; } - -.fa-walking::before { - content: "\f554"; } - -.fa-l::before { - content: "\4c"; } - -.fa-fire::before { - content: "\f06d"; } - -.fa-bed-pulse::before { - content: "\f487"; } - -.fa-procedures::before { - content: "\f487"; } - -.fa-shuttle-space::before { - content: "\f197"; } - -.fa-space-shuttle::before { - content: "\f197"; } - -.fa-face-laugh::before { - content: "\f599"; } - -.fa-laugh::before { - content: "\f599"; } - -.fa-folder-open::before { - content: "\f07c"; } - -.fa-heart-circle-plus::before { - content: "\e500"; } - -.fa-code-fork::before { - content: "\e13b"; } - -.fa-city::before { - content: "\f64f"; } - -.fa-microphone-lines::before { - content: "\f3c9"; } - -.fa-microphone-alt::before { - content: "\f3c9"; } - -.fa-pepper-hot::before { - content: "\f816"; } - -.fa-unlock::before { - content: "\f09c"; } - -.fa-colon-sign::before { - content: "\e140"; } - -.fa-headset::before { - content: "\f590"; } - -.fa-store-slash::before { - content: "\e071"; } - -.fa-road-circle-xmark::before { - content: "\e566"; } - -.fa-user-minus::before { - content: "\f503"; } - -.fa-mars-stroke-up::before { - content: "\f22a"; } - -.fa-mars-stroke-v::before { - content: "\f22a"; } - -.fa-champagne-glasses::before { - content: "\f79f"; } - -.fa-glass-cheers::before { - content: "\f79f"; } - -.fa-clipboard::before { - content: "\f328"; } - -.fa-house-circle-exclamation::before { - content: "\e50a"; } - -.fa-file-arrow-up::before { - content: "\f574"; } - -.fa-file-upload::before { - content: "\f574"; } - -.fa-wifi::before { - content: "\f1eb"; } - -.fa-wifi-3::before { - content: "\f1eb"; } - -.fa-wifi-strong::before { - content: "\f1eb"; } - -.fa-bath::before { - content: "\f2cd"; } - -.fa-bathtub::before { - content: "\f2cd"; } - -.fa-underline::before { - content: "\f0cd"; } - -.fa-user-pen::before { - content: "\f4ff"; } - -.fa-user-edit::before { - content: "\f4ff"; } - -.fa-signature::before { - content: "\f5b7"; } - -.fa-stroopwafel::before { - content: "\f551"; } - -.fa-bold::before { - content: "\f032"; } - -.fa-anchor-lock::before { - content: "\e4ad"; } - -.fa-building-ngo::before { - content: "\e4d7"; } - -.fa-manat-sign::before { - content: "\e1d5"; } - -.fa-not-equal::before { - content: "\f53e"; } - -.fa-border-top-left::before { - content: "\f853"; } - -.fa-border-style::before { - content: "\f853"; } - -.fa-map-location-dot::before { - content: "\f5a0"; } - -.fa-map-marked-alt::before { - content: "\f5a0"; } - -.fa-jedi::before { - content: "\f669"; } - -.fa-square-poll-vertical::before { - content: "\f681"; } - -.fa-poll::before { - content: "\f681"; } - -.fa-mug-hot::before { - content: "\f7b6"; } - -.fa-car-battery::before { - content: "\f5df"; } - -.fa-battery-car::before { - content: "\f5df"; } - -.fa-gift::before { - content: "\f06b"; } - -.fa-dice-two::before { - content: "\f528"; } - -.fa-chess-queen::before { - content: "\f445"; } - -.fa-glasses::before { - content: "\f530"; } - -.fa-chess-board::before { - content: "\f43c"; } - -.fa-building-circle-check::before { - content: "\e4d2"; } - -.fa-person-chalkboard::before { - content: "\e53d"; } - -.fa-mars-stroke-right::before { - content: "\f22b"; } - -.fa-mars-stroke-h::before { - content: "\f22b"; } - -.fa-hand-back-fist::before { - content: "\f255"; } - -.fa-hand-rock::before { - content: "\f255"; } - -.fa-square-caret-up::before { - content: "\f151"; } - -.fa-caret-square-up::before { - content: "\f151"; } - -.fa-cloud-showers-water::before { - content: "\e4e4"; } - -.fa-chart-bar::before { - content: "\f080"; } - -.fa-bar-chart::before { - content: "\f080"; } - -.fa-hands-bubbles::before { - content: "\e05e"; } - -.fa-hands-wash::before { - content: "\e05e"; } - -.fa-less-than-equal::before { - content: "\f537"; } - -.fa-train::before { - content: "\f238"; } - -.fa-eye-low-vision::before { - content: "\f2a8"; } - -.fa-low-vision::before { - content: "\f2a8"; } - -.fa-crow::before { - content: "\f520"; } - -.fa-sailboat::before { - content: "\e445"; } - -.fa-window-restore::before { - content: "\f2d2"; } - -.fa-square-plus::before { - content: "\f0fe"; } - -.fa-plus-square::before { - content: "\f0fe"; } - -.fa-torii-gate::before { - content: "\f6a1"; } - -.fa-frog::before { - content: "\f52e"; } - -.fa-bucket::before { - content: "\e4cf"; } - -.fa-image::before { - content: "\f03e"; } - -.fa-microphone::before { - content: "\f130"; } - -.fa-cow::before { - content: "\f6c8"; } - -.fa-caret-up::before { - content: "\f0d8"; } - -.fa-screwdriver::before { - content: "\f54a"; } - -.fa-folder-closed::before { - content: "\e185"; } - -.fa-house-tsunami::before { - content: "\e515"; } - -.fa-square-nfi::before { - content: "\e576"; } - -.fa-arrow-up-from-ground-water::before { - content: "\e4b5"; } - -.fa-martini-glass::before { - content: "\f57b"; } - -.fa-glass-martini-alt::before { - content: "\f57b"; } - -.fa-rotate-left::before { - content: "\f2ea"; } - -.fa-rotate-back::before { - content: "\f2ea"; } - -.fa-rotate-backward::before { - content: "\f2ea"; } - -.fa-undo-alt::before { - content: "\f2ea"; } - -.fa-table-columns::before { - content: "\f0db"; } - -.fa-columns::before { - content: "\f0db"; } - -.fa-lemon::before { - content: "\f094"; } - -.fa-head-side-mask::before { - content: "\e063"; } - -.fa-handshake::before { - content: "\f2b5"; } - -.fa-gem::before { - content: "\f3a5"; } - -.fa-dolly::before { - content: "\f472"; } - -.fa-dolly-box::before { - content: "\f472"; } - -.fa-smoking::before { - content: "\f48d"; } - -.fa-minimize::before { - content: "\f78c"; } - -.fa-compress-arrows-alt::before { - content: "\f78c"; } - -.fa-monument::before { - content: "\f5a6"; } - -.fa-snowplow::before { - content: "\f7d2"; } - -.fa-angles-right::before { - content: "\f101"; } - -.fa-angle-double-right::before { - content: "\f101"; } - -.fa-cannabis::before { - content: "\f55f"; } - -.fa-circle-play::before { - content: "\f144"; } - -.fa-play-circle::before { - content: "\f144"; } - -.fa-tablets::before { - content: "\f490"; } - -.fa-ethernet::before { - content: "\f796"; } - -.fa-euro-sign::before { - content: "\f153"; } - -.fa-eur::before { - content: "\f153"; } - -.fa-euro::before { - content: "\f153"; } - -.fa-chair::before { - content: "\f6c0"; } - -.fa-circle-check::before { - content: "\f058"; } - -.fa-check-circle::before { - content: "\f058"; } - -.fa-circle-stop::before { - content: "\f28d"; } - -.fa-stop-circle::before { - content: "\f28d"; } - -.fa-compass-drafting::before { - content: "\f568"; } - -.fa-drafting-compass::before { - content: "\f568"; } - -.fa-plate-wheat::before { - content: "\e55a"; } - -.fa-icicles::before { - content: "\f7ad"; } - -.fa-person-shelter::before { - content: "\e54f"; } - -.fa-neuter::before { - content: "\f22c"; } - -.fa-id-badge::before { - content: "\f2c1"; } - -.fa-marker::before { - content: "\f5a1"; } - -.fa-face-laugh-beam::before { - content: "\f59a"; } - -.fa-laugh-beam::before { - content: "\f59a"; } - -.fa-helicopter-symbol::before { - content: "\e502"; } - -.fa-universal-access::before { - content: "\f29a"; } - -.fa-circle-chevron-up::before { - content: "\f139"; } - -.fa-chevron-circle-up::before { - content: "\f139"; } - -.fa-lari-sign::before { - content: "\e1c8"; } - -.fa-volcano::before { - content: "\f770"; } - -.fa-person-walking-dashed-line-arrow-right::before { - content: "\e553"; } - -.fa-sterling-sign::before { - content: "\f154"; } - -.fa-gbp::before { - content: "\f154"; } - -.fa-pound-sign::before { - content: "\f154"; } - -.fa-viruses::before { - content: "\e076"; } - -.fa-square-person-confined::before { - content: "\e577"; } - -.fa-user-tie::before { - content: "\f508"; } - -.fa-arrow-down-long::before { - content: "\f175"; } - -.fa-long-arrow-down::before { - content: "\f175"; } - -.fa-tent-arrow-down-to-line::before { - content: "\e57e"; } - -.fa-certificate::before { - content: "\f0a3"; } - -.fa-reply-all::before { - content: "\f122"; } - -.fa-mail-reply-all::before { - content: "\f122"; } - -.fa-suitcase::before { - content: "\f0f2"; } - -.fa-person-skating::before { - content: "\f7c5"; } - -.fa-skating::before { - content: "\f7c5"; } - -.fa-filter-circle-dollar::before { - content: "\f662"; } - -.fa-funnel-dollar::before { - content: "\f662"; } - -.fa-camera-retro::before { - content: "\f083"; } - -.fa-circle-arrow-down::before { - content: "\f0ab"; } - -.fa-arrow-circle-down::before { - content: "\f0ab"; } - -.fa-file-import::before { - content: "\f56f"; } - -.fa-arrow-right-to-file::before { - content: "\f56f"; } - -.fa-square-arrow-up-right::before { - content: "\f14c"; } - -.fa-external-link-square::before { - content: "\f14c"; } - -.fa-box-open::before { - content: "\f49e"; } - -.fa-scroll::before { - content: "\f70e"; } - -.fa-spa::before { - content: "\f5bb"; } - -.fa-location-pin-lock::before { - content: "\e51f"; } - -.fa-pause::before { - content: "\f04c"; } - -.fa-hill-avalanche::before { - content: "\e507"; } - -.fa-temperature-empty::before { - content: "\f2cb"; } - -.fa-temperature-0::before { - content: "\f2cb"; } - -.fa-thermometer-0::before { - content: "\f2cb"; } - -.fa-thermometer-empty::before { - content: "\f2cb"; } - -.fa-bomb::before { - content: "\f1e2"; } - -.fa-registered::before { - content: "\f25d"; } - -.fa-address-card::before { - content: "\f2bb"; } - -.fa-contact-card::before { - content: "\f2bb"; } - -.fa-vcard::before { - content: "\f2bb"; } - -.fa-scale-unbalanced-flip::before { - content: "\f516"; } - -.fa-balance-scale-right::before { - content: "\f516"; } - -.fa-subscript::before { - content: "\f12c"; } - -.fa-diamond-turn-right::before { - content: "\f5eb"; } - -.fa-directions::before { - content: "\f5eb"; } - -.fa-burst::before { - content: "\e4dc"; } - -.fa-house-laptop::before { - content: "\e066"; } - -.fa-laptop-house::before { - content: "\e066"; } - -.fa-face-tired::before { - content: "\f5c8"; } - -.fa-tired::before { - content: "\f5c8"; } - -.fa-money-bills::before { - content: "\e1f3"; } - -.fa-smog::before { - content: "\f75f"; } - -.fa-crutch::before { - content: "\f7f7"; } - -.fa-cloud-arrow-up::before { - content: "\f0ee"; } - -.fa-cloud-upload::before { - content: "\f0ee"; } - -.fa-cloud-upload-alt::before { - content: "\f0ee"; } - -.fa-palette::before { - content: "\f53f"; } - -.fa-arrows-turn-right::before { - content: "\e4c0"; } - -.fa-vest::before { - content: "\e085"; } - -.fa-ferry::before { - content: "\e4ea"; } - -.fa-arrows-down-to-people::before { - content: "\e4b9"; } - -.fa-seedling::before { - content: "\f4d8"; } - -.fa-sprout::before { - content: "\f4d8"; } - -.fa-left-right::before { - content: "\f337"; } - -.fa-arrows-alt-h::before { - content: "\f337"; } - -.fa-boxes-packing::before { - content: "\e4c7"; } - -.fa-circle-arrow-left::before { - content: "\f0a8"; } - -.fa-arrow-circle-left::before { - content: "\f0a8"; } - -.fa-group-arrows-rotate::before { - content: "\e4f6"; } - -.fa-bowl-food::before { - content: "\e4c6"; } - -.fa-candy-cane::before { - content: "\f786"; } - -.fa-arrow-down-wide-short::before { - content: "\f160"; } - -.fa-sort-amount-asc::before { - content: "\f160"; } - -.fa-sort-amount-down::before { - content: "\f160"; } - -.fa-cloud-bolt::before { - content: "\f76c"; } - -.fa-thunderstorm::before { - content: "\f76c"; } - -.fa-text-slash::before { - content: "\f87d"; } - -.fa-remove-format::before { - content: "\f87d"; } - -.fa-face-smile-wink::before { - content: "\f4da"; } - -.fa-smile-wink::before { - content: "\f4da"; } - -.fa-file-word::before { - content: "\f1c2"; } - -.fa-file-powerpoint::before { - content: "\f1c4"; } - -.fa-arrows-left-right::before { - content: "\f07e"; } - -.fa-arrows-h::before { - content: "\f07e"; } - -.fa-house-lock::before { - content: "\e510"; } - -.fa-cloud-arrow-down::before { - content: "\f0ed"; } - -.fa-cloud-download::before { - content: "\f0ed"; } - -.fa-cloud-download-alt::before { - content: "\f0ed"; } - -.fa-children::before { - content: "\e4e1"; } - -.fa-chalkboard::before { - content: "\f51b"; } - -.fa-blackboard::before { - content: "\f51b"; } - -.fa-user-large-slash::before { - content: "\f4fa"; } - -.fa-user-alt-slash::before { - content: "\f4fa"; } - -.fa-envelope-open::before { - content: "\f2b6"; } - -.fa-handshake-simple-slash::before { - content: "\e05f"; } - -.fa-handshake-alt-slash::before { - content: "\e05f"; } - -.fa-mattress-pillow::before { - content: "\e525"; } - -.fa-guarani-sign::before { - content: "\e19a"; } - -.fa-arrows-rotate::before { - content: "\f021"; } - -.fa-refresh::before { - content: "\f021"; } - -.fa-sync::before { - content: "\f021"; } - -.fa-fire-extinguisher::before { - content: "\f134"; } - -.fa-cruzeiro-sign::before { - content: "\e152"; } - -.fa-greater-than-equal::before { - content: "\f532"; } - -.fa-shield-halved::before { - content: "\f3ed"; } - -.fa-shield-alt::before { - content: "\f3ed"; } - -.fa-book-atlas::before { - content: "\f558"; } - -.fa-atlas::before { - content: "\f558"; } - -.fa-virus::before { - content: "\e074"; } - -.fa-envelope-circle-check::before { - content: "\e4e8"; } - -.fa-layer-group::before { - content: "\f5fd"; } - -.fa-arrows-to-dot::before { - content: "\e4be"; } - -.fa-archway::before { - content: "\f557"; } - -.fa-heart-circle-check::before { - content: "\e4fd"; } - -.fa-house-chimney-crack::before { - content: "\f6f1"; } - -.fa-house-damage::before { - content: "\f6f1"; } - -.fa-file-zipper::before { - content: "\f1c6"; } - -.fa-file-archive::before { - content: "\f1c6"; } - -.fa-square::before { - content: "\f0c8"; } - -.fa-martini-glass-empty::before { - content: "\f000"; } - -.fa-glass-martini::before { - content: "\f000"; } - -.fa-couch::before { - content: "\f4b8"; } - -.fa-cedi-sign::before { - content: "\e0df"; } - -.fa-italic::before { - content: "\f033"; } - -.fa-table-cells-column-lock::before { - content: "\e678"; } - -.fa-church::before { - content: "\f51d"; } - -.fa-comments-dollar::before { - content: "\f653"; } - -.fa-democrat::before { - content: "\f747"; } - -.fa-z::before { - content: "\5a"; } - -.fa-person-skiing::before { - content: "\f7c9"; } - -.fa-skiing::before { - content: "\f7c9"; } - -.fa-road-lock::before { - content: "\e567"; } - -.fa-a::before { - content: "\41"; } - -.fa-temperature-arrow-down::before { - content: "\e03f"; } - -.fa-temperature-down::before { - content: "\e03f"; } - -.fa-feather-pointed::before { - content: "\f56b"; } - -.fa-feather-alt::before { - content: "\f56b"; } - -.fa-p::before { - content: "\50"; } - -.fa-snowflake::before { - content: "\f2dc"; } - -.fa-newspaper::before { - content: "\f1ea"; } - -.fa-rectangle-ad::before { - content: "\f641"; } - -.fa-ad::before { - content: "\f641"; } - -.fa-circle-arrow-right::before { - content: "\f0a9"; } - -.fa-arrow-circle-right::before { - content: "\f0a9"; } - -.fa-filter-circle-xmark::before { - content: "\e17b"; } - -.fa-locust::before { - content: "\e520"; } - -.fa-sort::before { - content: "\f0dc"; } - -.fa-unsorted::before { - content: "\f0dc"; } - -.fa-list-ol::before { - content: "\f0cb"; } - -.fa-list-1-2::before { - content: "\f0cb"; } - -.fa-list-numeric::before { - content: "\f0cb"; } - -.fa-person-dress-burst::before { - content: "\e544"; } - -.fa-money-check-dollar::before { - content: "\f53d"; } - -.fa-money-check-alt::before { - content: "\f53d"; } - -.fa-vector-square::before { - content: "\f5cb"; } - -.fa-bread-slice::before { - content: "\f7ec"; } - -.fa-language::before { - content: "\f1ab"; } - -.fa-face-kiss-wink-heart::before { - content: "\f598"; } - -.fa-kiss-wink-heart::before { - content: "\f598"; } - -.fa-filter::before { - content: "\f0b0"; } - -.fa-question::before { - content: "\3f"; } - -.fa-file-signature::before { - content: "\f573"; } - -.fa-up-down-left-right::before { - content: "\f0b2"; } - -.fa-arrows-alt::before { - content: "\f0b2"; } - -.fa-house-chimney-user::before { - content: "\e065"; } - -.fa-hand-holding-heart::before { - content: "\f4be"; } - -.fa-puzzle-piece::before { - content: "\f12e"; } - -.fa-money-check::before { - content: "\f53c"; } - -.fa-star-half-stroke::before { - content: "\f5c0"; } - -.fa-star-half-alt::before { - content: "\f5c0"; } - -.fa-code::before { - content: "\f121"; } - -.fa-whiskey-glass::before { - content: "\f7a0"; } - -.fa-glass-whiskey::before { - content: "\f7a0"; } - -.fa-building-circle-exclamation::before { - content: "\e4d3"; } - -.fa-magnifying-glass-chart::before { - content: "\e522"; } - -.fa-arrow-up-right-from-square::before { - content: "\f08e"; } - -.fa-external-link::before { - content: "\f08e"; } - -.fa-cubes-stacked::before { - content: "\e4e6"; } - -.fa-won-sign::before { - content: "\f159"; } - -.fa-krw::before { - content: "\f159"; } - -.fa-won::before { - content: "\f159"; } - -.fa-virus-covid::before { - content: "\e4a8"; } - -.fa-austral-sign::before { - content: "\e0a9"; } - -.fa-f::before { - content: "\46"; } - -.fa-leaf::before { - content: "\f06c"; } - -.fa-road::before { - content: "\f018"; } - -.fa-taxi::before { - content: "\f1ba"; } - -.fa-cab::before { - content: "\f1ba"; } - -.fa-person-circle-plus::before { - content: "\e541"; } - -.fa-chart-pie::before { - content: "\f200"; } - -.fa-pie-chart::before { - content: "\f200"; } - -.fa-bolt-lightning::before { - content: "\e0b7"; } - -.fa-sack-xmark::before { - content: "\e56a"; } - -.fa-file-excel::before { - content: "\f1c3"; } - -.fa-file-contract::before { - content: "\f56c"; } - -.fa-fish-fins::before { - content: "\e4f2"; } - -.fa-building-flag::before { - content: "\e4d5"; } - -.fa-face-grin-beam::before { - content: "\f582"; } - -.fa-grin-beam::before { - content: "\f582"; } - -.fa-object-ungroup::before { - content: "\f248"; } - -.fa-poop::before { - content: "\f619"; } - -.fa-location-pin::before { - content: "\f041"; } - -.fa-map-marker::before { - content: "\f041"; } - -.fa-kaaba::before { - content: "\f66b"; } - -.fa-toilet-paper::before { - content: "\f71e"; } - -.fa-helmet-safety::before { - content: "\f807"; } - -.fa-hard-hat::before { - content: "\f807"; } - -.fa-hat-hard::before { - content: "\f807"; } - -.fa-eject::before { - content: "\f052"; } - -.fa-circle-right::before { - content: "\f35a"; } - -.fa-arrow-alt-circle-right::before { - content: "\f35a"; } - -.fa-plane-circle-check::before { - content: "\e555"; } - -.fa-face-rolling-eyes::before { - content: "\f5a5"; } - -.fa-meh-rolling-eyes::before { - content: "\f5a5"; } - -.fa-object-group::before { - content: "\f247"; } - -.fa-chart-line::before { - content: "\f201"; } - -.fa-line-chart::before { - content: "\f201"; } - -.fa-mask-ventilator::before { - content: "\e524"; } - -.fa-arrow-right::before { - content: "\f061"; } - -.fa-signs-post::before { - content: "\f277"; } - -.fa-map-signs::before { - content: "\f277"; } - -.fa-cash-register::before { - content: "\f788"; } - -.fa-person-circle-question::before { - content: "\e542"; } - -.fa-h::before { - content: "\48"; } - -.fa-tarp::before { - content: "\e57b"; } - -.fa-screwdriver-wrench::before { - content: "\f7d9"; } - -.fa-tools::before { - content: "\f7d9"; } - -.fa-arrows-to-eye::before { - content: "\e4bf"; } - -.fa-plug-circle-bolt::before { - content: "\e55b"; } - -.fa-heart::before { - content: "\f004"; } - -.fa-mars-and-venus::before { - content: "\f224"; } - -.fa-house-user::before { - content: "\e1b0"; } - -.fa-home-user::before { - content: "\e1b0"; } - -.fa-dumpster-fire::before { - content: "\f794"; } - -.fa-house-crack::before { - content: "\e3b1"; } - -.fa-martini-glass-citrus::before { - content: "\f561"; } - -.fa-cocktail::before { - content: "\f561"; } - -.fa-face-surprise::before { - content: "\f5c2"; } - -.fa-surprise::before { - content: "\f5c2"; } - -.fa-bottle-water::before { - content: "\e4c5"; } - -.fa-circle-pause::before { - content: "\f28b"; } - -.fa-pause-circle::before { - content: "\f28b"; } - -.fa-toilet-paper-slash::before { - content: "\e072"; } - -.fa-apple-whole::before { - content: "\f5d1"; } - -.fa-apple-alt::before { - content: "\f5d1"; } - -.fa-kitchen-set::before { - content: "\e51a"; } - -.fa-r::before { - content: "\52"; } - -.fa-temperature-quarter::before { - content: "\f2ca"; } - -.fa-temperature-1::before { - content: "\f2ca"; } - -.fa-thermometer-1::before { - content: "\f2ca"; } - -.fa-thermometer-quarter::before { - content: "\f2ca"; } - -.fa-cube::before { - content: "\f1b2"; } - -.fa-bitcoin-sign::before { - content: "\e0b4"; } - -.fa-shield-dog::before { - content: "\e573"; } - -.fa-solar-panel::before { - content: "\f5ba"; } - -.fa-lock-open::before { - content: "\f3c1"; } - -.fa-elevator::before { - content: "\e16d"; } - -.fa-money-bill-transfer::before { - content: "\e528"; } - -.fa-money-bill-trend-up::before { - content: "\e529"; } - -.fa-house-flood-water-circle-arrow-right::before { - content: "\e50f"; } - -.fa-square-poll-horizontal::before { - content: "\f682"; } - -.fa-poll-h::before { - content: "\f682"; } - -.fa-circle::before { - content: "\f111"; } - -.fa-backward-fast::before { - content: "\f049"; } - -.fa-fast-backward::before { - content: "\f049"; } - -.fa-recycle::before { - content: "\f1b8"; } - -.fa-user-astronaut::before { - content: "\f4fb"; } - -.fa-plane-slash::before { - content: "\e069"; } - -.fa-trademark::before { - content: "\f25c"; } - -.fa-basketball::before { - content: "\f434"; } - -.fa-basketball-ball::before { - content: "\f434"; } - -.fa-satellite-dish::before { - content: "\f7c0"; } - -.fa-circle-up::before { - content: "\f35b"; } - -.fa-arrow-alt-circle-up::before { - content: "\f35b"; } - -.fa-mobile-screen-button::before { - content: "\f3cd"; } - -.fa-mobile-alt::before { - content: "\f3cd"; } - -.fa-volume-high::before { - content: "\f028"; } - -.fa-volume-up::before { - content: "\f028"; } - -.fa-users-rays::before { - content: "\e593"; } - -.fa-wallet::before { - content: "\f555"; } - -.fa-clipboard-check::before { - content: "\f46c"; } - -.fa-file-audio::before { - content: "\f1c7"; } - -.fa-burger::before { - content: "\f805"; } - -.fa-hamburger::before { - content: "\f805"; } - -.fa-wrench::before { - content: "\f0ad"; } - -.fa-bugs::before { - content: "\e4d0"; } - -.fa-rupee-sign::before { - content: "\f156"; } - -.fa-rupee::before { - content: "\f156"; } - -.fa-file-image::before { - content: "\f1c5"; } - -.fa-circle-question::before { - content: "\f059"; } - -.fa-question-circle::before { - content: "\f059"; } - -.fa-plane-departure::before { - content: "\f5b0"; } - -.fa-handshake-slash::before { - content: "\e060"; } - -.fa-book-bookmark::before { - content: "\e0bb"; } - -.fa-code-branch::before { - content: "\f126"; } - -.fa-hat-cowboy::before { - content: "\f8c0"; } - -.fa-bridge::before { - content: "\e4c8"; } - -.fa-phone-flip::before { - content: "\f879"; } - -.fa-phone-alt::before { - content: "\f879"; } - -.fa-truck-front::before { - content: "\e2b7"; } - -.fa-cat::before { - content: "\f6be"; } - -.fa-anchor-circle-exclamation::before { - content: "\e4ab"; } - -.fa-truck-field::before { - content: "\e58d"; } - -.fa-route::before { - content: "\f4d7"; } - -.fa-clipboard-question::before { - content: "\e4e3"; } - -.fa-panorama::before { - content: "\e209"; } - -.fa-comment-medical::before { - content: "\f7f5"; } - -.fa-teeth-open::before { - content: "\f62f"; } - -.fa-file-circle-minus::before { - content: "\e4ed"; } - -.fa-tags::before { - content: "\f02c"; } - -.fa-wine-glass::before { - content: "\f4e3"; } - -.fa-forward-fast::before { - content: "\f050"; } - -.fa-fast-forward::before { - content: "\f050"; } - -.fa-face-meh-blank::before { - content: "\f5a4"; } - -.fa-meh-blank::before { - content: "\f5a4"; } - -.fa-square-parking::before { - content: "\f540"; } - -.fa-parking::before { - content: "\f540"; } - -.fa-house-signal::before { - content: "\e012"; } - -.fa-bars-progress::before { - content: "\f828"; } - -.fa-tasks-alt::before { - content: "\f828"; } - -.fa-faucet-drip::before { - content: "\e006"; } - -.fa-cart-flatbed::before { - content: "\f474"; } - -.fa-dolly-flatbed::before { - content: "\f474"; } - -.fa-ban-smoking::before { - content: "\f54d"; } - -.fa-smoking-ban::before { - content: "\f54d"; } - -.fa-terminal::before { - content: "\f120"; } - -.fa-mobile-button::before { - content: "\f10b"; } - -.fa-house-medical-flag::before { - content: "\e514"; } - -.fa-basket-shopping::before { - content: "\f291"; } - -.fa-shopping-basket::before { - content: "\f291"; } - -.fa-tape::before { - content: "\f4db"; } - -.fa-bus-simple::before { - content: "\f55e"; } - -.fa-bus-alt::before { - content: "\f55e"; } - -.fa-eye::before { - content: "\f06e"; } - -.fa-face-sad-cry::before { - content: "\f5b3"; } - -.fa-sad-cry::before { - content: "\f5b3"; } - -.fa-audio-description::before { - content: "\f29e"; } - -.fa-person-military-to-person::before { - content: "\e54c"; } - -.fa-file-shield::before { - content: "\e4f0"; } - -.fa-user-slash::before { - content: "\f506"; } - -.fa-pen::before { - content: "\f304"; } - -.fa-tower-observation::before { - content: "\e586"; } - -.fa-file-code::before { - content: "\f1c9"; } - -.fa-signal::before { - content: "\f012"; } - -.fa-signal-5::before { - content: "\f012"; } - -.fa-signal-perfect::before { - content: "\f012"; } - -.fa-bus::before { - content: "\f207"; } - -.fa-heart-circle-xmark::before { - content: "\e501"; } - -.fa-house-chimney::before { - content: "\e3af"; } - -.fa-home-lg::before { - content: "\e3af"; } - -.fa-window-maximize::before { - content: "\f2d0"; } - -.fa-face-frown::before { - content: "\f119"; } - -.fa-frown::before { - content: "\f119"; } - -.fa-prescription::before { - content: "\f5b1"; } - -.fa-shop::before { - content: "\f54f"; } - -.fa-store-alt::before { - content: "\f54f"; } - -.fa-floppy-disk::before { - content: "\f0c7"; } - -.fa-save::before { - content: "\f0c7"; } - -.fa-vihara::before { - content: "\f6a7"; } - -.fa-scale-unbalanced::before { - content: "\f515"; } - -.fa-balance-scale-left::before { - content: "\f515"; } - -.fa-sort-up::before { - content: "\f0de"; } - -.fa-sort-asc::before { - content: "\f0de"; } - -.fa-comment-dots::before { - content: "\f4ad"; } - -.fa-commenting::before { - content: "\f4ad"; } - -.fa-plant-wilt::before { - content: "\e5aa"; } - -.fa-diamond::before { - content: "\f219"; } - -.fa-face-grin-squint::before { - content: "\f585"; } - -.fa-grin-squint::before { - content: "\f585"; } - -.fa-hand-holding-dollar::before { - content: "\f4c0"; } - -.fa-hand-holding-usd::before { - content: "\f4c0"; } - -.fa-bacterium::before { - content: "\e05a"; } - -.fa-hand-pointer::before { - content: "\f25a"; } - -.fa-drum-steelpan::before { - content: "\f56a"; } - -.fa-hand-scissors::before { - content: "\f257"; } - -.fa-hands-praying::before { - content: "\f684"; } - -.fa-praying-hands::before { - content: "\f684"; } - -.fa-arrow-rotate-right::before { - content: "\f01e"; } - -.fa-arrow-right-rotate::before { - content: "\f01e"; } - -.fa-arrow-rotate-forward::before { - content: "\f01e"; } - -.fa-redo::before { - content: "\f01e"; } - -.fa-biohazard::before { - content: "\f780"; } - -.fa-location-crosshairs::before { - content: "\f601"; } - -.fa-location::before { - content: "\f601"; } - -.fa-mars-double::before { - content: "\f227"; } - -.fa-child-dress::before { - content: "\e59c"; } - -.fa-users-between-lines::before { - content: "\e591"; } - -.fa-lungs-virus::before { - content: "\e067"; } - -.fa-face-grin-tears::before { - content: "\f588"; } - -.fa-grin-tears::before { - content: "\f588"; } - -.fa-phone::before { - content: "\f095"; } - -.fa-calendar-xmark::before { - content: "\f273"; } - -.fa-calendar-times::before { - content: "\f273"; } - -.fa-child-reaching::before { - content: "\e59d"; } - -.fa-head-side-virus::before { - content: "\e064"; } - -.fa-user-gear::before { - content: "\f4fe"; } - -.fa-user-cog::before { - content: "\f4fe"; } - -.fa-arrow-up-1-9::before { - content: "\f163"; } - -.fa-sort-numeric-up::before { - content: "\f163"; } - -.fa-door-closed::before { - content: "\f52a"; } - -.fa-shield-virus::before { - content: "\e06c"; } - -.fa-dice-six::before { - content: "\f526"; } - -.fa-mosquito-net::before { - content: "\e52c"; } - -.fa-bridge-water::before { - content: "\e4ce"; } - -.fa-person-booth::before { - content: "\f756"; } - -.fa-text-width::before { - content: "\f035"; } - -.fa-hat-wizard::before { - content: "\f6e8"; } - -.fa-pen-fancy::before { - content: "\f5ac"; } - -.fa-person-digging::before { - content: "\f85e"; } - -.fa-digging::before { - content: "\f85e"; } - -.fa-trash::before { - content: "\f1f8"; } - -.fa-gauge-simple::before { - content: "\f629"; } - -.fa-gauge-simple-med::before { - content: "\f629"; } - -.fa-tachometer-average::before { - content: "\f629"; } - -.fa-book-medical::before { - content: "\f7e6"; } - -.fa-poo::before { - content: "\f2fe"; } - -.fa-quote-right::before { - content: "\f10e"; } - -.fa-quote-right-alt::before { - content: "\f10e"; } - -.fa-shirt::before { - content: "\f553"; } - -.fa-t-shirt::before { - content: "\f553"; } - -.fa-tshirt::before { - content: "\f553"; } - -.fa-cubes::before { - content: "\f1b3"; } - -.fa-divide::before { - content: "\f529"; } - -.fa-tenge-sign::before { - content: "\f7d7"; } - -.fa-tenge::before { - content: "\f7d7"; } - -.fa-headphones::before { - content: "\f025"; } - -.fa-hands-holding::before { - content: "\f4c2"; } - -.fa-hands-clapping::before { - content: "\e1a8"; } - -.fa-republican::before { - content: "\f75e"; } - -.fa-arrow-left::before { - content: "\f060"; } - -.fa-person-circle-xmark::before { - content: "\e543"; } - -.fa-ruler::before { - content: "\f545"; } - -.fa-align-left::before { - content: "\f036"; } - -.fa-dice-d6::before { - content: "\f6d1"; } - -.fa-restroom::before { - content: "\f7bd"; } - -.fa-j::before { - content: "\4a"; } - -.fa-users-viewfinder::before { - content: "\e595"; } - -.fa-file-video::before { - content: "\f1c8"; } - -.fa-up-right-from-square::before { - content: "\f35d"; } - -.fa-external-link-alt::before { - content: "\f35d"; } - -.fa-table-cells::before { - content: "\f00a"; } - -.fa-th::before { - content: "\f00a"; } - -.fa-file-pdf::before { - content: "\f1c1"; } - -.fa-book-bible::before { - content: "\f647"; } - -.fa-bible::before { - content: "\f647"; } - -.fa-o::before { - content: "\4f"; } - -.fa-suitcase-medical::before { - content: "\f0fa"; } - -.fa-medkit::before { - content: "\f0fa"; } - -.fa-user-secret::before { - content: "\f21b"; } - -.fa-otter::before { - content: "\f700"; } - -.fa-person-dress::before { - content: "\f182"; } - -.fa-female::before { - content: "\f182"; } - -.fa-comment-dollar::before { - content: "\f651"; } - -.fa-business-time::before { - content: "\f64a"; } - -.fa-briefcase-clock::before { - content: "\f64a"; } - -.fa-table-cells-large::before { - content: "\f009"; } - -.fa-th-large::before { - content: "\f009"; } - -.fa-book-tanakh::before { - content: "\f827"; } - -.fa-tanakh::before { - content: "\f827"; } - -.fa-phone-volume::before { - content: "\f2a0"; } - -.fa-volume-control-phone::before { - content: "\f2a0"; } - -.fa-hat-cowboy-side::before { - content: "\f8c1"; } - -.fa-clipboard-user::before { - content: "\f7f3"; } - -.fa-child::before { - content: "\f1ae"; } - -.fa-lira-sign::before { - content: "\f195"; } - -.fa-satellite::before { - content: "\f7bf"; } - -.fa-plane-lock::before { - content: "\e558"; } - -.fa-tag::before { - content: "\f02b"; } - -.fa-comment::before { - content: "\f075"; } - -.fa-cake-candles::before { - content: "\f1fd"; } - -.fa-birthday-cake::before { - content: "\f1fd"; } - -.fa-cake::before { - content: "\f1fd"; } - -.fa-envelope::before { - content: "\f0e0"; } - -.fa-angles-up::before { - content: "\f102"; } - -.fa-angle-double-up::before { - content: "\f102"; } - -.fa-paperclip::before { - content: "\f0c6"; } - -.fa-arrow-right-to-city::before { - content: "\e4b3"; } - -.fa-ribbon::before { - content: "\f4d6"; } - -.fa-lungs::before { - content: "\f604"; } - -.fa-arrow-up-9-1::before { - content: "\f887"; } - -.fa-sort-numeric-up-alt::before { - content: "\f887"; } - -.fa-litecoin-sign::before { - content: "\e1d3"; } - -.fa-border-none::before { - content: "\f850"; } - -.fa-circle-nodes::before { - content: "\e4e2"; } - -.fa-parachute-box::before { - content: "\f4cd"; } - -.fa-indent::before { - content: "\f03c"; } - -.fa-truck-field-un::before { - content: "\e58e"; } - -.fa-hourglass::before { - content: "\f254"; } - -.fa-hourglass-empty::before { - content: "\f254"; } - -.fa-mountain::before { - content: "\f6fc"; } - -.fa-user-doctor::before { - content: "\f0f0"; } - -.fa-user-md::before { - content: "\f0f0"; } - -.fa-circle-info::before { - content: "\f05a"; } - -.fa-info-circle::before { - content: "\f05a"; } - -.fa-cloud-meatball::before { - content: "\f73b"; } - -.fa-camera::before { - content: "\f030"; } - -.fa-camera-alt::before { - content: "\f030"; } - -.fa-square-virus::before { - content: "\e578"; } - -.fa-meteor::before { - content: "\f753"; } - -.fa-car-on::before { - content: "\e4dd"; } - -.fa-sleigh::before { - content: "\f7cc"; } - -.fa-arrow-down-1-9::before { - content: "\f162"; } - -.fa-sort-numeric-asc::before { - content: "\f162"; } - -.fa-sort-numeric-down::before { - content: "\f162"; } - -.fa-hand-holding-droplet::before { - content: "\f4c1"; } - -.fa-hand-holding-water::before { - content: "\f4c1"; } - -.fa-water::before { - content: "\f773"; } - -.fa-calendar-check::before { - content: "\f274"; } - -.fa-braille::before { - content: "\f2a1"; } - -.fa-prescription-bottle-medical::before { - content: "\f486"; } - -.fa-prescription-bottle-alt::before { - content: "\f486"; } - -.fa-landmark::before { - content: "\f66f"; } - -.fa-truck::before { - content: "\f0d1"; } - -.fa-crosshairs::before { - content: "\f05b"; } - -.fa-person-cane::before { - content: "\e53c"; } - -.fa-tent::before { - content: "\e57d"; } - -.fa-vest-patches::before { - content: "\e086"; } - -.fa-check-double::before { - content: "\f560"; } - -.fa-arrow-down-a-z::before { - content: "\f15d"; } - -.fa-sort-alpha-asc::before { - content: "\f15d"; } - -.fa-sort-alpha-down::before { - content: "\f15d"; } - -.fa-money-bill-wheat::before { - content: "\e52a"; } - -.fa-cookie::before { - content: "\f563"; } - -.fa-arrow-rotate-left::before { - content: "\f0e2"; } - -.fa-arrow-left-rotate::before { - content: "\f0e2"; } - -.fa-arrow-rotate-back::before { - content: "\f0e2"; } - -.fa-arrow-rotate-backward::before { - content: "\f0e2"; } - -.fa-undo::before { - content: "\f0e2"; } - -.fa-hard-drive::before { - content: "\f0a0"; } - -.fa-hdd::before { - content: "\f0a0"; } - -.fa-face-grin-squint-tears::before { - content: "\f586"; } - -.fa-grin-squint-tears::before { - content: "\f586"; } - -.fa-dumbbell::before { - content: "\f44b"; } - -.fa-rectangle-list::before { - content: "\f022"; } - -.fa-list-alt::before { - content: "\f022"; } - -.fa-tarp-droplet::before { - content: "\e57c"; } - -.fa-house-medical-circle-check::before { - content: "\e511"; } - -.fa-person-skiing-nordic::before { - content: "\f7ca"; } - -.fa-skiing-nordic::before { - content: "\f7ca"; } - -.fa-calendar-plus::before { - content: "\f271"; } - -.fa-plane-arrival::before { - content: "\f5af"; } - -.fa-circle-left::before { - content: "\f359"; } - -.fa-arrow-alt-circle-left::before { - content: "\f359"; } - -.fa-train-subway::before { - content: "\f239"; } - -.fa-subway::before { - content: "\f239"; } - -.fa-chart-gantt::before { - content: "\e0e4"; } - -.fa-indian-rupee-sign::before { - content: "\e1bc"; } - -.fa-indian-rupee::before { - content: "\e1bc"; } - -.fa-inr::before { - content: "\e1bc"; } - -.fa-crop-simple::before { - content: "\f565"; } - -.fa-crop-alt::before { - content: "\f565"; } - -.fa-money-bill-1::before { - content: "\f3d1"; } - -.fa-money-bill-alt::before { - content: "\f3d1"; } - -.fa-left-long::before { - content: "\f30a"; } - -.fa-long-arrow-alt-left::before { - content: "\f30a"; } - -.fa-dna::before { - content: "\f471"; } - -.fa-virus-slash::before { - content: "\e075"; } - -.fa-minus::before { - content: "\f068"; } - -.fa-subtract::before { - content: "\f068"; } - -.fa-chess::before { - content: "\f439"; } - -.fa-arrow-left-long::before { - content: "\f177"; } - -.fa-long-arrow-left::before { - content: "\f177"; } - -.fa-plug-circle-check::before { - content: "\e55c"; } - -.fa-street-view::before { - content: "\f21d"; } - -.fa-franc-sign::before { - content: "\e18f"; } - -.fa-volume-off::before { - content: "\f026"; } - -.fa-hands-asl-interpreting::before { - content: "\f2a3"; } - -.fa-american-sign-language-interpreting::before { - content: "\f2a3"; } - -.fa-asl-interpreting::before { - content: "\f2a3"; } - -.fa-hands-american-sign-language-interpreting::before { - content: "\f2a3"; } - -.fa-gear::before { - content: "\f013"; } - -.fa-cog::before { - content: "\f013"; } - -.fa-droplet-slash::before { - content: "\f5c7"; } - -.fa-tint-slash::before { - content: "\f5c7"; } - -.fa-mosque::before { - content: "\f678"; } - -.fa-mosquito::before { - content: "\e52b"; } - -.fa-star-of-david::before { - content: "\f69a"; } - -.fa-person-military-rifle::before { - content: "\e54b"; } - -.fa-cart-shopping::before { - content: "\f07a"; } - -.fa-shopping-cart::before { - content: "\f07a"; } - -.fa-vials::before { - content: "\f493"; } - -.fa-plug-circle-plus::before { - content: "\e55f"; } - -.fa-place-of-worship::before { - content: "\f67f"; } - -.fa-grip-vertical::before { - content: "\f58e"; } - -.fa-arrow-turn-up::before { - content: "\f148"; } - -.fa-level-up::before { - content: "\f148"; } - -.fa-u::before { - content: "\55"; } - -.fa-square-root-variable::before { - content: "\f698"; } - -.fa-square-root-alt::before { - content: "\f698"; } - -.fa-clock::before { - content: "\f017"; } - -.fa-clock-four::before { - content: "\f017"; } - -.fa-backward-step::before { - content: "\f048"; } - -.fa-step-backward::before { - content: "\f048"; } - -.fa-pallet::before { - content: "\f482"; } - -.fa-faucet::before { - content: "\e005"; } - -.fa-baseball-bat-ball::before { - content: "\f432"; } - -.fa-s::before { - content: "\53"; } - -.fa-timeline::before { - content: "\e29c"; } - -.fa-keyboard::before { - content: "\f11c"; } - -.fa-caret-down::before { - content: "\f0d7"; } - -.fa-house-chimney-medical::before { - content: "\f7f2"; } - -.fa-clinic-medical::before { - content: "\f7f2"; } - -.fa-temperature-three-quarters::before { - content: "\f2c8"; } - -.fa-temperature-3::before { - content: "\f2c8"; } - -.fa-thermometer-3::before { - content: "\f2c8"; } - -.fa-thermometer-three-quarters::before { - content: "\f2c8"; } - -.fa-mobile-screen::before { - content: "\f3cf"; } - -.fa-mobile-android-alt::before { - content: "\f3cf"; } - -.fa-plane-up::before { - content: "\e22d"; } - -.fa-piggy-bank::before { - content: "\f4d3"; } - -.fa-battery-half::before { - content: "\f242"; } - -.fa-battery-3::before { - content: "\f242"; } - -.fa-mountain-city::before { - content: "\e52e"; } - -.fa-coins::before { - content: "\f51e"; } - -.fa-khanda::before { - content: "\f66d"; } - -.fa-sliders::before { - content: "\f1de"; } - -.fa-sliders-h::before { - content: "\f1de"; } - -.fa-folder-tree::before { - content: "\f802"; } - -.fa-network-wired::before { - content: "\f6ff"; } - -.fa-map-pin::before { - content: "\f276"; } - -.fa-hamsa::before { - content: "\f665"; } - -.fa-cent-sign::before { - content: "\e3f5"; } - -.fa-flask::before { - content: "\f0c3"; } - -.fa-person-pregnant::before { - content: "\e31e"; } - -.fa-wand-sparkles::before { - content: "\f72b"; } - -.fa-ellipsis-vertical::before { - content: "\f142"; } - -.fa-ellipsis-v::before { - content: "\f142"; } - -.fa-ticket::before { - content: "\f145"; } - -.fa-power-off::before { - content: "\f011"; } - -.fa-right-long::before { - content: "\f30b"; } - -.fa-long-arrow-alt-right::before { - content: "\f30b"; } - -.fa-flag-usa::before { - content: "\f74d"; } - -.fa-laptop-file::before { - content: "\e51d"; } - -.fa-tty::before { - content: "\f1e4"; } - -.fa-teletype::before { - content: "\f1e4"; } - -.fa-diagram-next::before { - content: "\e476"; } - -.fa-person-rifle::before { - content: "\e54e"; } - -.fa-house-medical-circle-exclamation::before { - content: "\e512"; } - -.fa-closed-captioning::before { - content: "\f20a"; } - -.fa-person-hiking::before { - content: "\f6ec"; } - -.fa-hiking::before { - content: "\f6ec"; } - -.fa-venus-double::before { - content: "\f226"; } - -.fa-images::before { - content: "\f302"; } - -.fa-calculator::before { - content: "\f1ec"; } - -.fa-people-pulling::before { - content: "\e535"; } - -.fa-n::before { - content: "\4e"; } - -.fa-cable-car::before { - content: "\f7da"; } - -.fa-tram::before { - content: "\f7da"; } - -.fa-cloud-rain::before { - content: "\f73d"; } - -.fa-building-circle-xmark::before { - content: "\e4d4"; } - -.fa-ship::before { - content: "\f21a"; } - -.fa-arrows-down-to-line::before { - content: "\e4b8"; } - -.fa-download::before { - content: "\f019"; } - -.fa-face-grin::before { - content: "\f580"; } - -.fa-grin::before { - content: "\f580"; } - -.fa-delete-left::before { - content: "\f55a"; } - -.fa-backspace::before { - content: "\f55a"; } - -.fa-eye-dropper::before { - content: "\f1fb"; } - -.fa-eye-dropper-empty::before { - content: "\f1fb"; } - -.fa-eyedropper::before { - content: "\f1fb"; } - -.fa-file-circle-check::before { - content: "\e5a0"; } - -.fa-forward::before { - content: "\f04e"; } - -.fa-mobile::before { - content: "\f3ce"; } - -.fa-mobile-android::before { - content: "\f3ce"; } - -.fa-mobile-phone::before { - content: "\f3ce"; } - -.fa-face-meh::before { - content: "\f11a"; } - -.fa-meh::before { - content: "\f11a"; } - -.fa-align-center::before { - content: "\f037"; } - -.fa-book-skull::before { - content: "\f6b7"; } - -.fa-book-dead::before { - content: "\f6b7"; } - -.fa-id-card::before { - content: "\f2c2"; } - -.fa-drivers-license::before { - content: "\f2c2"; } - -.fa-outdent::before { - content: "\f03b"; } - -.fa-dedent::before { - content: "\f03b"; } - -.fa-heart-circle-exclamation::before { - content: "\e4fe"; } - -.fa-house::before { - content: "\f015"; } - -.fa-home::before { - content: "\f015"; } - -.fa-home-alt::before { - content: "\f015"; } - -.fa-home-lg-alt::before { - content: "\f015"; } - -.fa-calendar-week::before { - content: "\f784"; } - -.fa-laptop-medical::before { - content: "\f812"; } - -.fa-b::before { - content: "\42"; } - -.fa-file-medical::before { - content: "\f477"; } - -.fa-dice-one::before { - content: "\f525"; } - -.fa-kiwi-bird::before { - content: "\f535"; } - -.fa-arrow-right-arrow-left::before { - content: "\f0ec"; } - -.fa-exchange::before { - content: "\f0ec"; } - -.fa-rotate-right::before { - content: "\f2f9"; } - -.fa-redo-alt::before { - content: "\f2f9"; } - -.fa-rotate-forward::before { - content: "\f2f9"; } - -.fa-utensils::before { - content: "\f2e7"; } - -.fa-cutlery::before { - content: "\f2e7"; } - -.fa-arrow-up-wide-short::before { - content: "\f161"; } - -.fa-sort-amount-up::before { - content: "\f161"; } - -.fa-mill-sign::before { - content: "\e1ed"; } - -.fa-bowl-rice::before { - content: "\e2eb"; } - -.fa-skull::before { - content: "\f54c"; } - -.fa-tower-broadcast::before { - content: "\f519"; } - -.fa-broadcast-tower::before { - content: "\f519"; } - -.fa-truck-pickup::before { - content: "\f63c"; } - -.fa-up-long::before { - content: "\f30c"; } - -.fa-long-arrow-alt-up::before { - content: "\f30c"; } - -.fa-stop::before { - content: "\f04d"; } - -.fa-code-merge::before { - content: "\f387"; } - -.fa-upload::before { - content: "\f093"; } - -.fa-hurricane::before { - content: "\f751"; } - -.fa-mound::before { - content: "\e52d"; } - -.fa-toilet-portable::before { - content: "\e583"; } - -.fa-compact-disc::before { - content: "\f51f"; } - -.fa-file-arrow-down::before { - content: "\f56d"; } - -.fa-file-download::before { - content: "\f56d"; } - -.fa-caravan::before { - content: "\f8ff"; } - -.fa-shield-cat::before { - content: "\e572"; } - -.fa-bolt::before { - content: "\f0e7"; } - -.fa-zap::before { - content: "\f0e7"; } - -.fa-glass-water::before { - content: "\e4f4"; } - -.fa-oil-well::before { - content: "\e532"; } - -.fa-vault::before { - content: "\e2c5"; } - -.fa-mars::before { - content: "\f222"; } - -.fa-toilet::before { - content: "\f7d8"; } - -.fa-plane-circle-xmark::before { - content: "\e557"; } - -.fa-yen-sign::before { - content: "\f157"; } - -.fa-cny::before { - content: "\f157"; } - -.fa-jpy::before { - content: "\f157"; } - -.fa-rmb::before { - content: "\f157"; } - -.fa-yen::before { - content: "\f157"; } - -.fa-ruble-sign::before { - content: "\f158"; } - -.fa-rouble::before { - content: "\f158"; } - -.fa-rub::before { - content: "\f158"; } - -.fa-ruble::before { - content: "\f158"; } - -.fa-sun::before { - content: "\f185"; } - -.fa-guitar::before { - content: "\f7a6"; } - -.fa-face-laugh-wink::before { - content: "\f59c"; } - -.fa-laugh-wink::before { - content: "\f59c"; } - -.fa-horse-head::before { - content: "\f7ab"; } - -.fa-bore-hole::before { - content: "\e4c3"; } - -.fa-industry::before { - content: "\f275"; } - -.fa-circle-down::before { - content: "\f358"; } - -.fa-arrow-alt-circle-down::before { - content: "\f358"; } - -.fa-arrows-turn-to-dots::before { - content: "\e4c1"; } - -.fa-florin-sign::before { - content: "\e184"; } - -.fa-arrow-down-short-wide::before { - content: "\f884"; } - -.fa-sort-amount-desc::before { - content: "\f884"; } - -.fa-sort-amount-down-alt::before { - content: "\f884"; } - -.fa-less-than::before { - content: "\3c"; } - -.fa-angle-down::before { - content: "\f107"; } - -.fa-car-tunnel::before { - content: "\e4de"; } - -.fa-head-side-cough::before { - content: "\e061"; } - -.fa-grip-lines::before { - content: "\f7a4"; } - -.fa-thumbs-down::before { - content: "\f165"; } - -.fa-user-lock::before { - content: "\f502"; } - -.fa-arrow-right-long::before { - content: "\f178"; } - -.fa-long-arrow-right::before { - content: "\f178"; } - -.fa-anchor-circle-xmark::before { - content: "\e4ac"; } - -.fa-ellipsis::before { - content: "\f141"; } - -.fa-ellipsis-h::before { - content: "\f141"; } - -.fa-chess-pawn::before { - content: "\f443"; } - -.fa-kit-medical::before { - content: "\f479"; } - -.fa-first-aid::before { - content: "\f479"; } - -.fa-person-through-window::before { - content: "\e5a9"; } - -.fa-toolbox::before { - content: "\f552"; } - -.fa-hands-holding-circle::before { - content: "\e4fb"; } - -.fa-bug::before { - content: "\f188"; } - -.fa-credit-card::before { - content: "\f09d"; } - -.fa-credit-card-alt::before { - content: "\f09d"; } - -.fa-car::before { - content: "\f1b9"; } - -.fa-automobile::before { - content: "\f1b9"; } - -.fa-hand-holding-hand::before { - content: "\e4f7"; } - -.fa-book-open-reader::before { - content: "\f5da"; } - -.fa-book-reader::before { - content: "\f5da"; } - -.fa-mountain-sun::before { - content: "\e52f"; } - -.fa-arrows-left-right-to-line::before { - content: "\e4ba"; } - -.fa-dice-d20::before { - content: "\f6cf"; } - -.fa-truck-droplet::before { - content: "\e58c"; } - -.fa-file-circle-xmark::before { - content: "\e5a1"; } - -.fa-temperature-arrow-up::before { - content: "\e040"; } - -.fa-temperature-up::before { - content: "\e040"; } - -.fa-medal::before { - content: "\f5a2"; } - -.fa-bed::before { - content: "\f236"; } - -.fa-square-h::before { - content: "\f0fd"; } - -.fa-h-square::before { - content: "\f0fd"; } - -.fa-podcast::before { - content: "\f2ce"; } - -.fa-temperature-full::before { - content: "\f2c7"; } - -.fa-temperature-4::before { - content: "\f2c7"; } - -.fa-thermometer-4::before { - content: "\f2c7"; } - -.fa-thermometer-full::before { - content: "\f2c7"; } - -.fa-bell::before { - content: "\f0f3"; } - -.fa-superscript::before { - content: "\f12b"; } - -.fa-plug-circle-xmark::before { - content: "\e560"; } - -.fa-star-of-life::before { - content: "\f621"; } - -.fa-phone-slash::before { - content: "\f3dd"; } - -.fa-paint-roller::before { - content: "\f5aa"; } - -.fa-handshake-angle::before { - content: "\f4c4"; } - -.fa-hands-helping::before { - content: "\f4c4"; } - -.fa-location-dot::before { - content: "\f3c5"; } - -.fa-map-marker-alt::before { - content: "\f3c5"; } - -.fa-file::before { - content: "\f15b"; } - -.fa-greater-than::before { - content: "\3e"; } - -.fa-person-swimming::before { - content: "\f5c4"; } - -.fa-swimmer::before { - content: "\f5c4"; } - -.fa-arrow-down::before { - content: "\f063"; } - -.fa-droplet::before { - content: "\f043"; } - -.fa-tint::before { - content: "\f043"; } - -.fa-eraser::before { - content: "\f12d"; } - -.fa-earth-americas::before { - content: "\f57d"; } - -.fa-earth::before { - content: "\f57d"; } - -.fa-earth-america::before { - content: "\f57d"; } - -.fa-globe-americas::before { - content: "\f57d"; } - -.fa-person-burst::before { - content: "\e53b"; } - -.fa-dove::before { - content: "\f4ba"; } - -.fa-battery-empty::before { - content: "\f244"; } - -.fa-battery-0::before { - content: "\f244"; } - -.fa-socks::before { - content: "\f696"; } - -.fa-inbox::before { - content: "\f01c"; } - -.fa-section::before { - content: "\e447"; } - -.fa-gauge-high::before { - content: "\f625"; } - -.fa-tachometer-alt::before { - content: "\f625"; } - -.fa-tachometer-alt-fast::before { - content: "\f625"; } - -.fa-envelope-open-text::before { - content: "\f658"; } - -.fa-hospital::before { - content: "\f0f8"; } - -.fa-hospital-alt::before { - content: "\f0f8"; } - -.fa-hospital-wide::before { - content: "\f0f8"; } - -.fa-wine-bottle::before { - content: "\f72f"; } - -.fa-chess-rook::before { - content: "\f447"; } - -.fa-bars-staggered::before { - content: "\f550"; } - -.fa-reorder::before { - content: "\f550"; } - -.fa-stream::before { - content: "\f550"; } - -.fa-dharmachakra::before { - content: "\f655"; } - -.fa-hotdog::before { - content: "\f80f"; } - -.fa-person-walking-with-cane::before { - content: "\f29d"; } - -.fa-blind::before { - content: "\f29d"; } - -.fa-drum::before { - content: "\f569"; } - -.fa-ice-cream::before { - content: "\f810"; } - -.fa-heart-circle-bolt::before { - content: "\e4fc"; } - -.fa-fax::before { - content: "\f1ac"; } - -.fa-paragraph::before { - content: "\f1dd"; } - -.fa-check-to-slot::before { - content: "\f772"; } - -.fa-vote-yea::before { - content: "\f772"; } - -.fa-star-half::before { - content: "\f089"; } - -.fa-boxes-stacked::before { - content: "\f468"; } - -.fa-boxes::before { - content: "\f468"; } - -.fa-boxes-alt::before { - content: "\f468"; } - -.fa-link::before { - content: "\f0c1"; } - -.fa-chain::before { - content: "\f0c1"; } - -.fa-ear-listen::before { - content: "\f2a2"; } - -.fa-assistive-listening-systems::before { - content: "\f2a2"; } - -.fa-tree-city::before { - content: "\e587"; } - -.fa-play::before { - content: "\f04b"; } - -.fa-font::before { - content: "\f031"; } - -.fa-table-cells-row-lock::before { - content: "\e67a"; } - -.fa-rupiah-sign::before { - content: "\e23d"; } - -.fa-magnifying-glass::before { - content: "\f002"; } - -.fa-search::before { - content: "\f002"; } - -.fa-table-tennis-paddle-ball::before { - content: "\f45d"; } - -.fa-ping-pong-paddle-ball::before { - content: "\f45d"; } - -.fa-table-tennis::before { - content: "\f45d"; } - -.fa-person-dots-from-line::before { - content: "\f470"; } - -.fa-diagnoses::before { - content: "\f470"; } - -.fa-trash-can-arrow-up::before { - content: "\f82a"; } - -.fa-trash-restore-alt::before { - content: "\f82a"; } - -.fa-naira-sign::before { - content: "\e1f6"; } - -.fa-cart-arrow-down::before { - content: "\f218"; } - -.fa-walkie-talkie::before { - content: "\f8ef"; } - -.fa-file-pen::before { - content: "\f31c"; } - -.fa-file-edit::before { - content: "\f31c"; } - -.fa-receipt::before { - content: "\f543"; } - -.fa-square-pen::before { - content: "\f14b"; } - -.fa-pen-square::before { - content: "\f14b"; } - -.fa-pencil-square::before { - content: "\f14b"; } - -.fa-suitcase-rolling::before { - content: "\f5c1"; } - -.fa-person-circle-exclamation::before { - content: "\e53f"; } - -.fa-chevron-down::before { - content: "\f078"; } - -.fa-battery-full::before { - content: "\f240"; } - -.fa-battery::before { - content: "\f240"; } - -.fa-battery-5::before { - content: "\f240"; } - -.fa-skull-crossbones::before { - content: "\f714"; } - -.fa-code-compare::before { - content: "\e13a"; } - -.fa-list-ul::before { - content: "\f0ca"; } - -.fa-list-dots::before { - content: "\f0ca"; } - -.fa-school-lock::before { - content: "\e56f"; } - -.fa-tower-cell::before { - content: "\e585"; } - -.fa-down-long::before { - content: "\f309"; } - -.fa-long-arrow-alt-down::before { - content: "\f309"; } - -.fa-ranking-star::before { - content: "\e561"; } - -.fa-chess-king::before { - content: "\f43f"; } - -.fa-person-harassing::before { - content: "\e549"; } - -.fa-brazilian-real-sign::before { - content: "\e46c"; } - -.fa-landmark-dome::before { - content: "\f752"; } - -.fa-landmark-alt::before { - content: "\f752"; } - -.fa-arrow-up::before { - content: "\f062"; } - -.fa-tv::before { - content: "\f26c"; } - -.fa-television::before { - content: "\f26c"; } - -.fa-tv-alt::before { - content: "\f26c"; } - -.fa-shrimp::before { - content: "\e448"; } - -.fa-list-check::before { - content: "\f0ae"; } - -.fa-tasks::before { - content: "\f0ae"; } - -.fa-jug-detergent::before { - content: "\e519"; } - -.fa-circle-user::before { - content: "\f2bd"; } - -.fa-user-circle::before { - content: "\f2bd"; } - -.fa-user-shield::before { - content: "\f505"; } - -.fa-wind::before { - content: "\f72e"; } - -.fa-car-burst::before { - content: "\f5e1"; } - -.fa-car-crash::before { - content: "\f5e1"; } - -.fa-y::before { - content: "\59"; } - -.fa-person-snowboarding::before { - content: "\f7ce"; } - -.fa-snowboarding::before { - content: "\f7ce"; } - -.fa-truck-fast::before { - content: "\f48b"; } - -.fa-shipping-fast::before { - content: "\f48b"; } - -.fa-fish::before { - content: "\f578"; } - -.fa-user-graduate::before { - content: "\f501"; } - -.fa-circle-half-stroke::before { - content: "\f042"; } - -.fa-adjust::before { - content: "\f042"; } - -.fa-clapperboard::before { - content: "\e131"; } - -.fa-circle-radiation::before { - content: "\f7ba"; } - -.fa-radiation-alt::before { - content: "\f7ba"; } - -.fa-baseball::before { - content: "\f433"; } - -.fa-baseball-ball::before { - content: "\f433"; } - -.fa-jet-fighter-up::before { - content: "\e518"; } - -.fa-diagram-project::before { - content: "\f542"; } - -.fa-project-diagram::before { - content: "\f542"; } - -.fa-copy::before { - content: "\f0c5"; } - -.fa-volume-xmark::before { - content: "\f6a9"; } - -.fa-volume-mute::before { - content: "\f6a9"; } - -.fa-volume-times::before { - content: "\f6a9"; } - -.fa-hand-sparkles::before { - content: "\e05d"; } - -.fa-grip::before { - content: "\f58d"; } - -.fa-grip-horizontal::before { - content: "\f58d"; } - -.fa-share-from-square::before { - content: "\f14d"; } - -.fa-share-square::before { - content: "\f14d"; } - -.fa-child-combatant::before { - content: "\e4e0"; } - -.fa-child-rifle::before { - content: "\e4e0"; } - -.fa-gun::before { - content: "\e19b"; } - -.fa-square-phone::before { - content: "\f098"; } - -.fa-phone-square::before { - content: "\f098"; } - -.fa-plus::before { - content: "\2b"; } - -.fa-add::before { - content: "\2b"; } - -.fa-expand::before { - content: "\f065"; } - -.fa-computer::before { - content: "\e4e5"; } - -.fa-xmark::before { - content: "\f00d"; } - -.fa-close::before { - content: "\f00d"; } - -.fa-multiply::before { - content: "\f00d"; } - -.fa-remove::before { - content: "\f00d"; } - -.fa-times::before { - content: "\f00d"; } - -.fa-arrows-up-down-left-right::before { - content: "\f047"; } - -.fa-arrows::before { - content: "\f047"; } - -.fa-chalkboard-user::before { - content: "\f51c"; } - -.fa-chalkboard-teacher::before { - content: "\f51c"; } - -.fa-peso-sign::before { - content: "\e222"; } - -.fa-building-shield::before { - content: "\e4d8"; } - -.fa-baby::before { - content: "\f77c"; } - -.fa-users-line::before { - content: "\e592"; } - -.fa-quote-left::before { - content: "\f10d"; } - -.fa-quote-left-alt::before { - content: "\f10d"; } - -.fa-tractor::before { - content: "\f722"; } - -.fa-trash-arrow-up::before { - content: "\f829"; } - -.fa-trash-restore::before { - content: "\f829"; } - -.fa-arrow-down-up-lock::before { - content: "\e4b0"; } - -.fa-lines-leaning::before { - content: "\e51e"; } - -.fa-ruler-combined::before { - content: "\f546"; } - -.fa-copyright::before { - content: "\f1f9"; } - -.fa-equals::before { - content: "\3d"; } - -.fa-blender::before { - content: "\f517"; } - -.fa-teeth::before { - content: "\f62e"; } - -.fa-shekel-sign::before { - content: "\f20b"; } - -.fa-ils::before { - content: "\f20b"; } - -.fa-shekel::before { - content: "\f20b"; } - -.fa-sheqel::before { - content: "\f20b"; } - -.fa-sheqel-sign::before { - content: "\f20b"; } - -.fa-map::before { - content: "\f279"; } - -.fa-rocket::before { - content: "\f135"; } - -.fa-photo-film::before { - content: "\f87c"; } - -.fa-photo-video::before { - content: "\f87c"; } - -.fa-folder-minus::before { - content: "\f65d"; } - -.fa-store::before { - content: "\f54e"; } - -.fa-arrow-trend-up::before { - content: "\e098"; } - -.fa-plug-circle-minus::before { - content: "\e55e"; } - -.fa-sign-hanging::before { - content: "\f4d9"; } - -.fa-sign::before { - content: "\f4d9"; } - -.fa-bezier-curve::before { - content: "\f55b"; } - -.fa-bell-slash::before { - content: "\f1f6"; } - -.fa-tablet::before { - content: "\f3fb"; } - -.fa-tablet-android::before { - content: "\f3fb"; } - -.fa-school-flag::before { - content: "\e56e"; } - -.fa-fill::before { - content: "\f575"; } - -.fa-angle-up::before { - content: "\f106"; } - -.fa-drumstick-bite::before { - content: "\f6d7"; } - -.fa-holly-berry::before { - content: "\f7aa"; } - -.fa-chevron-left::before { - content: "\f053"; } - -.fa-bacteria::before { - content: "\e059"; } - -.fa-hand-lizard::before { - content: "\f258"; } - -.fa-notdef::before { - content: "\e1fe"; } - -.fa-disease::before { - content: "\f7fa"; } - -.fa-briefcase-medical::before { - content: "\f469"; } - -.fa-genderless::before { - content: "\f22d"; } - -.fa-chevron-right::before { - content: "\f054"; } - -.fa-retweet::before { - content: "\f079"; } - -.fa-car-rear::before { - content: "\f5de"; } - -.fa-car-alt::before { - content: "\f5de"; } - -.fa-pump-soap::before { - content: "\e06b"; } - -.fa-video-slash::before { - content: "\f4e2"; } - -.fa-battery-quarter::before { - content: "\f243"; } - -.fa-battery-2::before { - content: "\f243"; } - -.fa-radio::before { - content: "\f8d7"; } - -.fa-baby-carriage::before { - content: "\f77d"; } - -.fa-carriage-baby::before { - content: "\f77d"; } - -.fa-traffic-light::before { - content: "\f637"; } - -.fa-thermometer::before { - content: "\f491"; } - -.fa-vr-cardboard::before { - content: "\f729"; } - -.fa-hand-middle-finger::before { - content: "\f806"; } - -.fa-percent::before { - content: "\25"; } - -.fa-percentage::before { - content: "\25"; } - -.fa-truck-moving::before { - content: "\f4df"; } - -.fa-glass-water-droplet::before { - content: "\e4f5"; } - -.fa-display::before { - content: "\e163"; } - -.fa-face-smile::before { - content: "\f118"; } - -.fa-smile::before { - content: "\f118"; } - -.fa-thumbtack::before { - content: "\f08d"; } - -.fa-thumb-tack::before { - content: "\f08d"; } - -.fa-trophy::before { - content: "\f091"; } - -.fa-person-praying::before { - content: "\f683"; } - -.fa-pray::before { - content: "\f683"; } - -.fa-hammer::before { - content: "\f6e3"; } - -.fa-hand-peace::before { - content: "\f25b"; } - -.fa-rotate::before { - content: "\f2f1"; } - -.fa-sync-alt::before { - content: "\f2f1"; } - -.fa-spinner::before { - content: "\f110"; } - -.fa-robot::before { - content: "\f544"; } - -.fa-peace::before { - content: "\f67c"; } - -.fa-gears::before { - content: "\f085"; } - -.fa-cogs::before { - content: "\f085"; } - -.fa-warehouse::before { - content: "\f494"; } - -.fa-arrow-up-right-dots::before { - content: "\e4b7"; } - -.fa-splotch::before { - content: "\f5bc"; } - -.fa-face-grin-hearts::before { - content: "\f584"; } - -.fa-grin-hearts::before { - content: "\f584"; } - -.fa-dice-four::before { - content: "\f524"; } - -.fa-sim-card::before { - content: "\f7c4"; } - -.fa-transgender::before { - content: "\f225"; } - -.fa-transgender-alt::before { - content: "\f225"; } - -.fa-mercury::before { - content: "\f223"; } - -.fa-arrow-turn-down::before { - content: "\f149"; } - -.fa-level-down::before { - content: "\f149"; } - -.fa-person-falling-burst::before { - content: "\e547"; } - -.fa-award::before { - content: "\f559"; } - -.fa-ticket-simple::before { - content: "\f3ff"; } - -.fa-ticket-alt::before { - content: "\f3ff"; } - -.fa-building::before { - content: "\f1ad"; } - -.fa-angles-left::before { - content: "\f100"; } - -.fa-angle-double-left::before { - content: "\f100"; } - -.fa-qrcode::before { - content: "\f029"; } - -.fa-clock-rotate-left::before { - content: "\f1da"; } - -.fa-history::before { - content: "\f1da"; } - -.fa-face-grin-beam-sweat::before { - content: "\f583"; } - -.fa-grin-beam-sweat::before { - content: "\f583"; } - -.fa-file-export::before { - content: "\f56e"; } - -.fa-arrow-right-from-file::before { - content: "\f56e"; } - -.fa-shield::before { - content: "\f132"; } - -.fa-shield-blank::before { - content: "\f132"; } - -.fa-arrow-up-short-wide::before { - content: "\f885"; } - -.fa-sort-amount-up-alt::before { - content: "\f885"; } - -.fa-house-medical::before { - content: "\e3b2"; } - -.fa-golf-ball-tee::before { - content: "\f450"; } - -.fa-golf-ball::before { - content: "\f450"; } - -.fa-circle-chevron-left::before { - content: "\f137"; } - -.fa-chevron-circle-left::before { - content: "\f137"; } - -.fa-house-chimney-window::before { - content: "\e00d"; } - -.fa-pen-nib::before { - content: "\f5ad"; } - -.fa-tent-arrow-turn-left::before { - content: "\e580"; } - -.fa-tents::before { - content: "\e582"; } - -.fa-wand-magic::before { - content: "\f0d0"; } - -.fa-magic::before { - content: "\f0d0"; } - -.fa-dog::before { - content: "\f6d3"; } - -.fa-carrot::before { - content: "\f787"; } - -.fa-moon::before { - content: "\f186"; } - -.fa-wine-glass-empty::before { - content: "\f5ce"; } - -.fa-wine-glass-alt::before { - content: "\f5ce"; } - -.fa-cheese::before { - content: "\f7ef"; } - -.fa-yin-yang::before { - content: "\f6ad"; } - -.fa-music::before { - content: "\f001"; } - -.fa-code-commit::before { - content: "\f386"; } - -.fa-temperature-low::before { - content: "\f76b"; } - -.fa-person-biking::before { - content: "\f84a"; } - -.fa-biking::before { - content: "\f84a"; } - -.fa-broom::before { - content: "\f51a"; } - -.fa-shield-heart::before { - content: "\e574"; } - -.fa-gopuram::before { - content: "\f664"; } - -.fa-earth-oceania::before { - content: "\e47b"; } - -.fa-globe-oceania::before { - content: "\e47b"; } - -.fa-square-xmark::before { - content: "\f2d3"; } - -.fa-times-square::before { - content: "\f2d3"; } - -.fa-xmark-square::before { - content: "\f2d3"; } - -.fa-hashtag::before { - content: "\23"; } - -.fa-up-right-and-down-left-from-center::before { - content: "\f424"; } - -.fa-expand-alt::before { - content: "\f424"; } - -.fa-oil-can::before { - content: "\f613"; } - -.fa-t::before { - content: "\54"; } - -.fa-hippo::before { - content: "\f6ed"; } - -.fa-chart-column::before { - content: "\e0e3"; } - -.fa-infinity::before { - content: "\f534"; } - -.fa-vial-circle-check::before { - content: "\e596"; } - -.fa-person-arrow-down-to-line::before { - content: "\e538"; } - -.fa-voicemail::before { - content: "\f897"; } - -.fa-fan::before { - content: "\f863"; } - -.fa-person-walking-luggage::before { - content: "\e554"; } - -.fa-up-down::before { - content: "\f338"; } - -.fa-arrows-alt-v::before { - content: "\f338"; } - -.fa-cloud-moon-rain::before { - content: "\f73c"; } - -.fa-calendar::before { - content: "\f133"; } - -.fa-trailer::before { - content: "\e041"; } - -.fa-bahai::before { - content: "\f666"; } - -.fa-haykal::before { - content: "\f666"; } - -.fa-sd-card::before { - content: "\f7c2"; } - -.fa-dragon::before { - content: "\f6d5"; } - -.fa-shoe-prints::before { - content: "\f54b"; } - -.fa-circle-plus::before { - content: "\f055"; } - -.fa-plus-circle::before { - content: "\f055"; } - -.fa-face-grin-tongue-wink::before { - content: "\f58b"; } - -.fa-grin-tongue-wink::before { - content: "\f58b"; } - -.fa-hand-holding::before { - content: "\f4bd"; } - -.fa-plug-circle-exclamation::before { - content: "\e55d"; } - -.fa-link-slash::before { - content: "\f127"; } - -.fa-chain-broken::before { - content: "\f127"; } - -.fa-chain-slash::before { - content: "\f127"; } - -.fa-unlink::before { - content: "\f127"; } - -.fa-clone::before { - content: "\f24d"; } - -.fa-person-walking-arrow-loop-left::before { - content: "\e551"; } - -.fa-arrow-up-z-a::before { - content: "\f882"; } - -.fa-sort-alpha-up-alt::before { - content: "\f882"; } - -.fa-fire-flame-curved::before { - content: "\f7e4"; } - -.fa-fire-alt::before { - content: "\f7e4"; } - -.fa-tornado::before { - content: "\f76f"; } - -.fa-file-circle-plus::before { - content: "\e494"; } - -.fa-book-quran::before { - content: "\f687"; } - -.fa-quran::before { - content: "\f687"; } - -.fa-anchor::before { - content: "\f13d"; } - -.fa-border-all::before { - content: "\f84c"; } - -.fa-face-angry::before { - content: "\f556"; } - -.fa-angry::before { - content: "\f556"; } - -.fa-cookie-bite::before { - content: "\f564"; } - -.fa-arrow-trend-down::before { - content: "\e097"; } - -.fa-rss::before { - content: "\f09e"; } - -.fa-feed::before { - content: "\f09e"; } - -.fa-draw-polygon::before { - content: "\f5ee"; } - -.fa-scale-balanced::before { - content: "\f24e"; } - -.fa-balance-scale::before { - content: "\f24e"; } - -.fa-gauge-simple-high::before { - content: "\f62a"; } - -.fa-tachometer::before { - content: "\f62a"; } - -.fa-tachometer-fast::before { - content: "\f62a"; } - -.fa-shower::before { - content: "\f2cc"; } - -.fa-desktop::before { - content: "\f390"; } - -.fa-desktop-alt::before { - content: "\f390"; } - -.fa-m::before { - content: "\4d"; } - -.fa-table-list::before { - content: "\f00b"; } - -.fa-th-list::before { - content: "\f00b"; } - -.fa-comment-sms::before { - content: "\f7cd"; } - -.fa-sms::before { - content: "\f7cd"; } - -.fa-book::before { - content: "\f02d"; } - -.fa-user-plus::before { - content: "\f234"; } - -.fa-check::before { - content: "\f00c"; } - -.fa-battery-three-quarters::before { - content: "\f241"; } - -.fa-battery-4::before { - content: "\f241"; } - -.fa-house-circle-check::before { - content: "\e509"; } - -.fa-angle-left::before { - content: "\f104"; } - -.fa-diagram-successor::before { - content: "\e47a"; } - -.fa-truck-arrow-right::before { - content: "\e58b"; } - -.fa-arrows-split-up-and-left::before { - content: "\e4bc"; } - -.fa-hand-fist::before { - content: "\f6de"; } - -.fa-fist-raised::before { - content: "\f6de"; } - -.fa-cloud-moon::before { - content: "\f6c3"; } - -.fa-briefcase::before { - content: "\f0b1"; } - -.fa-person-falling::before { - content: "\e546"; } - -.fa-image-portrait::before { - content: "\f3e0"; } - -.fa-portrait::before { - content: "\f3e0"; } - -.fa-user-tag::before { - content: "\f507"; } - -.fa-rug::before { - content: "\e569"; } - -.fa-earth-europe::before { - content: "\f7a2"; } - -.fa-globe-europe::before { - content: "\f7a2"; } - -.fa-cart-flatbed-suitcase::before { - content: "\f59d"; } - -.fa-luggage-cart::before { - content: "\f59d"; } - -.fa-rectangle-xmark::before { - content: "\f410"; } - -.fa-rectangle-times::before { - content: "\f410"; } - -.fa-times-rectangle::before { - content: "\f410"; } - -.fa-window-close::before { - content: "\f410"; } - -.fa-baht-sign::before { - content: "\e0ac"; } - -.fa-book-open::before { - content: "\f518"; } - -.fa-book-journal-whills::before { - content: "\f66a"; } - -.fa-journal-whills::before { - content: "\f66a"; } - -.fa-handcuffs::before { - content: "\e4f8"; } - -.fa-triangle-exclamation::before { - content: "\f071"; } - -.fa-exclamation-triangle::before { - content: "\f071"; } - -.fa-warning::before { - content: "\f071"; } - -.fa-database::before { - content: "\f1c0"; } - -.fa-share::before { - content: "\f064"; } - -.fa-mail-forward::before { - content: "\f064"; } - -.fa-bottle-droplet::before { - content: "\e4c4"; } - -.fa-mask-face::before { - content: "\e1d7"; } - -.fa-hill-rockslide::before { - content: "\e508"; } - -.fa-right-left::before { - content: "\f362"; } - -.fa-exchange-alt::before { - content: "\f362"; } - -.fa-paper-plane::before { - content: "\f1d8"; } - -.fa-road-circle-exclamation::before { - content: "\e565"; } - -.fa-dungeon::before { - content: "\f6d9"; } - -.fa-align-right::before { - content: "\f038"; } - -.fa-money-bill-1-wave::before { - content: "\f53b"; } - -.fa-money-bill-wave-alt::before { - content: "\f53b"; } - -.fa-life-ring::before { - content: "\f1cd"; } - -.fa-hands::before { - content: "\f2a7"; } - -.fa-sign-language::before { - content: "\f2a7"; } - -.fa-signing::before { - content: "\f2a7"; } - -.fa-calendar-day::before { - content: "\f783"; } - -.fa-water-ladder::before { - content: "\f5c5"; } - -.fa-ladder-water::before { - content: "\f5c5"; } - -.fa-swimming-pool::before { - content: "\f5c5"; } - -.fa-arrows-up-down::before { - content: "\f07d"; } - -.fa-arrows-v::before { - content: "\f07d"; } - -.fa-face-grimace::before { - content: "\f57f"; } - -.fa-grimace::before { - content: "\f57f"; } - -.fa-wheelchair-move::before { - content: "\e2ce"; } - -.fa-wheelchair-alt::before { - content: "\e2ce"; } - -.fa-turn-down::before { - content: "\f3be"; } - -.fa-level-down-alt::before { - content: "\f3be"; } - -.fa-person-walking-arrow-right::before { - content: "\e552"; } - -.fa-square-envelope::before { - content: "\f199"; } - -.fa-envelope-square::before { - content: "\f199"; } - -.fa-dice::before { - content: "\f522"; } - -.fa-bowling-ball::before { - content: "\f436"; } - -.fa-brain::before { - content: "\f5dc"; } - -.fa-bandage::before { - content: "\f462"; } - -.fa-band-aid::before { - content: "\f462"; } - -.fa-calendar-minus::before { - content: "\f272"; } - -.fa-circle-xmark::before { - content: "\f057"; } - -.fa-times-circle::before { - content: "\f057"; } - -.fa-xmark-circle::before { - content: "\f057"; } - -.fa-gifts::before { - content: "\f79c"; } - -.fa-hotel::before { - content: "\f594"; } - -.fa-earth-asia::before { - content: "\f57e"; } - -.fa-globe-asia::before { - content: "\f57e"; } - -.fa-id-card-clip::before { - content: "\f47f"; } - -.fa-id-card-alt::before { - content: "\f47f"; } - -.fa-magnifying-glass-plus::before { - content: "\f00e"; } - -.fa-search-plus::before { - content: "\f00e"; } - -.fa-thumbs-up::before { - content: "\f164"; } - -.fa-user-clock::before { - content: "\f4fd"; } - -.fa-hand-dots::before { - content: "\f461"; } - -.fa-allergies::before { - content: "\f461"; } - -.fa-file-invoice::before { - content: "\f570"; } - -.fa-window-minimize::before { - content: "\f2d1"; } - -.fa-mug-saucer::before { - content: "\f0f4"; } - -.fa-coffee::before { - content: "\f0f4"; } - -.fa-brush::before { - content: "\f55d"; } - -.fa-mask::before { - content: "\f6fa"; } - -.fa-magnifying-glass-minus::before { - content: "\f010"; } - -.fa-search-minus::before { - content: "\f010"; } - -.fa-ruler-vertical::before { - content: "\f548"; } - -.fa-user-large::before { - content: "\f406"; } - -.fa-user-alt::before { - content: "\f406"; } - -.fa-train-tram::before { - content: "\e5b4"; } - -.fa-user-nurse::before { - content: "\f82f"; } - -.fa-syringe::before { - content: "\f48e"; } - -.fa-cloud-sun::before { - content: "\f6c4"; } - -.fa-stopwatch-20::before { - content: "\e06f"; } - -.fa-square-full::before { - content: "\f45c"; } - -.fa-magnet::before { - content: "\f076"; } - -.fa-jar::before { - content: "\e516"; } - -.fa-note-sticky::before { - content: "\f249"; } - -.fa-sticky-note::before { - content: "\f249"; } - -.fa-bug-slash::before { - content: "\e490"; } - -.fa-arrow-up-from-water-pump::before { - content: "\e4b6"; } - -.fa-bone::before { - content: "\f5d7"; } - -.fa-user-injured::before { - content: "\f728"; } - -.fa-face-sad-tear::before { - content: "\f5b4"; } - -.fa-sad-tear::before { - content: "\f5b4"; } - -.fa-plane::before { - content: "\f072"; } - -.fa-tent-arrows-down::before { - content: "\e581"; } - -.fa-exclamation::before { - content: "\21"; } - -.fa-arrows-spin::before { - content: "\e4bb"; } - -.fa-print::before { - content: "\f02f"; } - -.fa-turkish-lira-sign::before { - content: "\e2bb"; } - -.fa-try::before { - content: "\e2bb"; } - -.fa-turkish-lira::before { - content: "\e2bb"; } - -.fa-dollar-sign::before { - content: "\24"; } - -.fa-dollar::before { - content: "\24"; } - -.fa-usd::before { - content: "\24"; } - -.fa-x::before { - content: "\58"; } - -.fa-magnifying-glass-dollar::before { - content: "\f688"; } - -.fa-search-dollar::before { - content: "\f688"; } - -.fa-users-gear::before { - content: "\f509"; } - -.fa-users-cog::before { - content: "\f509"; } - -.fa-person-military-pointing::before { - content: "\e54a"; } - -.fa-building-columns::before { - content: "\f19c"; } - -.fa-bank::before { - content: "\f19c"; } - -.fa-institution::before { - content: "\f19c"; } - -.fa-museum::before { - content: "\f19c"; } - -.fa-university::before { - content: "\f19c"; } - -.fa-umbrella::before { - content: "\f0e9"; } - -.fa-trowel::before { - content: "\e589"; } - -.fa-d::before { - content: "\44"; } - -.fa-stapler::before { - content: "\e5af"; } - -.fa-masks-theater::before { - content: "\f630"; } - -.fa-theater-masks::before { - content: "\f630"; } - -.fa-kip-sign::before { - content: "\e1c4"; } - -.fa-hand-point-left::before { - content: "\f0a5"; } - -.fa-handshake-simple::before { - content: "\f4c6"; } - -.fa-handshake-alt::before { - content: "\f4c6"; } - -.fa-jet-fighter::before { - content: "\f0fb"; } - -.fa-fighter-jet::before { - content: "\f0fb"; } - -.fa-square-share-nodes::before { - content: "\f1e1"; } - -.fa-share-alt-square::before { - content: "\f1e1"; } - -.fa-barcode::before { - content: "\f02a"; } - -.fa-plus-minus::before { - content: "\e43c"; } - -.fa-video::before { - content: "\f03d"; } - -.fa-video-camera::before { - content: "\f03d"; } - -.fa-graduation-cap::before { - content: "\f19d"; } - -.fa-mortar-board::before { - content: "\f19d"; } - -.fa-hand-holding-medical::before { - content: "\e05c"; } - -.fa-person-circle-check::before { - content: "\e53e"; } - -.fa-turn-up::before { - content: "\f3bf"; } - -.fa-level-up-alt::before { - content: "\f3bf"; } - -.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, .td-offline-search-results__close-button:after, -.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: "\f3d0"; } - -.fa-hooli:before { - content: "\f427"; } - -.fa-yelp:before { - content: "\f1e9"; } - -.fa-cc-visa:before { - content: "\f1f0"; } - -.fa-lastfm:before { - content: "\f202"; } - -.fa-shopware:before { - content: "\f5b5"; } - -.fa-creative-commons-nc:before { - content: "\f4e8"; } - -.fa-aws:before { - content: "\f375"; } - -.fa-redhat:before { - content: "\f7bc"; } - -.fa-yoast:before { - content: "\f2b1"; } - -.fa-cloudflare:before { - content: "\e07d"; } - -.fa-ups:before { - content: "\f7e0"; } - -.fa-pixiv:before { - content: "\e640"; } - -.fa-wpexplorer:before { - content: "\f2de"; } - -.fa-dyalog:before { - content: "\f399"; } - -.fa-bity:before { - content: "\f37a"; } - -.fa-stackpath:before { - content: "\f842"; } - -.fa-buysellads:before { - content: "\f20d"; } - -.fa-first-order:before { - content: "\f2b0"; } - -.fa-modx:before { - content: "\f285"; } - -.fa-guilded:before { - content: "\e07e"; } - -.fa-vnv:before { - content: "\f40b"; } - -.fa-square-js:before { - content: "\f3b9"; } - -.fa-js-square:before { - content: "\f3b9"; } - -.fa-microsoft:before { - content: "\f3ca"; } - -.fa-qq:before { - content: "\f1d6"; } - -.fa-orcid:before { - content: "\f8d2"; } - -.fa-java:before { - content: "\f4e4"; } - -.fa-invision:before { - content: "\f7b0"; } - -.fa-creative-commons-pd-alt:before { - content: "\f4ed"; } - -.fa-centercode:before { - content: "\f380"; } - -.fa-glide-g:before { - content: "\f2a6"; } - -.fa-drupal:before { - content: "\f1a9"; } - -.fa-jxl:before { - content: "\e67b"; } - -.fa-hire-a-helper:before { - content: "\f3b0"; } - -.fa-creative-commons-by:before { - content: "\f4e7"; } - -.fa-unity:before { - content: "\e049"; } - -.fa-whmcs:before { - content: "\f40d"; } - -.fa-rocketchat:before { - content: "\f3e8"; } - -.fa-vk:before { - content: "\f189"; } - -.fa-untappd:before { - content: "\f405"; } - -.fa-mailchimp:before { - content: "\f59e"; } - -.fa-css3-alt:before { - content: "\f38b"; } - -.fa-square-reddit:before { - content: "\f1a2"; } - -.fa-reddit-square:before { - content: "\f1a2"; } - -.fa-vimeo-v:before { - content: "\f27d"; } - -.fa-contao:before { - content: "\f26d"; } - -.fa-square-font-awesome:before { - content: "\e5ad"; } - -.fa-deskpro:before { - content: "\f38f"; } - -.fa-brave:before { - content: "\e63c"; } - -.fa-sistrix:before { - content: "\f3ee"; } - -.fa-square-instagram:before { - content: "\e055"; } - -.fa-instagram-square:before { - content: "\e055"; } - -.fa-battle-net:before { - content: "\f835"; } - -.fa-the-red-yeti:before { - content: "\f69d"; } - -.fa-square-hacker-news:before { - content: "\f3af"; } - -.fa-hacker-news-square:before { - content: "\f3af"; } - -.fa-edge:before { - content: "\f282"; } - -.fa-threads:before { - content: "\e618"; } - -.fa-napster:before { - content: "\f3d2"; } - -.fa-square-snapchat:before { - content: "\f2ad"; } - -.fa-snapchat-square:before { - content: "\f2ad"; } - -.fa-google-plus-g:before { - content: "\f0d5"; } - -.fa-artstation:before { - content: "\f77a"; } - -.fa-markdown:before { - content: "\f60f"; } - -.fa-sourcetree:before { - content: "\f7d3"; } - -.fa-google-plus:before { - content: "\f2b3"; } - -.fa-diaspora:before { - content: "\f791"; } - -.fa-foursquare:before { - content: "\f180"; } - -.fa-stack-overflow:before { - content: "\f16c"; } - -.fa-github-alt:before { - content: "\f113"; } - -.fa-phoenix-squadron:before { - content: "\f511"; } - -.fa-pagelines:before { - content: "\f18c"; } - -.fa-algolia:before { - content: "\f36c"; } - -.fa-red-river:before { - content: "\f3e3"; } - -.fa-creative-commons-sa:before { - content: "\f4ef"; } - -.fa-safari:before { - content: "\f267"; } - -.fa-google:before { - content: "\f1a0"; } - -.fa-square-font-awesome-stroke:before { - content: "\f35c"; } - -.fa-font-awesome-alt:before { - content: "\f35c"; } - -.fa-atlassian:before { - content: "\f77b"; } - -.fa-linkedin-in:before { - content: "\f0e1"; } - -.fa-digital-ocean:before { - content: "\f391"; } - -.fa-nimblr:before { - content: "\f5a8"; } - -.fa-chromecast:before { - content: "\f838"; } - -.fa-evernote:before { - content: "\f839"; } - -.fa-hacker-news:before { - content: "\f1d4"; } - -.fa-creative-commons-sampling:before { - content: "\f4f0"; } - -.fa-adversal:before { - content: "\f36a"; } - -.fa-creative-commons:before { - content: "\f25e"; } - -.fa-watchman-monitoring:before { - content: "\e087"; } - -.fa-fonticons:before { - content: "\f280"; } - -.fa-weixin:before { - content: "\f1d7"; } - -.fa-shirtsinbulk:before { - content: "\f214"; } - -.fa-codepen:before { - content: "\f1cb"; } - -.fa-git-alt:before { - content: "\f841"; } - -.fa-lyft:before { - content: "\f3c3"; } - -.fa-rev:before { - content: "\f5b2"; } - -.fa-windows:before { - content: "\f17a"; } - -.fa-wizards-of-the-coast:before { - content: "\f730"; } - -.fa-square-viadeo:before { - content: "\f2aa"; } - -.fa-viadeo-square:before { - content: "\f2aa"; } - -.fa-meetup:before { - content: "\f2e0"; } - -.fa-centos:before { - content: "\f789"; } - -.fa-adn:before { - content: "\f170"; } - -.fa-cloudsmith:before { - content: "\f384"; } - -.fa-opensuse:before { - content: "\e62b"; } - -.fa-pied-piper-alt:before { - content: "\f1a8"; } - -.fa-square-dribbble:before { - content: "\f397"; } - -.fa-dribbble-square:before { - content: "\f397"; } - -.fa-codiepie:before { - content: "\f284"; } - -.fa-node:before { - content: "\f419"; } - -.fa-mix:before { - content: "\f3cb"; } - -.fa-steam:before { - content: "\f1b6"; } - -.fa-cc-apple-pay:before { - content: "\f416"; } - -.fa-scribd:before { - content: "\f28a"; } - -.fa-debian:before { - content: "\e60b"; } - -.fa-openid:before { - content: "\f19b"; } - -.fa-instalod:before { - content: "\e081"; } - -.fa-expeditedssl:before { - content: "\f23e"; } - -.fa-sellcast:before { - content: "\f2da"; } - -.fa-square-twitter:before { - content: "\f081"; } - -.fa-twitter-square:before { - content: "\f081"; } - -.fa-r-project:before { - content: "\f4f7"; } - -.fa-delicious:before { - content: "\f1a5"; } - -.fa-freebsd:before { - content: "\f3a4"; } - -.fa-vuejs:before { - content: "\f41f"; } - -.fa-accusoft:before { - content: "\f369"; } - -.fa-ioxhost:before { - content: "\f208"; } - -.fa-fonticons-fi:before { - content: "\f3a2"; } - -.fa-app-store:before { - content: "\f36f"; } - -.fa-cc-mastercard:before { - content: "\f1f1"; } - -.fa-itunes-note:before { - content: "\f3b5"; } - -.fa-golang:before { - content: "\e40f"; } - -.fa-kickstarter:before { - content: "\f3bb"; } - -.fa-square-kickstarter:before { - content: "\f3bb"; } - -.fa-grav:before { - content: "\f2d6"; } - -.fa-weibo:before { - content: "\f18a"; } - -.fa-uncharted:before { - content: "\e084"; } - -.fa-firstdraft:before { - content: "\f3a1"; } - -.fa-square-youtube:before { - content: "\f431"; } - -.fa-youtube-square:before { - content: "\f431"; } - -.fa-wikipedia-w:before { - content: "\f266"; } - -.fa-wpressr:before { - content: "\f3e4"; } - -.fa-rendact:before { - content: "\f3e4"; } - -.fa-angellist:before { - content: "\f209"; } - -.fa-galactic-republic:before { - content: "\f50c"; } - -.fa-nfc-directional:before { - content: "\e530"; } - -.fa-skype:before { - content: "\f17e"; } - -.fa-joget:before { - content: "\f3b7"; } - -.fa-fedora:before { - content: "\f798"; } - -.fa-stripe-s:before { - content: "\f42a"; } - -.fa-meta:before { - content: "\e49b"; } - -.fa-laravel:before { - content: "\f3bd"; } - -.fa-hotjar:before { - content: "\f3b1"; } - -.fa-bluetooth-b:before { - content: "\f294"; } - -.fa-square-letterboxd:before { - content: "\e62e"; } - -.fa-sticker-mule:before { - content: "\f3f7"; } - -.fa-creative-commons-zero:before { - content: "\f4f3"; } - -.fa-hips:before { - content: "\f452"; } - -.fa-behance:before { - content: "\f1b4"; } - -.fa-reddit:before { - content: "\f1a1"; } - -.fa-discord:before { - content: "\f392"; } - -.fa-chrome:before { - content: "\f268"; } - -.fa-app-store-ios:before { - content: "\f370"; } - -.fa-cc-discover:before { - content: "\f1f2"; } - -.fa-wpbeginner:before { - content: "\f297"; } - -.fa-confluence:before { - content: "\f78d"; } - -.fa-shoelace:before { - content: "\e60c"; } - -.fa-mdb:before { - content: "\f8ca"; } - -.fa-dochub:before { - content: "\f394"; } - -.fa-accessible-icon:before { - content: "\f368"; } - -.fa-ebay:before { - content: "\f4f4"; } - -.fa-amazon:before { - content: "\f270"; } - -.fa-unsplash:before { - content: "\e07c"; } - -.fa-yarn:before { - content: "\f7e3"; } - -.fa-square-steam:before { - content: "\f1b7"; } - -.fa-steam-square:before { - content: "\f1b7"; } - -.fa-500px:before { - content: "\f26e"; } - -.fa-square-vimeo:before { - content: "\f194"; } - -.fa-vimeo-square:before { - content: "\f194"; } - -.fa-asymmetrik:before { - content: "\f372"; } - -.fa-font-awesome:before { - content: "\f2b4"; } - -.fa-font-awesome-flag:before { - content: "\f2b4"; } - -.fa-font-awesome-logo-full:before { - content: "\f2b4"; } - -.fa-gratipay:before { - content: "\f184"; } - -.fa-apple:before { - content: "\f179"; } - -.fa-hive:before { - content: "\e07f"; } - -.fa-gitkraken:before { - content: "\f3a6"; } - -.fa-keybase:before { - content: "\f4f5"; } - -.fa-apple-pay:before { - content: "\f415"; } - -.fa-padlet:before { - content: "\e4a0"; } - -.fa-amazon-pay:before { - content: "\f42c"; } - -.fa-square-github:before { - content: "\f092"; } - -.fa-github-square:before { - content: "\f092"; } - -.fa-stumbleupon:before { - content: "\f1a4"; } - -.fa-fedex:before { - content: "\f797"; } - -.fa-phoenix-framework:before { - content: "\f3dc"; } - -.fa-shopify:before { - content: "\e057"; } - -.fa-neos:before { - content: "\f612"; } - -.fa-square-threads:before { - content: "\e619"; } - -.fa-hackerrank:before { - content: "\f5f7"; } - -.fa-researchgate:before { - content: "\f4f8"; } - -.fa-swift:before { - content: "\f8e1"; } - -.fa-angular:before { - content: "\f420"; } - -.fa-speakap:before { - content: "\f3f3"; } - -.fa-angrycreative:before { - content: "\f36e"; } - -.fa-y-combinator:before { - content: "\f23b"; } - -.fa-empire:before { - content: "\f1d1"; } - -.fa-envira:before { - content: "\f299"; } - -.fa-google-scholar:before { - content: "\e63b"; } - -.fa-square-gitlab:before { - content: "\e5ae"; } - -.fa-gitlab-square:before { - content: "\e5ae"; } - -.fa-studiovinari:before { - content: "\f3f8"; } - -.fa-pied-piper:before { - content: "\f2ae"; } - -.fa-wordpress:before { - content: "\f19a"; } - -.fa-product-hunt:before { - content: "\f288"; } - -.fa-firefox:before { - content: "\f269"; } - -.fa-linode:before { - content: "\f2b8"; } - -.fa-goodreads:before { - content: "\f3a8"; } - -.fa-square-odnoklassniki:before { - content: "\f264"; } - -.fa-odnoklassniki-square:before { - content: "\f264"; } - -.fa-jsfiddle:before { - content: "\f1cc"; } - -.fa-sith:before { - content: "\f512"; } - -.fa-themeisle:before { - content: "\f2b2"; } - -.fa-page4:before { - content: "\f3d7"; } - -.fa-hashnode:before { - content: "\e499"; } - -.fa-react:before { - content: "\f41b"; } - -.fa-cc-paypal:before { - content: "\f1f4"; } - -.fa-squarespace:before { - content: "\f5be"; } - -.fa-cc-stripe:before { - content: "\f1f5"; } - -.fa-creative-commons-share:before { - content: "\f4f2"; } - -.fa-bitcoin:before { - content: "\f379"; } - -.fa-keycdn:before { - content: "\f3ba"; } - -.fa-opera:before { - content: "\f26a"; } - -.fa-itch-io:before { - content: "\f83a"; } - -.fa-umbraco:before { - content: "\f8e8"; } - -.fa-galactic-senate:before { - content: "\f50d"; } - -.fa-ubuntu:before { - content: "\f7df"; } - -.fa-draft2digital:before { - content: "\f396"; } - -.fa-stripe:before { - content: "\f429"; } - -.fa-houzz:before { - content: "\f27c"; } - -.fa-gg:before { - content: "\f260"; } - -.fa-dhl:before { - content: "\f790"; } - -.fa-square-pinterest:before { - content: "\f0d3"; } - -.fa-pinterest-square:before { - content: "\f0d3"; } - -.fa-xing:before { - content: "\f168"; } - -.fa-blackberry:before { - content: "\f37b"; } - -.fa-creative-commons-pd:before { - content: "\f4ec"; } - -.fa-playstation:before { - content: "\f3df"; } - -.fa-quinscape:before { - content: "\f459"; } - -.fa-less:before { - content: "\f41d"; } - -.fa-blogger-b:before { - content: "\f37d"; } - -.fa-opencart:before { - content: "\f23d"; } - -.fa-vine:before { - content: "\f1ca"; } - -.fa-signal-messenger:before { - content: "\e663"; } - -.fa-paypal:before { - content: "\f1ed"; } - -.fa-gitlab:before { - content: "\f296"; } - -.fa-typo3:before { - content: "\f42b"; } - -.fa-reddit-alien:before { - content: "\f281"; } - -.fa-yahoo:before { - content: "\f19e"; } - -.fa-dailymotion:before { - content: "\e052"; } - -.fa-affiliatetheme:before { - content: "\f36b"; } - -.fa-pied-piper-pp:before { - content: "\f1a7"; } - -.fa-bootstrap:before { - content: "\f836"; } - -.fa-odnoklassniki:before { - content: "\f263"; } - -.fa-nfc-symbol:before { - content: "\e531"; } - -.fa-mintbit:before { - content: "\e62f"; } - -.fa-ethereum:before { - content: "\f42e"; } - -.fa-speaker-deck:before { - content: "\f83c"; } - -.fa-creative-commons-nc-eu:before { - content: "\f4e9"; } - -.fa-patreon:before { - content: "\f3d9"; } - -.fa-avianex:before { - content: "\f374"; } - -.fa-ello:before { - content: "\f5f1"; } - -.fa-gofore:before { - content: "\f3a7"; } - -.fa-bimobject:before { - content: "\f378"; } - -.fa-brave-reverse:before { - content: "\e63d"; } - -.fa-facebook-f:before { - content: "\f39e"; } - -.fa-square-google-plus:before { - content: "\f0d4"; } - -.fa-google-plus-square:before { - content: "\f0d4"; } - -.fa-web-awesome:before { - content: "\e682"; } - -.fa-mandalorian:before { - content: "\f50f"; } - -.fa-first-order-alt:before { - content: "\f50a"; } - -.fa-osi:before { - content: "\f41a"; } - -.fa-google-wallet:before { - content: "\f1ee"; } - -.fa-d-and-d-beyond:before { - content: "\f6ca"; } - -.fa-periscope:before { - content: "\f3da"; } - -.fa-fulcrum:before { - content: "\f50b"; } - -.fa-cloudscale:before { - content: "\f383"; } - -.fa-forumbee:before { - content: "\f211"; } - -.fa-mizuni:before { - content: "\f3cc"; } - -.fa-schlix:before { - content: "\f3ea"; } - -.fa-square-xing:before { - content: "\f169"; } - -.fa-xing-square:before { - content: "\f169"; } - -.fa-bandcamp:before { - content: "\f2d5"; } - -.fa-wpforms:before { - content: "\f298"; } - -.fa-cloudversify:before { - content: "\f385"; } - -.fa-usps:before { - content: "\f7e1"; } - -.fa-megaport:before { - content: "\f5a3"; } - -.fa-magento:before { - content: "\f3c4"; } - -.fa-spotify:before { - content: "\f1bc"; } - -.fa-optin-monster:before { - content: "\f23c"; } - -.fa-fly:before { - content: "\f417"; } - -.fa-aviato:before { - content: "\f421"; } - -.fa-itunes:before { - content: "\f3b4"; } - -.fa-cuttlefish:before { - content: "\f38c"; } - -.fa-blogger:before { - content: "\f37c"; } - -.fa-flickr:before { - content: "\f16e"; } - -.fa-viber:before { - content: "\f409"; } - -.fa-soundcloud:before { - content: "\f1be"; } - -.fa-digg:before { - content: "\f1a6"; } - -.fa-tencent-weibo:before { - content: "\f1d5"; } - -.fa-letterboxd:before { - content: "\e62d"; } - -.fa-symfony:before { - content: "\f83d"; } - -.fa-maxcdn:before { - content: "\f136"; } - -.fa-etsy:before { - content: "\f2d7"; } - -.fa-facebook-messenger:before { - content: "\f39f"; } - -.fa-audible:before { - content: "\f373"; } - -.fa-think-peaks:before { - content: "\f731"; } - -.fa-bilibili:before { - content: "\e3d9"; } - -.fa-erlang:before { - content: "\f39d"; } - -.fa-x-twitter:before { - content: "\e61b"; } - -.fa-cotton-bureau:before { - content: "\f89e"; } - -.fa-dashcube:before { - content: "\f210"; } - -.fa-42-group:before { - content: "\e080"; } - -.fa-innosoft:before { - content: "\e080"; } - -.fa-stack-exchange:before { - content: "\f18d"; } - -.fa-elementor:before { - content: "\f430"; } - -.fa-square-pied-piper:before { - content: "\e01e"; } - -.fa-pied-piper-square:before { - content: "\e01e"; } - -.fa-creative-commons-nd:before { - content: "\f4eb"; } - -.fa-palfed:before { - content: "\f3d8"; } - -.fa-superpowers:before { - content: "\f2dd"; } - -.fa-resolving:before { - content: "\f3e7"; } - -.fa-xbox:before { - content: "\f412"; } - -.fa-square-web-awesome-stroke:before { - content: "\e684"; } - -.fa-searchengin:before { - content: "\f3eb"; } - -.fa-tiktok:before { - content: "\e07b"; } - -.fa-square-facebook:before { - content: "\f082"; } - -.fa-facebook-square:before { - content: "\f082"; } - -.fa-renren:before { - content: "\f18b"; } - -.fa-linux:before { - content: "\f17c"; } - -.fa-glide:before { - content: "\f2a5"; } - -.fa-linkedin:before { - content: "\f08c"; } - -.fa-hubspot:before { - content: "\f3b2"; } - -.fa-deploydog:before { - content: "\f38e"; } - -.fa-twitch:before { - content: "\f1e8"; } - -.fa-ravelry:before { - content: "\f2d9"; } - -.fa-mixer:before { - content: "\e056"; } - -.fa-square-lastfm:before { - content: "\f203"; } - -.fa-lastfm-square:before { - content: "\f203"; } - -.fa-vimeo:before { - content: "\f40a"; } - -.fa-mendeley:before { - content: "\f7b3"; } - -.fa-uniregistry:before { - content: "\f404"; } - -.fa-figma:before { - content: "\f799"; } - -.fa-creative-commons-remix:before { - content: "\f4ee"; } - -.fa-cc-amazon-pay:before { - content: "\f42d"; } - -.fa-dropbox:before { - content: "\f16b"; } - -.fa-instagram:before { - content: "\f16d"; } - -.fa-cmplid:before { - content: "\e360"; } - -.fa-upwork:before { - content: "\e641"; } - -.fa-facebook:before { - content: "\f09a"; } - -.fa-gripfire:before { - content: "\f3ac"; } - -.fa-jedi-order:before { - content: "\f50e"; } - -.fa-uikit:before { - content: "\f403"; } - -.fa-fort-awesome-alt:before { - content: "\f3a3"; } - -.fa-phabricator:before { - content: "\f3db"; } - -.fa-ussunnah:before { - content: "\f407"; } - -.fa-earlybirds:before { - content: "\f39a"; } - -.fa-trade-federation:before { - content: "\f513"; } - -.fa-autoprefixer:before { - content: "\f41c"; } - -.fa-whatsapp:before { - content: "\f232"; } - -.fa-square-upwork:before { - content: "\e67c"; } - -.fa-slideshare:before { - content: "\f1e7"; } - -.fa-google-play:before { - content: "\f3ab"; } - -.fa-viadeo:before { - content: "\f2a9"; } - -.fa-line:before { - content: "\f3c0"; } - -.fa-google-drive:before { - content: "\f3aa"; } - -.fa-servicestack:before { - content: "\f3ec"; } - -.fa-simplybuilt:before { - content: "\f215"; } - -.fa-bitbucket:before { - content: "\f171"; } - -.fa-imdb:before { - content: "\f2d8"; } - -.fa-deezer:before { - content: "\e077"; } - -.fa-raspberry-pi:before { - content: "\f7bb"; } - -.fa-jira:before { - content: "\f7b1"; } - -.fa-docker:before { - content: "\f395"; } - -.fa-screenpal:before { - content: "\e570"; } - -.fa-bluetooth:before { - content: "\f293"; } - -.fa-gitter:before { - content: "\f426"; } - -.fa-d-and-d:before { - content: "\f38d"; } - -.fa-microblog:before { - content: "\e01a"; } - -.fa-cc-diners-club:before { - content: "\f24c"; } - -.fa-gg-circle:before { - content: "\f261"; } - -.fa-pied-piper-hat:before { - content: "\f4e5"; } - -.fa-kickstarter-k:before { - content: "\f3bc"; } - -.fa-yandex:before { - content: "\f413"; } - -.fa-readme:before { - content: "\f4d5"; } - -.fa-html5:before { - content: "\f13b"; } - -.fa-sellsy:before { - content: "\f213"; } - -.fa-square-web-awesome:before { - content: "\e683"; } - -.fa-sass:before { - content: "\f41e"; } - -.fa-wirsindhandwerk:before { - content: "\e2d0"; } - -.fa-wsh:before { - content: "\e2d0"; } - -.fa-buromobelexperte:before { - content: "\f37f"; } - -.fa-salesforce:before { - content: "\f83b"; } - -.fa-octopus-deploy:before { - content: "\e082"; } - -.fa-medapps:before { - content: "\f3c6"; } - -.fa-ns8:before { - content: "\f3d5"; } - -.fa-pinterest-p:before { - content: "\f231"; } - -.fa-apper:before { - content: "\f371"; } - -.fa-fort-awesome:before { - content: "\f286"; } - -.fa-waze:before { - content: "\f83f"; } - -.fa-bluesky:before { - content: "\e671"; } - -.fa-cc-jcb:before { - content: "\f24b"; } - -.fa-snapchat:before { - content: "\f2ab"; } - -.fa-snapchat-ghost:before { - content: "\f2ab"; } - -.fa-fantasy-flight-games:before { - content: "\f6dc"; } - -.fa-rust:before { - content: "\e07a"; } - -.fa-wix:before { - content: "\f5cf"; } - -.fa-square-behance:before { - content: "\f1b5"; } - -.fa-behance-square:before { - content: "\f1b5"; } - -.fa-supple:before { - content: "\f3f9"; } - -.fa-webflow:before { - content: "\e65c"; } - -.fa-rebel:before { - content: "\f1d0"; } - -.fa-css3:before { - content: "\f13c"; } - -.fa-staylinked:before { - content: "\f3f5"; } - -.fa-kaggle:before { - content: "\f5fa"; } - -.fa-space-awesome:before { - content: "\e5ac"; } - -.fa-deviantart:before { - content: "\f1bd"; } - -.fa-cpanel:before { - content: "\f388"; } - -.fa-goodreads-g:before { - content: "\f3a9"; } - -.fa-square-git:before { - content: "\f1d2"; } - -.fa-git-square:before { - content: "\f1d2"; } - -.fa-square-tumblr:before { - content: "\f174"; } - -.fa-tumblr-square:before { - content: "\f174"; } - -.fa-trello:before { - content: "\f181"; } - -.fa-creative-commons-nc-jp:before { - content: "\f4ea"; } - -.fa-get-pocket:before { - content: "\f265"; } - -.fa-perbyte:before { - content: "\e083"; } - -.fa-grunt:before { - content: "\f3ad"; } - -.fa-weebly:before { - content: "\f5cc"; } - -.fa-connectdevelop:before { - content: "\f20e"; } - -.fa-leanpub:before { - content: "\f212"; } - -.fa-black-tie:before { - content: "\f27e"; } - -.fa-themeco:before { - content: "\f5c6"; } - -.fa-python:before { - content: "\f3e2"; } - -.fa-android:before { - content: "\f17b"; } - -.fa-bots:before { - content: "\e340"; } - -.fa-free-code-camp:before { - content: "\f2c5"; } - -.fa-hornbill:before { - content: "\f592"; } - -.fa-js:before { - content: "\f3b8"; } - -.fa-ideal:before { - content: "\e013"; } - -.fa-git:before { - content: "\f1d3"; } - -.fa-dev:before { - content: "\f6cc"; } - -.fa-sketch:before { - content: "\f7c6"; } - -.fa-yandex-international:before { - content: "\f414"; } - -.fa-cc-amex:before { - content: "\f1f3"; } - -.fa-uber:before { - content: "\f402"; } - -.fa-github:before { - content: "\f09b"; } - -.fa-php:before { - content: "\f457"; } - -.fa-alipay:before { - content: "\f642"; } - -.fa-youtube:before { - content: "\f167"; } - -.fa-skyatlas:before { - content: "\f216"; } - -.fa-firefox-browser:before { - content: "\e007"; } - -.fa-replyd:before { - content: "\f3e6"; } - -.fa-suse:before { - content: "\f7d6"; } - -.fa-jenkins:before { - content: "\f3b6"; } - -.fa-twitter:before { - content: "\f099"; } - -.fa-rockrms:before { - content: "\f3e9"; } - -.fa-pinterest:before { - content: "\f0d2"; } - -.fa-buffer:before { - content: "\f837"; } - -.fa-npm:before { - content: "\f3d4"; } - -.fa-yammer:before { - content: "\f840"; } - -.fa-btc:before { - content: "\f15a"; } - -.fa-dribbble:before { - content: "\f17d"; } - -.fa-stumbleupon-circle:before { - content: "\f1a3"; } - -.fa-internet-explorer:before { - content: "\f26b"; } - -.fa-stubber:before { - content: "\e5c7"; } - -.fa-telegram:before { - content: "\f2c6"; } - -.fa-telegram-plane:before { - content: "\f2c6"; } - -.fa-old-republic:before { - content: "\f510"; } - -.fa-odysee:before { - content: "\e5c6"; } - -.fa-square-whatsapp:before { - content: "\f40c"; } - -.fa-whatsapp-square:before { - content: "\f40c"; } - -.fa-node-js:before { - content: "\f3d3"; } - -.fa-edge-legacy:before { - content: "\e078"; } - -.fa-slack:before { - content: "\f198"; } - -.fa-slack-hash:before { - content: "\f198"; } - -.fa-medrt:before { - content: "\f3c8"; } - -.fa-usb:before { - content: "\f287"; } - -.fa-tumblr:before { - content: "\f173"; } - -.fa-vaadin:before { - content: "\f408"; } - -.fa-quora:before { - content: "\f2c4"; } - -.fa-square-x-twitter:before { - content: "\e61a"; } - -.fa-reacteurope:before { - content: "\f75d"; } - -.fa-medium:before { - content: "\f23a"; } - -.fa-medium-m:before { - content: "\f23a"; } - -.fa-amilia:before { - content: "\f36d"; } - -.fa-mixcloud:before { - content: "\f289"; } - -.fa-flipboard:before { - content: "\f44d"; } - -.fa-viacoin:before { - content: "\f237"; } - -.fa-critical-role:before { - content: "\f6c9"; } - -.fa-sitrox:before { - content: "\e44a"; } - -.fa-discourse:before { - content: "\f393"; } - -.fa-joomla:before { - content: "\f1aa"; } - -.fa-mastodon:before { - content: "\f4f6"; } - -.fa-airbnb:before { - content: "\f834"; } - -.fa-wolf-pack-battalion:before { - content: "\f514"; } - -.fa-buy-n-large:before { - content: "\f8a6"; } - -.fa-gulp:before { - content: "\f3ae"; } - -.fa-creative-commons-sampling-plus:before { - content: "\f4f1"; } - -.fa-strava:before { - content: "\f428"; } - -.fa-ember:before { - content: "\f423"; } - -.fa-canadian-maple-leaf:before { - content: "\f785"; } - -.fa-teamspeak:before { - content: "\f4f9"; } - -.fa-pushed:before { - content: "\f3e1"; } - -.fa-wordpress-simple:before { - content: "\f411"; } - -.fa-nutritionix:before { - content: "\f3d6"; } - -.fa-wodu:before { - content: "\e088"; } - -.fa-google-pay:before { - content: "\e079"; } - -.fa-intercom:before { - content: "\f7af"; } - -.fa-zhihu:before { - content: "\f63f"; } - -.fa-korvue:before { - content: "\f42f"; } - -.fa-pix:before { - content: "\e43a"; } - -.fa-steam-symbol:before { - content: "\f3f6"; } - -/* -Projects can override this file. For details, see: -https://www.docsy.dev/docs/adding-content/lookandfeel/#project-style-files -*/ -.td-border-top { - border: none; - border-top: 1px solid #eee; } - -.td-border-none { - border: none; } - -.td-block-padding, .td-default main section { - padding-top: 4rem; - padding-bottom: 4rem; } - @media (min-width: 768px) { - .td-block-padding, .td-default main section { - padding-top: 5rem; - padding-bottom: 5rem; } } -.td-overlay { - position: relative; } - .td-overlay::after { - content: ""; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; } - .td-overlay--dark::after { - background-color: rgba(64, 63, 76, 0.3); } - .td-overlay--light::after { - background-color: rgba(211, 243, 238, 0.3); } - .td-overlay__inner { - position: relative; - z-index: 1; } - -@media (min-width: 992px) { - .td-max-width-on-larger-screens, .td-card.card, .td-card-group.card-group, .td-content > .tab-content .tab-pane, .td-content .footnotes, - .td-content > .alert, - .td-content > .highlight, - .td-content > .lead, - .td-content > .td-table, - .td-box .td-content > table, - .td-content > table, - .td-content > blockquote, - .td-content > dl dd, - .td-content > h1, - .td-content > .h1, - .td-content > h2, - .td-content > .h2, - .td-content > ol, - .td-content > p, - .td-content > pre, - .td-content > ul { - max-width: 80%; } } - -.-bg-blue { - color: #fff; - background-color: #0d6efd; } - -.-bg-blue p:not(.p-initial) > a { - color: #81b3fe; } - .-bg-blue p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-blue { - color: #0d6efd; } - -.-bg-indigo { - color: #fff; - background-color: #6610f2; } - -.-bg-indigo p:not(.p-initial) > a { - color: #85b6fe; } - .-bg-indigo p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-indigo { - color: #6610f2; } - -.-bg-purple { - color: #fff; - background-color: #6f42c1; } - -.-bg-purple p:not(.p-initial) > a { - color: #84b5fe; } - .-bg-purple p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-purple { - color: #6f42c1; } - -.-bg-pink { - color: #fff; - background-color: #d63384; } - -.-bg-pink p:not(.p-initial) > a { - color: #81b4fe; } - .-bg-pink p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-pink { - color: #d63384; } - -.-bg-red { - color: #fff; - background-color: #dc3545; } - -.-bg-red p:not(.p-initial) > a { - color: #7db1fe; } - .-bg-red p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-red { - color: #dc3545; } - -.-bg-orange { - color: #000; - background-color: #fd7e14; } - -.-bg-orange p:not(.p-initial) > a { - color: #073b87; } - .-bg-orange p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-orange { - color: #fd7e14; } - -.-bg-yellow { - color: #000; - background-color: #ffc107; } - -.-bg-yellow p:not(.p-initial) > a { - color: #073982; } - .-bg-yellow p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-yellow { - color: #ffc107; } - -.-bg-green { - color: #fff; - background-color: #198754; } - -.-bg-green p:not(.p-initial) > a { - color: #b3d2fe; } - .-bg-green p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-green { - color: #198754; } - -.-bg-teal { - color: #000; - background-color: #20c997; } - -.-bg-teal p:not(.p-initial) > a { - color: #063274; } - .-bg-teal p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-teal { - color: #20c997; } - -.-bg-cyan { - color: #000; - background-color: #0dcaf0; } - -.-bg-cyan p:not(.p-initial) > a { - color: #06377e; } - .-bg-cyan p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-cyan { - color: #0dcaf0; } - -.-bg-black { - color: #fff; - background-color: #000; } - -.-bg-black p:not(.p-initial) > a { - color: white; } - .-bg-black p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-black { - color: #000; } - -.-bg-white { - color: #000; - background-color: #fff; } - -.-bg-white p:not(.p-initial) > a { - color: #0d6efd; } - .-bg-white p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-white { - color: #fff; } - -.-bg-gray { - color: #fff; - background-color: #6c757d; } - -.-bg-gray p:not(.p-initial) > a { - color: #90bdfe; } - .-bg-gray p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-gray { - color: #6c757d; } - -.-bg-gray-dark { - color: #fff; - background-color: #343a40; } - -.-bg-gray-dark p:not(.p-initial) > a { - color: #c8deff; } - .-bg-gray-dark p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-gray-dark { - color: #343a40; } - -.-bg-primary { - color: #fff; - background-color: #30638e; } - -.-bg-primary p:not(.p-initial) > a { - color: #a5c9fe; } - .-bg-primary p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-primary { - color: #30638e; } - -.-bg-secondary { - color: #000; - background-color: #ffa630; } - -.-bg-secondary p:not(.p-initial) > a { - color: #084196; } - .-bg-secondary p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-secondary { - color: #ffa630; } - -.-bg-success { - color: #000; - background-color: #3772ff; } - -.-bg-success p:not(.p-initial) > a { - color: #08439a; } - .-bg-success p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-success { - color: #3772ff; } - -.-bg-info { - color: #000; - background-color: #c0e0de; } - -.-bg-info p:not(.p-initial) > a { - color: #0b5ace; } - .-bg-info p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-info { - color: #c0e0de; } - -.-bg-warning { - color: #000; - background-color: #ed6a5a; } - -.-bg-warning p:not(.p-initial) > a { - color: #0847a2; } - .-bg-warning p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-warning { - color: #ed6a5a; } - -.-bg-danger { - color: #000; - background-color: #ed6a5a; } - -.-bg-danger p:not(.p-initial) > a { - color: #0847a2; } - .-bg-danger p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-danger { - color: #ed6a5a; } - -.-bg-light { - color: #000; - background-color: #d3f3ee; } - -.-bg-light p:not(.p-initial) > a { - color: #0c62e1; } - .-bg-light p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-light { - color: #d3f3ee; } - -.-bg-dark { - color: #fff; - background-color: #403f4c; } - -.-bg-dark p:not(.p-initial) > a { - color: #bdd7fe; } - .-bg-dark p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-dark { - color: #403f4c; } - -.-bg-100 { - color: #000; - background-color: #f8f9fa; } - -.-bg-100 p:not(.p-initial) > a { - color: #0d6bf7; } - .-bg-100 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-100 { - color: #f8f9fa; } - -.-bg-200 { - color: #000; - background-color: #e9ecef; } - -.-bg-200 p:not(.p-initial) > a { - color: #0c66ea; } - .-bg-200 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-200 { - color: #e9ecef; } - -.-bg-300 { - color: #000; - background-color: #dee2e6; } - -.-bg-300 p:not(.p-initial) > a { - color: #0c61e0; } - .-bg-300 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-300 { - color: #dee2e6; } - -.-bg-400 { - color: #000; - background-color: #ced4da; } - -.-bg-400 p:not(.p-initial) > a { - color: #0b5bd2; } - .-bg-400 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-400 { - color: #ced4da; } - -.-bg-500 { - color: #000; - background-color: #adb5bd; } - -.-bg-500 p:not(.p-initial) > a { - color: #094eb4; } - .-bg-500 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-500 { - color: #adb5bd; } - -.-bg-600 { - color: #fff; - background-color: #6c757d; } - -.-bg-600 p:not(.p-initial) > a { - color: #90bdfe; } - .-bg-600 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-600 { - color: #6c757d; } - -.-bg-700 { - color: #fff; - background-color: #495057; } - -.-bg-700 p:not(.p-initial) > a { - color: #b3d2fe; } - .-bg-700 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-700 { - color: #495057; } - -.-bg-800 { - color: #fff; - background-color: #343a40; } - -.-bg-800 p:not(.p-initial) > a { - color: #c8deff; } - .-bg-800 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-800 { - color: #343a40; } - -.-bg-900 { - color: #fff; - background-color: #212529; } - -.-bg-900 p:not(.p-initial) > a { - color: #dceaff; } - .-bg-900 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-900 { - color: #212529; } - -.-bg-0 { - color: #fff; - background-color: #403f4c; } - -.-bg-0 p:not(.p-initial) > a { - color: #bdd7fe; } - .-bg-0 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-0 { - color: #403f4c; } - -.-bg-1 { - color: #fff; - background-color: #30638e; } - -.-bg-1 p:not(.p-initial) > a { - color: #a5c9fe; } - .-bg-1 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-1 { - color: #30638e; } - -.-bg-2 { - color: #000; - background-color: #ffa630; } - -.-bg-2 p:not(.p-initial) > a { - color: #084196; } - .-bg-2 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-2 { - color: #ffa630; } - -.-bg-3 { - color: #000; - background-color: #c0e0de; } - -.-bg-3 p:not(.p-initial) > a { - color: #0b5ace; } - .-bg-3 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-3 { - color: #c0e0de; } - -.-bg-4 { - color: #000; - background-color: #fff; } - -.-bg-4 p:not(.p-initial) > a { - color: #0d6efd; } - .-bg-4 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-4 { - color: #fff; } - -.-bg-5 { - color: #fff; - background-color: #6c757d; } - -.-bg-5 p:not(.p-initial) > a { - color: #90bdfe; } - .-bg-5 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-5 { - color: #6c757d; } - -.-bg-6 { - color: #000; - background-color: #3772ff; } - -.-bg-6 p:not(.p-initial) > a { - color: #08439a; } - .-bg-6 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-6 { - color: #3772ff; } - -.-bg-7 { - color: #000; - background-color: #ed6a5a; } - -.-bg-7 p:not(.p-initial) > a { - color: #0847a2; } - .-bg-7 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-7 { - color: #ed6a5a; } - -.-bg-8 { - color: #fff; - background-color: #403f4c; } - -.-bg-8 p:not(.p-initial) > a { - color: #bdd7fe; } - .-bg-8 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-8 { - color: #403f4c; } - -.-bg-9 { - color: #000; - background-color: #ed6a5a; } - -.-bg-9 p:not(.p-initial) > a { - color: #0847a2; } - .-bg-9 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-9 { - color: #ed6a5a; } - -.-bg-10 { - color: #fff; - background-color: #30638e; } - -.-bg-10 p:not(.p-initial) > a { - color: #a5c9fe; } - .-bg-10 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-10 { - color: #30638e; } - -.-bg-11 { - color: #000; - background-color: #ffa630; } - -.-bg-11 p:not(.p-initial) > a { - color: #084196; } - .-bg-11 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-11 { - color: #ffa630; } - -.-bg-12 { - color: #000; - background-color: #c0e0de; } - -.-bg-12 p:not(.p-initial) > a { - color: #0b5ace; } - .-bg-12 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-12 { - color: #c0e0de; } - -.td-table:not(.td-initial), .td-content table:not(.td-initial), .td-box table:not(.td-initial) { - display: block; } - -.td-box--height-min { - min-height: 300px; } - -.td-box--height-med { - min-height: 400px; } - -.td-box--height-max { - min-height: 500px; } - -.td-box--height-full { - min-height: 100vh; } - -@media (min-width: 768px) { - .td-box--height-min { - min-height: 450px; } - .td-box--height-med { - min-height: 500px; } - .td-box--height-max { - min-height: 650px; } } - -.td-box .row { - padding-left: 5vw; - padding-right: 5vw; } - -.td-box.linkbox { - padding: 5vh 5vw; } - -.td-box--0 { - color: #fff; - background-color: #403f4c; } - .td-box--0 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #403f4c transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--0 p > a, .td-box--0 span > a { - color: #bdd7fe; } - .td-box--0 p > a:hover, .td-box--0 span > a:hover { - color: #d1e3fe; } - -.td-box--1 { - color: #fff; - background-color: #30638e; } - .td-box--1 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #30638e transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--1 p > a, .td-box--1 span > a { - color: #a5c9fe; } - .td-box--1 p > a:hover, .td-box--1 span > a:hover { - color: #c0d9fe; } - -.td-box--2 { - color: #000; - background-color: #ffa630; } - .td-box--2 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #ffa630 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--2 p > a, .td-box--2 span > a { - color: #084196; } - .td-box--2 p > a:hover, .td-box--2 span > a:hover { - color: #062e69; } - -.td-box--3 { - color: #000; - background-color: #c0e0de; } - .td-box--3 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #c0e0de transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--3 p > a, .td-box--3 span > a { - color: #0b5ace; } - .td-box--3 p > a:hover, .td-box--3 span > a:hover { - color: #083f90; } - -.td-box--4 { - color: #000; - background-color: #fff; } - .td-box--4 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #fff transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--4 p > a, .td-box--4 span > a { - color: #0d6efd; } - .td-box--4 p > a:hover, .td-box--4 span > a:hover { - color: #094db1; } - -.td-box--5 { - color: #fff; - background-color: #6c757d; } - .td-box--5 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #6c757d transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--5 p > a, .td-box--5 span > a { - color: #90bdfe; } - .td-box--5 p > a:hover, .td-box--5 span > a:hover { - color: #b1d1fe; } - -.td-box--6 { - color: #000; - background-color: #3772ff; } - .td-box--6 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #3772ff transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--6 p > a, .td-box--6 span > a { - color: #08439a; } - .td-box--6 p > a:hover, .td-box--6 span > a:hover { - color: #062f6c; } - -.td-box--7 { - color: #000; - background-color: #ed6a5a; } - .td-box--7 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #ed6a5a transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--7 p > a, .td-box--7 span > a { - color: #0847a2; } - .td-box--7 p > a:hover, .td-box--7 span > a:hover { - color: #063271; } - -.td-box--8 { - color: #fff; - background-color: #403f4c; } - .td-box--8 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #403f4c transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--8 p > a, .td-box--8 span > a { - color: #bdd7fe; } - .td-box--8 p > a:hover, .td-box--8 span > a:hover { - color: #d1e3fe; } - -.td-box--9 { - color: #000; - background-color: #ed6a5a; } - .td-box--9 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #ed6a5a transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--9 p > a, .td-box--9 span > a { - color: #0847a2; } - .td-box--9 p > a:hover, .td-box--9 span > a:hover { - color: #063271; } - -.td-box--10 { - color: #fff; - background-color: #30638e; } - .td-box--10 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #30638e transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--10 p > a, .td-box--10 span > a { - color: #a5c9fe; } - .td-box--10 p > a:hover, .td-box--10 span > a:hover { - color: #c0d9fe; } - -.td-box--11 { - color: #000; - background-color: #ffa630; } - .td-box--11 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #ffa630 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--11 p > a, .td-box--11 span > a { - color: #084196; } - .td-box--11 p > a:hover, .td-box--11 span > a:hover { - color: #062e69; } - -.td-box--12 { - color: #000; - background-color: #c0e0de; } - .td-box--12 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #c0e0de transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--12 p > a, .td-box--12 span > a { - color: #0b5ace; } - .td-box--12 p > a:hover, .td-box--12 span > a:hover { - color: #083f90; } - -.td-box--blue { - color: #fff; - background-color: #0d6efd; } - .td-box--blue .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #0d6efd transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--blue p > a, .td-box--blue span > a { - color: #81b3fe; } - .td-box--blue p > a:hover, .td-box--blue span > a:hover { - color: #a7cafe; } - -.td-box--indigo { - color: #fff; - background-color: #6610f2; } - .td-box--indigo .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #6610f2 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--indigo p > a, .td-box--indigo span > a { - color: #85b6fe; } - .td-box--indigo p > a:hover, .td-box--indigo span > a:hover { - color: #aaccfe; } - -.td-box--purple { - color: #fff; - background-color: #6f42c1; } - .td-box--purple .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #6f42c1 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--purple p > a, .td-box--purple span > a { - color: #84b5fe; } - .td-box--purple p > a:hover, .td-box--purple span > a:hover { - color: #a9cbfe; } - -.td-box--pink { - color: #fff; - background-color: #d63384; } - .td-box--pink .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #d63384 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--pink p > a, .td-box--pink span > a { - color: #81b4fe; } - .td-box--pink p > a:hover, .td-box--pink span > a:hover { - color: #a7cbfe; } - -.td-box--red { - color: #fff; - background-color: #dc3545; } - .td-box--red .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #dc3545 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--red p > a, .td-box--red span > a { - color: #7db1fe; } - .td-box--red p > a:hover, .td-box--red span > a:hover { - color: #a4c8fe; } - -.td-box--orange { - color: #000; - background-color: #fd7e14; } - .td-box--orange .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #fd7e14 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--orange p > a, .td-box--orange span > a { - color: #073b87; } - .td-box--orange p > a:hover, .td-box--orange span > a:hover { - color: #05295f; } - -.td-box--yellow { - color: #000; - background-color: #ffc107; } - .td-box--yellow .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #ffc107 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--yellow p > a, .td-box--yellow span > a { - color: #073982; } - .td-box--yellow p > a:hover, .td-box--yellow span > a:hover { - color: #05285b; } - -.td-box--green { - color: #fff; - background-color: #198754; } - .td-box--green .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #198754 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--green p > a, .td-box--green span > a { - color: #b3d2fe; } - .td-box--green p > a:hover, .td-box--green span > a:hover { - color: #cae0fe; } - -.td-box--teal { - color: #000; - background-color: #20c997; } - .td-box--teal .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #20c997 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--teal p > a, .td-box--teal span > a { - color: #063274; } - .td-box--teal p > a:hover, .td-box--teal span > a:hover { - color: #042351; } - -.td-box--cyan { - color: #000; - background-color: #0dcaf0; } - .td-box--cyan .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #0dcaf0 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--cyan p > a, .td-box--cyan span > a { - color: #06377e; } - .td-box--cyan p > a:hover, .td-box--cyan span > a:hover { - color: #042758; } - -.td-box--black { - color: #fff; - background-color: #000; } - .td-box--black .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #000 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--black p > a, .td-box--black span > a { - color: white; } - .td-box--black p > a:hover, .td-box--black span > a:hover { - color: white; } - -.td-box--white { - color: #000; - background-color: #fff; } - .td-box--white .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #fff transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--white p > a, .td-box--white span > a { - color: #0d6efd; } - .td-box--white p > a:hover, .td-box--white span > a:hover { - color: #094db1; } - -.td-box--gray { - color: #fff; - background-color: #6c757d; } - .td-box--gray .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #6c757d transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--gray p > a, .td-box--gray span > a { - color: #90bdfe; } - .td-box--gray p > a:hover, .td-box--gray span > a:hover { - color: #b1d1fe; } - -.td-box--gray-dark { - color: #fff; - background-color: #343a40; } - .td-box--gray-dark .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #343a40 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--gray-dark p > a, .td-box--gray-dark span > a { - color: #c8deff; } - .td-box--gray-dark p > a:hover, .td-box--gray-dark span > a:hover { - color: #d9e8ff; } - -.td-box--primary { - color: #fff; - background-color: #30638e; } - .td-box--primary .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #30638e transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--primary p > a, .td-box--primary span > a { - color: #a5c9fe; } - .td-box--primary p > a:hover, .td-box--primary span > a:hover { - color: #c0d9fe; } - -.td-box--secondary { - color: #000; - background-color: #ffa630; } - .td-box--secondary .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #ffa630 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--secondary p > a, .td-box--secondary span > a { - color: #084196; } - .td-box--secondary p > a:hover, .td-box--secondary span > a:hover { - color: #062e69; } - -.td-box--success { - color: #000; - background-color: #3772ff; } - .td-box--success .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #3772ff transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--success p > a, .td-box--success span > a { - color: #08439a; } - .td-box--success p > a:hover, .td-box--success span > a:hover { - color: #062f6c; } - -.td-box--info { - color: #000; - background-color: #c0e0de; } - .td-box--info .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #c0e0de transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--info p > a, .td-box--info span > a { - color: #0b5ace; } - .td-box--info p > a:hover, .td-box--info span > a:hover { - color: #083f90; } - -.td-box--warning { - color: #000; - background-color: #ed6a5a; } - .td-box--warning .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #ed6a5a transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--warning p > a, .td-box--warning span > a { - color: #0847a2; } - .td-box--warning p > a:hover, .td-box--warning span > a:hover { - color: #063271; } - -.td-box--danger { - color: #000; - background-color: #ed6a5a; } - .td-box--danger .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #ed6a5a transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--danger p > a, .td-box--danger span > a { - color: #0847a2; } - .td-box--danger p > a:hover, .td-box--danger span > a:hover { - color: #063271; } - -.td-box--light { - color: #000; - background-color: #d3f3ee; } - .td-box--light .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #d3f3ee transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--light p > a, .td-box--light span > a { - color: #0c62e1; } - .td-box--light p > a:hover, .td-box--light span > a:hover { - color: #08459e; } - -.td-box--dark, .td-footer { - color: #fff; - background-color: #403f4c; } - .td-box--dark .td-arrow-down::before, .td-footer .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #403f4c transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--dark p > a, .td-footer p > a, .td-box--dark span > a, .td-footer span > a { - color: #bdd7fe; } - .td-box--dark p > a:hover, .td-footer p > a:hover, .td-box--dark span > a:hover, .td-footer span > a:hover { - color: #d1e3fe; } - -.td-box--100 { - color: #000; - background-color: #f8f9fa; } - .td-box--100 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #f8f9fa transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--100 p > a, .td-box--100 span > a { - color: #0d6bf7; } - .td-box--100 p > a:hover, .td-box--100 span > a:hover { - color: #094bad; } - -.td-box--200 { - color: #000; - background-color: #e9ecef; } - .td-box--200 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #e9ecef transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--200 p > a, .td-box--200 span > a { - color: #0c66ea; } - .td-box--200 p > a:hover, .td-box--200 span > a:hover { - color: #0847a4; } - -.td-box--300 { - color: #000; - background-color: #dee2e6; } - .td-box--300 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #dee2e6 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--300 p > a, .td-box--300 span > a { - color: #0c61e0; } - .td-box--300 p > a:hover, .td-box--300 span > a:hover { - color: #08449d; } - -.td-box--400 { - color: #000; - background-color: #ced4da; } - .td-box--400 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #ced4da transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--400 p > a, .td-box--400 span > a { - color: #0b5bd2; } - .td-box--400 p > a:hover, .td-box--400 span > a:hover { - color: #084093; } - -.td-box--500 { - color: #000; - background-color: #adb5bd; } - .td-box--500 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #adb5bd transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--500 p > a, .td-box--500 span > a { - color: #094eb4; } - .td-box--500 p > a:hover, .td-box--500 span > a:hover { - color: #06377e; } - -.td-box--600 { - color: #fff; - background-color: #6c757d; } - .td-box--600 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #6c757d transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--600 p > a, .td-box--600 span > a { - color: #90bdfe; } - .td-box--600 p > a:hover, .td-box--600 span > a:hover { - color: #b1d1fe; } - -.td-box--700 { - color: #fff; - background-color: #495057; } - .td-box--700 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #495057 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--700 p > a, .td-box--700 span > a { - color: #b3d2fe; } - .td-box--700 p > a:hover, .td-box--700 span > a:hover { - color: #cae0fe; } - -.td-box--800 { - color: #fff; - background-color: #343a40; } - .td-box--800 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #343a40 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--800 p > a, .td-box--800 span > a { - color: #c8deff; } - .td-box--800 p > a:hover, .td-box--800 span > a:hover { - color: #d9e8ff; } - -.td-box--900 { - color: #fff; - background-color: #212529; } - .td-box--900 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #212529 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--900 p > a, .td-box--900 span > a { - color: #dceaff; } - .td-box--900 p > a:hover, .td-box--900 span > a:hover { - color: #e7f0ff; } - -[data-bs-theme="dark"] .td-box--white { - color: var(--bs-body-color); - background-color: var(--bs-body-bg); } - [data-bs-theme="dark"] .td-box--white p > a, [data-bs-theme="dark"] .td-box--white span > a { - color: var(--bs-link-color); } - [data-bs-theme="dark"] .td-box--white p > a:focus, [data-bs-theme="dark"] .td-box--white p > a:hover, [data-bs-theme="dark"] .td-box--white span > a:focus, [data-bs-theme="dark"] .td-box--white span > a:hover { - color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1)); } - [data-bs-theme="dark"] .td-box--white .td-arrow-down::before { - border-color: var(--bs-body-bg) transparent transparent transparent; } - -.td-blog .td-rss-button { - border-radius: 2rem; - float: right; - display: none; } - -.td-blog-posts-list { - margin-top: 1.5rem !important; } - .td-blog-posts-list__item { - display: flex; - align-items: flex-start; - margin-bottom: 1.5rem !important; } - .td-blog-posts-list__item__body { - flex: 1; } - -[data-bs-theme="dark"] { - --td-pre-bg: #1b1f22; } - -.td-content .highlight { - margin: 2rem 0; - padding: 0; - position: relative; } - .td-content .highlight .click-to-copy { - display: block; - text-align: right; } - .td-content .highlight pre { - margin: 0; - padding: 1rem; - border-radius: inherit; } - .td-content .highlight pre button.td-click-to-copy { - position: absolute; - color: var(--bs-tertiary-color); - border-width: 0; - background-color: transparent; - background-image: none; - --bs-btn-box-shadow: 0; - padding: var(--bs-btn-padding-y) calc(var(--bs-btn-padding-x) / 2); - right: 4px; - top: 2px; } - .td-content .highlight pre button.td-click-to-copy:hover { - color: var(--bs-secondary-color); - background-color: var(--bs-dark-bg-subtle); } - .td-content .highlight pre button.td-click-to-copy:active { - color: var(--bs-secondary-color); - background-color: var(--bs-dark-bg-subtle); - transform: translateY(2px); } - -.td-content p code, -.td-content li > code, -.td-content table code { - color: inherit; - padding: 0.2em 0.4em; - margin: 0; - font-size: 85%; - word-break: normal; - background-color: var(--td-pre-bg); - border-radius: 0.375rem; } - .td-content p code br, - .td-content li > code br, - .td-content table code br { - display: none; } - -.td-content pre { - word-wrap: normal; - background-color: var(--td-pre-bg); - border: solid var(--bs-border-color); - border-width: 1px; - padding: 1rem; } - .td-content pre > code { - background-color: inherit !important; - padding: 0; - margin: 0; - font-size: 100%; - word-break: normal; - white-space: pre; - border: 0; } - -.td-content pre.mermaid { - background-color: inherit; - font-size: 0; - padding: 0; } - -@media (min-width: 768px) { - .td-navbar-cover { - background: transparent !important; } - .td-navbar-cover .nav-link { - text-shadow: 1px 1px 2px #403f4c; } } - -.td-navbar-cover.navbar-bg-onscroll .nav-link { - text-shadow: none; } - -.navbar-bg-onscroll { - background: #30638e !important; - opacity: inherit; } - -.td-navbar { - background: #30638e; - min-height: 4rem; - margin: 0; - z-index: 32; } - .td-navbar .navbar-brand { - text-transform: none; } - .td-navbar .navbar-brand__name { - font-weight: 700; } - .td-navbar .navbar-brand svg { - display: inline-block; - margin: 0 10px; - height: 30px; } - .td-navbar .navbar-nav { - padding-top: 0.5rem; - white-space: nowrap; } - .td-navbar .nav-link { - text-transform: none; - font-weight: 700; } - .td-navbar .dropdown { - min-width: 50px; } - @media (min-width: 768px) { - .td-navbar { - position: fixed; - top: 0; - width: 100%; } - .td-navbar .nav-item { - padding-inline-end: 0.5rem; } - .td-navbar .navbar-nav { - padding-top: 0 !important; } } - @media (max-width: 991.98px) { - .td-navbar .td-navbar-nav-scroll { - max-width: 100%; - height: 2.5rem; - overflow: hidden; - font-size: 0.9rem; } - .td-navbar .navbar-brand { - margin-right: 0; } - .td-navbar .navbar-nav { - padding-bottom: 2rem; - overflow-x: auto; } } - .td-navbar .td-light-dark-menu .bi { - width: 1em; - height: 1em; - vertical-align: -.125em; - fill: currentcolor; } - @media (max-width: 991.98px) { - .td-navbar .td-light-dark-menu.dropdown { - position: unset; } } -#main_navbar li i { - padding-right: 0.5em; } - #main_navbar li i:before { - display: inline-block; - text-align: center; - min-width: 1em; } - -#main_navbar .alert { - background-color: inherit; - padding: 0; - color: #ffa630; - border: 0; - font-weight: inherit; } - #main_navbar .alert:before { - display: inline-block; - font-style: normal; - font-variant: normal; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - font-family: "Font Awesome 6 Free"; - font-weight: 900; - content: "\f0d9"; - padding-left: 0.5em; - padding-right: 0.5em; } - -nav.foldable-nav#td-section-nav { - position: relative; } - -nav.foldable-nav#td-section-nav label { - margin-bottom: 0; - width: 100%; } - -nav.foldable-nav .td-sidebar-nav__section, -nav.foldable-nav .with-child ul { - list-style: none; - padding: 0; - margin: 0; } - -nav.foldable-nav .ul-1 > li { - padding-left: 1.5em; } - -nav.foldable-nav ul.foldable { - display: none; } - -nav.foldable-nav input:checked ~ ul.foldable { - display: block; } - -nav.foldable-nav input[type="checkbox"] { - display: none; } - -nav.foldable-nav .with-child, -nav.foldable-nav .without-child { - position: relative; - padding-left: 1.5em; } - -nav.foldable-nav .ul-1 .with-child > label:before { - display: inline-block; - font-style: normal; - font-variant: normal; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - font-family: "Font Awesome 6 Free"; - font-weight: 900; - content: "\f0da"; - position: absolute; - left: 0.1em; - padding-left: 0.4em; - padding-right: 0.4em; - font-size: 1em; - color: var(--bs-secondary-color); - transition: all 0.5s; } - nav.foldable-nav .ul-1 .with-child > label:before:hover { - transform: rotate(90deg); } - -nav.foldable-nav .ul-1 .with-child > input:checked ~ label:before { - color: var(--bs-secondary-color); - transform: rotate(90deg); - transition: transform 0.5s; } - -nav.foldable-nav .with-child ul { - margin-top: 0.1em; } - -@media (hover: hover) and (pointer: fine) { - nav.foldable-nav .ul-1 .with-child > label:hover:before { - color: var(--bs-link-color); - transition: color 0.3s; } - nav.foldable-nav .ul-1 .with-child > input:checked ~ label:hover:before { - color: var(--bs-link-color); - transition: color 0.3s; } } - -.td-sidebar-nav { - padding-right: 0.5rem; - margin-right: -15px; - margin-left: -15px; } - @media (min-width: 768px) { - @supports (position: sticky) { - .td-sidebar-nav { - max-height: calc(100vh - 8.5rem); - overflow-y: auto; } } } - @media (min-width: 992px) { - .td-sidebar-nav.td-sidebar-nav--search-disabled { - padding-top: 1rem; } - @supports (position: sticky) { - .td-sidebar-nav.td-sidebar-nav--search-disabled { - max-height: calc(calc(100vh - 8.5rem) + 4.5rem); } } } - @media (min-width: 768px) { - .td-sidebar-nav { - display: block !important; } } - .td-sidebar-nav__section { - padding-left: 0; } - .td-sidebar-nav__section li { - list-style: none; } - .td-sidebar-nav__section.ul-0, .td-sidebar-nav__section ul { - padding: 0; - margin: 0; } - @media (min-width: 768px) { - .td-sidebar-nav__section .ul-1 ul { - padding-left: 1.5em; } } - .td-sidebar-nav__section-title { - display: block; - font-weight: 500; } - .td-sidebar-nav__section-title .active { - font-weight: 700; } - .td-sidebar-nav__section-title a { - color: var(--bs-secondary-color); } - .td-sidebar-nav .td-sidebar-link { - display: block; - padding-bottom: 0.375rem; } - .td-sidebar-nav .td-sidebar-link__page { - color: var(--bs-body-color); - font-weight: 300; } - .td-sidebar-nav a:focus, .td-sidebar-nav a:hover { - color: var(--bs-link-color); } - .td-sidebar-nav a.active { - font-weight: 700; } - .td-sidebar-nav .dropdown a { - color: var(--bs-tertiary-color); } - .td-sidebar-nav .dropdown .nav-link { - padding: 0 0 1rem; } - .td-sidebar-nav > .td-sidebar-nav__section { - padding-left: 1.5rem; } - .td-sidebar-nav li i { - padding-right: 0.5em; } - .td-sidebar-nav li i:before { - display: inline-block; - text-align: center; - min-width: 1em; } - .td-sidebar-nav .td-sidebar-link.tree-root { - font-weight: 700; - border-bottom: 1px solid var(--bs-tertiary-color); - margin-bottom: 1rem; } - -.td-sidebar { - padding-bottom: 1rem; } - .td-sidebar a { - text-decoration: none; } - .td-sidebar a:focus, .td-sidebar a:hover { - text-decoration: initial; } - .td-sidebar .btn-link { - text-decoration: none; } - @media (min-width: 768px) { - .td-sidebar { - padding-top: 4rem; - background-color: var(--bs-body-tertiary-bg); - padding-right: 1rem; - border-right: 1px solid var(--bs-border-color); } } - .td-sidebar__toggle { - line-height: 1; - color: var(--bs-body-color); - margin: 1rem; } - .td-sidebar__search { - padding: 1rem 0; } - .td-sidebar__inner { - order: 0; } - @media (min-width: 768px) { - @supports (position: sticky) { - .td-sidebar__inner { - position: sticky; - top: 4rem; - z-index: 10; - height: calc(100vh - 5rem); } } } - @media (min-width: 1200px) { - .td-sidebar__inner { - flex: 0 1 320px; } } - .td-sidebar__inner .td-search-box { - width: 100%; } - .td-sidebar #content-desktop { - display: block; } - .td-sidebar #content-mobile { - display: none; } - @media (max-width: 991.98px) { - .td-sidebar #content-desktop { - display: none; } - .td-sidebar #content-mobile { - display: block; } } -.td-sidebar-toc { - border-left: 1px solid var(--bs-border-color); - order: 2; - padding-top: 0.75rem; - padding-bottom: 1.5rem; - vertical-align: top; } - .td-sidebar-toc a { - text-decoration: none; } - .td-sidebar-toc a:focus, .td-sidebar-toc a:hover { - text-decoration: initial; } - .td-sidebar-toc .btn-link { - text-decoration: none; } - @supports (position: sticky) { - .td-sidebar-toc { - position: sticky; - top: 4rem; - height: calc(100vh - 4rem); - overflow-y: auto; } } - .td-sidebar-toc .td-page-meta a { - display: block; - font-weight: 500; } - -.td-toc a { - display: block; - font-weight: 300; - padding-bottom: 0.25rem; } - -.td-toc li { - list-style: none; - display: block; } - -.td-toc li li { - margin-left: 0.5rem; } - -.td-toc #TableOfContents a { - color: var(--bs-secondary-color); } - .td-toc #TableOfContents a:focus, .td-toc #TableOfContents a:hover { - color: initial; } - -.td-toc ul { - padding-left: 0; } - -@media print { - .td-breadcrumbs { - display: none !important; } } - -.td-breadcrumbs .breadcrumb { - background: inherit; - padding-left: 0; - padding-top: 0; } - -.alert { - font-weight: 500; - color: inherit; - border-radius: 0; } - .alert-primary, .pageinfo-primary { - border-style: solid; - border-color: #30638e; - border-width: 0 0 0 4px; } - .alert-primary .alert-heading, .pageinfo-primary .alert-heading { - color: #30638e; } - .alert-secondary, .pageinfo-secondary { - border-style: solid; - border-color: #ffa630; - border-width: 0 0 0 4px; } - .alert-secondary .alert-heading, .pageinfo-secondary .alert-heading { - color: #ffa630; } - .alert-success, .pageinfo-success { - border-style: solid; - border-color: #3772ff; - border-width: 0 0 0 4px; } - .alert-success .alert-heading, .pageinfo-success .alert-heading { - color: #3772ff; } - .alert-info, .pageinfo-info { - border-style: solid; - border-color: #c0e0de; - border-width: 0 0 0 4px; } - .alert-info .alert-heading, .pageinfo-info .alert-heading { - color: #c0e0de; } - .alert-warning, .pageinfo-warning { - border-style: solid; - border-color: #ed6a5a; - border-width: 0 0 0 4px; } - .alert-warning .alert-heading, .pageinfo-warning .alert-heading { - color: #ed6a5a; } - .alert-danger, .pageinfo-danger { - border-style: solid; - border-color: #ed6a5a; - border-width: 0 0 0 4px; } - .alert-danger .alert-heading, .pageinfo-danger .alert-heading { - color: #ed6a5a; } - .alert-light, .pageinfo-light { - border-style: solid; - border-color: #d3f3ee; - border-width: 0 0 0 4px; } - .alert-light .alert-heading, .pageinfo-light .alert-heading { - color: #d3f3ee; } - .alert-dark, .pageinfo-dark { - border-style: solid; - border-color: #403f4c; - border-width: 0 0 0 4px; } - .alert-dark .alert-heading, .pageinfo-dark .alert-heading { - color: #403f4c; } - -.td-content { - order: 1; } - .td-content p, - .td-content li, - .td-content td { - font-weight: 400; } - .td-content > h1, .td-content > .h1 { - font-weight: 700; - margin-bottom: 1rem; } - .td-content > h2, .td-content > .h2 { - margin-bottom: 1rem; } - .td-content > h2:not(:first-child), .td-content > .h2:not(:first-child) { - margin-top: 3rem; } - .td-content > h2 + h3, .td-content > .h2 + h3, .td-content > h2 + .h3, .td-content > h2 + .td-footer__links-item, .td-content > .h2 + .h3, .td-content > .h2 + .td-footer__links-item { - margin-top: 1rem; } - .td-content > h3, .td-content > .h3, .td-content > .td-footer__links-item, - .td-content > h4, - .td-content > .h4, - .td-content > h5, - .td-content > .h5, - .td-content > h6, - .td-content > .h6 { - margin-bottom: 1rem; - margin-top: 2rem; } - .td-content blockquote { - padding: 0 0 0 1rem; - margin-bottom: 1rem; - color: var(--bs-secondary-color); - border-left: 6px solid var(--bs-primary); } - .td-content ul li, - .td-content ol li { - margin-bottom: 0.25rem; } - .td-content strong { - font-weight: 700; } - .td-content .alert:not(:first-child) { - margin-top: 2rem; - margin-bottom: 2rem; } - .td-content .lead { - margin-bottom: 1.5rem; } - -.td-title { - margin-top: 1rem; - margin-bottom: 0.5rem; } - @media (min-width: 576px) { - .td-title { - font-size: 3rem; } } -.td-heading-self-link { - font-size: 90%; - padding-left: 0.25em; - text-decoration: none; - visibility: hidden; } - .td-heading-self-link:before { - content: '#'; } - @media (hover: none) and (pointer: coarse), (max-width: 576px) { - .td-heading-self-link { - visibility: visible; } } -h1:hover > .td-heading-self-link, .h1:hover > .td-heading-self-link { - visibility: visible; } - -h2:hover > .td-heading-self-link, .h2:hover > .td-heading-self-link { - visibility: visible; } - -h3:hover > .td-heading-self-link, .h3:hover > .td-heading-self-link, .td-footer__links-item:hover > .td-heading-self-link { - visibility: visible; } - -h4:hover > .td-heading-self-link, .h4:hover > .td-heading-self-link { - visibility: visible; } - -h5:hover > .td-heading-self-link, .h5:hover > .td-heading-self-link { - visibility: visible; } - -h6:hover > .td-heading-self-link, .h6:hover > .td-heading-self-link { - visibility: visible; } - -.td-search { - background: transparent; - position: relative; - width: 100%; } - .td-search__icon { - display: flex; - align-items: center; - height: 100%; - position: absolute; - left: 0.75em; - pointer-events: none; } - .td-search__icon:before { - content: "\f002"; } - .td-navbar .td-search__icon { - color: inherit; } - .td-search__input { - width: 100%; - text-indent: 1.25em; } - .td-search__input:not(:focus) { - background: transparent; } - .td-search__input.form-control:focus { - border-color: #f5f7f9; - box-shadow: 0 0 0 2px #83a1bb; - color: var(--bs-body-color); } - .td-navbar .td-search__input { - border: none; - color: inherit; } - .td-navbar .td-search__input::-webkit-input-placeholder { - color: inherit; } - .td-navbar .td-search__input:-moz-placeholder { - color: inherit; } - .td-navbar .td-search__input::-moz-placeholder { - color: inherit; } - .td-navbar .td-search__input:-ms-input-placeholder { - color: inherit; } - .td-search:focus-within .td-search__icon { - display: none; } - .td-search:focus-within .td-search-input { - text-indent: 0px; } - .td-search:not(:focus-within) { - color: var(--bs-secondary-color); } - -.td-sidebar .td-search--algolia { - display: block; - padding: 0 0.5rem; } - .td-sidebar .td-search--algolia > button { - margin: 0; - width: 100%; } - -.td-search--offline:focus-within .td-search__icon { - display: flex; - color: var(--bs-secondary-color); } - -.td-offline-search-results { - max-width: 90%; } - .td-offline-search-results .card { - margin-bottom: 0.5rem; } - .td-offline-search-results .card .card-header { - font-weight: bold; } - .td-offline-search-results__close-button { - float: right; } - .td-offline-search-results__close-button:after { - content: "\f00d"; } - -.td-outer { - display: flex; - flex-direction: column; - min-height: 100vh; } - -@media (min-width: 768px) { - .td-default main > section:first-of-type { - padding-top: 8rem; } } - -.td-main { - flex-grow: 1; } - -.td-404 main, -.td-main main { - padding-top: 1.5rem; - padding-bottom: 2rem; } - @media (min-width: 768px) { - .td-404 main, - .td-main main { - padding-top: 5.5rem; } } -.td-cover-block--height-min { - min-height: 300px; } - -.td-cover-block--height-med { - min-height: 400px; } - -.td-cover-block--height-max { - min-height: 500px; } - -.td-cover-block--height-full { - min-height: 100vh; } - -@media (min-width: 768px) { - .td-cover-block--height-min { - min-height: 450px; } - .td-cover-block--height-med { - min-height: 500px; } - .td-cover-block--height-max { - min-height: 650px; } } - -.td-cover-logo { - margin-right: 0.5em; } - -.td-cover-block { - position: relative; - padding-top: 5rem; - padding-bottom: 5rem; - background-repeat: no-repeat; - background-position: 50% 0; - background-size: cover; } - .td-cover-block > .byline { - position: absolute; - bottom: 2px; - right: 4px; } - -.td-bg-arrow-wrapper { - position: relative; } - -.section-index .entry { - padding: 0.75rem; } - -.section-index h5, .section-index .h5 { - margin-bottom: 0; } - .section-index h5 a, .section-index .h5 a { - font-weight: 700; } - -.section-index p { - margin-top: 0; } - -.pageinfo { - font-weight: 500; - background: var(--bs-alert-bg); - color: inherit; - margin: 2rem auto; - padding: 1.5rem; - padding-bottom: 0.5rem; } - .pageinfo-primary { - border-width: 0; } - .pageinfo-secondary { - border-width: 0; } - .pageinfo-success { - border-width: 0; } - .pageinfo-info { - border-width: 0; } - .pageinfo-warning { - border-width: 0; } - .pageinfo-danger { - border-width: 0; } - .pageinfo-light { - border-width: 0; } - .pageinfo-dark { - border-width: 0; } - -.td-page-meta__lastmod { - margin-top: 3rem !important; - padding-top: 1rem !important; } - -.taxonomy-terms-article { - width: 100%; - clear: both; - font-size: 0.8rem; } - .taxonomy-terms-article .taxonomy-title { - display: inline; - font-size: 1.25em; - height: 1em; - line-height: 1em; - margin-right: 0.5em; - padding: 0; } - -.taxonomy-terms-cloud { - width: 100%; - clear: both; - font-size: 0.8rem; } - .taxonomy-terms-cloud .taxonomy-title { - display: inline-block; - width: 100%; - font-size: 1rem; - font-weight: 700; - color: var(--bs-primary-text-emphasis); - border-bottom: 1px solid var(--bs-tertiary-color); - margin-bottom: 1em; - padding-bottom: 0.375rem; - margin-top: 1em; } - -.taxonomy-terms-page { - max-width: 800px; - margin: auto; } - .taxonomy-terms-page h1, .taxonomy-terms-page .h1 { - margin-bottom: 1em; } - .taxonomy-terms-page .taxonomy-terms-cloud { - font-size: 1em; } - .taxonomy-terms-page .taxonomy-terms-cloud li { - display: block; } - .taxonomy-terms-page .taxo-text-tags li + li::before { - content: none; } - .taxonomy-terms-page .taxo-fruits .taxonomy-count, - .taxonomy-terms-page .taxo-fruits .taxonomy-label { - display: inherit; - font-size: 1rem; - margin: 0; - padding: 0; - padding-right: 0.5em; } - .taxonomy-terms-page .taxo-fruits .taxonomy-count::before { - content: "("; } - .taxonomy-terms-page .taxo-fruits .taxonomy-count::after { - content: ")"; } - -.taxonomy-terms { - list-style: none; - margin: 0; - overflow: hidden; - padding: 0; - display: inline; } - .taxonomy-terms li { - display: inline; - overflow-wrap: break-word; - word-wrap: break-word; - -ms-word-break: break-all; - word-break: break-all; - word-break: break-word; - -ms-hyphens: auto; - -moz-hyphens: auto; - -webkit-hyphens: auto; - hyphens: auto; } - -.taxonomy-count { - font-size: 0.8em; - line-height: 1.25em; - display: inline-block; - padding-left: 0.6em; - padding-right: 0.6em; - margin-left: 0.6em; - text-align: center; - border-radius: 1em; - background-color: var(--bs-body-bg); } - -.taxonomy-term { - background: var(--bs-secondary-bg); - border-width: 0; - border-radius: 0 3px 3px 0; - color: var(--bs-body-color); - display: inline-block; - font-size: 1em; - line-height: 1.5em; - min-height: 1.5em; - max-width: 100%; - padding: 0 0.5em 0 1em; - position: relative; - margin: 0 0.5em 0.2em 0; - text-decoration: none; - -webkit-transition: color 0.2s; - -webkit-clip-path: polygon(100% 0, 100% 100%, 0.8em 100%, 0 50%, 0.8em 0); - clip-path: polygon(100% 0, 100% 100%, 0.8em 100%, 0 50%, 0.8em 0); } - .taxonomy-term:hover { - background-color: var(--bs-primary-bg-subtle); - color: var(--bs-body-color-dark); } - .taxonomy-term:hover .taxonomy-count { - color: var(--bs-body-color-dark); } - .taxonomy-term:hover::before { - background: #30638e; } - -.taxo-text-tags .taxonomy-term { - background: none; - border-width: 0; - border-radius: 0; - color: #6c757d; - font-size: 1em; - line-height: 1.5em; - min-height: 1.5em; - max-width: 100%; - padding: 0; - position: relative; - margin: 0; - text-decoration: none; - -webkit-clip-path: none; - clip-path: none; } - .taxo-text-tags .taxonomy-term:hover { - background: none; - color: #0d6efd; } - .taxo-text-tags .taxonomy-term:hover .taxonomy-count { - color: #403f4c !important; } - .taxo-text-tags .taxonomy-term:hover::before { - background: none; } - -.taxo-text-tags li + li::before { - content: "|"; - color: #6c757d; - margin-right: 0.2em; } - -.taxo-text-tags .taxonomy-count { - font-size: 1em; - line-height: 1.25em; - display: inline-block; - padding: 0; - margin: 0; - text-align: center; - border-radius: 0; - background: none; - vertical-align: super; - font-size: 0.75em; } - -.taxo-text-tags .taxonomy-term:hover .taxonomy-count { - color: #0d6efd !important; } - -.taxo-fruits .taxonomy-term[data-taxonomy-term]::before { - font-style: normal; - font-variant: normal; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - font-family: "Font Awesome 6 Free"; - padding-right: 0.5em; - font-size: 2em; - min-width: 1.5em; - display: inline-block; } - -.taxo-fruits .taxonomy-term[data-taxonomy-term="apple"]::before { - content: "\f5d1"; - color: red; } - -.taxo-fruits .taxonomy-term[data-taxonomy-term="carrot"]::before { - content: "\f787"; - color: orange; } - -.taxo-fruits .taxonomy-term[data-taxonomy-term="lemon"]::before { - content: "\f094"; - color: limegreen; } - -.taxo-fruits .taxonomy-term[data-taxonomy-term="pepper"]::before { - content: "\f816"; - color: darkred; } - -.taxo-fruits .taxonomy-term { - background: none; - border-width: 0; - border-radius: 0; - color: #6c757d; - font-size: 1em; - line-height: 2.5em; - max-width: 100%; - padding: 0; - position: relative; - margin: 0; - text-decoration: none; - -webkit-clip-path: none; - clip-path: none; } - .taxo-fruits .taxonomy-term:hover { - background: none; - color: #0d6efd; } - .taxo-fruits .taxonomy-term:hover .taxonomy-count { - color: #403f4c !important; } - .taxo-fruits .taxonomy-term:hover::before { - background: none; - text-shadow: 0 0 3px #212529; } - -.taxo-fruits .taxonomy-count, -.taxo-fruits .taxonomy-label { - display: none; } - -.taxo-fruits.taxonomy-terms-article { - margin-bottom: 1rem; } - .taxo-fruits.taxonomy-terms-article .taxonomy-title { - display: none; } - -.taxonomy-taxonomy-page { - max-width: 800px; - margin: auto; } - .taxonomy-taxonomy-page h1, .taxonomy-taxonomy-page .h1 { - margin-bottom: 1em; } - -.article-meta { - margin-bottom: 1.5rem; } - -.article-teaser.article-type-docs h3 a:before, .article-teaser.article-type-docs .h3 a:before, .article-teaser.article-type-docs .td-footer__links-item a:before { - display: inline-block; - font-style: normal; - font-variant: normal; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - font-family: "Font Awesome 6 Free"; - content: "\f02d"; - padding-right: 0.5em; } - -.article-teaser.article-type-blog h3 a:before, .article-teaser.article-type-blog .h3 a:before, .article-teaser.article-type-blog .td-footer__links-item a:before { - display: inline-block; - font-style: normal; - font-variant: normal; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - font-family: "Font Awesome 6 Free"; - content: "\f781"; - padding-right: 0.5em; } - -.all-taxonomy-terms { - font-weight: 500; - line-height: 1.2; - font-size: 1.5rem; } - .all-taxonomy-terms:before { - display: inline-block; - font-style: normal; - font-variant: normal; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - font-family: "Font Awesome 6 Free"; - content: "\f122"; - padding-right: 0.5em; } - -.article-teaser.card { - padding: 1em; - margin-bottom: 1.5em; } - -.article-teaser .breadcrumb { - margin-bottom: 0em; - font-size: 0.85rem; } - -.article-teaser .article-meta { - margin-bottom: 0em; } - -div.drawio { - display: inline-block; - position: relative; } - div.drawio button { - position: absolute; - bottom: 5px; - right: 5px; - padding: 0.4em 0.5em; - font-size: 0.8em; - display: none; } - div.drawio:hover button { - display: inline; } - -div.drawioframe { - position: fixed; - height: 100%; - width: 100%; - top: 0; - left: 0px; - z-index: 1000; - background: #000b; - border: 0; } - div.drawioframe iframe { - position: absolute; - height: 90%; - width: 90%; - top: 5%; - left: 5%; - z-index: 1010; } - -.tab-content .tab-pane { - margin-top: 0rem; - margin-bottom: 1.5rem; - border-left: var(--bs-border-width) solid var(--bs-border-color); - border-right: var(--bs-border-width) solid var(--bs-border-color); - border-bottom: var(--bs-border-width) solid var(--bs-border-color); } - .tab-content .tab-pane .highlight { - margin: 0; - border: none; - max-width: 100%; } - -.tab-body { - font-weight: 500; - background: var(--td-pre-bg); - color: var(--bs-body-color); - border-radius: 0; - padding: 1.5rem; } - .tab-body > :last-child { - margin-bottom: 0; } - .tab-body > .highlight:only-child { - margin: -1.5rem; - max-width: calc(100% + 3rem); } - .tab-body-primary { - border-style: solid; - border-color: #30638e; } - .tab-body-secondary { - border-style: solid; - border-color: #ffa630; } - .tab-body-success { - border-style: solid; - border-color: #3772ff; } - .tab-body-info { - border-style: solid; - border-color: #c0e0de; } - .tab-body-warning { - border-style: solid; - border-color: #ed6a5a; } - .tab-body-danger { - border-style: solid; - border-color: #ed6a5a; } - .tab-body-light { - border-style: solid; - border-color: #d3f3ee; } - .tab-body-dark { - border-style: solid; - border-color: #403f4c; } - -.td-card.card .highlight { - border: none; - margin: 0; } - -.td-card .card-header.code { - background-color: var(--bs-body-bg); } - -.td-card .card-body.code { - background-color: var(--bs-body-bg); - padding: 0 0 0 1ex; } - -.td-card .card-body pre { - margin: 0; - padding: 0 1rem 1rem 1rem; } - -.swagger-ui .info .title small pre, .swagger-ui .info .title .small pre, .swagger-ui .info .title .td-footer__center pre, .swagger-ui .info .title .td-cover-block > .byline pre { - background: #7d8492; } - -.td-footer { - min-height: 150px; - padding-top: 3rem; - /* &__left { } */ } - @media (max-width: 991.98px) { - .td-footer { - min-height: 200px; } } - .td-footer__center { - text-align: center; } - .td-footer__right { - text-align: right; } - .td-footer__about { - font-size: initial; } - .td-footer__links-list { - margin-bottom: 0; } - .td-footer__links-item a { - color: inherit !important; } - .td-footer__authors, .td-footer__all_rights_reserved { - padding-left: 0.25rem; } - .td-footer__all_rights_reserved { - display: none; } - -@media (min-width: 768px) { - .td-offset-anchor:target { - display: block; - position: relative; - top: -4rem; - visibility: hidden; } - h2[id]:before, [id].h2:before, - h3[id]:before, - [id].h3:before, - [id].td-footer__links-item:before, - h4[id]:before, - [id].h4:before, - h5[id]:before, - [id].h5:before { - display: block; - content: " "; - margin-top: -5rem; - height: 5rem; - visibility: hidden; } } - -/* - -Nothing defined here. The Hugo project that uses this theme can override Bootstrap by adding a file to: - -assets/scss/_styles_project.scss - -*/ - -/*# sourceMappingURL=main.css.map */ \ No newline at end of file diff --git a/resources/_gen/assets/scss/main.scss_3f90599f3717b4a4920df16fdcadce3d.json b/resources/_gen/assets/scss/main.scss_3f90599f3717b4a4920df16fdcadce3d.json deleted file mode 100644 index a8ece4a..0000000 --- a/resources/_gen/assets/scss/main.scss_3f90599f3717b4a4920df16fdcadce3d.json +++ /dev/null @@ -1 +0,0 @@ -{"Target":"/scss/main.css","MediaType":"text/css","Data":{}} \ No newline at end of file diff --git a/resources/_gen/assets/scss/main.scss_fae17086e470d8c6ed0d487092f631b7.content b/resources/_gen/assets/scss/main.scss_fae17086e470d8c6ed0d487092f631b7.content deleted file mode 100644 index e79aaa3..0000000 --- a/resources/_gen/assets/scss/main.scss_fae17086e470d8c6ed0d487092f631b7.content +++ /dev/null @@ -1,19722 +0,0 @@ -/* - -Add styles or override variables from the theme here. - -*/ -@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i&display=swap"); -:root, -[data-bs-theme="light"] { - --td-pre-bg: var(--bs-tertiary-bg); } - -/*! - * Bootstrap v5.3.3 (https://getbootstrap.com/) - * Copyright 2011-2024 The Bootstrap Authors - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -:root, -[data-bs-theme="light"] { - --bs-blue: #0d6efd; - --bs-indigo: #6610f2; - --bs-purple: #6f42c1; - --bs-pink: #d63384; - --bs-red: #dc3545; - --bs-orange: #fd7e14; - --bs-yellow: #ffc107; - --bs-green: #198754; - --bs-teal: #20c997; - --bs-cyan: #0dcaf0; - --bs-black: #000; - --bs-white: #fff; - --bs-gray: #6c757d; - --bs-gray-dark: #343a40; - --bs-gray-100: #f8f9fa; - --bs-gray-200: #e9ecef; - --bs-gray-300: #dee2e6; - --bs-gray-400: #ced4da; - --bs-gray-500: #adb5bd; - --bs-gray-600: #6c757d; - --bs-gray-700: #495057; - --bs-gray-800: #343a40; - --bs-gray-900: #212529; - --bs-primary: #30638e; - --bs-secondary: #ffa630; - --bs-success: #3772ff; - --bs-info: #c0e0de; - --bs-warning: #ed6a5a; - --bs-danger: #ed6a5a; - --bs-light: #d3f3ee; - --bs-dark: #403f4c; - --bs-primary-rgb: 48, 99, 142; - --bs-secondary-rgb: 255, 166, 48; - --bs-success-rgb: 55, 114, 255; - --bs-info-rgb: 192, 224, 222; - --bs-warning-rgb: 237, 106, 90; - --bs-danger-rgb: 237, 106, 90; - --bs-light-rgb: 211, 243, 238; - --bs-dark-rgb: 64, 63, 76; - --bs-primary-text-emphasis: #132839; - --bs-secondary-text-emphasis: #664213; - --bs-success-text-emphasis: #162e66; - --bs-info-text-emphasis: #4d5a59; - --bs-warning-text-emphasis: #5f2a24; - --bs-danger-text-emphasis: #5f2a24; - --bs-light-text-emphasis: #495057; - --bs-dark-text-emphasis: #495057; - --bs-primary-bg-subtle: #d6e0e8; - --bs-secondary-bg-subtle: #ffedd6; - --bs-success-bg-subtle: #d7e3ff; - --bs-info-bg-subtle: #f2f9f8; - --bs-warning-bg-subtle: #fbe1de; - --bs-danger-bg-subtle: #fbe1de; - --bs-light-bg-subtle: #fcfcfd; - --bs-dark-bg-subtle: #ced4da; - --bs-primary-border-subtle: #acc1d2; - --bs-secondary-border-subtle: #ffdbac; - --bs-success-border-subtle: #afc7ff; - --bs-info-border-subtle: #e6f3f2; - --bs-warning-border-subtle: #f8c3bd; - --bs-danger-border-subtle: #f8c3bd; - --bs-light-border-subtle: #e9ecef; - --bs-dark-border-subtle: #adb5bd; - --bs-white-rgb: 255, 255, 255; - --bs-black-rgb: 0, 0, 0; - --bs-font-sans-serif: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); - --bs-body-font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - --bs-body-font-size: 1rem; - --bs-body-font-weight: 400; - --bs-body-line-height: 1.5; - --bs-body-color: #212529; - --bs-body-color-rgb: 33, 37, 41; - --bs-body-bg: #fff; - --bs-body-bg-rgb: 255, 255, 255; - --bs-emphasis-color: #000; - --bs-emphasis-color-rgb: 0, 0, 0; - --bs-secondary-color: rgba(33, 37, 41, 0.75); - --bs-secondary-color-rgb: 33, 37, 41; - --bs-secondary-bg: #e9ecef; - --bs-secondary-bg-rgb: 233, 236, 239; - --bs-tertiary-color: rgba(33, 37, 41, 0.5); - --bs-tertiary-color-rgb: 33, 37, 41; - --bs-tertiary-bg: #f8f9fa; - --bs-tertiary-bg-rgb: 248, 249, 250; - --bs-heading-color: inherit; - --bs-link-color: #0d6efd; - --bs-link-color-rgb: 13, 110, 253; - --bs-link-decoration: underline; - --bs-link-hover-color: #094db1; - --bs-link-hover-color-rgb: 9, 77, 177; - --bs-code-color: #99641d; - --bs-highlight-color: #212529; - --bs-highlight-bg: #fff3cd; - --bs-border-width: 1px; - --bs-border-style: solid; - --bs-border-color: #dee2e6; - --bs-border-color-translucent: rgba(0, 0, 0, 0.175); - --bs-border-radius: 0.375rem; - --bs-border-radius-sm: 0.25rem; - --bs-border-radius-lg: 0.5rem; - --bs-border-radius-xl: 1rem; - --bs-border-radius-xxl: 2rem; - --bs-border-radius-2xl: var(--bs-border-radius-xxl); - --bs-border-radius-pill: 50rem; - --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); - --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); - --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175); - --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075); - --bs-focus-ring-width: 0.25rem; - --bs-focus-ring-opacity: 0.25; - --bs-focus-ring-color: rgba(48, 99, 142, 0.25); - --bs-form-valid-color: #3772ff; - --bs-form-valid-border-color: #3772ff; - --bs-form-invalid-color: #ed6a5a; - --bs-form-invalid-border-color: #ed6a5a; } - -[data-bs-theme="dark"] { - color-scheme: dark; - --bs-body-color: #dee2e6; - --bs-body-color-rgb: 222, 226, 230; - --bs-body-bg: #212529; - --bs-body-bg-rgb: 33, 37, 41; - --bs-emphasis-color: #fff; - --bs-emphasis-color-rgb: 255, 255, 255; - --bs-secondary-color: rgba(222, 226, 230, 0.75); - --bs-secondary-color-rgb: 222, 226, 230; - --bs-secondary-bg: #343a40; - --bs-secondary-bg-rgb: 52, 58, 64; - --bs-tertiary-color: rgba(222, 226, 230, 0.5); - --bs-tertiary-color-rgb: 222, 226, 230; - --bs-tertiary-bg: #2b3035; - --bs-tertiary-bg-rgb: 43, 48, 53; - --bs-primary-text-emphasis: #83a1bb; - --bs-secondary-text-emphasis: #ffca83; - --bs-success-text-emphasis: #87aaff; - --bs-info-text-emphasis: #d9eceb; - --bs-warning-text-emphasis: #f4a69c; - --bs-danger-text-emphasis: #f4a69c; - --bs-light-text-emphasis: #f8f9fa; - --bs-dark-text-emphasis: #dee2e6; - --bs-primary-bg-subtle: #0a141c; - --bs-secondary-bg-subtle: #33210a; - --bs-success-bg-subtle: #0b1733; - --bs-info-bg-subtle: #262d2c; - --bs-warning-bg-subtle: #2f1512; - --bs-danger-bg-subtle: #2f1512; - --bs-light-bg-subtle: #343a40; - --bs-dark-bg-subtle: #1a1d20; - --bs-primary-border-subtle: #1d3b55; - --bs-secondary-border-subtle: #99641d; - --bs-success-border-subtle: #214499; - --bs-info-border-subtle: #738685; - --bs-warning-border-subtle: #8e4036; - --bs-danger-border-subtle: #8e4036; - --bs-light-border-subtle: #495057; - --bs-dark-border-subtle: #343a40; - --bs-heading-color: inherit; - --bs-link-color: #83a1bb; - --bs-link-hover-color: #a8bdcf; - --bs-link-color-rgb: 131, 161, 187; - --bs-link-hover-color-rgb: 168, 189, 207; - --bs-code-color: #c2a277; - --bs-highlight-color: #dee2e6; - --bs-highlight-bg: #664d03; - --bs-border-color: #495057; - --bs-border-color-translucent: rgba(255, 255, 255, 0.15); - --bs-form-valid-color: #75b798; - --bs-form-valid-border-color: #75b798; - --bs-form-invalid-color: #ea868f; - --bs-form-invalid-border-color: #ea868f; } - -*, -*::before, -*::after { - box-sizing: border-box; } - -@media (prefers-reduced-motion: no-preference) { - :root { - scroll-behavior: smooth; } } - -body { - margin: 0; - font-family: var(--bs-body-font-family); - font-size: var(--bs-body-font-size); - font-weight: var(--bs-body-font-weight); - line-height: var(--bs-body-line-height); - color: var(--bs-body-color); - text-align: var(--bs-body-text-align); - background-color: var(--bs-body-bg); - -webkit-text-size-adjust: 100%; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } - -hr { - margin: 1rem 0; - color: inherit; - border: 0; - border-top: var(--bs-border-width) solid; - opacity: 0.25; } - -h6, .h6, h5, .h5, h4, .h4, h3, .h3, .td-footer__links-item, h2, .h2, h1, .h1 { - margin-top: 0; - margin-bottom: 0.5rem; - font-weight: 500; - line-height: 1.2; - color: var(--bs-heading-color); } - -h1, .h1 { - font-size: calc(1.375rem + 1.5vw); } - @media (min-width: 1200px) { - h1, .h1 { - font-size: 2.5rem; } } -h2, .h2 { - font-size: calc(1.325rem + 0.9vw); } - @media (min-width: 1200px) { - h2, .h2 { - font-size: 2rem; } } -h3, .h3, .td-footer__links-item { - font-size: calc(1.275rem + 0.3vw); } - @media (min-width: 1200px) { - h3, .h3, .td-footer__links-item { - font-size: 1.5rem; } } -h4, .h4 { - font-size: calc(1.26rem + 0.12vw); } - @media (min-width: 1200px) { - h4, .h4 { - font-size: 1.35rem; } } -h5, .h5 { - font-size: 1.15rem; } - -h6, .h6 { - font-size: 1rem; } - -p { - margin-top: 0; - margin-bottom: 1rem; } - -abbr[title] { - text-decoration: underline dotted; - cursor: help; - text-decoration-skip-ink: none; } - -address { - margin-bottom: 1rem; - font-style: normal; - line-height: inherit; } - -ol, -ul { - padding-left: 2rem; } - -ol, -ul, -dl { - margin-top: 0; - margin-bottom: 1rem; } - -ol ol, -ul ul, -ol ul, -ul ol { - margin-bottom: 0; } - -dt { - font-weight: 700; } - -dd { - margin-bottom: .5rem; - margin-left: 0; } - -blockquote { - margin: 0 0 1rem; } - -b, -strong { - font-weight: bolder; } - -small, .small, .td-footer__center, .td-cover-block > .byline { - font-size: 0.875em; } - -mark, .mark { - padding: 0.1875em; - color: var(--bs-highlight-color); - background-color: var(--bs-highlight-bg); } - -sub, -sup { - position: relative; - font-size: 0.75em; - line-height: 0; - vertical-align: baseline; } - -sub { - bottom: -.25em; } - -sup { - top: -.5em; } - -a { - color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1)); - text-decoration: underline; } - a:hover { - --bs-link-color-rgb: var(--bs-link-hover-color-rgb); } - -a:not([href]):not([class]), a:not([href]):not([class]):hover { - color: inherit; - text-decoration: none; } - -pre, -code, -kbd, -samp { - font-family: var(--bs-font-monospace); - font-size: 1em; } - -pre { - display: block; - margin-top: 0; - margin-bottom: 1rem; - overflow: auto; - font-size: 0.875em; } - pre code { - font-size: inherit; - color: inherit; - word-break: normal; } - -code { - font-size: 0.875em; - color: var(--bs-code-color); - word-wrap: break-word; } - a > code { - color: inherit; } - -kbd { - padding: 0.1875rem 0.375rem; - font-size: 0.875em; - color: var(--bs-body-bg); - background-color: var(--bs-body-color); - border-radius: 0.25rem; } - kbd kbd { - padding: 0; - font-size: 1em; } - -figure { - margin: 0 0 1rem; } - -img, -svg { - vertical-align: middle; } - -table { - caption-side: bottom; - border-collapse: collapse; } - -caption { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - color: var(--bs-secondary-color); - text-align: left; } - -th { - text-align: inherit; - text-align: -webkit-match-parent; } - -thead, -tbody, -tfoot, -tr, -td, -th { - border-color: inherit; - border-style: solid; - border-width: 0; } - -label { - display: inline-block; } - -button { - border-radius: 0; } - -button:focus:not(:focus-visible) { - outline: 0; } - -input, -button, -select, -optgroup, -textarea { - margin: 0; - font-family: inherit; - font-size: inherit; - line-height: inherit; } - -button, -select { - text-transform: none; } - -[role="button"] { - cursor: pointer; } - -select { - word-wrap: normal; } - select:disabled { - opacity: 1; } - -[list]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator { - display: none !important; } - -button, -[type="button"], -[type="reset"], -[type="submit"] { - -webkit-appearance: button; } - button:not(:disabled), - [type="button"]:not(:disabled), - [type="reset"]:not(:disabled), - [type="submit"]:not(:disabled) { - cursor: pointer; } - -::-moz-focus-inner { - padding: 0; - border-style: none; } - -textarea { - resize: vertical; } - -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; } - -legend { - float: left; - width: 100%; - padding: 0; - margin-bottom: 0.5rem; - font-size: calc(1.275rem + 0.3vw); - line-height: inherit; } - @media (min-width: 1200px) { - legend { - font-size: 1.5rem; } } - legend + * { - clear: left; } - -::-webkit-datetime-edit-fields-wrapper, -::-webkit-datetime-edit-text, -::-webkit-datetime-edit-minute, -::-webkit-datetime-edit-hour-field, -::-webkit-datetime-edit-day-field, -::-webkit-datetime-edit-month-field, -::-webkit-datetime-edit-year-field { - padding: 0; } - -::-webkit-inner-spin-button { - height: auto; } - -[type="search"] { - -webkit-appearance: textfield; - outline-offset: -2px; } - -/* rtl:raw: -[type="tel"], -[type="url"], -[type="email"], -[type="number"] { - direction: ltr; -} -*/ -::-webkit-search-decoration { - -webkit-appearance: none; } - -::-webkit-color-swatch-wrapper { - padding: 0; } - -::file-selector-button { - font: inherit; - -webkit-appearance: button; } - -output { - display: inline-block; } - -iframe { - border: 0; } - -summary { - display: list-item; - cursor: pointer; } - -progress { - vertical-align: baseline; } - -[hidden] { - display: none !important; } - -.lead { - font-size: 1.25rem; - font-weight: 300; } - -.display-1 { - font-size: calc(1.625rem + 4.5vw); - font-weight: 300; - line-height: 1.2; } - @media (min-width: 1200px) { - .display-1 { - font-size: 5rem; } } -.display-2 { - font-size: calc(1.575rem + 3.9vw); - font-weight: 300; - line-height: 1.2; } - @media (min-width: 1200px) { - .display-2 { - font-size: 4.5rem; } } -.display-3 { - font-size: calc(1.525rem + 3.3vw); - font-weight: 300; - line-height: 1.2; } - @media (min-width: 1200px) { - .display-3 { - font-size: 4rem; } } -.display-4 { - font-size: calc(1.475rem + 2.7vw); - font-weight: 300; - line-height: 1.2; } - @media (min-width: 1200px) { - .display-4 { - font-size: 3.5rem; } } -.display-5 { - font-size: calc(1.425rem + 2.1vw); - font-weight: 300; - line-height: 1.2; } - @media (min-width: 1200px) { - .display-5 { - font-size: 3rem; } } -.display-6 { - font-size: calc(1.375rem + 1.5vw); - font-weight: 300; - line-height: 1.2; } - @media (min-width: 1200px) { - .display-6 { - font-size: 2.5rem; } } -.list-unstyled, .td-blog-posts-list { - padding-left: 0; - list-style: none; } - -.list-inline, .td-footer__links-list { - padding-left: 0; - list-style: none; } - -.list-inline-item, .td-footer__links-item { - display: inline-block; } - .list-inline-item:not(:last-child), .td-footer__links-item:not(:last-child) { - margin-right: 1rem; } - -.initialism { - font-size: 0.875em; - text-transform: uppercase; } - -.blockquote { - margin-bottom: 1rem; - font-size: 1.25rem; } - .blockquote > :last-child { - margin-bottom: 0; } - -.blockquote-footer { - margin-top: -1rem; - margin-bottom: 1rem; - font-size: 0.875em; - color: #6c757d; } - .blockquote-footer::before { - content: "\2014\00A0"; } - -.img-fluid, .td-content img { - max-width: 100%; - height: auto; } - -.img-thumbnail { - padding: 0.25rem; - background-color: var(--bs-body-bg); - border: var(--bs-border-width) solid var(--bs-border-color); - border-radius: var(--bs-border-radius); - box-shadow: var(--bs-box-shadow-sm); - max-width: 100%; - height: auto; } - -.figure { - display: inline-block; } - -.figure-img { - margin-bottom: 0.5rem; - line-height: 1; } - -.figure-caption { - font-size: 0.875em; - color: var(--bs-secondary-color); } - -.container, -.container-fluid, -.container-xxl, -.container-xl, -.container-lg, -.container-md, -.container-sm { - --bs-gutter-x: 1.5rem; - --bs-gutter-y: 0; - width: 100%; - padding-right: calc(var(--bs-gutter-x) * .5); - padding-left: calc(var(--bs-gutter-x) * .5); - margin-right: auto; - margin-left: auto; } - -@media (min-width: 576px) { - .container-sm, .container { - max-width: 540px; } } - -@media (min-width: 768px) { - .container-md, .container-sm, .container { - max-width: 720px; } } - -@media (min-width: 992px) { - .container-lg, .container-md, .container-sm, .container { - max-width: 960px; } } - -@media (min-width: 1200px) { - .container-xl, .container-lg, .container-md, .container-sm, .container { - max-width: 1140px; } } - -@media (min-width: 1400px) { - .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { - max-width: 1320px; } } - -:root { - --bs-breakpoint-xs: 0; - --bs-breakpoint-sm: 576px; - --bs-breakpoint-md: 768px; - --bs-breakpoint-lg: 992px; - --bs-breakpoint-xl: 1200px; - --bs-breakpoint-xxl: 1400px; } - -.row { - --bs-gutter-x: 1.5rem; - --bs-gutter-y: 0; - display: flex; - flex-wrap: wrap; - margin-top: calc(-1 * var(--bs-gutter-y)); - margin-right: calc(-.5 * var(--bs-gutter-x)); - margin-left: calc(-.5 * var(--bs-gutter-x)); } - .row > * { - flex-shrink: 0; - width: 100%; - max-width: 100%; - padding-right: calc(var(--bs-gutter-x) * .5); - padding-left: calc(var(--bs-gutter-x) * .5); - margin-top: var(--bs-gutter-y); } - -.col { - flex: 1 0 0%; } - -.row-cols-auto > * { - flex: 0 0 auto; - width: auto; } - -.row-cols-1 > * { - flex: 0 0 auto; - width: 100%; } - -.row-cols-2 > * { - flex: 0 0 auto; - width: 50%; } - -.row-cols-3 > * { - flex: 0 0 auto; - width: 33.33333333%; } - -.row-cols-4 > * { - flex: 0 0 auto; - width: 25%; } - -.row-cols-5 > * { - flex: 0 0 auto; - width: 20%; } - -.row-cols-6 > * { - flex: 0 0 auto; - width: 16.66666667%; } - -.col-auto { - flex: 0 0 auto; - width: auto; } - -.col-1 { - flex: 0 0 auto; - width: 8.33333333%; } - -.col-2 { - flex: 0 0 auto; - width: 16.66666667%; } - -.col-3 { - flex: 0 0 auto; - width: 25%; } - -.col-4 { - flex: 0 0 auto; - width: 33.33333333%; } - -.col-5 { - flex: 0 0 auto; - width: 41.66666667%; } - -.col-6 { - flex: 0 0 auto; - width: 50%; } - -.col-7 { - flex: 0 0 auto; - width: 58.33333333%; } - -.col-8 { - flex: 0 0 auto; - width: 66.66666667%; } - -.col-9 { - flex: 0 0 auto; - width: 75%; } - -.col-10 { - flex: 0 0 auto; - width: 83.33333333%; } - -.col-11 { - flex: 0 0 auto; - width: 91.66666667%; } - -.col-12 { - flex: 0 0 auto; - width: 100%; } - -.offset-1 { - margin-left: 8.33333333%; } - -.offset-2 { - margin-left: 16.66666667%; } - -.offset-3 { - margin-left: 25%; } - -.offset-4 { - margin-left: 33.33333333%; } - -.offset-5 { - margin-left: 41.66666667%; } - -.offset-6 { - margin-left: 50%; } - -.offset-7 { - margin-left: 58.33333333%; } - -.offset-8 { - margin-left: 66.66666667%; } - -.offset-9 { - margin-left: 75%; } - -.offset-10 { - margin-left: 83.33333333%; } - -.offset-11 { - margin-left: 91.66666667%; } - -.g-0, -.gx-0 { - --bs-gutter-x: 0; } - -.g-0, -.gy-0 { - --bs-gutter-y: 0; } - -.g-1, -.gx-1 { - --bs-gutter-x: 0.25rem; } - -.g-1, -.gy-1 { - --bs-gutter-y: 0.25rem; } - -.g-2, -.gx-2 { - --bs-gutter-x: 0.5rem; } - -.g-2, -.gy-2 { - --bs-gutter-y: 0.5rem; } - -.g-3, -.gx-3 { - --bs-gutter-x: 1rem; } - -.g-3, -.gy-3 { - --bs-gutter-y: 1rem; } - -.g-4, -.gx-4 { - --bs-gutter-x: 1.5rem; } - -.g-4, -.gy-4 { - --bs-gutter-y: 1.5rem; } - -.g-5, -.gx-5 { - --bs-gutter-x: 3rem; } - -.g-5, -.gy-5 { - --bs-gutter-y: 3rem; } - -@media (min-width: 576px) { - .col-sm { - flex: 1 0 0%; } - .row-cols-sm-auto > * { - flex: 0 0 auto; - width: auto; } - .row-cols-sm-1 > * { - flex: 0 0 auto; - width: 100%; } - .row-cols-sm-2 > * { - flex: 0 0 auto; - width: 50%; } - .row-cols-sm-3 > * { - flex: 0 0 auto; - width: 33.33333333%; } - .row-cols-sm-4 > * { - flex: 0 0 auto; - width: 25%; } - .row-cols-sm-5 > * { - flex: 0 0 auto; - width: 20%; } - .row-cols-sm-6 > * { - flex: 0 0 auto; - width: 16.66666667%; } - .col-sm-auto { - flex: 0 0 auto; - width: auto; } - .col-sm-1 { - flex: 0 0 auto; - width: 8.33333333%; } - .col-sm-2 { - flex: 0 0 auto; - width: 16.66666667%; } - .col-sm-3 { - flex: 0 0 auto; - width: 25%; } - .col-sm-4 { - flex: 0 0 auto; - width: 33.33333333%; } - .col-sm-5 { - flex: 0 0 auto; - width: 41.66666667%; } - .col-sm-6 { - flex: 0 0 auto; - width: 50%; } - .col-sm-7 { - flex: 0 0 auto; - width: 58.33333333%; } - .col-sm-8 { - flex: 0 0 auto; - width: 66.66666667%; } - .col-sm-9 { - flex: 0 0 auto; - width: 75%; } - .col-sm-10 { - flex: 0 0 auto; - width: 83.33333333%; } - .col-sm-11 { - flex: 0 0 auto; - width: 91.66666667%; } - .col-sm-12 { - flex: 0 0 auto; - width: 100%; } - .offset-sm-0 { - margin-left: 0; } - .offset-sm-1 { - margin-left: 8.33333333%; } - .offset-sm-2 { - margin-left: 16.66666667%; } - .offset-sm-3 { - margin-left: 25%; } - .offset-sm-4 { - margin-left: 33.33333333%; } - .offset-sm-5 { - margin-left: 41.66666667%; } - .offset-sm-6 { - margin-left: 50%; } - .offset-sm-7 { - margin-left: 58.33333333%; } - .offset-sm-8 { - margin-left: 66.66666667%; } - .offset-sm-9 { - margin-left: 75%; } - .offset-sm-10 { - margin-left: 83.33333333%; } - .offset-sm-11 { - margin-left: 91.66666667%; } - .g-sm-0, - .gx-sm-0 { - --bs-gutter-x: 0; } - .g-sm-0, - .gy-sm-0 { - --bs-gutter-y: 0; } - .g-sm-1, - .gx-sm-1 { - --bs-gutter-x: 0.25rem; } - .g-sm-1, - .gy-sm-1 { - --bs-gutter-y: 0.25rem; } - .g-sm-2, - .gx-sm-2 { - --bs-gutter-x: 0.5rem; } - .g-sm-2, - .gy-sm-2 { - --bs-gutter-y: 0.5rem; } - .g-sm-3, - .gx-sm-3 { - --bs-gutter-x: 1rem; } - .g-sm-3, - .gy-sm-3 { - --bs-gutter-y: 1rem; } - .g-sm-4, - .gx-sm-4 { - --bs-gutter-x: 1.5rem; } - .g-sm-4, - .gy-sm-4 { - --bs-gutter-y: 1.5rem; } - .g-sm-5, - .gx-sm-5 { - --bs-gutter-x: 3rem; } - .g-sm-5, - .gy-sm-5 { - --bs-gutter-y: 3rem; } } - -@media (min-width: 768px) { - .col-md { - flex: 1 0 0%; } - .row-cols-md-auto > * { - flex: 0 0 auto; - width: auto; } - .row-cols-md-1 > * { - flex: 0 0 auto; - width: 100%; } - .row-cols-md-2 > * { - flex: 0 0 auto; - width: 50%; } - .row-cols-md-3 > * { - flex: 0 0 auto; - width: 33.33333333%; } - .row-cols-md-4 > * { - flex: 0 0 auto; - width: 25%; } - .row-cols-md-5 > * { - flex: 0 0 auto; - width: 20%; } - .row-cols-md-6 > * { - flex: 0 0 auto; - width: 16.66666667%; } - .col-md-auto { - flex: 0 0 auto; - width: auto; } - .col-md-1 { - flex: 0 0 auto; - width: 8.33333333%; } - .col-md-2 { - flex: 0 0 auto; - width: 16.66666667%; } - .col-md-3 { - flex: 0 0 auto; - width: 25%; } - .col-md-4 { - flex: 0 0 auto; - width: 33.33333333%; } - .col-md-5 { - flex: 0 0 auto; - width: 41.66666667%; } - .col-md-6 { - flex: 0 0 auto; - width: 50%; } - .col-md-7 { - flex: 0 0 auto; - width: 58.33333333%; } - .col-md-8 { - flex: 0 0 auto; - width: 66.66666667%; } - .col-md-9 { - flex: 0 0 auto; - width: 75%; } - .col-md-10 { - flex: 0 0 auto; - width: 83.33333333%; } - .col-md-11 { - flex: 0 0 auto; - width: 91.66666667%; } - .col-md-12 { - flex: 0 0 auto; - width: 100%; } - .offset-md-0 { - margin-left: 0; } - .offset-md-1 { - margin-left: 8.33333333%; } - .offset-md-2 { - margin-left: 16.66666667%; } - .offset-md-3 { - margin-left: 25%; } - .offset-md-4 { - margin-left: 33.33333333%; } - .offset-md-5 { - margin-left: 41.66666667%; } - .offset-md-6 { - margin-left: 50%; } - .offset-md-7 { - margin-left: 58.33333333%; } - .offset-md-8 { - margin-left: 66.66666667%; } - .offset-md-9 { - margin-left: 75%; } - .offset-md-10 { - margin-left: 83.33333333%; } - .offset-md-11 { - margin-left: 91.66666667%; } - .g-md-0, - .gx-md-0 { - --bs-gutter-x: 0; } - .g-md-0, - .gy-md-0 { - --bs-gutter-y: 0; } - .g-md-1, - .gx-md-1 { - --bs-gutter-x: 0.25rem; } - .g-md-1, - .gy-md-1 { - --bs-gutter-y: 0.25rem; } - .g-md-2, - .gx-md-2 { - --bs-gutter-x: 0.5rem; } - .g-md-2, - .gy-md-2 { - --bs-gutter-y: 0.5rem; } - .g-md-3, - .gx-md-3 { - --bs-gutter-x: 1rem; } - .g-md-3, - .gy-md-3 { - --bs-gutter-y: 1rem; } - .g-md-4, - .gx-md-4 { - --bs-gutter-x: 1.5rem; } - .g-md-4, - .gy-md-4 { - --bs-gutter-y: 1.5rem; } - .g-md-5, - .gx-md-5 { - --bs-gutter-x: 3rem; } - .g-md-5, - .gy-md-5 { - --bs-gutter-y: 3rem; } } - -@media (min-width: 992px) { - .col-lg { - flex: 1 0 0%; } - .row-cols-lg-auto > * { - flex: 0 0 auto; - width: auto; } - .row-cols-lg-1 > * { - flex: 0 0 auto; - width: 100%; } - .row-cols-lg-2 > * { - flex: 0 0 auto; - width: 50%; } - .row-cols-lg-3 > * { - flex: 0 0 auto; - width: 33.33333333%; } - .row-cols-lg-4 > * { - flex: 0 0 auto; - width: 25%; } - .row-cols-lg-5 > * { - flex: 0 0 auto; - width: 20%; } - .row-cols-lg-6 > * { - flex: 0 0 auto; - width: 16.66666667%; } - .col-lg-auto { - flex: 0 0 auto; - width: auto; } - .col-lg-1 { - flex: 0 0 auto; - width: 8.33333333%; } - .col-lg-2 { - flex: 0 0 auto; - width: 16.66666667%; } - .col-lg-3 { - flex: 0 0 auto; - width: 25%; } - .col-lg-4 { - flex: 0 0 auto; - width: 33.33333333%; } - .col-lg-5 { - flex: 0 0 auto; - width: 41.66666667%; } - .col-lg-6 { - flex: 0 0 auto; - width: 50%; } - .col-lg-7 { - flex: 0 0 auto; - width: 58.33333333%; } - .col-lg-8 { - flex: 0 0 auto; - width: 66.66666667%; } - .col-lg-9 { - flex: 0 0 auto; - width: 75%; } - .col-lg-10 { - flex: 0 0 auto; - width: 83.33333333%; } - .col-lg-11 { - flex: 0 0 auto; - width: 91.66666667%; } - .col-lg-12 { - flex: 0 0 auto; - width: 100%; } - .offset-lg-0 { - margin-left: 0; } - .offset-lg-1 { - margin-left: 8.33333333%; } - .offset-lg-2 { - margin-left: 16.66666667%; } - .offset-lg-3 { - margin-left: 25%; } - .offset-lg-4 { - margin-left: 33.33333333%; } - .offset-lg-5 { - margin-left: 41.66666667%; } - .offset-lg-6 { - margin-left: 50%; } - .offset-lg-7 { - margin-left: 58.33333333%; } - .offset-lg-8 { - margin-left: 66.66666667%; } - .offset-lg-9 { - margin-left: 75%; } - .offset-lg-10 { - margin-left: 83.33333333%; } - .offset-lg-11 { - margin-left: 91.66666667%; } - .g-lg-0, - .gx-lg-0 { - --bs-gutter-x: 0; } - .g-lg-0, - .gy-lg-0 { - --bs-gutter-y: 0; } - .g-lg-1, - .gx-lg-1 { - --bs-gutter-x: 0.25rem; } - .g-lg-1, - .gy-lg-1 { - --bs-gutter-y: 0.25rem; } - .g-lg-2, - .gx-lg-2 { - --bs-gutter-x: 0.5rem; } - .g-lg-2, - .gy-lg-2 { - --bs-gutter-y: 0.5rem; } - .g-lg-3, - .gx-lg-3 { - --bs-gutter-x: 1rem; } - .g-lg-3, - .gy-lg-3 { - --bs-gutter-y: 1rem; } - .g-lg-4, - .gx-lg-4 { - --bs-gutter-x: 1.5rem; } - .g-lg-4, - .gy-lg-4 { - --bs-gutter-y: 1.5rem; } - .g-lg-5, - .gx-lg-5 { - --bs-gutter-x: 3rem; } - .g-lg-5, - .gy-lg-5 { - --bs-gutter-y: 3rem; } } - -@media (min-width: 1200px) { - .col-xl { - flex: 1 0 0%; } - .row-cols-xl-auto > * { - flex: 0 0 auto; - width: auto; } - .row-cols-xl-1 > * { - flex: 0 0 auto; - width: 100%; } - .row-cols-xl-2 > * { - flex: 0 0 auto; - width: 50%; } - .row-cols-xl-3 > * { - flex: 0 0 auto; - width: 33.33333333%; } - .row-cols-xl-4 > * { - flex: 0 0 auto; - width: 25%; } - .row-cols-xl-5 > * { - flex: 0 0 auto; - width: 20%; } - .row-cols-xl-6 > * { - flex: 0 0 auto; - width: 16.66666667%; } - .col-xl-auto { - flex: 0 0 auto; - width: auto; } - .col-xl-1 { - flex: 0 0 auto; - width: 8.33333333%; } - .col-xl-2 { - flex: 0 0 auto; - width: 16.66666667%; } - .col-xl-3 { - flex: 0 0 auto; - width: 25%; } - .col-xl-4 { - flex: 0 0 auto; - width: 33.33333333%; } - .col-xl-5 { - flex: 0 0 auto; - width: 41.66666667%; } - .col-xl-6 { - flex: 0 0 auto; - width: 50%; } - .col-xl-7 { - flex: 0 0 auto; - width: 58.33333333%; } - .col-xl-8 { - flex: 0 0 auto; - width: 66.66666667%; } - .col-xl-9 { - flex: 0 0 auto; - width: 75%; } - .col-xl-10 { - flex: 0 0 auto; - width: 83.33333333%; } - .col-xl-11 { - flex: 0 0 auto; - width: 91.66666667%; } - .col-xl-12 { - flex: 0 0 auto; - width: 100%; } - .offset-xl-0 { - margin-left: 0; } - .offset-xl-1 { - margin-left: 8.33333333%; } - .offset-xl-2 { - margin-left: 16.66666667%; } - .offset-xl-3 { - margin-left: 25%; } - .offset-xl-4 { - margin-left: 33.33333333%; } - .offset-xl-5 { - margin-left: 41.66666667%; } - .offset-xl-6 { - margin-left: 50%; } - .offset-xl-7 { - margin-left: 58.33333333%; } - .offset-xl-8 { - margin-left: 66.66666667%; } - .offset-xl-9 { - margin-left: 75%; } - .offset-xl-10 { - margin-left: 83.33333333%; } - .offset-xl-11 { - margin-left: 91.66666667%; } - .g-xl-0, - .gx-xl-0 { - --bs-gutter-x: 0; } - .g-xl-0, - .gy-xl-0 { - --bs-gutter-y: 0; } - .g-xl-1, - .gx-xl-1 { - --bs-gutter-x: 0.25rem; } - .g-xl-1, - .gy-xl-1 { - --bs-gutter-y: 0.25rem; } - .g-xl-2, - .gx-xl-2 { - --bs-gutter-x: 0.5rem; } - .g-xl-2, - .gy-xl-2 { - --bs-gutter-y: 0.5rem; } - .g-xl-3, - .gx-xl-3 { - --bs-gutter-x: 1rem; } - .g-xl-3, - .gy-xl-3 { - --bs-gutter-y: 1rem; } - .g-xl-4, - .gx-xl-4 { - --bs-gutter-x: 1.5rem; } - .g-xl-4, - .gy-xl-4 { - --bs-gutter-y: 1.5rem; } - .g-xl-5, - .gx-xl-5 { - --bs-gutter-x: 3rem; } - .g-xl-5, - .gy-xl-5 { - --bs-gutter-y: 3rem; } } - -@media (min-width: 1400px) { - .col-xxl { - flex: 1 0 0%; } - .row-cols-xxl-auto > * { - flex: 0 0 auto; - width: auto; } - .row-cols-xxl-1 > * { - flex: 0 0 auto; - width: 100%; } - .row-cols-xxl-2 > * { - flex: 0 0 auto; - width: 50%; } - .row-cols-xxl-3 > * { - flex: 0 0 auto; - width: 33.33333333%; } - .row-cols-xxl-4 > * { - flex: 0 0 auto; - width: 25%; } - .row-cols-xxl-5 > * { - flex: 0 0 auto; - width: 20%; } - .row-cols-xxl-6 > * { - flex: 0 0 auto; - width: 16.66666667%; } - .col-xxl-auto { - flex: 0 0 auto; - width: auto; } - .col-xxl-1 { - flex: 0 0 auto; - width: 8.33333333%; } - .col-xxl-2 { - flex: 0 0 auto; - width: 16.66666667%; } - .col-xxl-3 { - flex: 0 0 auto; - width: 25%; } - .col-xxl-4 { - flex: 0 0 auto; - width: 33.33333333%; } - .col-xxl-5 { - flex: 0 0 auto; - width: 41.66666667%; } - .col-xxl-6 { - flex: 0 0 auto; - width: 50%; } - .col-xxl-7 { - flex: 0 0 auto; - width: 58.33333333%; } - .col-xxl-8 { - flex: 0 0 auto; - width: 66.66666667%; } - .col-xxl-9 { - flex: 0 0 auto; - width: 75%; } - .col-xxl-10 { - flex: 0 0 auto; - width: 83.33333333%; } - .col-xxl-11 { - flex: 0 0 auto; - width: 91.66666667%; } - .col-xxl-12 { - flex: 0 0 auto; - width: 100%; } - .offset-xxl-0 { - margin-left: 0; } - .offset-xxl-1 { - margin-left: 8.33333333%; } - .offset-xxl-2 { - margin-left: 16.66666667%; } - .offset-xxl-3 { - margin-left: 25%; } - .offset-xxl-4 { - margin-left: 33.33333333%; } - .offset-xxl-5 { - margin-left: 41.66666667%; } - .offset-xxl-6 { - margin-left: 50%; } - .offset-xxl-7 { - margin-left: 58.33333333%; } - .offset-xxl-8 { - margin-left: 66.66666667%; } - .offset-xxl-9 { - margin-left: 75%; } - .offset-xxl-10 { - margin-left: 83.33333333%; } - .offset-xxl-11 { - margin-left: 91.66666667%; } - .g-xxl-0, - .gx-xxl-0 { - --bs-gutter-x: 0; } - .g-xxl-0, - .gy-xxl-0 { - --bs-gutter-y: 0; } - .g-xxl-1, - .gx-xxl-1 { - --bs-gutter-x: 0.25rem; } - .g-xxl-1, - .gy-xxl-1 { - --bs-gutter-y: 0.25rem; } - .g-xxl-2, - .gx-xxl-2 { - --bs-gutter-x: 0.5rem; } - .g-xxl-2, - .gy-xxl-2 { - --bs-gutter-y: 0.5rem; } - .g-xxl-3, - .gx-xxl-3 { - --bs-gutter-x: 1rem; } - .g-xxl-3, - .gy-xxl-3 { - --bs-gutter-y: 1rem; } - .g-xxl-4, - .gx-xxl-4 { - --bs-gutter-x: 1.5rem; } - .g-xxl-4, - .gy-xxl-4 { - --bs-gutter-y: 1.5rem; } - .g-xxl-5, - .gx-xxl-5 { - --bs-gutter-x: 3rem; } - .g-xxl-5, - .gy-xxl-5 { - --bs-gutter-y: 3rem; } } - -.table, .td-table:not(.td-initial), .td-content table:not(.td-initial), .td-box table:not(.td-initial) { - --bs-table-color-type: initial; - --bs-table-bg-type: initial; - --bs-table-color-state: initial; - --bs-table-bg-state: initial; - --bs-table-color: var(--bs-emphasis-color); - --bs-table-bg: var(--bs-body-bg); - --bs-table-border-color: var(--bs-border-color); - --bs-table-accent-bg: transparent; - --bs-table-striped-color: var(--bs-emphasis-color); - --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05); - --bs-table-active-color: var(--bs-emphasis-color); - --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1); - --bs-table-hover-color: var(--bs-emphasis-color); - --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075); - width: 100%; - margin-bottom: 1rem; - vertical-align: top; - border-color: var(--bs-table-border-color); } - .table > :not(caption) > * > *, .td-table:not(.td-initial) > :not(caption) > * > *, .td-content table:not(.td-initial) > :not(caption) > * > *, .td-box table:not(.td-initial) > :not(caption) > * > * { - padding: 0.5rem 0.5rem; - color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color))); - background-color: var(--bs-table-bg); - border-bottom-width: var(--bs-border-width); - box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg))); } - .table > tbody, .td-table:not(.td-initial) > tbody, .td-content table:not(.td-initial) > tbody, .td-box table:not(.td-initial) > tbody { - vertical-align: inherit; } - .table > thead, .td-table:not(.td-initial) > thead, .td-content table:not(.td-initial) > thead, .td-box table:not(.td-initial) > thead { - vertical-align: bottom; } - -.table-group-divider { - border-top: calc(var(--bs-border-width) * 2) solid currentcolor; } - -.caption-top { - caption-side: top; } - -.table-sm > :not(caption) > * > * { - padding: 0.25rem 0.25rem; } - -.table-bordered > :not(caption) > * { - border-width: var(--bs-border-width) 0; } - .table-bordered > :not(caption) > * > * { - border-width: 0 var(--bs-border-width); } - -.table-borderless > :not(caption) > * > * { - border-bottom-width: 0; } - -.table-borderless > :not(:first-child) { - border-top-width: 0; } - -.table-striped > tbody > tr:nth-of-type(odd) > *, .td-table:not(.td-initial) > tbody > tr:nth-of-type(odd) > *, .td-content table:not(.td-initial) > tbody > tr:nth-of-type(odd) > *, .td-box table:not(.td-initial) > tbody > tr:nth-of-type(odd) > * { - --bs-table-color-type: var(--bs-table-striped-color); - --bs-table-bg-type: var(--bs-table-striped-bg); } - -.table-striped-columns > :not(caption) > tr > :nth-child(even) { - --bs-table-color-type: var(--bs-table-striped-color); - --bs-table-bg-type: var(--bs-table-striped-bg); } - -.table-active { - --bs-table-color-state: var(--bs-table-active-color); - --bs-table-bg-state: var(--bs-table-active-bg); } - -.table-hover > tbody > tr:hover > * { - --bs-table-color-state: var(--bs-table-hover-color); - --bs-table-bg-state: var(--bs-table-hover-bg); } - -.table-primary { - --bs-table-color: #000; - --bs-table-bg: #d6e0e8; - --bs-table-border-color: #abb3ba; - --bs-table-striped-bg: #cbd5dc; - --bs-table-striped-color: #000; - --bs-table-active-bg: #c1cad1; - --bs-table-active-color: #000; - --bs-table-hover-bg: #c6cfd7; - --bs-table-hover-color: #000; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-secondary { - --bs-table-color: #000; - --bs-table-bg: #ffedd6; - --bs-table-border-color: #ccbeab; - --bs-table-striped-bg: #f2e1cb; - --bs-table-striped-color: #000; - --bs-table-active-bg: #e6d5c1; - --bs-table-active-color: #000; - --bs-table-hover-bg: #ecdbc6; - --bs-table-hover-color: #000; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-success { - --bs-table-color: #000; - --bs-table-bg: #d7e3ff; - --bs-table-border-color: #acb6cc; - --bs-table-striped-bg: #ccd8f2; - --bs-table-striped-color: #000; - --bs-table-active-bg: #c2cce6; - --bs-table-active-color: #000; - --bs-table-hover-bg: #c7d2ec; - --bs-table-hover-color: #000; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-info { - --bs-table-color: #000; - --bs-table-bg: #f2f9f8; - --bs-table-border-color: #c2c7c6; - --bs-table-striped-bg: #e6edec; - --bs-table-striped-color: #000; - --bs-table-active-bg: #dae0df; - --bs-table-active-color: #000; - --bs-table-hover-bg: #e0e6e5; - --bs-table-hover-color: #000; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-warning { - --bs-table-color: #000; - --bs-table-bg: #fbe1de; - --bs-table-border-color: #c9b4b2; - --bs-table-striped-bg: #eed6d3; - --bs-table-striped-color: #000; - --bs-table-active-bg: #e2cbc8; - --bs-table-active-color: #000; - --bs-table-hover-bg: #e8d0cd; - --bs-table-hover-color: #000; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-danger { - --bs-table-color: #000; - --bs-table-bg: #fbe1de; - --bs-table-border-color: #c9b4b2; - --bs-table-striped-bg: #eed6d3; - --bs-table-striped-color: #000; - --bs-table-active-bg: #e2cbc8; - --bs-table-active-color: #000; - --bs-table-hover-bg: #e8d0cd; - --bs-table-hover-color: #000; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-light { - --bs-table-color: #000; - --bs-table-bg: #d3f3ee; - --bs-table-border-color: #a9c2be; - --bs-table-striped-bg: #c8e7e2; - --bs-table-striped-color: #000; - --bs-table-active-bg: #bedbd6; - --bs-table-active-color: #000; - --bs-table-hover-bg: #c3e1dc; - --bs-table-hover-color: #000; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-dark { - --bs-table-color: #fff; - --bs-table-bg: #403f4c; - --bs-table-border-color: #666570; - --bs-table-striped-bg: #4a4955; - --bs-table-striped-color: #fff; - --bs-table-active-bg: #53525e; - --bs-table-active-color: #fff; - --bs-table-hover-bg: #4e4d59; - --bs-table-hover-color: #fff; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-responsive, .td-table:not(.td-initial), .td-content table:not(.td-initial), .td-box table:not(.td-initial) { - overflow-x: auto; - -webkit-overflow-scrolling: touch; } - -@media (max-width: 575.98px) { - .table-responsive-sm { - overflow-x: auto; - -webkit-overflow-scrolling: touch; } } - -@media (max-width: 767.98px) { - .table-responsive-md { - overflow-x: auto; - -webkit-overflow-scrolling: touch; } } - -@media (max-width: 991.98px) { - .table-responsive-lg { - overflow-x: auto; - -webkit-overflow-scrolling: touch; } } - -@media (max-width: 1199.98px) { - .table-responsive-xl { - overflow-x: auto; - -webkit-overflow-scrolling: touch; } } - -@media (max-width: 1399.98px) { - .table-responsive-xxl { - overflow-x: auto; - -webkit-overflow-scrolling: touch; } } - -.form-label { - margin-bottom: 0.5rem; } - -.col-form-label { - padding-top: calc(0.375rem + var(--bs-border-width)); - padding-bottom: calc(0.375rem + var(--bs-border-width)); - margin-bottom: 0; - font-size: inherit; - line-height: 1.5; } - -.col-form-label-lg { - padding-top: calc(0.5rem + var(--bs-border-width)); - padding-bottom: calc(0.5rem + var(--bs-border-width)); - font-size: 1.25rem; } - -.col-form-label-sm { - padding-top: calc(0.25rem + var(--bs-border-width)); - padding-bottom: calc(0.25rem + var(--bs-border-width)); - font-size: 0.875rem; } - -.form-text { - margin-top: 0.25rem; - font-size: 0.875em; - color: var(--bs-secondary-color); } - -.form-control { - display: block; - width: 100%; - padding: 0.375rem 0.75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: var(--bs-body-color); - appearance: none; - background-color: var(--bs-body-bg); - background-clip: padding-box; - border: var(--bs-border-width) solid var(--bs-border-color); - border-radius: var(--bs-border-radius); - box-shadow: var(--bs-box-shadow-inset); - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-control { - transition: none; } } - .form-control[type="file"] { - overflow: hidden; } - .form-control[type="file"]:not(:disabled):not([readonly]) { - cursor: pointer; } - .form-control:focus { - color: var(--bs-body-color); - background-color: var(--bs-body-bg); - border-color: #98b1c7; - outline: 0; - box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25rem rgba(48, 99, 142, 0.25); } - .form-control::-webkit-date-and-time-value { - min-width: 85px; - height: 1.5em; - margin: 0; } - .form-control::-webkit-datetime-edit { - display: block; - padding: 0; } - .form-control::placeholder { - color: var(--bs-secondary-color); - opacity: 1; } - .form-control:disabled { - background-color: var(--bs-secondary-bg); - opacity: 1; } - .form-control::file-selector-button { - padding: 0.375rem 0.75rem; - margin: -0.375rem -0.75rem; - margin-inline-end: 0.75rem; - color: var(--bs-body-color); - background-color: var(--bs-tertiary-bg); - background-image: var(--bs-gradient); - pointer-events: none; - border-color: inherit; - border-style: solid; - border-width: 0; - border-inline-end-width: var(--bs-border-width); - border-radius: 0; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-control::file-selector-button { - transition: none; } } - .form-control:hover:not(:disabled):not([readonly])::file-selector-button { - background-color: var(--bs-secondary-bg); } - -.form-control-plaintext { - display: block; - width: 100%; - padding: 0.375rem 0; - margin-bottom: 0; - line-height: 1.5; - color: var(--bs-body-color); - background-color: transparent; - border: solid transparent; - border-width: var(--bs-border-width) 0; } - .form-control-plaintext:focus { - outline: 0; } - .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { - padding-right: 0; - padding-left: 0; } - -.form-control-sm { - min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - border-radius: var(--bs-border-radius-sm); } - .form-control-sm::file-selector-button { - padding: 0.25rem 0.5rem; - margin: -0.25rem -0.5rem; - margin-inline-end: 0.5rem; } - -.form-control-lg { - min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); - padding: 0.5rem 1rem; - font-size: 1.25rem; - border-radius: var(--bs-border-radius-lg); } - .form-control-lg::file-selector-button { - padding: 0.5rem 1rem; - margin: -0.5rem -1rem; - margin-inline-end: 1rem; } - -textarea.form-control { - min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2)); } - -textarea.form-control-sm { - min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); } - -textarea.form-control-lg { - min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); } - -.form-control-color { - width: 3rem; - height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2)); - padding: 0.375rem; } - .form-control-color:not(:disabled):not([readonly]) { - cursor: pointer; } - .form-control-color::-moz-color-swatch { - border: 0 !important; - border-radius: var(--bs-border-radius); } - .form-control-color::-webkit-color-swatch { - border: 0 !important; - border-radius: var(--bs-border-radius); } - .form-control-color.form-control-sm { - height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); } - .form-control-color.form-control-lg { - height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); } - -.form-select { - --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); - display: block; - width: 100%; - padding: 0.375rem 2.25rem 0.375rem 0.75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: var(--bs-body-color); - appearance: none; - background-color: var(--bs-body-bg); - background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); - background-repeat: no-repeat; - background-position: right 0.75rem center; - background-size: 16px 12px; - border: var(--bs-border-width) solid var(--bs-border-color); - border-radius: var(--bs-border-radius); - box-shadow: var(--bs-box-shadow-inset); - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-select { - transition: none; } } - .form-select:focus { - border-color: #98b1c7; - outline: 0; - box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25rem rgba(48, 99, 142, 0.25); } - .form-select[multiple], .form-select[size]:not([size="1"]) { - padding-right: 0.75rem; - background-image: none; } - .form-select:disabled { - background-color: var(--bs-secondary-bg); } - .form-select:-moz-focusring { - color: transparent; - text-shadow: 0 0 0 var(--bs-body-color); } - -.form-select-sm { - padding-top: 0.25rem; - padding-bottom: 0.25rem; - padding-left: 0.5rem; - font-size: 0.875rem; - border-radius: var(--bs-border-radius-sm); } - -.form-select-lg { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 1rem; - font-size: 1.25rem; - border-radius: var(--bs-border-radius-lg); } - -[data-bs-theme="dark"] .form-select { - --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); } - -.form-check { - display: block; - min-height: 1.5rem; - padding-left: 1.5em; - margin-bottom: 0.125rem; } - .form-check .form-check-input { - float: left; - margin-left: -1.5em; } - -.form-check-reverse { - padding-right: 1.5em; - padding-left: 0; - text-align: right; } - .form-check-reverse .form-check-input { - float: right; - margin-right: -1.5em; - margin-left: 0; } - -.form-check-input { - --bs-form-check-bg: var(--bs-body-bg); - flex-shrink: 0; - width: 1em; - height: 1em; - margin-top: 0.25em; - vertical-align: top; - appearance: none; - background-color: var(--bs-form-check-bg); - background-image: var(--bs-form-check-bg-image); - background-repeat: no-repeat; - background-position: center; - background-size: contain; - border: var(--bs-border-width) solid var(--bs-border-color); - print-color-adjust: exact; } - .form-check-input[type="checkbox"] { - border-radius: 0.25em; } - .form-check-input[type="radio"] { - border-radius: 50%; } - .form-check-input:active { - filter: brightness(90%); } - .form-check-input:focus { - border-color: #98b1c7; - outline: 0; - box-shadow: 0 0 0 0.25rem rgba(48, 99, 142, 0.25); } - .form-check-input:checked { - background-color: #30638e; - border-color: #30638e; } - .form-check-input:checked[type="checkbox"] { - --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"), var(--bs-gradient); } - .form-check-input:checked[type="radio"] { - --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"), var(--bs-gradient); } - .form-check-input[type="checkbox"]:indeterminate { - background-color: #30638e; - border-color: #30638e; - --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"), var(--bs-gradient); } - .form-check-input:disabled { - pointer-events: none; - filter: none; - opacity: 0.5; } - .form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { - cursor: default; - opacity: 0.5; } - -.form-switch { - padding-left: 2.5em; } - .form-switch .form-check-input { - --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e"); - width: 2em; - margin-left: -2.5em; - background-image: var(--bs-form-switch-bg); - background-position: left center; - border-radius: 2em; - transition: background-position 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-switch .form-check-input { - transition: none; } } - .form-switch .form-check-input:focus { - --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2398b1c7'/%3e%3c/svg%3e"); } - .form-switch .form-check-input:checked { - background-position: right center; - --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"), var(--bs-gradient); } - .form-switch.form-check-reverse { - padding-right: 2.5em; - padding-left: 0; } - .form-switch.form-check-reverse .form-check-input { - margin-right: -2.5em; - margin-left: 0; } - -.form-check-inline { - display: inline-block; - margin-right: 1rem; } - -.btn-check { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none; } - .btn-check[disabled] + .btn, div.drawio .btn-check[disabled] + button, .td-blog .btn-check[disabled] + .td-rss-button, .btn-check:disabled + .btn, div.drawio .btn-check:disabled + button, .td-blog .btn-check:disabled + .td-rss-button { - pointer-events: none; - filter: none; - opacity: 0.65; } - -[data-bs-theme="dark"] .form-switch .form-check-input:not(:checked):not(:focus) { - --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e"); } - -.form-range { - width: 100%; - height: 1.5rem; - padding: 0; - appearance: none; - background-color: transparent; } - .form-range:focus { - outline: 0; } - .form-range:focus::-webkit-slider-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(48, 99, 142, 0.25); } - .form-range:focus::-moz-range-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(48, 99, 142, 0.25); } - .form-range::-moz-focus-outer { - border: 0; } - .form-range::-webkit-slider-thumb { - width: 1rem; - height: 1rem; - margin-top: -0.25rem; - appearance: none; - background-color: #30638e; - background-image: var(--bs-gradient); - border: 0; - border-radius: 1rem; - box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-range::-webkit-slider-thumb { - transition: none; } } - .form-range::-webkit-slider-thumb:active { - background-color: #c1d0dd; - background-image: var(--bs-gradient); } - .form-range::-webkit-slider-runnable-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: var(--bs-secondary-bg); - border-color: transparent; - border-radius: 1rem; - box-shadow: var(--bs-box-shadow-inset); } - .form-range::-moz-range-thumb { - width: 1rem; - height: 1rem; - appearance: none; - background-color: #30638e; - background-image: var(--bs-gradient); - border: 0; - border-radius: 1rem; - box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-range::-moz-range-thumb { - transition: none; } } - .form-range::-moz-range-thumb:active { - background-color: #c1d0dd; - background-image: var(--bs-gradient); } - .form-range::-moz-range-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: var(--bs-secondary-bg); - border-color: transparent; - border-radius: 1rem; - box-shadow: var(--bs-box-shadow-inset); } - .form-range:disabled { - pointer-events: none; } - .form-range:disabled::-webkit-slider-thumb { - background-color: var(--bs-secondary-color); } - .form-range:disabled::-moz-range-thumb { - background-color: var(--bs-secondary-color); } - -.form-floating { - position: relative; } - .form-floating > .form-control, - .form-floating > .form-control-plaintext, - .form-floating > .form-select { - height: calc(3.5rem + calc(var(--bs-border-width) * 2)); - min-height: calc(3.5rem + calc(var(--bs-border-width) * 2)); - line-height: 1.25; } - .form-floating > label { - position: absolute; - top: 0; - left: 0; - z-index: 2; - height: 100%; - padding: 1rem 0.75rem; - overflow: hidden; - text-align: start; - text-overflow: ellipsis; - white-space: nowrap; - pointer-events: none; - border: var(--bs-border-width) solid transparent; - transform-origin: 0 0; - transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-floating > label { - transition: none; } } - .form-floating > .form-control, - .form-floating > .form-control-plaintext { - padding: 1rem 0.75rem; } - .form-floating > .form-control::placeholder, - .form-floating > .form-control-plaintext::placeholder { - color: transparent; } - .form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown), - .form-floating > .form-control-plaintext:focus, - .form-floating > .form-control-plaintext:not(:placeholder-shown) { - padding-top: 1.625rem; - padding-bottom: 0.625rem; } - .form-floating > .form-control:-webkit-autofill, - .form-floating > .form-control-plaintext:-webkit-autofill { - padding-top: 1.625rem; - padding-bottom: 0.625rem; } - .form-floating > .form-select { - padding-top: 1.625rem; - padding-bottom: 0.625rem; } - .form-floating > .form-control:focus ~ label, - .form-floating > .form-control:not(:placeholder-shown) ~ label, - .form-floating > .form-control-plaintext ~ label, - .form-floating > .form-select ~ label { - color: rgba(var(--bs-body-color-rgb), 0.65); - transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); } - .form-floating > .form-control:focus ~ label::after, - .form-floating > .form-control:not(:placeholder-shown) ~ label::after, - .form-floating > .form-control-plaintext ~ label::after, - .form-floating > .form-select ~ label::after { - position: absolute; - inset: 1rem 0.375rem; - z-index: -1; - height: 1.5em; - content: ""; - background-color: var(--bs-body-bg); - border-radius: var(--bs-border-radius); } - .form-floating > .form-control:-webkit-autofill ~ label { - color: rgba(var(--bs-body-color-rgb), 0.65); - transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); } - .form-floating > .form-control-plaintext ~ label { - border-width: var(--bs-border-width) 0; } - .form-floating > :disabled ~ label, - .form-floating > .form-control:disabled ~ label { - color: #6c757d; } - .form-floating > :disabled ~ label::after, - .form-floating > .form-control:disabled ~ label::after { - background-color: var(--bs-secondary-bg); } - -.input-group { - position: relative; - display: flex; - flex-wrap: wrap; - align-items: stretch; - width: 100%; } - .input-group > .form-control, - .input-group > .form-select, - .input-group > .form-floating { - position: relative; - flex: 1 1 auto; - width: 1%; - min-width: 0; } - .input-group > .form-control:focus, - .input-group > .form-select:focus, - .input-group > .form-floating:focus-within { - z-index: 5; } - .input-group .btn, .input-group div.drawio button, div.drawio .input-group button, .input-group .td-blog .td-rss-button, .td-blog .input-group .td-rss-button { - position: relative; - z-index: 2; } - .input-group .btn:focus, .input-group div.drawio button:focus, div.drawio .input-group button:focus, .input-group .td-blog .td-rss-button:focus, .td-blog .input-group .td-rss-button:focus { - z-index: 5; } - -.input-group-text { - display: flex; - align-items: center; - padding: 0.375rem 0.75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: var(--bs-body-color); - text-align: center; - white-space: nowrap; - background-color: var(--bs-tertiary-bg); - border: var(--bs-border-width) solid var(--bs-border-color); - border-radius: var(--bs-border-radius); } - -.input-group-lg > .form-control, -.input-group-lg > .form-select, -.input-group-lg > .input-group-text, -.input-group-lg > .btn, -div.drawio .input-group-lg > button, -.td-blog .input-group-lg > .td-rss-button { - padding: 0.5rem 1rem; - font-size: 1.25rem; - border-radius: var(--bs-border-radius-lg); } - -.input-group-sm > .form-control, -.input-group-sm > .form-select, -.input-group-sm > .input-group-text, -.input-group-sm > .btn, -div.drawio .input-group-sm > button, -.td-blog .input-group-sm > .td-rss-button { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - border-radius: var(--bs-border-radius-sm); } - -.input-group-lg > .form-select, -.input-group-sm > .form-select { - padding-right: 3rem; } - -.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), -.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3), -.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, -.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - -.input-group.has-validation > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), -.input-group.has-validation > .dropdown-toggle:nth-last-child(n + 4), -.input-group.has-validation > .form-floating:nth-last-child(n + 3) > .form-control, -.input-group.has-validation > .form-floating:nth-last-child(n + 3) > .form-select { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - -.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { - margin-left: calc(var(--bs-border-width) * -1); - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - -.input-group > .form-floating:not(:first-child) > .form-control, -.input-group > .form-floating:not(:first-child) > .form-select { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - -.valid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 0.875em; - color: var(--bs-form-valid-color); } - -.valid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: .1rem; - font-size: 0.875rem; - color: #fff; - background-color: var(--bs-success); - border-radius: var(--bs-border-radius); } - -.was-validated :valid ~ .valid-feedback, -.was-validated :valid ~ .valid-tooltip, -.is-valid ~ .valid-feedback, -.is-valid ~ .valid-tooltip { - display: block; } - -.was-validated .form-control:valid, .form-control.is-valid { - border-color: var(--bs-form-valid-border-color); - padding-right: calc(1.5em + 0.75rem); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%233772ff' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: right calc(0.375em + 0.1875rem) center; - background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } - .was-validated .form-control:valid:focus, .form-control.is-valid:focus { - border-color: var(--bs-form-valid-border-color); - box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); } - -.was-validated textarea.form-control:valid, textarea.form-control.is-valid { - padding-right: calc(1.5em + 0.75rem); - background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); } - -.was-validated .form-select:valid, .form-select.is-valid { - border-color: var(--bs-form-valid-border-color); } - .was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { - --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%233772ff' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); - padding-right: 4.125rem; - background-position: right 0.75rem center, center right 2.25rem; - background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } - .was-validated .form-select:valid:focus, .form-select.is-valid:focus { - border-color: var(--bs-form-valid-border-color); - box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); } - -.was-validated .form-control-color:valid, .form-control-color.is-valid { - width: calc(3rem + calc(1.5em + 0.75rem)); } - -.was-validated .form-check-input:valid, .form-check-input.is-valid { - border-color: var(--bs-form-valid-border-color); } - .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { - background-color: var(--bs-form-valid-color); } - .was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { - box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); } - .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { - color: var(--bs-form-valid-color); } - -.form-check-inline .form-check-input ~ .valid-feedback { - margin-left: .5em; } - -.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, .was-validated .input-group > .form-select:not(:focus):valid, -.input-group > .form-select:not(:focus).is-valid, .was-validated .input-group > .form-floating:not(:focus-within):valid, -.input-group > .form-floating:not(:focus-within).is-valid { - z-index: 3; } - -.invalid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 0.875em; - color: var(--bs-form-invalid-color); } - -.invalid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: .1rem; - font-size: 0.875rem; - color: #fff; - background-color: var(--bs-danger); - border-radius: var(--bs-border-radius); } - -.was-validated :invalid ~ .invalid-feedback, -.was-validated :invalid ~ .invalid-tooltip, -.is-invalid ~ .invalid-feedback, -.is-invalid ~ .invalid-tooltip { - display: block; } - -.was-validated .form-control:invalid, .form-control.is-invalid { - border-color: var(--bs-form-invalid-border-color); - padding-right: calc(1.5em + 0.75rem); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ed6a5a'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ed6a5a' stroke='none'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: right calc(0.375em + 0.1875rem) center; - background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } - .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { - border-color: var(--bs-form-invalid-border-color); - box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); } - -.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { - padding-right: calc(1.5em + 0.75rem); - background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); } - -.was-validated .form-select:invalid, .form-select.is-invalid { - border-color: var(--bs-form-invalid-border-color); } - .was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { - --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ed6a5a'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ed6a5a' stroke='none'/%3e%3c/svg%3e"); - padding-right: 4.125rem; - background-position: right 0.75rem center, center right 2.25rem; - background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } - .was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { - border-color: var(--bs-form-invalid-border-color); - box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); } - -.was-validated .form-control-color:invalid, .form-control-color.is-invalid { - width: calc(3rem + calc(1.5em + 0.75rem)); } - -.was-validated .form-check-input:invalid, .form-check-input.is-invalid { - border-color: var(--bs-form-invalid-border-color); } - .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { - background-color: var(--bs-form-invalid-color); } - .was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { - box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); } - .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { - color: var(--bs-form-invalid-color); } - -.form-check-inline .form-check-input ~ .invalid-feedback { - margin-left: .5em; } - -.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, .was-validated .input-group > .form-select:not(:focus):invalid, -.input-group > .form-select:not(:focus).is-invalid, .was-validated .input-group > .form-floating:not(:focus-within):invalid, -.input-group > .form-floating:not(:focus-within).is-invalid { - z-index: 4; } - -.btn, div.drawio button, .td-blog .td-rss-button { - --bs-btn-padding-x: 0.75rem; - --bs-btn-padding-y: 0.375rem; - --bs-btn-font-family: ; - --bs-btn-font-size: 1rem; - --bs-btn-font-weight: 400; - --bs-btn-line-height: 1.5; - --bs-btn-color: var(--bs-body-color); - --bs-btn-bg: transparent; - --bs-btn-border-width: var(--bs-border-width); - --bs-btn-border-color: transparent; - --bs-btn-border-radius: var(--bs-border-radius); - --bs-btn-hover-border-color: transparent; - --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); - --bs-btn-disabled-opacity: 0.65; - --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5); - display: inline-block; - padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x); - font-family: var(--bs-btn-font-family); - font-size: var(--bs-btn-font-size); - font-weight: var(--bs-btn-font-weight); - line-height: var(--bs-btn-line-height); - color: var(--bs-btn-color); - text-align: center; - text-decoration: none; - vertical-align: middle; - cursor: pointer; - user-select: none; - border: var(--bs-btn-border-width) solid var(--bs-btn-border-color); - border-radius: var(--bs-btn-border-radius); - background-color: var(--bs-btn-bg); - background-image: var(--bs-gradient); - box-shadow: var(--bs-btn-box-shadow); - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .btn, div.drawio button, .td-blog .td-rss-button { - transition: none; } } - .btn:hover, div.drawio button:hover, .td-blog .td-rss-button:hover { - color: var(--bs-btn-hover-color); - background-color: var(--bs-btn-hover-bg); - border-color: var(--bs-btn-hover-border-color); } - .btn-check + .btn:hover, div.drawio .btn-check + button:hover, .td-blog .btn-check + .td-rss-button:hover { - color: var(--bs-btn-color); - background-color: var(--bs-btn-bg); - border-color: var(--bs-btn-border-color); } - .btn:focus-visible, div.drawio button:focus-visible, .td-blog .td-rss-button:focus-visible { - color: var(--bs-btn-hover-color); - background-color: var(--bs-btn-hover-bg); - background-image: var(--bs-gradient); - border-color: var(--bs-btn-hover-border-color); - outline: 0; - box-shadow: var(--bs-btn-box-shadow), var(--bs-btn-focus-box-shadow); } - .btn-check:focus-visible + .btn, div.drawio .btn-check:focus-visible + button, .td-blog .btn-check:focus-visible + .td-rss-button { - border-color: var(--bs-btn-hover-border-color); - outline: 0; - box-shadow: var(--bs-btn-box-shadow), var(--bs-btn-focus-box-shadow); } - .btn-check:checked + .btn, div.drawio .btn-check:checked + button, .td-blog .btn-check:checked + .td-rss-button, :not(.btn-check) + .btn:active, div.drawio :not(.btn-check) + button:active, .td-blog :not(.btn-check) + .td-rss-button:active, .btn:first-child:active, div.drawio button:first-child:active, .td-blog .td-rss-button:first-child:active, .btn.active, div.drawio button.active, .td-blog .active.td-rss-button, .btn.show, div.drawio button.show, .td-blog .show.td-rss-button { - color: var(--bs-btn-active-color); - background-color: var(--bs-btn-active-bg); - background-image: none; - border-color: var(--bs-btn-active-border-color); - box-shadow: var(--bs-btn-active-shadow); } - .btn-check:checked + .btn:focus-visible, div.drawio .btn-check:checked + button:focus-visible, .td-blog .btn-check:checked + .td-rss-button:focus-visible, :not(.btn-check) + .btn:active:focus-visible, div.drawio :not(.btn-check) + button:active:focus-visible, .td-blog :not(.btn-check) + .td-rss-button:active:focus-visible, .btn:first-child:active:focus-visible, div.drawio button:first-child:active:focus-visible, .td-blog .td-rss-button:first-child:active:focus-visible, .btn.active:focus-visible, div.drawio button.active:focus-visible, .td-blog .active.td-rss-button:focus-visible, .btn.show:focus-visible, div.drawio button.show:focus-visible, .td-blog .show.td-rss-button:focus-visible { - box-shadow: var(--bs-btn-active-shadow), var(--bs-btn-focus-box-shadow); } - .btn-check:checked:focus-visible + .btn, div.drawio .btn-check:checked:focus-visible + button, .td-blog .btn-check:checked:focus-visible + .td-rss-button { - box-shadow: var(--bs-btn-active-shadow), var(--bs-btn-focus-box-shadow); } - .btn:disabled, div.drawio button:disabled, .td-blog .td-rss-button:disabled, .btn.disabled, div.drawio button.disabled, .td-blog .disabled.td-rss-button, fieldset:disabled .btn, fieldset:disabled div.drawio button, div.drawio fieldset:disabled button, fieldset:disabled .td-blog .td-rss-button, .td-blog fieldset:disabled .td-rss-button { - color: var(--bs-btn-disabled-color); - pointer-events: none; - background-color: var(--bs-btn-disabled-bg); - background-image: none; - border-color: var(--bs-btn-disabled-border-color); - opacity: var(--bs-btn-disabled-opacity); - box-shadow: none; } - -.btn-primary { - --bs-btn-color: #fff; - --bs-btn-bg: #30638e; - --bs-btn-border-color: #30638e; - --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #295479; - --bs-btn-hover-border-color: #264f72; - --bs-btn-focus-shadow-rgb: 79, 122, 159; - --bs-btn-active-color: #fff; - --bs-btn-active-bg: #264f72; - --bs-btn-active-border-color: #244a6b; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #fff; - --bs-btn-disabled-bg: #30638e; - --bs-btn-disabled-border-color: #30638e; } - -.btn-secondary { - --bs-btn-color: #000; - --bs-btn-bg: #ffa630; - --bs-btn-border-color: #ffa630; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #ffb34f; - --bs-btn-hover-border-color: #ffaf45; - --bs-btn-focus-shadow-rgb: 217, 141, 41; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #ffb859; - --bs-btn-active-border-color: #ffaf45; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #000; - --bs-btn-disabled-bg: #ffa630; - --bs-btn-disabled-border-color: #ffa630; } - -.btn-success { - --bs-btn-color: #000; - --bs-btn-bg: #3772ff; - --bs-btn-border-color: #3772ff; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #5587ff; - --bs-btn-hover-border-color: #4b80ff; - --bs-btn-focus-shadow-rgb: 47, 97, 217; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #5f8eff; - --bs-btn-active-border-color: #4b80ff; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #000; - --bs-btn-disabled-bg: #3772ff; - --bs-btn-disabled-border-color: #3772ff; } - -.btn-info, .td-blog .td-rss-button { - --bs-btn-color: #000; - --bs-btn-bg: #c0e0de; - --bs-btn-border-color: #c0e0de; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #c9e5e3; - --bs-btn-hover-border-color: #c6e3e1; - --bs-btn-focus-shadow-rgb: 163, 190, 189; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #cde6e5; - --bs-btn-active-border-color: #c6e3e1; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #000; - --bs-btn-disabled-bg: #c0e0de; - --bs-btn-disabled-border-color: #c0e0de; } - -.btn-warning { - --bs-btn-color: #000; - --bs-btn-bg: #ed6a5a; - --bs-btn-border-color: #ed6a5a; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #f08073; - --bs-btn-hover-border-color: #ef796b; - --bs-btn-focus-shadow-rgb: 201, 90, 77; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #f1887b; - --bs-btn-active-border-color: #ef796b; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #000; - --bs-btn-disabled-bg: #ed6a5a; - --bs-btn-disabled-border-color: #ed6a5a; } - -.btn-danger { - --bs-btn-color: #000; - --bs-btn-bg: #ed6a5a; - --bs-btn-border-color: #ed6a5a; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #f08073; - --bs-btn-hover-border-color: #ef796b; - --bs-btn-focus-shadow-rgb: 201, 90, 77; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #f1887b; - --bs-btn-active-border-color: #ef796b; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #000; - --bs-btn-disabled-bg: #ed6a5a; - --bs-btn-disabled-border-color: #ed6a5a; } - -.btn-light { - --bs-btn-color: #000; - --bs-btn-bg: #d3f3ee; - --bs-btn-border-color: #d3f3ee; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #b3cfca; - --bs-btn-hover-border-color: #a9c2be; - --bs-btn-focus-shadow-rgb: 179, 207, 202; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #a9c2be; - --bs-btn-active-border-color: #9eb6b3; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #000; - --bs-btn-disabled-bg: #d3f3ee; - --bs-btn-disabled-border-color: #d3f3ee; } - -.btn-dark { - --bs-btn-color: #fff; - --bs-btn-bg: #403f4c; - --bs-btn-border-color: #403f4c; - --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #5d5c67; - --bs-btn-hover-border-color: #53525e; - --bs-btn-focus-shadow-rgb: 93, 92, 103; - --bs-btn-active-color: #fff; - --bs-btn-active-bg: #666570; - --bs-btn-active-border-color: #53525e; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #fff; - --bs-btn-disabled-bg: #403f4c; - --bs-btn-disabled-border-color: #403f4c; } - -.btn-outline-primary, div.drawio button { - --bs-btn-color: #30638e; - --bs-btn-border-color: #30638e; - --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #30638e; - --bs-btn-hover-border-color: #30638e; - --bs-btn-focus-shadow-rgb: 48, 99, 142; - --bs-btn-active-color: #fff; - --bs-btn-active-bg: #30638e; - --bs-btn-active-border-color: #30638e; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #30638e; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #30638e; - --bs-gradient: none; } - -.btn-outline-secondary { - --bs-btn-color: #ffa630; - --bs-btn-border-color: #ffa630; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #ffa630; - --bs-btn-hover-border-color: #ffa630; - --bs-btn-focus-shadow-rgb: 255, 166, 48; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #ffa630; - --bs-btn-active-border-color: #ffa630; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #ffa630; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #ffa630; - --bs-gradient: none; } - -.btn-outline-success { - --bs-btn-color: #3772ff; - --bs-btn-border-color: #3772ff; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #3772ff; - --bs-btn-hover-border-color: #3772ff; - --bs-btn-focus-shadow-rgb: 55, 114, 255; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #3772ff; - --bs-btn-active-border-color: #3772ff; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #3772ff; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #3772ff; - --bs-gradient: none; } - -.btn-outline-info { - --bs-btn-color: #c0e0de; - --bs-btn-border-color: #c0e0de; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #c0e0de; - --bs-btn-hover-border-color: #c0e0de; - --bs-btn-focus-shadow-rgb: 192, 224, 222; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #c0e0de; - --bs-btn-active-border-color: #c0e0de; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #c0e0de; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #c0e0de; - --bs-gradient: none; } - -.btn-outline-warning { - --bs-btn-color: #ed6a5a; - --bs-btn-border-color: #ed6a5a; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #ed6a5a; - --bs-btn-hover-border-color: #ed6a5a; - --bs-btn-focus-shadow-rgb: 237, 106, 90; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #ed6a5a; - --bs-btn-active-border-color: #ed6a5a; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #ed6a5a; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #ed6a5a; - --bs-gradient: none; } - -.btn-outline-danger { - --bs-btn-color: #ed6a5a; - --bs-btn-border-color: #ed6a5a; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #ed6a5a; - --bs-btn-hover-border-color: #ed6a5a; - --bs-btn-focus-shadow-rgb: 237, 106, 90; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #ed6a5a; - --bs-btn-active-border-color: #ed6a5a; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #ed6a5a; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #ed6a5a; - --bs-gradient: none; } - -.btn-outline-light { - --bs-btn-color: #d3f3ee; - --bs-btn-border-color: #d3f3ee; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #d3f3ee; - --bs-btn-hover-border-color: #d3f3ee; - --bs-btn-focus-shadow-rgb: 211, 243, 238; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #d3f3ee; - --bs-btn-active-border-color: #d3f3ee; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #d3f3ee; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #d3f3ee; - --bs-gradient: none; } - -.btn-outline-dark { - --bs-btn-color: #403f4c; - --bs-btn-border-color: #403f4c; - --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #403f4c; - --bs-btn-hover-border-color: #403f4c; - --bs-btn-focus-shadow-rgb: 64, 63, 76; - --bs-btn-active-color: #fff; - --bs-btn-active-bg: #403f4c; - --bs-btn-active-border-color: #403f4c; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #403f4c; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #403f4c; - --bs-gradient: none; } - -.btn-link { - --bs-btn-font-weight: 400; - --bs-btn-color: var(--bs-link-color); - --bs-btn-bg: transparent; - --bs-btn-border-color: transparent; - --bs-btn-hover-color: var(--bs-link-hover-color); - --bs-btn-hover-border-color: transparent; - --bs-btn-active-color: var(--bs-link-hover-color); - --bs-btn-active-border-color: transparent; - --bs-btn-disabled-color: #6c757d; - --bs-btn-disabled-border-color: transparent; - --bs-btn-box-shadow: 0 0 0 #000; - --bs-btn-focus-shadow-rgb: 49, 132, 253; - text-decoration: underline; - background-image: none; } - .btn-link:focus-visible { - color: var(--bs-btn-color); } - .btn-link:hover { - color: var(--bs-btn-hover-color); } - -.btn-lg, .td-blog .td-rss-button, .btn-group-lg > .btn, div.drawio .btn-group-lg > button { - --bs-btn-padding-y: 0.5rem; - --bs-btn-padding-x: 1rem; - --bs-btn-font-size: 1.25rem; - --bs-btn-border-radius: var(--bs-border-radius-lg); } - -.btn-sm, .btn-group-sm > .btn, div.drawio .btn-group-sm > button, .td-blog .btn-group-sm > .td-rss-button { - --bs-btn-padding-y: 0.25rem; - --bs-btn-padding-x: 0.5rem; - --bs-btn-font-size: 0.875rem; - --bs-btn-border-radius: var(--bs-border-radius-sm); } - -.fade { - transition: opacity 0.15s linear; } - @media (prefers-reduced-motion: reduce) { - .fade { - transition: none; } } - .fade:not(.show) { - opacity: 0; } - -.collapse:not(.show) { - display: none; } - -.collapsing { - height: 0; - overflow: hidden; - transition: height 0.35s ease; } - @media (prefers-reduced-motion: reduce) { - .collapsing { - transition: none; } } - .collapsing.collapse-horizontal { - width: 0; - height: auto; - transition: width 0.35s ease; } - @media (prefers-reduced-motion: reduce) { - .collapsing.collapse-horizontal { - transition: none; } } -.dropup, -.dropend, -.dropdown, -.dropstart, -.dropup-center, -.dropdown-center { - position: relative; } - -.dropdown-toggle { - white-space: nowrap; } - .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid; - border-right: 0.3em solid transparent; - border-bottom: 0; - border-left: 0.3em solid transparent; } - .dropdown-toggle:empty::after { - margin-left: 0; } - -.dropdown-menu { - --bs-dropdown-zindex: 1000; - --bs-dropdown-min-width: 10rem; - --bs-dropdown-padding-x: 0; - --bs-dropdown-padding-y: 0.5rem; - --bs-dropdown-spacer: 0.125rem; - --bs-dropdown-font-size: 1rem; - --bs-dropdown-color: var(--bs-body-color); - --bs-dropdown-bg: var(--bs-body-bg); - --bs-dropdown-border-color: var(--bs-border-color-translucent); - --bs-dropdown-border-radius: var(--bs-border-radius); - --bs-dropdown-border-width: var(--bs-border-width); - --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width)); - --bs-dropdown-divider-bg: var(--bs-border-color-translucent); - --bs-dropdown-divider-margin-y: 0.5rem; - --bs-dropdown-box-shadow: var(--bs-box-shadow); - --bs-dropdown-link-color: var(--bs-body-color); - --bs-dropdown-link-hover-color: var(--bs-body-color); - --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg); - --bs-dropdown-link-active-color: #fff; - --bs-dropdown-link-active-bg: #30638e; - --bs-dropdown-link-disabled-color: var(--bs-tertiary-color); - --bs-dropdown-item-padding-x: 1rem; - --bs-dropdown-item-padding-y: 0.25rem; - --bs-dropdown-header-color: #6c757d; - --bs-dropdown-header-padding-x: 1rem; - --bs-dropdown-header-padding-y: 0.5rem; - position: absolute; - z-index: var(--bs-dropdown-zindex); - display: none; - min-width: var(--bs-dropdown-min-width); - padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x); - margin: 0; - font-size: var(--bs-dropdown-font-size); - color: var(--bs-dropdown-color); - text-align: left; - list-style: none; - background-color: var(--bs-dropdown-bg); - background-clip: padding-box; - border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color); - border-radius: var(--bs-dropdown-border-radius); - box-shadow: var(--bs-dropdown-box-shadow); } - .dropdown-menu[data-bs-popper] { - top: 100%; - left: 0; - margin-top: var(--bs-dropdown-spacer); } - -.dropdown-menu-start { - --bs-position: start; } - .dropdown-menu-start[data-bs-popper] { - right: auto; - left: 0; } - -.dropdown-menu-end { - --bs-position: end; } - .dropdown-menu-end[data-bs-popper] { - right: 0; - left: auto; } - -@media (min-width: 576px) { - .dropdown-menu-sm-start { - --bs-position: start; } - .dropdown-menu-sm-start[data-bs-popper] { - right: auto; - left: 0; } - .dropdown-menu-sm-end { - --bs-position: end; } - .dropdown-menu-sm-end[data-bs-popper] { - right: 0; - left: auto; } } - -@media (min-width: 768px) { - .dropdown-menu-md-start { - --bs-position: start; } - .dropdown-menu-md-start[data-bs-popper] { - right: auto; - left: 0; } - .dropdown-menu-md-end { - --bs-position: end; } - .dropdown-menu-md-end[data-bs-popper] { - right: 0; - left: auto; } } - -@media (min-width: 992px) { - .dropdown-menu-lg-start { - --bs-position: start; } - .dropdown-menu-lg-start[data-bs-popper] { - right: auto; - left: 0; } - .dropdown-menu-lg-end { - --bs-position: end; } - .dropdown-menu-lg-end[data-bs-popper] { - right: 0; - left: auto; } } - -@media (min-width: 1200px) { - .dropdown-menu-xl-start { - --bs-position: start; } - .dropdown-menu-xl-start[data-bs-popper] { - right: auto; - left: 0; } - .dropdown-menu-xl-end { - --bs-position: end; } - .dropdown-menu-xl-end[data-bs-popper] { - right: 0; - left: auto; } } - -@media (min-width: 1400px) { - .dropdown-menu-xxl-start { - --bs-position: start; } - .dropdown-menu-xxl-start[data-bs-popper] { - right: auto; - left: 0; } - .dropdown-menu-xxl-end { - --bs-position: end; } - .dropdown-menu-xxl-end[data-bs-popper] { - right: 0; - left: auto; } } - -.dropup .dropdown-menu[data-bs-popper] { - top: auto; - bottom: 100%; - margin-top: 0; - margin-bottom: var(--bs-dropdown-spacer); } - -.dropup .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0; - border-right: 0.3em solid transparent; - border-bottom: 0.3em solid; - border-left: 0.3em solid transparent; } - -.dropup .dropdown-toggle:empty::after { - margin-left: 0; } - -.dropend .dropdown-menu[data-bs-popper] { - top: 0; - right: auto; - left: 100%; - margin-top: 0; - margin-left: var(--bs-dropdown-spacer); } - -.dropend .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid transparent; - border-right: 0; - border-bottom: 0.3em solid transparent; - border-left: 0.3em solid; } - -.dropend .dropdown-toggle:empty::after { - margin-left: 0; } - -.dropend .dropdown-toggle::after { - vertical-align: 0; } - -.dropstart .dropdown-menu[data-bs-popper] { - top: 0; - right: 100%; - left: auto; - margin-top: 0; - margin-right: var(--bs-dropdown-spacer); } - -.dropstart .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; } - -.dropstart .dropdown-toggle::after { - display: none; } - -.dropstart .dropdown-toggle::before { - display: inline-block; - margin-right: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid transparent; - border-right: 0.3em solid; - border-bottom: 0.3em solid transparent; } - -.dropstart .dropdown-toggle:empty::after { - margin-left: 0; } - -.dropstart .dropdown-toggle::before { - vertical-align: 0; } - -.dropdown-divider { - height: 0; - margin: var(--bs-dropdown-divider-margin-y) 0; - overflow: hidden; - border-top: 1px solid var(--bs-dropdown-divider-bg); - opacity: 1; } - -.dropdown-item { - display: block; - width: 100%; - padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); - clear: both; - font-weight: 400; - color: var(--bs-dropdown-link-color); - text-align: inherit; - text-decoration: none; - white-space: nowrap; - background-color: transparent; - border: 0; - border-radius: var(--bs-dropdown-item-border-radius, 0); } - .dropdown-item:hover, .dropdown-item:focus { - color: var(--bs-dropdown-link-hover-color); - background-color: var(--bs-dropdown-link-hover-bg); - background-image: var(--bs-gradient); } - .dropdown-item.active, .dropdown-item:active { - color: var(--bs-dropdown-link-active-color); - text-decoration: none; - background-color: var(--bs-dropdown-link-active-bg); - background-image: var(--bs-gradient); } - .dropdown-item.disabled, .dropdown-item:disabled { - color: var(--bs-dropdown-link-disabled-color); - pointer-events: none; - background-color: transparent; - background-image: none; } - -.dropdown-menu.show { - display: block; } - -.dropdown-header { - display: block; - padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x); - margin-bottom: 0; - font-size: 0.875rem; - color: var(--bs-dropdown-header-color); - white-space: nowrap; } - -.dropdown-item-text { - display: block; - padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); - color: var(--bs-dropdown-link-color); } - -.dropdown-menu-dark { - --bs-dropdown-color: #dee2e6; - --bs-dropdown-bg: #343a40; - --bs-dropdown-border-color: var(--bs-border-color-translucent); - --bs-dropdown-box-shadow: ; - --bs-dropdown-link-color: #dee2e6; - --bs-dropdown-link-hover-color: #fff; - --bs-dropdown-divider-bg: var(--bs-border-color-translucent); - --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15); - --bs-dropdown-link-active-color: #fff; - --bs-dropdown-link-active-bg: #30638e; - --bs-dropdown-link-disabled-color: #adb5bd; - --bs-dropdown-header-color: #adb5bd; } - -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-flex; - vertical-align: middle; } - .btn-group > .btn, div.drawio .btn-group > button, .td-blog .btn-group > .td-rss-button, - .btn-group-vertical > .btn, - div.drawio .btn-group-vertical > button, - .td-blog .btn-group-vertical > .td-rss-button { - position: relative; - flex: 1 1 auto; } - .btn-group > .btn-check:checked + .btn, div.drawio .btn-group > .btn-check:checked + button, .td-blog .btn-group > .btn-check:checked + .td-rss-button, - .btn-group > .btn-check:focus + .btn, - div.drawio .btn-group > .btn-check:focus + button, - .td-blog .btn-group > .btn-check:focus + .td-rss-button, - .btn-group > .btn:hover, - div.drawio .btn-group > button:hover, - .td-blog .btn-group > .td-rss-button:hover, - .btn-group > .btn:focus, - div.drawio .btn-group > button:focus, - .td-blog .btn-group > .td-rss-button:focus, - .btn-group > .btn:active, - div.drawio .btn-group > button:active, - .td-blog .btn-group > .td-rss-button:active, - .btn-group > .btn.active, - div.drawio .btn-group > button.active, - .td-blog .btn-group > .active.td-rss-button, - .btn-group-vertical > .btn-check:checked + .btn, - div.drawio .btn-group-vertical > .btn-check:checked + button, - .td-blog .btn-group-vertical > .btn-check:checked + .td-rss-button, - .btn-group-vertical > .btn-check:focus + .btn, - div.drawio .btn-group-vertical > .btn-check:focus + button, - .td-blog .btn-group-vertical > .btn-check:focus + .td-rss-button, - .btn-group-vertical > .btn:hover, - div.drawio .btn-group-vertical > button:hover, - .td-blog .btn-group-vertical > .td-rss-button:hover, - .btn-group-vertical > .btn:focus, - div.drawio .btn-group-vertical > button:focus, - .td-blog .btn-group-vertical > .td-rss-button:focus, - .btn-group-vertical > .btn:active, - div.drawio .btn-group-vertical > button:active, - .td-blog .btn-group-vertical > .td-rss-button:active, - .btn-group-vertical > .btn.active, - div.drawio .btn-group-vertical > button.active, - .td-blog .btn-group-vertical > .active.td-rss-button { - z-index: 1; } - -.btn-toolbar { - display: flex; - flex-wrap: wrap; - justify-content: flex-start; } - .btn-toolbar .input-group { - width: auto; } - -.btn-group { - border-radius: var(--bs-border-radius); } - .btn-group > :not(.btn-check:first-child) + .btn, div.drawio .btn-group > :not(.btn-check:first-child) + button, .td-blog .btn-group > :not(.btn-check:first-child) + .td-rss-button, - .btn-group > .btn-group:not(:first-child) { - margin-left: calc(var(--bs-border-width) * -1); } - .btn-group > .btn:not(:last-child):not(.dropdown-toggle), div.drawio .btn-group > button:not(:last-child):not(.dropdown-toggle), .td-blog .btn-group > .td-rss-button:not(:last-child):not(.dropdown-toggle), - .btn-group > .btn.dropdown-toggle-split:first-child, - div.drawio .btn-group > button.dropdown-toggle-split:first-child, - .td-blog .btn-group > .dropdown-toggle-split.td-rss-button:first-child, - .btn-group > .btn-group:not(:last-child) > .btn, - div.drawio .btn-group > .btn-group:not(:last-child) > button, - .td-blog .btn-group > .btn-group:not(:last-child) > .td-rss-button { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .btn-group > .btn:nth-child(n + 3), div.drawio .btn-group > button:nth-child(n + 3), .td-blog .btn-group > .td-rss-button:nth-child(n + 3), - .btn-group > :not(.btn-check) + .btn, - div.drawio .btn-group > :not(.btn-check) + button, - .td-blog .btn-group > :not(.btn-check) + .td-rss-button, - .btn-group > .btn-group:not(:first-child) > .btn, - div.drawio .btn-group > .btn-group:not(:first-child) > button, - .td-blog .btn-group > .btn-group:not(:first-child) > .td-rss-button { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - -.dropdown-toggle-split { - padding-right: 0.5625rem; - padding-left: 0.5625rem; } - .dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after { - margin-left: 0; } - .dropstart .dropdown-toggle-split::before { - margin-right: 0; } - -.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split, div.drawio .btn-group-sm > button + .dropdown-toggle-split, .td-blog .btn-group-sm > .td-rss-button + .dropdown-toggle-split { - padding-right: 0.375rem; - padding-left: 0.375rem; } - -.btn-lg + .dropdown-toggle-split, .td-blog .td-rss-button + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split, div.drawio .btn-group-lg > button + .dropdown-toggle-split, .td-blog .btn-group-lg > .td-rss-button + .dropdown-toggle-split { - padding-right: 0.75rem; - padding-left: 0.75rem; } - -.btn-group.show .dropdown-toggle { - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } - .btn-group.show .dropdown-toggle.btn-link { - box-shadow: none; } - -.btn-group-vertical { - flex-direction: column; - align-items: flex-start; - justify-content: center; } - .btn-group-vertical > .btn, div.drawio .btn-group-vertical > button, .td-blog .btn-group-vertical > .td-rss-button, - .btn-group-vertical > .btn-group { - width: 100%; } - .btn-group-vertical > .btn:not(:first-child), div.drawio .btn-group-vertical > button:not(:first-child), .td-blog .btn-group-vertical > .td-rss-button:not(:first-child), - .btn-group-vertical > .btn-group:not(:first-child) { - margin-top: calc(var(--bs-border-width) * -1); } - .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), div.drawio .btn-group-vertical > button:not(:last-child):not(.dropdown-toggle), .td-blog .btn-group-vertical > .td-rss-button:not(:last-child):not(.dropdown-toggle), - .btn-group-vertical > .btn-group:not(:last-child) > .btn, - div.drawio .btn-group-vertical > .btn-group:not(:last-child) > button, - .td-blog .btn-group-vertical > .btn-group:not(:last-child) > .td-rss-button { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; } - .btn-group-vertical > .btn ~ .btn, div.drawio .btn-group-vertical > button ~ .btn, div.drawio .btn-group-vertical > .btn ~ button, div.drawio .btn-group-vertical > button ~ button, .td-blog .btn-group-vertical > .td-rss-button ~ .btn, .td-blog div.drawio .btn-group-vertical > .td-rss-button ~ button, div.drawio .td-blog .btn-group-vertical > .td-rss-button ~ button, .td-blog .btn-group-vertical > .btn ~ .td-rss-button, .td-blog div.drawio .btn-group-vertical > button ~ .td-rss-button, div.drawio .td-blog .btn-group-vertical > button ~ .td-rss-button, .td-blog .btn-group-vertical > .td-rss-button ~ .td-rss-button, - .btn-group-vertical > .btn-group:not(:first-child) > .btn, - div.drawio .btn-group-vertical > .btn-group:not(:first-child) > button, - .td-blog .btn-group-vertical > .btn-group:not(:first-child) > .td-rss-button { - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.nav { - --bs-nav-link-padding-x: 1rem; - --bs-nav-link-padding-y: 0.5rem; - --bs-nav-link-font-weight: ; - --bs-nav-link-color: var(--bs-link-color); - --bs-nav-link-hover-color: var(--bs-link-hover-color); - --bs-nav-link-disabled-color: var(--bs-secondary-color); - display: flex; - flex-wrap: wrap; - padding-left: 0; - margin-bottom: 0; - list-style: none; } - -.nav-link { - display: block; - padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x); - font-size: var(--bs-nav-link-font-size); - font-weight: var(--bs-nav-link-font-weight); - color: var(--bs-nav-link-color); - text-decoration: none; - background: none; - border: 0; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .nav-link { - transition: none; } } - .nav-link:hover, .nav-link:focus { - color: var(--bs-nav-link-hover-color); } - .nav-link:focus-visible { - outline: 0; - box-shadow: 0 0 0 0.25rem rgba(48, 99, 142, 0.25); } - .nav-link.disabled, .nav-link:disabled { - color: var(--bs-nav-link-disabled-color); - pointer-events: none; - cursor: default; } - -.nav-tabs { - --bs-nav-tabs-border-width: var(--bs-border-width); - --bs-nav-tabs-border-color: var(--bs-border-color); - --bs-nav-tabs-border-radius: var(--bs-border-radius); - --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color); - --bs-nav-tabs-link-active-color: var(--bs-emphasis-color); - --bs-nav-tabs-link-active-bg: var(--bs-body-bg); - --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg); - border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color); } - .nav-tabs .nav-link { - margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width)); - border: var(--bs-nav-tabs-border-width) solid transparent; - border-top-left-radius: var(--bs-nav-tabs-border-radius); - border-top-right-radius: var(--bs-nav-tabs-border-radius); } - .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { - isolation: isolate; - border-color: var(--bs-nav-tabs-link-hover-border-color); } - .nav-tabs .nav-link.active, - .nav-tabs .nav-item.show .nav-link { - color: var(--bs-nav-tabs-link-active-color); - background-color: var(--bs-nav-tabs-link-active-bg); - border-color: var(--bs-nav-tabs-link-active-border-color); } - .nav-tabs .dropdown-menu { - margin-top: calc(-1 * var(--bs-nav-tabs-border-width)); - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.nav-pills { - --bs-nav-pills-border-radius: var(--bs-border-radius); - --bs-nav-pills-link-active-color: #fff; - --bs-nav-pills-link-active-bg: #30638e; } - .nav-pills .nav-link { - border-radius: var(--bs-nav-pills-border-radius); } - .nav-pills .nav-link.active, - .nav-pills .show > .nav-link { - color: var(--bs-nav-pills-link-active-color); - background-color: var(--bs-nav-pills-link-active-bg); - background-image: var(--bs-gradient); } - -.nav-underline { - --bs-nav-underline-gap: 1rem; - --bs-nav-underline-border-width: 0.125rem; - --bs-nav-underline-link-active-color: var(--bs-emphasis-color); - gap: var(--bs-nav-underline-gap); } - .nav-underline .nav-link { - padding-right: 0; - padding-left: 0; - border-bottom: var(--bs-nav-underline-border-width) solid transparent; } - .nav-underline .nav-link:hover, .nav-underline .nav-link:focus { - border-bottom-color: currentcolor; } - .nav-underline .nav-link.active, - .nav-underline .show > .nav-link { - font-weight: 700; - color: var(--bs-nav-underline-link-active-color); - border-bottom-color: currentcolor; } - -.nav-fill > .nav-link, -.nav-fill .nav-item { - flex: 1 1 auto; - text-align: center; } - -.nav-justified > .nav-link, -.nav-justified .nav-item { - flex-basis: 0; - flex-grow: 1; - text-align: center; } - -.nav-fill .nav-item .nav-link, -.nav-justified .nav-item .nav-link { - width: 100%; } - -.tab-content > .tab-pane { - display: none; } - -.tab-content > .active { - display: block; } - -.navbar, .td-navbar { - --bs-navbar-padding-x: 0; - --bs-navbar-padding-y: 0.5rem; - --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65); - --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8); - --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3); - --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1); - --bs-navbar-brand-padding-y: 0.3125rem; - --bs-navbar-brand-margin-end: 1rem; - --bs-navbar-brand-font-size: 1.25rem; - --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1); - --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1); - --bs-navbar-nav-link-padding-x: 0.5rem; - --bs-navbar-toggler-padding-y: 0.25rem; - --bs-navbar-toggler-padding-x: 0.75rem; - --bs-navbar-toggler-font-size: 1.25rem; - --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); - --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15); - --bs-navbar-toggler-border-radius: var(--bs-border-radius); - --bs-navbar-toggler-focus-width: 0.25rem; - --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out; - position: relative; - display: flex; - flex-wrap: wrap; - align-items: center; - justify-content: space-between; - padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x); - background-image: var(--bs-gradient); } - .navbar > .container, .td-navbar > .container, - .navbar > .container-fluid, - .td-navbar > .container-fluid, - .navbar > .container-sm, - .td-navbar > .container-sm, - .navbar > .container-md, - .td-navbar > .container-md, - .navbar > .container-lg, - .td-navbar > .container-lg, - .navbar > .container-xl, - .td-navbar > .container-xl, - .navbar > .container-xxl, - .td-navbar > .container-xxl { - display: flex; - flex-wrap: inherit; - align-items: center; - justify-content: space-between; } - -.navbar-brand { - padding-top: var(--bs-navbar-brand-padding-y); - padding-bottom: var(--bs-navbar-brand-padding-y); - margin-right: var(--bs-navbar-brand-margin-end); - font-size: var(--bs-navbar-brand-font-size); - color: var(--bs-navbar-brand-color); - text-decoration: none; - white-space: nowrap; } - .navbar-brand:hover, .navbar-brand:focus { - color: var(--bs-navbar-brand-hover-color); } - -.navbar-nav { - --bs-nav-link-padding-x: 0; - --bs-nav-link-padding-y: 0.5rem; - --bs-nav-link-font-weight: ; - --bs-nav-link-color: var(--bs-navbar-color); - --bs-nav-link-hover-color: var(--bs-navbar-hover-color); - --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color); - display: flex; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - list-style: none; } - .navbar-nav .nav-link.active, .navbar-nav .nav-link.show { - color: var(--bs-navbar-active-color); } - .navbar-nav .dropdown-menu { - position: static; } - -.navbar-text { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - color: var(--bs-navbar-color); } - .navbar-text a, - .navbar-text a:hover, - .navbar-text a:focus { - color: var(--bs-navbar-active-color); } - -.navbar-collapse { - flex-basis: 100%; - flex-grow: 1; - align-items: center; } - -.navbar-toggler { - padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x); - font-size: var(--bs-navbar-toggler-font-size); - line-height: 1; - color: var(--bs-navbar-color); - background-color: transparent; - border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color); - border-radius: var(--bs-navbar-toggler-border-radius); - transition: var(--bs-navbar-toggler-transition); } - @media (prefers-reduced-motion: reduce) { - .navbar-toggler { - transition: none; } } - .navbar-toggler:hover { - text-decoration: none; } - .navbar-toggler:focus { - text-decoration: none; - outline: 0; - box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width); } - -.navbar-toggler-icon { - display: inline-block; - width: 1.5em; - height: 1.5em; - vertical-align: middle; - background-image: var(--bs-navbar-toggler-icon-bg); - background-repeat: no-repeat; - background-position: center; - background-size: 100%; } - -.navbar-nav-scroll { - max-height: var(--bs-scroll-height, 75vh); - overflow-y: auto; } - -@media (min-width: 576px) { - .navbar-expand-sm { - flex-wrap: nowrap; - justify-content: flex-start; } - .navbar-expand-sm .navbar-nav { - flex-direction: row; } - .navbar-expand-sm .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-sm .navbar-nav .nav-link { - padding-right: var(--bs-navbar-nav-link-padding-x); - padding-left: var(--bs-navbar-nav-link-padding-x); } - .navbar-expand-sm .navbar-nav-scroll { - overflow: visible; } - .navbar-expand-sm .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand-sm .navbar-toggler { - display: none; } - .navbar-expand-sm .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - box-shadow: none; - transition: none; } - .navbar-expand-sm .offcanvas .offcanvas-header { - display: none; } - .navbar-expand-sm .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; } } - -@media (min-width: 768px) { - .navbar-expand-md { - flex-wrap: nowrap; - justify-content: flex-start; } - .navbar-expand-md .navbar-nav { - flex-direction: row; } - .navbar-expand-md .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-md .navbar-nav .nav-link { - padding-right: var(--bs-navbar-nav-link-padding-x); - padding-left: var(--bs-navbar-nav-link-padding-x); } - .navbar-expand-md .navbar-nav-scroll { - overflow: visible; } - .navbar-expand-md .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand-md .navbar-toggler { - display: none; } - .navbar-expand-md .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - box-shadow: none; - transition: none; } - .navbar-expand-md .offcanvas .offcanvas-header { - display: none; } - .navbar-expand-md .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; } } - -@media (min-width: 992px) { - .navbar-expand-lg { - flex-wrap: nowrap; - justify-content: flex-start; } - .navbar-expand-lg .navbar-nav { - flex-direction: row; } - .navbar-expand-lg .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-lg .navbar-nav .nav-link { - padding-right: var(--bs-navbar-nav-link-padding-x); - padding-left: var(--bs-navbar-nav-link-padding-x); } - .navbar-expand-lg .navbar-nav-scroll { - overflow: visible; } - .navbar-expand-lg .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand-lg .navbar-toggler { - display: none; } - .navbar-expand-lg .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - box-shadow: none; - transition: none; } - .navbar-expand-lg .offcanvas .offcanvas-header { - display: none; } - .navbar-expand-lg .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; } } - -@media (min-width: 1200px) { - .navbar-expand-xl { - flex-wrap: nowrap; - justify-content: flex-start; } - .navbar-expand-xl .navbar-nav { - flex-direction: row; } - .navbar-expand-xl .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-xl .navbar-nav .nav-link { - padding-right: var(--bs-navbar-nav-link-padding-x); - padding-left: var(--bs-navbar-nav-link-padding-x); } - .navbar-expand-xl .navbar-nav-scroll { - overflow: visible; } - .navbar-expand-xl .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand-xl .navbar-toggler { - display: none; } - .navbar-expand-xl .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - box-shadow: none; - transition: none; } - .navbar-expand-xl .offcanvas .offcanvas-header { - display: none; } - .navbar-expand-xl .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; } } - -@media (min-width: 1400px) { - .navbar-expand-xxl { - flex-wrap: nowrap; - justify-content: flex-start; } - .navbar-expand-xxl .navbar-nav { - flex-direction: row; } - .navbar-expand-xxl .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-xxl .navbar-nav .nav-link { - padding-right: var(--bs-navbar-nav-link-padding-x); - padding-left: var(--bs-navbar-nav-link-padding-x); } - .navbar-expand-xxl .navbar-nav-scroll { - overflow: visible; } - .navbar-expand-xxl .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand-xxl .navbar-toggler { - display: none; } - .navbar-expand-xxl .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - box-shadow: none; - transition: none; } - .navbar-expand-xxl .offcanvas .offcanvas-header { - display: none; } - .navbar-expand-xxl .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; } } - -.navbar-expand, .td-navbar { - flex-wrap: nowrap; - justify-content: flex-start; } - .navbar-expand .navbar-nav, .td-navbar .navbar-nav { - flex-direction: row; } - .navbar-expand .navbar-nav .dropdown-menu, .td-navbar .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand .navbar-nav .nav-link, .td-navbar .navbar-nav .nav-link { - padding-right: var(--bs-navbar-nav-link-padding-x); - padding-left: var(--bs-navbar-nav-link-padding-x); } - .navbar-expand .navbar-nav-scroll, .td-navbar .navbar-nav-scroll { - overflow: visible; } - .navbar-expand .navbar-collapse, .td-navbar .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand .navbar-toggler, .td-navbar .navbar-toggler { - display: none; } - .navbar-expand .offcanvas, .td-navbar .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - box-shadow: none; - transition: none; } - .navbar-expand .offcanvas .offcanvas-header, .td-navbar .offcanvas .offcanvas-header { - display: none; } - .navbar-expand .offcanvas .offcanvas-body, .td-navbar .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; } - -.navbar-dark, -.navbar[data-bs-theme="dark"], -[data-bs-theme="dark"].td-navbar { - --bs-navbar-color: rgba(255, 255, 255, 0.55); - --bs-navbar-hover-color: rgba(255, 255, 255, 0.75); - --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25); - --bs-navbar-active-color: #fff; - --bs-navbar-brand-color: #fff; - --bs-navbar-brand-hover-color: #fff; - --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1); - --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } - -[data-bs-theme="dark"] .navbar-toggler-icon { - --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } - -.card { - --bs-card-spacer-y: 1rem; - --bs-card-spacer-x: 1rem; - --bs-card-title-spacer-y: 0.5rem; - --bs-card-title-color: ; - --bs-card-subtitle-color: ; - --bs-card-border-width: var(--bs-border-width); - --bs-card-border-color: var(--bs-border-color-translucent); - --bs-card-border-radius: var(--bs-border-radius); - --bs-card-box-shadow: ; - --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width))); - --bs-card-cap-padding-y: 0.5rem; - --bs-card-cap-padding-x: 1rem; - --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03); - --bs-card-cap-color: ; - --bs-card-height: ; - --bs-card-color: ; - --bs-card-bg: var(--bs-body-bg); - --bs-card-img-overlay-padding: 1rem; - --bs-card-group-margin: 0.75rem; - position: relative; - display: flex; - flex-direction: column; - min-width: 0; - height: var(--bs-card-height); - color: var(--bs-body-color); - word-wrap: break-word; - background-color: var(--bs-card-bg); - background-clip: border-box; - border: var(--bs-card-border-width) solid var(--bs-card-border-color); - border-radius: var(--bs-card-border-radius); - box-shadow: var(--bs-card-box-shadow); } - .card > hr { - margin-right: 0; - margin-left: 0; } - .card > .list-group { - border-top: inherit; - border-bottom: inherit; } - .card > .list-group:first-child { - border-top-width: 0; - border-top-left-radius: var(--bs-card-inner-border-radius); - border-top-right-radius: var(--bs-card-inner-border-radius); } - .card > .list-group:last-child { - border-bottom-width: 0; - border-bottom-right-radius: var(--bs-card-inner-border-radius); - border-bottom-left-radius: var(--bs-card-inner-border-radius); } - .card > .card-header + .list-group, - .card > .list-group + .card-footer { - border-top: 0; } - -.card-body { - flex: 1 1 auto; - padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x); - color: var(--bs-card-color); } - -.card-title { - margin-bottom: var(--bs-card-title-spacer-y); - color: var(--bs-card-title-color); } - -.card-subtitle { - margin-top: calc(-.5 * var(--bs-card-title-spacer-y)); - margin-bottom: 0; - color: var(--bs-card-subtitle-color); } - -.card-text:last-child { - margin-bottom: 0; } - -.card-link + .card-link { - margin-left: var(--bs-card-spacer-x); } - -.card-header { - padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); - margin-bottom: 0; - color: var(--bs-card-cap-color); - background-color: var(--bs-card-cap-bg); - border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color); } - .card-header:first-child { - border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0; } - -.card-footer { - padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); - color: var(--bs-card-cap-color); - background-color: var(--bs-card-cap-bg); - border-top: var(--bs-card-border-width) solid var(--bs-card-border-color); } - .card-footer:last-child { - border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius); } - -.card-header-tabs { - margin-right: calc(-.5 * var(--bs-card-cap-padding-x)); - margin-bottom: calc(-1 * var(--bs-card-cap-padding-y)); - margin-left: calc(-.5 * var(--bs-card-cap-padding-x)); - border-bottom: 0; } - .card-header-tabs .nav-link.active { - background-color: var(--bs-card-bg); - border-bottom-color: var(--bs-card-bg); } - -.card-header-pills { - margin-right: calc(-.5 * var(--bs-card-cap-padding-x)); - margin-left: calc(-.5 * var(--bs-card-cap-padding-x)); } - -.card-img-overlay { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: var(--bs-card-img-overlay-padding); - border-radius: var(--bs-card-inner-border-radius); } - -.card-img, -.card-img-top, -.card-img-bottom { - width: 100%; } - -.card-img, -.card-img-top { - border-top-left-radius: var(--bs-card-inner-border-radius); - border-top-right-radius: var(--bs-card-inner-border-radius); } - -.card-img, -.card-img-bottom { - border-bottom-right-radius: var(--bs-card-inner-border-radius); - border-bottom-left-radius: var(--bs-card-inner-border-radius); } - -.card-group > .card { - margin-bottom: var(--bs-card-group-margin); } - -@media (min-width: 576px) { - .card-group { - display: flex; - flex-flow: row wrap; } - .card-group > .card { - flex: 1 0 0%; - margin-bottom: 0; } - .card-group > .card + .card { - margin-left: 0; - border-left: 0; } - .card-group > .card:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .card-group > .card:not(:last-child) .card-img-top, - .card-group > .card:not(:last-child) .card-header { - border-top-right-radius: 0; } - .card-group > .card:not(:last-child) .card-img-bottom, - .card-group > .card:not(:last-child) .card-footer { - border-bottom-right-radius: 0; } - .card-group > .card:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .card-group > .card:not(:first-child) .card-img-top, - .card-group > .card:not(:first-child) .card-header { - border-top-left-radius: 0; } - .card-group > .card:not(:first-child) .card-img-bottom, - .card-group > .card:not(:first-child) .card-footer { - border-bottom-left-radius: 0; } } - -.accordion { - --bs-accordion-color: var(--bs-body-color); - --bs-accordion-bg: var(--bs-body-bg); - --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease; - --bs-accordion-border-color: var(--bs-border-color); - --bs-accordion-border-width: var(--bs-border-width); - --bs-accordion-border-radius: var(--bs-border-radius); - --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width))); - --bs-accordion-btn-padding-x: 1.25rem; - --bs-accordion-btn-padding-y: 1rem; - --bs-accordion-btn-color: var(--bs-body-color); - --bs-accordion-btn-bg: var(--bs-accordion-bg); - --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e"); - --bs-accordion-btn-icon-width: 1.25rem; - --bs-accordion-btn-icon-transform: rotate(-180deg); - --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out; - --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23132839' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e"); - --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(48, 99, 142, 0.25); - --bs-accordion-body-padding-x: 1.25rem; - --bs-accordion-body-padding-y: 1rem; - --bs-accordion-active-color: var(--bs-primary-text-emphasis); - --bs-accordion-active-bg: var(--bs-primary-bg-subtle); } - -.accordion-button { - position: relative; - display: flex; - align-items: center; - width: 100%; - padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x); - font-size: 1rem; - color: var(--bs-accordion-btn-color); - text-align: left; - background-color: var(--bs-accordion-btn-bg); - border: 0; - border-radius: 0; - overflow-anchor: none; - transition: var(--bs-accordion-transition); } - @media (prefers-reduced-motion: reduce) { - .accordion-button { - transition: none; } } - .accordion-button:not(.collapsed) { - color: var(--bs-accordion-active-color); - background-color: var(--bs-accordion-active-bg); - box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color); } - .accordion-button:not(.collapsed)::after { - background-image: var(--bs-accordion-btn-active-icon); - transform: var(--bs-accordion-btn-icon-transform); } - .accordion-button::after { - flex-shrink: 0; - width: var(--bs-accordion-btn-icon-width); - height: var(--bs-accordion-btn-icon-width); - margin-left: auto; - content: ""; - background-image: var(--bs-accordion-btn-icon); - background-repeat: no-repeat; - background-size: var(--bs-accordion-btn-icon-width); - transition: var(--bs-accordion-btn-icon-transition); } - @media (prefers-reduced-motion: reduce) { - .accordion-button::after { - transition: none; } } - .accordion-button:hover { - z-index: 2; } - .accordion-button:focus { - z-index: 3; - outline: 0; - box-shadow: var(--bs-accordion-btn-focus-box-shadow); } - -.accordion-header { - margin-bottom: 0; } - -.accordion-item { - color: var(--bs-accordion-color); - background-color: var(--bs-accordion-bg); - border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color); } - .accordion-item:first-of-type { - border-top-left-radius: var(--bs-accordion-border-radius); - border-top-right-radius: var(--bs-accordion-border-radius); } - .accordion-item:first-of-type > .accordion-header .accordion-button { - border-top-left-radius: var(--bs-accordion-inner-border-radius); - border-top-right-radius: var(--bs-accordion-inner-border-radius); } - .accordion-item:not(:first-of-type) { - border-top: 0; } - .accordion-item:last-of-type { - border-bottom-right-radius: var(--bs-accordion-border-radius); - border-bottom-left-radius: var(--bs-accordion-border-radius); } - .accordion-item:last-of-type > .accordion-header .accordion-button.collapsed { - border-bottom-right-radius: var(--bs-accordion-inner-border-radius); - border-bottom-left-radius: var(--bs-accordion-inner-border-radius); } - .accordion-item:last-of-type > .accordion-collapse { - border-bottom-right-radius: var(--bs-accordion-border-radius); - border-bottom-left-radius: var(--bs-accordion-border-radius); } - -.accordion-body { - padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); } - -.accordion-flush > .accordion-item { - border-right: 0; - border-left: 0; - border-radius: 0; } - .accordion-flush > .accordion-item:first-child { - border-top: 0; } - .accordion-flush > .accordion-item:last-child { - border-bottom: 0; } - .accordion-flush > .accordion-item > .accordion-header .accordion-button, .accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed { - border-radius: 0; } - .accordion-flush > .accordion-item > .accordion-collapse { - border-radius: 0; } - -[data-bs-theme="dark"] .accordion-button::after { - --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2383a1bb'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); - --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2383a1bb'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); } - -.breadcrumb { - --bs-breadcrumb-padding-x: 0; - --bs-breadcrumb-padding-y: 0; - --bs-breadcrumb-margin-bottom: 1rem; - --bs-breadcrumb-bg: ; - --bs-breadcrumb-border-radius: ; - --bs-breadcrumb-divider-color: var(--bs-secondary-color); - --bs-breadcrumb-item-padding-x: 0.5rem; - --bs-breadcrumb-item-active-color: var(--bs-secondary-color); - display: flex; - flex-wrap: wrap; - padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x); - margin-bottom: var(--bs-breadcrumb-margin-bottom); - font-size: var(--bs-breadcrumb-font-size); - list-style: none; - background-color: var(--bs-breadcrumb-bg); - border-radius: var(--bs-breadcrumb-border-radius); } - -.breadcrumb-item + .breadcrumb-item { - padding-left: var(--bs-breadcrumb-item-padding-x); } - .breadcrumb-item + .breadcrumb-item::before { - float: left; - padding-right: var(--bs-breadcrumb-item-padding-x); - color: var(--bs-breadcrumb-divider-color); - content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; } - -.breadcrumb-item.active { - color: var(--bs-breadcrumb-item-active-color); } - -.pagination { - --bs-pagination-padding-x: 0.75rem; - --bs-pagination-padding-y: 0.375rem; - --bs-pagination-font-size: 1rem; - --bs-pagination-color: #6c757d; - --bs-pagination-bg: var(--bs-body-bg); - --bs-pagination-border-width: var(--bs-border-width); - --bs-pagination-border-color: var(--bs-border-color); - --bs-pagination-border-radius: var(--bs-border-radius); - --bs-pagination-hover-color: var(--bs-link-hover-color); - --bs-pagination-hover-bg: var(--bs-tertiary-bg); - --bs-pagination-hover-border-color: var(--bs-border-color); - --bs-pagination-focus-color: var(--bs-link-hover-color); - --bs-pagination-focus-bg: var(--bs-secondary-bg); - --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(48, 99, 142, 0.25); - --bs-pagination-active-color: #fff; - --bs-pagination-active-bg: #30638e; - --bs-pagination-active-border-color: #30638e; - --bs-pagination-disabled-color: #dee2e6; - --bs-pagination-disabled-bg: var(--bs-secondary-bg); - --bs-pagination-disabled-border-color: var(--bs-border-color); - display: flex; - padding-left: 0; - list-style: none; } - -.page-link { - position: relative; - display: block; - padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x); - font-size: var(--bs-pagination-font-size); - color: var(--bs-pagination-color); - text-decoration: none; - background-color: var(--bs-pagination-bg); - border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color); - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .page-link { - transition: none; } } - .page-link:hover { - z-index: 2; - color: var(--bs-pagination-hover-color); - background-color: var(--bs-pagination-hover-bg); - border-color: var(--bs-pagination-hover-border-color); } - .page-link:focus { - z-index: 3; - color: var(--bs-pagination-focus-color); - background-color: var(--bs-pagination-focus-bg); - outline: 0; - box-shadow: var(--bs-pagination-focus-box-shadow); } - .page-link.active, .active > .page-link { - z-index: 3; - color: var(--bs-pagination-active-color); - background-color: var(--bs-pagination-active-bg); - background-image: var(--bs-gradient); - border-color: var(--bs-pagination-active-border-color); } - .page-link.disabled, .disabled > .page-link { - color: var(--bs-pagination-disabled-color); - pointer-events: none; - background-color: var(--bs-pagination-disabled-bg); - border-color: var(--bs-pagination-disabled-border-color); } - -.page-item:not(:first-child) .page-link { - margin-left: calc(var(--bs-border-width) * -1); } - -.page-item:first-child .page-link { - border-top-left-radius: var(--bs-pagination-border-radius); - border-bottom-left-radius: var(--bs-pagination-border-radius); } - -.page-item:last-child .page-link { - border-top-right-radius: var(--bs-pagination-border-radius); - border-bottom-right-radius: var(--bs-pagination-border-radius); } - -.pagination-lg { - --bs-pagination-padding-x: 1.5rem; - --bs-pagination-padding-y: 0.75rem; - --bs-pagination-font-size: 1.25rem; - --bs-pagination-border-radius: var(--bs-border-radius-lg); } - -.pagination-sm { - --bs-pagination-padding-x: 0.5rem; - --bs-pagination-padding-y: 0.25rem; - --bs-pagination-font-size: 0.875rem; - --bs-pagination-border-radius: var(--bs-border-radius-sm); } - -.badge { - --bs-badge-padding-x: 0.65em; - --bs-badge-padding-y: 0.35em; - --bs-badge-font-size: 0.75em; - --bs-badge-font-weight: 700; - --bs-badge-color: #fff; - --bs-badge-border-radius: var(--bs-border-radius); - display: inline-block; - padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x); - font-size: var(--bs-badge-font-size); - font-weight: var(--bs-badge-font-weight); - line-height: 1; - color: var(--bs-badge-color); - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: var(--bs-badge-border-radius); - background-image: var(--bs-gradient); } - .badge:empty { - display: none; } - -.btn .badge, div.drawio button .badge, .td-blog .td-rss-button .badge { - position: relative; - top: -1px; } - -.alert { - --bs-alert-bg: transparent; - --bs-alert-padding-x: 1rem; - --bs-alert-padding-y: 1rem; - --bs-alert-margin-bottom: 1rem; - --bs-alert-color: inherit; - --bs-alert-border-color: transparent; - --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color); - --bs-alert-border-radius: var(--bs-border-radius); - --bs-alert-link-color: inherit; - position: relative; - padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x); - margin-bottom: var(--bs-alert-margin-bottom); - color: var(--bs-alert-color); - background-color: var(--bs-alert-bg); - border: var(--bs-alert-border); - border-radius: var(--bs-alert-border-radius); } - -.alert-heading { - color: inherit; } - -.alert-link { - font-weight: 700; - color: var(--bs-alert-link-color); } - -.alert-dismissible { - padding-right: 3rem; } - .alert-dismissible .btn-close { - position: absolute; - top: 0; - right: 0; - z-index: 2; - padding: 1.25rem 1rem; } - -.alert-primary, .pageinfo-primary { - --bs-alert-color: var(--bs-primary-text-emphasis); - --bs-alert-bg: var(--bs-primary-bg-subtle); - --bs-alert-border-color: var(--bs-primary-border-subtle); - --bs-alert-link-color: var(--bs-primary-text-emphasis); } - -.alert-secondary, .pageinfo-secondary { - --bs-alert-color: var(--bs-secondary-text-emphasis); - --bs-alert-bg: var(--bs-secondary-bg-subtle); - --bs-alert-border-color: var(--bs-secondary-border-subtle); - --bs-alert-link-color: var(--bs-secondary-text-emphasis); } - -.alert-success, .pageinfo-success { - --bs-alert-color: var(--bs-success-text-emphasis); - --bs-alert-bg: var(--bs-success-bg-subtle); - --bs-alert-border-color: var(--bs-success-border-subtle); - --bs-alert-link-color: var(--bs-success-text-emphasis); } - -.alert-info, .pageinfo-info { - --bs-alert-color: var(--bs-info-text-emphasis); - --bs-alert-bg: var(--bs-info-bg-subtle); - --bs-alert-border-color: var(--bs-info-border-subtle); - --bs-alert-link-color: var(--bs-info-text-emphasis); } - -.alert-warning, .pageinfo-warning { - --bs-alert-color: var(--bs-warning-text-emphasis); - --bs-alert-bg: var(--bs-warning-bg-subtle); - --bs-alert-border-color: var(--bs-warning-border-subtle); - --bs-alert-link-color: var(--bs-warning-text-emphasis); } - -.alert-danger, .pageinfo-danger { - --bs-alert-color: var(--bs-danger-text-emphasis); - --bs-alert-bg: var(--bs-danger-bg-subtle); - --bs-alert-border-color: var(--bs-danger-border-subtle); - --bs-alert-link-color: var(--bs-danger-text-emphasis); } - -.alert-light, .pageinfo-light { - --bs-alert-color: var(--bs-light-text-emphasis); - --bs-alert-bg: var(--bs-light-bg-subtle); - --bs-alert-border-color: var(--bs-light-border-subtle); - --bs-alert-link-color: var(--bs-light-text-emphasis); } - -.alert-dark, .pageinfo-dark { - --bs-alert-color: var(--bs-dark-text-emphasis); - --bs-alert-bg: var(--bs-dark-bg-subtle); - --bs-alert-border-color: var(--bs-dark-border-subtle); - --bs-alert-link-color: var(--bs-dark-text-emphasis); } - -@keyframes progress-bar-stripes { - 0% { - background-position-x: 1rem; } } - -.progress, -.progress-stacked { - --bs-progress-height: 1rem; - --bs-progress-font-size: 0.75rem; - --bs-progress-bg: var(--bs-secondary-bg); - --bs-progress-border-radius: var(--bs-border-radius); - --bs-progress-box-shadow: var(--bs-box-shadow-inset); - --bs-progress-bar-color: #fff; - --bs-progress-bar-bg: #30638e; - --bs-progress-bar-transition: width 0.6s ease; - display: flex; - height: var(--bs-progress-height); - overflow: hidden; - font-size: var(--bs-progress-font-size); - background-color: var(--bs-progress-bg); - border-radius: var(--bs-progress-border-radius); - box-shadow: var(--bs-progress-box-shadow); } - -.progress-bar { - display: flex; - flex-direction: column; - justify-content: center; - overflow: hidden; - color: var(--bs-progress-bar-color); - text-align: center; - white-space: nowrap; - background-color: var(--bs-progress-bar-bg); - transition: var(--bs-progress-bar-transition); } - @media (prefers-reduced-motion: reduce) { - .progress-bar { - transition: none; } } -.progress-bar-striped { - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-size: var(--bs-progress-height) var(--bs-progress-height); } - -.progress-stacked > .progress { - overflow: visible; } - -.progress-stacked > .progress > .progress-bar { - width: 100%; } - -.progress-bar-animated { - animation: 1s linear infinite progress-bar-stripes; } - @media (prefers-reduced-motion: reduce) { - .progress-bar-animated { - animation: none; } } -.list-group { - --bs-list-group-color: var(--bs-body-color); - --bs-list-group-bg: var(--bs-body-bg); - --bs-list-group-border-color: var(--bs-border-color); - --bs-list-group-border-width: var(--bs-border-width); - --bs-list-group-border-radius: var(--bs-border-radius); - --bs-list-group-item-padding-x: 1rem; - --bs-list-group-item-padding-y: 0.5rem; - --bs-list-group-action-color: var(--bs-secondary-color); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-tertiary-bg); - --bs-list-group-action-active-color: var(--bs-body-color); - --bs-list-group-action-active-bg: var(--bs-secondary-bg); - --bs-list-group-disabled-color: var(--bs-secondary-color); - --bs-list-group-disabled-bg: var(--bs-body-bg); - --bs-list-group-active-color: #fff; - --bs-list-group-active-bg: #30638e; - --bs-list-group-active-border-color: #30638e; - display: flex; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - border-radius: var(--bs-list-group-border-radius); } - -.list-group-numbered { - list-style-type: none; - counter-reset: section; } - .list-group-numbered > .list-group-item::before { - content: counters(section, ".") ". "; - counter-increment: section; } - -.list-group-item-action { - width: 100%; - color: var(--bs-list-group-action-color); - text-align: inherit; } - .list-group-item-action:hover, .list-group-item-action:focus { - z-index: 1; - color: var(--bs-list-group-action-hover-color); - text-decoration: none; - background-color: var(--bs-list-group-action-hover-bg); } - .list-group-item-action:active { - color: var(--bs-list-group-action-active-color); - background-color: var(--bs-list-group-action-active-bg); } - -.list-group-item { - position: relative; - display: block; - padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x); - color: var(--bs-list-group-color); - text-decoration: none; - background-color: var(--bs-list-group-bg); - border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color); } - .list-group-item:first-child { - border-top-left-radius: inherit; - border-top-right-radius: inherit; } - .list-group-item:last-child { - border-bottom-right-radius: inherit; - border-bottom-left-radius: inherit; } - .list-group-item.disabled, .list-group-item:disabled { - color: var(--bs-list-group-disabled-color); - pointer-events: none; - background-color: var(--bs-list-group-disabled-bg); } - .list-group-item.active { - z-index: 2; - color: var(--bs-list-group-active-color); - background-color: var(--bs-list-group-active-bg); - border-color: var(--bs-list-group-active-border-color); } - .list-group-item + .list-group-item { - border-top-width: 0; } - .list-group-item + .list-group-item.active { - margin-top: calc(-1 * var(--bs-list-group-border-width)); - border-top-width: var(--bs-list-group-border-width); } - -.list-group-horizontal { - flex-direction: row; } - .list-group-horizontal > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--bs-list-group-border-radius); - border-top-right-radius: 0; } - .list-group-horizontal > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--bs-list-group-border-radius); - border-bottom-left-radius: 0; } - .list-group-horizontal > .list-group-item.active { - margin-top: 0; } - .list-group-horizontal > .list-group-item + .list-group-item { - border-top-width: var(--bs-list-group-border-width); - border-left-width: 0; } - .list-group-horizontal > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--bs-list-group-border-width)); - border-left-width: var(--bs-list-group-border-width); } - -@media (min-width: 576px) { - .list-group-horizontal-sm { - flex-direction: row; } - .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--bs-list-group-border-radius); - border-top-right-radius: 0; } - .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--bs-list-group-border-radius); - border-bottom-left-radius: 0; } - .list-group-horizontal-sm > .list-group-item.active { - margin-top: 0; } - .list-group-horizontal-sm > .list-group-item + .list-group-item { - border-top-width: var(--bs-list-group-border-width); - border-left-width: 0; } - .list-group-horizontal-sm > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--bs-list-group-border-width)); - border-left-width: var(--bs-list-group-border-width); } } - -@media (min-width: 768px) { - .list-group-horizontal-md { - flex-direction: row; } - .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--bs-list-group-border-radius); - border-top-right-radius: 0; } - .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--bs-list-group-border-radius); - border-bottom-left-radius: 0; } - .list-group-horizontal-md > .list-group-item.active { - margin-top: 0; } - .list-group-horizontal-md > .list-group-item + .list-group-item { - border-top-width: var(--bs-list-group-border-width); - border-left-width: 0; } - .list-group-horizontal-md > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--bs-list-group-border-width)); - border-left-width: var(--bs-list-group-border-width); } } - -@media (min-width: 992px) { - .list-group-horizontal-lg { - flex-direction: row; } - .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--bs-list-group-border-radius); - border-top-right-radius: 0; } - .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--bs-list-group-border-radius); - border-bottom-left-radius: 0; } - .list-group-horizontal-lg > .list-group-item.active { - margin-top: 0; } - .list-group-horizontal-lg > .list-group-item + .list-group-item { - border-top-width: var(--bs-list-group-border-width); - border-left-width: 0; } - .list-group-horizontal-lg > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--bs-list-group-border-width)); - border-left-width: var(--bs-list-group-border-width); } } - -@media (min-width: 1200px) { - .list-group-horizontal-xl { - flex-direction: row; } - .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--bs-list-group-border-radius); - border-top-right-radius: 0; } - .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--bs-list-group-border-radius); - border-bottom-left-radius: 0; } - .list-group-horizontal-xl > .list-group-item.active { - margin-top: 0; } - .list-group-horizontal-xl > .list-group-item + .list-group-item { - border-top-width: var(--bs-list-group-border-width); - border-left-width: 0; } - .list-group-horizontal-xl > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--bs-list-group-border-width)); - border-left-width: var(--bs-list-group-border-width); } } - -@media (min-width: 1400px) { - .list-group-horizontal-xxl { - flex-direction: row; } - .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--bs-list-group-border-radius); - border-top-right-radius: 0; } - .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--bs-list-group-border-radius); - border-bottom-left-radius: 0; } - .list-group-horizontal-xxl > .list-group-item.active { - margin-top: 0; } - .list-group-horizontal-xxl > .list-group-item + .list-group-item { - border-top-width: var(--bs-list-group-border-width); - border-left-width: 0; } - .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--bs-list-group-border-width)); - border-left-width: var(--bs-list-group-border-width); } } - -.list-group-flush { - border-radius: 0; } - .list-group-flush > .list-group-item { - border-width: 0 0 var(--bs-list-group-border-width); } - .list-group-flush > .list-group-item:last-child { - border-bottom-width: 0; } - -.list-group-item-primary { - --bs-list-group-color: var(--bs-primary-text-emphasis); - --bs-list-group-bg: var(--bs-primary-bg-subtle); - --bs-list-group-border-color: var(--bs-primary-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-primary-border-subtle); - --bs-list-group-active-color: var(--bs-primary-bg-subtle); - --bs-list-group-active-bg: var(--bs-primary-text-emphasis); - --bs-list-group-active-border-color: var(--bs-primary-text-emphasis); } - -.list-group-item-secondary { - --bs-list-group-color: var(--bs-secondary-text-emphasis); - --bs-list-group-bg: var(--bs-secondary-bg-subtle); - --bs-list-group-border-color: var(--bs-secondary-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle); - --bs-list-group-active-color: var(--bs-secondary-bg-subtle); - --bs-list-group-active-bg: var(--bs-secondary-text-emphasis); - --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis); } - -.list-group-item-success { - --bs-list-group-color: var(--bs-success-text-emphasis); - --bs-list-group-bg: var(--bs-success-bg-subtle); - --bs-list-group-border-color: var(--bs-success-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-success-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-success-border-subtle); - --bs-list-group-active-color: var(--bs-success-bg-subtle); - --bs-list-group-active-bg: var(--bs-success-text-emphasis); - --bs-list-group-active-border-color: var(--bs-success-text-emphasis); } - -.list-group-item-info { - --bs-list-group-color: var(--bs-info-text-emphasis); - --bs-list-group-bg: var(--bs-info-bg-subtle); - --bs-list-group-border-color: var(--bs-info-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-info-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-info-border-subtle); - --bs-list-group-active-color: var(--bs-info-bg-subtle); - --bs-list-group-active-bg: var(--bs-info-text-emphasis); - --bs-list-group-active-border-color: var(--bs-info-text-emphasis); } - -.list-group-item-warning { - --bs-list-group-color: var(--bs-warning-text-emphasis); - --bs-list-group-bg: var(--bs-warning-bg-subtle); - --bs-list-group-border-color: var(--bs-warning-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-warning-border-subtle); - --bs-list-group-active-color: var(--bs-warning-bg-subtle); - --bs-list-group-active-bg: var(--bs-warning-text-emphasis); - --bs-list-group-active-border-color: var(--bs-warning-text-emphasis); } - -.list-group-item-danger { - --bs-list-group-color: var(--bs-danger-text-emphasis); - --bs-list-group-bg: var(--bs-danger-bg-subtle); - --bs-list-group-border-color: var(--bs-danger-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-danger-border-subtle); - --bs-list-group-active-color: var(--bs-danger-bg-subtle); - --bs-list-group-active-bg: var(--bs-danger-text-emphasis); - --bs-list-group-active-border-color: var(--bs-danger-text-emphasis); } - -.list-group-item-light { - --bs-list-group-color: var(--bs-light-text-emphasis); - --bs-list-group-bg: var(--bs-light-bg-subtle); - --bs-list-group-border-color: var(--bs-light-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-light-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-light-border-subtle); - --bs-list-group-active-color: var(--bs-light-bg-subtle); - --bs-list-group-active-bg: var(--bs-light-text-emphasis); - --bs-list-group-active-border-color: var(--bs-light-text-emphasis); } - -.list-group-item-dark { - --bs-list-group-color: var(--bs-dark-text-emphasis); - --bs-list-group-bg: var(--bs-dark-bg-subtle); - --bs-list-group-border-color: var(--bs-dark-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-dark-border-subtle); - --bs-list-group-active-color: var(--bs-dark-bg-subtle); - --bs-list-group-active-bg: var(--bs-dark-text-emphasis); - --bs-list-group-active-border-color: var(--bs-dark-text-emphasis); } - -.btn-close { - --bs-btn-close-color: #000; - --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e"); - --bs-btn-close-opacity: 0.5; - --bs-btn-close-hover-opacity: 0.75; - --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(48, 99, 142, 0.25); - --bs-btn-close-focus-opacity: 1; - --bs-btn-close-disabled-opacity: 0.25; - --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%); - box-sizing: content-box; - width: 1em; - height: 1em; - padding: 0.25em 0.25em; - color: var(--bs-btn-close-color); - background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat; - border: 0; - border-radius: 0.375rem; - opacity: var(--bs-btn-close-opacity); } - .btn-close:hover { - color: var(--bs-btn-close-color); - text-decoration: none; - opacity: var(--bs-btn-close-hover-opacity); } - .btn-close:focus { - outline: 0; - box-shadow: var(--bs-btn-close-focus-shadow); - opacity: var(--bs-btn-close-focus-opacity); } - .btn-close:disabled, .btn-close.disabled { - pointer-events: none; - user-select: none; - opacity: var(--bs-btn-close-disabled-opacity); } - -.btn-close-white { - filter: var(--bs-btn-close-white-filter); } - -[data-bs-theme="dark"] .btn-close { - filter: var(--bs-btn-close-white-filter); } - -.toast { - --bs-toast-zindex: 1090; - --bs-toast-padding-x: 0.75rem; - --bs-toast-padding-y: 0.5rem; - --bs-toast-spacing: 1.5rem; - --bs-toast-max-width: 350px; - --bs-toast-font-size: 0.875rem; - --bs-toast-color: ; - --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85); - --bs-toast-border-width: var(--bs-border-width); - --bs-toast-border-color: var(--bs-border-color-translucent); - --bs-toast-border-radius: var(--bs-border-radius); - --bs-toast-box-shadow: var(--bs-box-shadow); - --bs-toast-header-color: var(--bs-secondary-color); - --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85); - --bs-toast-header-border-color: var(--bs-border-color-translucent); - width: var(--bs-toast-max-width); - max-width: 100%; - font-size: var(--bs-toast-font-size); - color: var(--bs-toast-color); - pointer-events: auto; - background-color: var(--bs-toast-bg); - background-clip: padding-box; - border: var(--bs-toast-border-width) solid var(--bs-toast-border-color); - box-shadow: var(--bs-toast-box-shadow); - border-radius: var(--bs-toast-border-radius); } - .toast.showing { - opacity: 0; } - .toast:not(.show) { - display: none; } - -.toast-container { - --bs-toast-zindex: 1090; - position: absolute; - z-index: var(--bs-toast-zindex); - width: max-content; - max-width: 100%; - pointer-events: none; } - .toast-container > :not(:last-child) { - margin-bottom: var(--bs-toast-spacing); } - -.toast-header { - display: flex; - align-items: center; - padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x); - color: var(--bs-toast-header-color); - background-color: var(--bs-toast-header-bg); - background-clip: padding-box; - border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color); - border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); - border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); } - .toast-header .btn-close { - margin-right: calc(-.5 * var(--bs-toast-padding-x)); - margin-left: var(--bs-toast-padding-x); } - -.toast-body { - padding: var(--bs-toast-padding-x); - word-wrap: break-word; } - -.modal { - --bs-modal-zindex: 1055; - --bs-modal-width: 500px; - --bs-modal-padding: 1rem; - --bs-modal-margin: 0.5rem; - --bs-modal-color: ; - --bs-modal-bg: var(--bs-body-bg); - --bs-modal-border-color: var(--bs-border-color-translucent); - --bs-modal-border-width: var(--bs-border-width); - --bs-modal-border-radius: var(--bs-border-radius-lg); - --bs-modal-box-shadow: var(--bs-box-shadow-sm); - --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width))); - --bs-modal-header-padding-x: 1rem; - --bs-modal-header-padding-y: 1rem; - --bs-modal-header-padding: 1rem 1rem; - --bs-modal-header-border-color: var(--bs-border-color); - --bs-modal-header-border-width: var(--bs-border-width); - --bs-modal-title-line-height: 1.5; - --bs-modal-footer-gap: 0.5rem; - --bs-modal-footer-bg: ; - --bs-modal-footer-border-color: var(--bs-border-color); - --bs-modal-footer-border-width: var(--bs-border-width); - position: fixed; - top: 0; - left: 0; - z-index: var(--bs-modal-zindex); - display: none; - width: 100%; - height: 100%; - overflow-x: hidden; - overflow-y: auto; - outline: 0; } - -.modal-dialog { - position: relative; - width: auto; - margin: var(--bs-modal-margin); - pointer-events: none; } - .modal.fade .modal-dialog { - transition: transform 0.3s ease-out; - transform: translate(0, -50px); } - @media (prefers-reduced-motion: reduce) { - .modal.fade .modal-dialog { - transition: none; } } - .modal.show .modal-dialog { - transform: none; } - .modal.modal-static .modal-dialog { - transform: scale(1.02); } - -.modal-dialog-scrollable { - height: calc(100% - var(--bs-modal-margin) * 2); } - .modal-dialog-scrollable .modal-content { - max-height: 100%; - overflow: hidden; } - .modal-dialog-scrollable .modal-body { - overflow-y: auto; } - -.modal-dialog-centered { - display: flex; - align-items: center; - min-height: calc(100% - var(--bs-modal-margin) * 2); } - -.modal-content { - position: relative; - display: flex; - flex-direction: column; - width: 100%; - color: var(--bs-modal-color); - pointer-events: auto; - background-color: var(--bs-modal-bg); - background-clip: padding-box; - border: var(--bs-modal-border-width) solid var(--bs-modal-border-color); - border-radius: var(--bs-modal-border-radius); - box-shadow: var(--bs-modal-box-shadow); - outline: 0; } - -.modal-backdrop { - --bs-backdrop-zindex: 1050; - --bs-backdrop-bg: #000; - --bs-backdrop-opacity: 0.5; - position: fixed; - top: 0; - left: 0; - z-index: var(--bs-backdrop-zindex); - width: 100vw; - height: 100vh; - background-color: var(--bs-backdrop-bg); } - .modal-backdrop.fade { - opacity: 0; } - .modal-backdrop.show { - opacity: var(--bs-backdrop-opacity); } - -.modal-header { - display: flex; - flex-shrink: 0; - align-items: center; - padding: var(--bs-modal-header-padding); - border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color); - border-top-left-radius: var(--bs-modal-inner-border-radius); - border-top-right-radius: var(--bs-modal-inner-border-radius); } - .modal-header .btn-close { - padding: calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5); - margin: calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto; } - -.modal-title { - margin-bottom: 0; - line-height: var(--bs-modal-title-line-height); } - -.modal-body { - position: relative; - flex: 1 1 auto; - padding: var(--bs-modal-padding); } - -.modal-footer { - display: flex; - flex-shrink: 0; - flex-wrap: wrap; - align-items: center; - justify-content: flex-end; - padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5); - background-color: var(--bs-modal-footer-bg); - border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color); - border-bottom-right-radius: var(--bs-modal-inner-border-radius); - border-bottom-left-radius: var(--bs-modal-inner-border-radius); } - .modal-footer > * { - margin: calc(var(--bs-modal-footer-gap) * .5); } - -@media (min-width: 576px) { - .modal { - --bs-modal-margin: 1.75rem; - --bs-modal-box-shadow: var(--bs-box-shadow); } - .modal-dialog { - max-width: var(--bs-modal-width); - margin-right: auto; - margin-left: auto; } - .modal-sm { - --bs-modal-width: 300px; } } - -@media (min-width: 992px) { - .modal-lg, - .modal-xl { - --bs-modal-width: 800px; } } - -@media (min-width: 1200px) { - .modal-xl { - --bs-modal-width: 1140px; } } - -.modal-fullscreen { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; } - .modal-fullscreen .modal-content { - height: 100%; - border: 0; - border-radius: 0; } - .modal-fullscreen .modal-header, - .modal-fullscreen .modal-footer { - border-radius: 0; } - .modal-fullscreen .modal-body { - overflow-y: auto; } - -@media (max-width: 575.98px) { - .modal-fullscreen-sm-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; } - .modal-fullscreen-sm-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; } - .modal-fullscreen-sm-down .modal-header, - .modal-fullscreen-sm-down .modal-footer { - border-radius: 0; } - .modal-fullscreen-sm-down .modal-body { - overflow-y: auto; } } - -@media (max-width: 767.98px) { - .modal-fullscreen-md-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; } - .modal-fullscreen-md-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; } - .modal-fullscreen-md-down .modal-header, - .modal-fullscreen-md-down .modal-footer { - border-radius: 0; } - .modal-fullscreen-md-down .modal-body { - overflow-y: auto; } } - -@media (max-width: 991.98px) { - .modal-fullscreen-lg-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; } - .modal-fullscreen-lg-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; } - .modal-fullscreen-lg-down .modal-header, - .modal-fullscreen-lg-down .modal-footer { - border-radius: 0; } - .modal-fullscreen-lg-down .modal-body { - overflow-y: auto; } } - -@media (max-width: 1199.98px) { - .modal-fullscreen-xl-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; } - .modal-fullscreen-xl-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; } - .modal-fullscreen-xl-down .modal-header, - .modal-fullscreen-xl-down .modal-footer { - border-radius: 0; } - .modal-fullscreen-xl-down .modal-body { - overflow-y: auto; } } - -@media (max-width: 1399.98px) { - .modal-fullscreen-xxl-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; } - .modal-fullscreen-xxl-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; } - .modal-fullscreen-xxl-down .modal-header, - .modal-fullscreen-xxl-down .modal-footer { - border-radius: 0; } - .modal-fullscreen-xxl-down .modal-body { - overflow-y: auto; } } - -.tooltip { - --bs-tooltip-zindex: 1080; - --bs-tooltip-max-width: 200px; - --bs-tooltip-padding-x: 0.5rem; - --bs-tooltip-padding-y: 0.25rem; - --bs-tooltip-margin: ; - --bs-tooltip-font-size: 0.875rem; - --bs-tooltip-color: var(--bs-body-bg); - --bs-tooltip-bg: var(--bs-emphasis-color); - --bs-tooltip-border-radius: var(--bs-border-radius); - --bs-tooltip-opacity: 0.9; - --bs-tooltip-arrow-width: 0.8rem; - --bs-tooltip-arrow-height: 0.4rem; - z-index: var(--bs-tooltip-zindex); - display: block; - margin: var(--bs-tooltip-margin); - font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - white-space: normal; - word-spacing: normal; - line-break: auto; - font-size: var(--bs-tooltip-font-size); - word-wrap: break-word; - opacity: 0; } - .tooltip.show { - opacity: var(--bs-tooltip-opacity); } - .tooltip .tooltip-arrow { - display: block; - width: var(--bs-tooltip-arrow-width); - height: var(--bs-tooltip-arrow-height); } - .tooltip .tooltip-arrow::before { - position: absolute; - content: ""; - border-color: transparent; - border-style: solid; } - -.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow { - bottom: calc(-1 * var(--bs-tooltip-arrow-height)); } - .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before { - top: -1px; - border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0; - border-top-color: var(--bs-tooltip-bg); } - -/* rtl:begin:ignore */ -.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow { - left: calc(-1 * var(--bs-tooltip-arrow-height)); - width: var(--bs-tooltip-arrow-height); - height: var(--bs-tooltip-arrow-width); } - .bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before { - right: -1px; - border-width: calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0; - border-right-color: var(--bs-tooltip-bg); } - -/* rtl:end:ignore */ -.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow { - top: calc(-1 * var(--bs-tooltip-arrow-height)); } - .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before { - bottom: -1px; - border-width: 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height); - border-bottom-color: var(--bs-tooltip-bg); } - -/* rtl:begin:ignore */ -.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow { - right: calc(-1 * var(--bs-tooltip-arrow-height)); - width: var(--bs-tooltip-arrow-height); - height: var(--bs-tooltip-arrow-width); } - .bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before { - left: -1px; - border-width: calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height); - border-left-color: var(--bs-tooltip-bg); } - -/* rtl:end:ignore */ -.tooltip-inner { - max-width: var(--bs-tooltip-max-width); - padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x); - color: var(--bs-tooltip-color); - text-align: center; - background-color: var(--bs-tooltip-bg); - border-radius: var(--bs-tooltip-border-radius); } - -.popover { - --bs-popover-zindex: 1070; - --bs-popover-max-width: 276px; - --bs-popover-font-size: 0.875rem; - --bs-popover-bg: var(--bs-body-bg); - --bs-popover-border-width: var(--bs-border-width); - --bs-popover-border-color: var(--bs-border-color-translucent); - --bs-popover-border-radius: var(--bs-border-radius-lg); - --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width)); - --bs-popover-box-shadow: var(--bs-box-shadow); - --bs-popover-header-padding-x: 1rem; - --bs-popover-header-padding-y: 0.5rem; - --bs-popover-header-font-size: 1rem; - --bs-popover-header-color: inherit; - --bs-popover-header-bg: var(--bs-secondary-bg); - --bs-popover-body-padding-x: 1rem; - --bs-popover-body-padding-y: 1rem; - --bs-popover-body-color: var(--bs-body-color); - --bs-popover-arrow-width: 1rem; - --bs-popover-arrow-height: 0.5rem; - --bs-popover-arrow-border: var(--bs-popover-border-color); - z-index: var(--bs-popover-zindex); - display: block; - max-width: var(--bs-popover-max-width); - font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - white-space: normal; - word-spacing: normal; - line-break: auto; - font-size: var(--bs-popover-font-size); - word-wrap: break-word; - background-color: var(--bs-popover-bg); - background-clip: padding-box; - border: var(--bs-popover-border-width) solid var(--bs-popover-border-color); - border-radius: var(--bs-popover-border-radius); - box-shadow: var(--bs-popover-box-shadow); } - .popover .popover-arrow { - display: block; - width: var(--bs-popover-arrow-width); - height: var(--bs-popover-arrow-height); } - .popover .popover-arrow::before, .popover .popover-arrow::after { - position: absolute; - display: block; - content: ""; - border-color: transparent; - border-style: solid; - border-width: 0; } - -.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow { - bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); } - .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after { - border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0; } - .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before { - bottom: 0; - border-top-color: var(--bs-popover-arrow-border); } - .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after { - bottom: var(--bs-popover-border-width); - border-top-color: var(--bs-popover-bg); } - -/* rtl:begin:ignore */ -.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow { - left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); - width: var(--bs-popover-arrow-height); - height: var(--bs-popover-arrow-width); } - .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::after { - border-width: calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0; } - .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::before { - left: 0; - border-right-color: var(--bs-popover-arrow-border); } - .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::after { - left: var(--bs-popover-border-width); - border-right-color: var(--bs-popover-bg); } - -/* rtl:end:ignore */ -.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow { - top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); } - .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after { - border-width: 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height); } - .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before { - top: 0; - border-bottom-color: var(--bs-popover-arrow-border); } - .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after { - top: var(--bs-popover-border-width); - border-bottom-color: var(--bs-popover-bg); } - -.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before { - position: absolute; - top: 0; - left: 50%; - display: block; - width: var(--bs-popover-arrow-width); - margin-left: calc(-.5 * var(--bs-popover-arrow-width)); - content: ""; - border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg); } - -/* rtl:begin:ignore */ -.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow { - right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); - width: var(--bs-popover-arrow-height); - height: var(--bs-popover-arrow-width); } - .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::after { - border-width: calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height); } - .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::before { - right: 0; - border-left-color: var(--bs-popover-arrow-border); } - .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::after { - right: var(--bs-popover-border-width); - border-left-color: var(--bs-popover-bg); } - -/* rtl:end:ignore */ -.popover-header { - padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x); - margin-bottom: 0; - font-size: var(--bs-popover-header-font-size); - color: var(--bs-popover-header-color); - background-color: var(--bs-popover-header-bg); - border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color); - border-top-left-radius: var(--bs-popover-inner-border-radius); - border-top-right-radius: var(--bs-popover-inner-border-radius); } - .popover-header:empty { - display: none; } - -.popover-body { - padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x); - color: var(--bs-popover-body-color); } - -.carousel { - position: relative; } - -.carousel.pointer-event { - touch-action: pan-y; } - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; } - .carousel-inner::after { - display: block; - clear: both; - content: ""; } - -.carousel-item { - position: relative; - display: none; - float: left; - width: 100%; - margin-right: -100%; - backface-visibility: hidden; - transition: transform 0.6s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .carousel-item { - transition: none; } } -.carousel-item.active, -.carousel-item-next, -.carousel-item-prev { - display: block; } - -.carousel-item-next:not(.carousel-item-start), -.active.carousel-item-end { - transform: translateX(100%); } - -.carousel-item-prev:not(.carousel-item-end), -.active.carousel-item-start { - transform: translateX(-100%); } - -.carousel-fade .carousel-item { - opacity: 0; - transition-property: opacity; - transform: none; } - -.carousel-fade .carousel-item.active, -.carousel-fade .carousel-item-next.carousel-item-start, -.carousel-fade .carousel-item-prev.carousel-item-end { - z-index: 1; - opacity: 1; } - -.carousel-fade .active.carousel-item-start, -.carousel-fade .active.carousel-item-end { - z-index: 0; - opacity: 0; - transition: opacity 0s 0.6s; } - @media (prefers-reduced-motion: reduce) { - .carousel-fade .active.carousel-item-start, - .carousel-fade .active.carousel-item-end { - transition: none; } } -.carousel-control-prev, -.carousel-control-next { - position: absolute; - top: 0; - bottom: 0; - z-index: 1; - display: flex; - align-items: center; - justify-content: center; - width: 15%; - padding: 0; - color: #fff; - text-align: center; - background: none; - border: 0; - opacity: 0.5; - transition: opacity 0.15s ease; } - @media (prefers-reduced-motion: reduce) { - .carousel-control-prev, - .carousel-control-next { - transition: none; } } - .carousel-control-prev:hover, .carousel-control-prev:focus, - .carousel-control-next:hover, - .carousel-control-next:focus { - color: #fff; - text-decoration: none; - outline: 0; - opacity: 0.9; } - -.carousel-control-prev { - left: 0; - background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.001)); } - -.carousel-control-next { - right: 0; - background-image: linear-gradient(270deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.001)); } - -.carousel-control-prev-icon, -.carousel-control-next-icon { - display: inline-block; - width: 2rem; - height: 2rem; - background-repeat: no-repeat; - background-position: 50%; - background-size: 100% 100%; } - -.carousel-control-prev-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")*/; } - -.carousel-control-next-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")*/; } - -.carousel-indicators { - position: absolute; - right: 0; - bottom: 0; - left: 0; - z-index: 2; - display: flex; - justify-content: center; - padding: 0; - margin-right: 15%; - margin-bottom: 1rem; - margin-left: 15%; } - .carousel-indicators [data-bs-target] { - box-sizing: content-box; - flex: 0 1 auto; - width: 30px; - height: 3px; - padding: 0; - margin-right: 3px; - margin-left: 3px; - text-indent: -999px; - cursor: pointer; - background-color: #fff; - background-clip: padding-box; - border: 0; - border-top: 10px solid transparent; - border-bottom: 10px solid transparent; - opacity: 0.5; - transition: opacity 0.6s ease; } - @media (prefers-reduced-motion: reduce) { - .carousel-indicators [data-bs-target] { - transition: none; } } - .carousel-indicators .active { - opacity: 1; } - -.carousel-caption { - position: absolute; - right: 15%; - bottom: 1.25rem; - left: 15%; - padding-top: 1.25rem; - padding-bottom: 1.25rem; - color: #fff; - text-align: center; } - -.carousel-dark .carousel-control-prev-icon, -.carousel-dark .carousel-control-next-icon { - filter: invert(1) grayscale(100); } - -.carousel-dark .carousel-indicators [data-bs-target] { - background-color: #000; } - -.carousel-dark .carousel-caption { - color: #000; } - -[data-bs-theme="dark"] .carousel .carousel-control-prev-icon, -[data-bs-theme="dark"] .carousel .carousel-control-next-icon, [data-bs-theme="dark"].carousel .carousel-control-prev-icon, -[data-bs-theme="dark"].carousel .carousel-control-next-icon { - filter: invert(1) grayscale(100); } - -[data-bs-theme="dark"] .carousel .carousel-indicators [data-bs-target], [data-bs-theme="dark"].carousel .carousel-indicators [data-bs-target] { - background-color: #000; } - -[data-bs-theme="dark"] .carousel .carousel-caption, [data-bs-theme="dark"].carousel .carousel-caption { - color: #000; } - -.spinner-grow, -.spinner-border { - display: inline-block; - width: var(--bs-spinner-width); - height: var(--bs-spinner-height); - vertical-align: var(--bs-spinner-vertical-align); - border-radius: 50%; - animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name); } - -@keyframes spinner-border { - to { - transform: rotate(360deg) /* rtl:ignore */; } } - -.spinner-border { - --bs-spinner-width: 2rem; - --bs-spinner-height: 2rem; - --bs-spinner-vertical-align: -0.125em; - --bs-spinner-border-width: 0.25em; - --bs-spinner-animation-speed: 0.75s; - --bs-spinner-animation-name: spinner-border; - border: var(--bs-spinner-border-width) solid currentcolor; - border-right-color: transparent; } - -.spinner-border-sm { - --bs-spinner-width: 1rem; - --bs-spinner-height: 1rem; - --bs-spinner-border-width: 0.2em; } - -@keyframes spinner-grow { - 0% { - transform: scale(0); } - 50% { - opacity: 1; - transform: none; } } - -.spinner-grow { - --bs-spinner-width: 2rem; - --bs-spinner-height: 2rem; - --bs-spinner-vertical-align: -0.125em; - --bs-spinner-animation-speed: 0.75s; - --bs-spinner-animation-name: spinner-grow; - background-color: currentcolor; - opacity: 0; } - -.spinner-grow-sm { - --bs-spinner-width: 1rem; - --bs-spinner-height: 1rem; } - -@media (prefers-reduced-motion: reduce) { - .spinner-border, - .spinner-grow { - --bs-spinner-animation-speed: 1.5s; } } - -.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm { - --bs-offcanvas-zindex: 1045; - --bs-offcanvas-width: 400px; - --bs-offcanvas-height: 30vh; - --bs-offcanvas-padding-x: 1rem; - --bs-offcanvas-padding-y: 1rem; - --bs-offcanvas-color: var(--bs-body-color); - --bs-offcanvas-bg: var(--bs-body-bg); - --bs-offcanvas-border-width: var(--bs-border-width); - --bs-offcanvas-border-color: var(--bs-border-color-translucent); - --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm); - --bs-offcanvas-transition: transform 0.3s ease-in-out; - --bs-offcanvas-title-line-height: 1.5; } - -@media (max-width: 575.98px) { - .offcanvas-sm { - position: fixed; - bottom: 0; - z-index: var(--bs-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--bs-offcanvas-color); - visibility: hidden; - background-color: var(--bs-offcanvas-bg); - background-clip: padding-box; - outline: 0; - box-shadow: var(--bs-offcanvas-box-shadow); - transition: var(--bs-offcanvas-transition); } } - @media (max-width: 575.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-sm { - transition: none; } } -@media (max-width: 575.98px) { - .offcanvas-sm.offcanvas-start { - top: 0; - left: 0; - width: var(--bs-offcanvas-width); - border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(-100%); } - .offcanvas-sm.offcanvas-end { - top: 0; - right: 0; - width: var(--bs-offcanvas-width); - border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(100%); } - .offcanvas-sm.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(-100%); } - .offcanvas-sm.offcanvas-bottom { - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(100%); } - .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) { - transform: none; } - .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show { - visibility: visible; } } - -@media (min-width: 576px) { - .offcanvas-sm { - --bs-offcanvas-height: auto; - --bs-offcanvas-border-width: 0; - background-color: transparent !important; } - .offcanvas-sm .offcanvas-header { - display: none; } - .offcanvas-sm .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; } } - -@media (max-width: 767.98px) { - .offcanvas-md { - position: fixed; - bottom: 0; - z-index: var(--bs-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--bs-offcanvas-color); - visibility: hidden; - background-color: var(--bs-offcanvas-bg); - background-clip: padding-box; - outline: 0; - box-shadow: var(--bs-offcanvas-box-shadow); - transition: var(--bs-offcanvas-transition); } } - @media (max-width: 767.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-md { - transition: none; } } -@media (max-width: 767.98px) { - .offcanvas-md.offcanvas-start { - top: 0; - left: 0; - width: var(--bs-offcanvas-width); - border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(-100%); } - .offcanvas-md.offcanvas-end { - top: 0; - right: 0; - width: var(--bs-offcanvas-width); - border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(100%); } - .offcanvas-md.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(-100%); } - .offcanvas-md.offcanvas-bottom { - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(100%); } - .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) { - transform: none; } - .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show { - visibility: visible; } } - -@media (min-width: 768px) { - .offcanvas-md { - --bs-offcanvas-height: auto; - --bs-offcanvas-border-width: 0; - background-color: transparent !important; } - .offcanvas-md .offcanvas-header { - display: none; } - .offcanvas-md .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; } } - -@media (max-width: 991.98px) { - .offcanvas-lg { - position: fixed; - bottom: 0; - z-index: var(--bs-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--bs-offcanvas-color); - visibility: hidden; - background-color: var(--bs-offcanvas-bg); - background-clip: padding-box; - outline: 0; - box-shadow: var(--bs-offcanvas-box-shadow); - transition: var(--bs-offcanvas-transition); } } - @media (max-width: 991.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-lg { - transition: none; } } -@media (max-width: 991.98px) { - .offcanvas-lg.offcanvas-start { - top: 0; - left: 0; - width: var(--bs-offcanvas-width); - border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(-100%); } - .offcanvas-lg.offcanvas-end { - top: 0; - right: 0; - width: var(--bs-offcanvas-width); - border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(100%); } - .offcanvas-lg.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(-100%); } - .offcanvas-lg.offcanvas-bottom { - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(100%); } - .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) { - transform: none; } - .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show { - visibility: visible; } } - -@media (min-width: 992px) { - .offcanvas-lg { - --bs-offcanvas-height: auto; - --bs-offcanvas-border-width: 0; - background-color: transparent !important; } - .offcanvas-lg .offcanvas-header { - display: none; } - .offcanvas-lg .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; } } - -@media (max-width: 1199.98px) { - .offcanvas-xl { - position: fixed; - bottom: 0; - z-index: var(--bs-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--bs-offcanvas-color); - visibility: hidden; - background-color: var(--bs-offcanvas-bg); - background-clip: padding-box; - outline: 0; - box-shadow: var(--bs-offcanvas-box-shadow); - transition: var(--bs-offcanvas-transition); } } - @media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-xl { - transition: none; } } -@media (max-width: 1199.98px) { - .offcanvas-xl.offcanvas-start { - top: 0; - left: 0; - width: var(--bs-offcanvas-width); - border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(-100%); } - .offcanvas-xl.offcanvas-end { - top: 0; - right: 0; - width: var(--bs-offcanvas-width); - border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(100%); } - .offcanvas-xl.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(-100%); } - .offcanvas-xl.offcanvas-bottom { - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(100%); } - .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) { - transform: none; } - .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show { - visibility: visible; } } - -@media (min-width: 1200px) { - .offcanvas-xl { - --bs-offcanvas-height: auto; - --bs-offcanvas-border-width: 0; - background-color: transparent !important; } - .offcanvas-xl .offcanvas-header { - display: none; } - .offcanvas-xl .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; } } - -@media (max-width: 1399.98px) { - .offcanvas-xxl { - position: fixed; - bottom: 0; - z-index: var(--bs-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--bs-offcanvas-color); - visibility: hidden; - background-color: var(--bs-offcanvas-bg); - background-clip: padding-box; - outline: 0; - box-shadow: var(--bs-offcanvas-box-shadow); - transition: var(--bs-offcanvas-transition); } } - @media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-xxl { - transition: none; } } -@media (max-width: 1399.98px) { - .offcanvas-xxl.offcanvas-start { - top: 0; - left: 0; - width: var(--bs-offcanvas-width); - border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(-100%); } - .offcanvas-xxl.offcanvas-end { - top: 0; - right: 0; - width: var(--bs-offcanvas-width); - border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(100%); } - .offcanvas-xxl.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(-100%); } - .offcanvas-xxl.offcanvas-bottom { - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(100%); } - .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) { - transform: none; } - .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show { - visibility: visible; } } - -@media (min-width: 1400px) { - .offcanvas-xxl { - --bs-offcanvas-height: auto; - --bs-offcanvas-border-width: 0; - background-color: transparent !important; } - .offcanvas-xxl .offcanvas-header { - display: none; } - .offcanvas-xxl .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; } } - -.offcanvas { - position: fixed; - bottom: 0; - z-index: var(--bs-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--bs-offcanvas-color); - visibility: hidden; - background-color: var(--bs-offcanvas-bg); - background-clip: padding-box; - outline: 0; - box-shadow: var(--bs-offcanvas-box-shadow); - transition: var(--bs-offcanvas-transition); } - @media (prefers-reduced-motion: reduce) { - .offcanvas { - transition: none; } } - .offcanvas.offcanvas-start { - top: 0; - left: 0; - width: var(--bs-offcanvas-width); - border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(-100%); } - .offcanvas.offcanvas-end { - top: 0; - right: 0; - width: var(--bs-offcanvas-width); - border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(100%); } - .offcanvas.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(-100%); } - .offcanvas.offcanvas-bottom { - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(100%); } - .offcanvas.showing, .offcanvas.show:not(.hiding) { - transform: none; } - .offcanvas.showing, .offcanvas.hiding, .offcanvas.show { - visibility: visible; } - -.offcanvas-backdrop { - position: fixed; - top: 0; - left: 0; - z-index: 1040; - width: 100vw; - height: 100vh; - background-color: #000; } - .offcanvas-backdrop.fade { - opacity: 0; } - .offcanvas-backdrop.show { - opacity: 0.5; } - -.offcanvas-header { - display: flex; - align-items: center; - padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); } - .offcanvas-header .btn-close { - padding: calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5); - margin: calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x)) calc(-.5 * var(--bs-offcanvas-padding-y)) auto; } - -.offcanvas-title { - margin-bottom: 0; - line-height: var(--bs-offcanvas-title-line-height); } - -.offcanvas-body { - flex-grow: 1; - padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); - overflow-y: auto; } - -.placeholder { - display: inline-block; - min-height: 1em; - vertical-align: middle; - cursor: wait; - background-color: currentcolor; - opacity: 0.5; } - .placeholder.btn::before, div.drawio button.placeholder::before, .td-blog .placeholder.td-rss-button::before { - display: inline-block; - content: ""; } - -.placeholder-xs { - min-height: .6em; } - -.placeholder-sm { - min-height: .8em; } - -.placeholder-lg { - min-height: 1.2em; } - -.placeholder-glow .placeholder { - animation: placeholder-glow 2s ease-in-out infinite; } - -@keyframes placeholder-glow { - 50% { - opacity: 0.2; } } - -.placeholder-wave { - mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%); - mask-size: 200% 100%; - animation: placeholder-wave 2s linear infinite; } - -@keyframes placeholder-wave { - 100% { - mask-position: -200% 0%; } } - -.clearfix::after { - display: block; - clear: both; - content: ""; } - -.text-bg-primary { - color: #fff !important; - background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important; } - -.text-bg-secondary { - color: #000 !important; - background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important; } - -.text-bg-success { - color: #000 !important; - background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important; } - -.text-bg-info { - color: #000 !important; - background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important; } - -.text-bg-warning { - color: #000 !important; - background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important; } - -.text-bg-danger { - color: #000 !important; - background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important; } - -.text-bg-light { - color: #000 !important; - background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important; } - -.text-bg-dark { - color: #fff !important; - background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important; } - -.link-primary { - color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-primary:hover, .link-primary:focus { - color: RGBA(34, 69, 99, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(34, 69, 99, var(--bs-link-underline-opacity, 1)) !important; } - -.link-secondary { - color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-secondary:hover, .link-secondary:focus { - color: RGBA(255, 193, 110, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(255, 193, 110, var(--bs-link-underline-opacity, 1)) !important; } - -.link-success { - color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-success:hover, .link-success:focus { - color: RGBA(115, 156, 255, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(115, 156, 255, var(--bs-link-underline-opacity, 1)) !important; } - -.link-info { - color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-info:hover, .link-info:focus { - color: RGBA(211, 233, 232, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(211, 233, 232, var(--bs-link-underline-opacity, 1)) !important; } - -.link-warning { - color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-warning:hover, .link-warning:focus { - color: RGBA(242, 151, 140, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(242, 151, 140, var(--bs-link-underline-opacity, 1)) !important; } - -.link-danger { - color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-danger:hover, .link-danger:focus { - color: RGBA(242, 151, 140, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(242, 151, 140, var(--bs-link-underline-opacity, 1)) !important; } - -.link-light { - color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-light:hover, .link-light:focus { - color: RGBA(224, 247, 243, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(224, 247, 243, var(--bs-link-underline-opacity, 1)) !important; } - -.link-dark { - color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-dark:hover, .link-dark:focus { - color: RGBA(45, 44, 53, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(45, 44, 53, var(--bs-link-underline-opacity, 1)) !important; } - -.link-body-emphasis { - color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-body-emphasis:hover, .link-body-emphasis:focus { - color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important; - text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important; } - -.focus-ring:focus { - outline: 0; - box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color); } - -.icon-link { - display: inline-flex; - gap: 0.375rem; - align-items: center; - text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5)); - text-underline-offset: 0.25em; - backface-visibility: hidden; } - .icon-link > .bi { - flex-shrink: 0; - width: 1em; - height: 1em; - fill: currentcolor; - transition: 0.2s ease-in-out transform; } - @media (prefers-reduced-motion: reduce) { - .icon-link > .bi { - transition: none; } } -.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi { - transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0)); } - -.ratio { - position: relative; - width: 100%; } - .ratio::before { - display: block; - padding-top: var(--bs-aspect-ratio); - content: ""; } - .ratio > * { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; } - -.ratio-1x1 { - --bs-aspect-ratio: 100%; } - -.ratio-4x3 { - --bs-aspect-ratio: calc(3 / 4 * 100%); } - -.ratio-16x9 { - --bs-aspect-ratio: calc(9 / 16 * 100%); } - -.ratio-21x9 { - --bs-aspect-ratio: calc(9 / 21 * 100%); } - -.fixed-top { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: 1030; } - -.fixed-bottom { - position: fixed; - right: 0; - bottom: 0; - left: 0; - z-index: 1030; } - -.sticky-top { - position: sticky; - top: 0; - z-index: 1020; } - -.sticky-bottom { - position: sticky; - bottom: 0; - z-index: 1020; } - -@media (min-width: 576px) { - .sticky-sm-top { - position: sticky; - top: 0; - z-index: 1020; } - .sticky-sm-bottom { - position: sticky; - bottom: 0; - z-index: 1020; } } - -@media (min-width: 768px) { - .sticky-md-top { - position: sticky; - top: 0; - z-index: 1020; } - .sticky-md-bottom { - position: sticky; - bottom: 0; - z-index: 1020; } } - -@media (min-width: 992px) { - .sticky-lg-top { - position: sticky; - top: 0; - z-index: 1020; } - .sticky-lg-bottom { - position: sticky; - bottom: 0; - z-index: 1020; } } - -@media (min-width: 1200px) { - .sticky-xl-top { - position: sticky; - top: 0; - z-index: 1020; } - .sticky-xl-bottom { - position: sticky; - bottom: 0; - z-index: 1020; } } - -@media (min-width: 1400px) { - .sticky-xxl-top { - position: sticky; - top: 0; - z-index: 1020; } - .sticky-xxl-bottom { - position: sticky; - bottom: 0; - z-index: 1020; } } - -.hstack { - display: flex; - flex-direction: row; - align-items: center; - align-self: stretch; } - -.vstack { - display: flex; - flex: 1 1 auto; - flex-direction: column; - align-self: stretch; } - -.visually-hidden, -.visually-hidden-focusable:not(:focus):not(:focus-within) { - width: 1px !important; - height: 1px !important; - padding: 0 !important; - margin: -1px !important; - overflow: hidden !important; - clip: rect(0, 0, 0, 0) !important; - white-space: nowrap !important; - border: 0 !important; } - .visually-hidden:not(caption), - .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) { - position: absolute !important; } - -.stretched-link::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - content: ""; } - -.text-truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; } - -.vr { - display: inline-block; - align-self: stretch; - width: var(--bs-border-width); - min-height: 1em; - background-color: currentcolor; - opacity: 0.25; } - -.align-baseline { - vertical-align: baseline !important; } - -.align-top { - vertical-align: top !important; } - -.align-middle { - vertical-align: middle !important; } - -.align-bottom { - vertical-align: bottom !important; } - -.align-text-bottom { - vertical-align: text-bottom !important; } - -.align-text-top { - vertical-align: text-top !important; } - -.float-start { - float: left !important; } - -.float-end { - float: right !important; } - -.float-none { - float: none !important; } - -.object-fit-contain { - object-fit: contain !important; } - -.object-fit-cover { - object-fit: cover !important; } - -.object-fit-fill { - object-fit: fill !important; } - -.object-fit-scale { - object-fit: scale-down !important; } - -.object-fit-none { - object-fit: none !important; } - -.opacity-0 { - opacity: 0 !important; } - -.opacity-25 { - opacity: 0.25 !important; } - -.opacity-50 { - opacity: 0.5 !important; } - -.opacity-75 { - opacity: 0.75 !important; } - -.opacity-100 { - opacity: 1 !important; } - -.overflow-auto { - overflow: auto !important; } - -.overflow-hidden { - overflow: hidden !important; } - -.overflow-visible { - overflow: visible !important; } - -.overflow-scroll { - overflow: scroll !important; } - -.overflow-x-auto { - overflow-x: auto !important; } - -.overflow-x-hidden { - overflow-x: hidden !important; } - -.overflow-x-visible { - overflow-x: visible !important; } - -.overflow-x-scroll { - overflow-x: scroll !important; } - -.overflow-y-auto { - overflow-y: auto !important; } - -.overflow-y-hidden { - overflow-y: hidden !important; } - -.overflow-y-visible { - overflow-y: visible !important; } - -.overflow-y-scroll { - overflow-y: scroll !important; } - -.d-inline { - display: inline !important; } - -.d-inline-block { - display: inline-block !important; } - -.d-block { - display: block !important; } - -.d-grid { - display: grid !important; } - -.d-inline-grid { - display: inline-grid !important; } - -.d-table { - display: table !important; } - -.d-table-row { - display: table-row !important; } - -.d-table-cell { - display: table-cell !important; } - -.d-flex { - display: flex !important; } - -.d-inline-flex { - display: inline-flex !important; } - -.d-none { - display: none !important; } - -.shadow { - box-shadow: var(--bs-box-shadow) !important; } - -.shadow-sm { - box-shadow: var(--bs-box-shadow-sm) !important; } - -.shadow-lg { - box-shadow: var(--bs-box-shadow-lg) !important; } - -.shadow-none { - box-shadow: none !important; } - -.focus-ring-primary { - --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity)); } - -.focus-ring-secondary { - --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity)); } - -.focus-ring-success { - --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity)); } - -.focus-ring-info { - --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity)); } - -.focus-ring-warning { - --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity)); } - -.focus-ring-danger { - --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity)); } - -.focus-ring-light { - --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity)); } - -.focus-ring-dark { - --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity)); } - -.position-static { - position: static !important; } - -.position-relative { - position: relative !important; } - -.position-absolute { - position: absolute !important; } - -.position-fixed { - position: fixed !important; } - -.position-sticky { - position: sticky !important; } - -.top-0 { - top: 0 !important; } - -.top-50 { - top: 50% !important; } - -.top-100 { - top: 100% !important; } - -.bottom-0 { - bottom: 0 !important; } - -.bottom-50 { - bottom: 50% !important; } - -.bottom-100 { - bottom: 100% !important; } - -.start-0 { - left: 0 !important; } - -.start-50 { - left: 50% !important; } - -.start-100 { - left: 100% !important; } - -.end-0 { - right: 0 !important; } - -.end-50 { - right: 50% !important; } - -.end-100 { - right: 100% !important; } - -.translate-middle { - transform: translate(-50%, -50%) !important; } - -.translate-middle-x { - transform: translateX(-50%) !important; } - -.translate-middle-y { - transform: translateY(-50%) !important; } - -.border { - border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; } - -.border-0 { - border: 0 !important; } - -.border-top, .td-page-meta__lastmod { - border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; } - -.border-top-0 { - border-top: 0 !important; } - -.border-end { - border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; } - -.border-end-0 { - border-right: 0 !important; } - -.border-bottom { - border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; } - -.border-bottom-0 { - border-bottom: 0 !important; } - -.border-start { - border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; } - -.border-start-0 { - border-left: 0 !important; } - -.border-primary { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important; } - -.border-secondary { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important; } - -.border-success { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important; } - -.border-info { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important; } - -.border-warning { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important; } - -.border-danger { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important; } - -.border-light { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important; } - -.border-dark { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important; } - -.border-black { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important; } - -.border-white { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important; } - -.border-primary-subtle { - border-color: var(--bs-primary-border-subtle) !important; } - -.border-secondary-subtle { - border-color: var(--bs-secondary-border-subtle) !important; } - -.border-success-subtle { - border-color: var(--bs-success-border-subtle) !important; } - -.border-info-subtle { - border-color: var(--bs-info-border-subtle) !important; } - -.border-warning-subtle { - border-color: var(--bs-warning-border-subtle) !important; } - -.border-danger-subtle { - border-color: var(--bs-danger-border-subtle) !important; } - -.border-light-subtle { - border-color: var(--bs-light-border-subtle) !important; } - -.border-dark-subtle { - border-color: var(--bs-dark-border-subtle) !important; } - -.border-1 { - border-width: 1px !important; } - -.border-2 { - border-width: 2px !important; } - -.border-3 { - border-width: 3px !important; } - -.border-4 { - border-width: 4px !important; } - -.border-5 { - border-width: 5px !important; } - -.border-opacity-10 { - --bs-border-opacity: 0.1; } - -.border-opacity-25 { - --bs-border-opacity: 0.25; } - -.border-opacity-50 { - --bs-border-opacity: 0.5; } - -.border-opacity-75 { - --bs-border-opacity: 0.75; } - -.border-opacity-100 { - --bs-border-opacity: 1; } - -.w-25 { - width: 25% !important; } - -.w-50 { - width: 50% !important; } - -.w-75 { - width: 75% !important; } - -.w-100 { - width: 100% !important; } - -.w-auto { - width: auto !important; } - -.mw-100 { - max-width: 100% !important; } - -.vw-100 { - width: 100vw !important; } - -.min-vw-100 { - min-width: 100vw !important; } - -.h-25 { - height: 25% !important; } - -.h-50 { - height: 50% !important; } - -.h-75 { - height: 75% !important; } - -.h-100 { - height: 100% !important; } - -.h-auto { - height: auto !important; } - -.mh-100 { - max-height: 100% !important; } - -.vh-100 { - height: 100vh !important; } - -.min-vh-100 { - min-height: 100vh !important; } - -.flex-fill { - flex: 1 1 auto !important; } - -.flex-row { - flex-direction: row !important; } - -.flex-column { - flex-direction: column !important; } - -.flex-row-reverse { - flex-direction: row-reverse !important; } - -.flex-column-reverse { - flex-direction: column-reverse !important; } - -.flex-grow-0 { - flex-grow: 0 !important; } - -.flex-grow-1 { - flex-grow: 1 !important; } - -.flex-shrink-0 { - flex-shrink: 0 !important; } - -.flex-shrink-1 { - flex-shrink: 1 !important; } - -.flex-wrap { - flex-wrap: wrap !important; } - -.flex-nowrap { - flex-wrap: nowrap !important; } - -.flex-wrap-reverse { - flex-wrap: wrap-reverse !important; } - -.justify-content-start { - justify-content: flex-start !important; } - -.justify-content-end { - justify-content: flex-end !important; } - -.justify-content-center { - justify-content: center !important; } - -.justify-content-between { - justify-content: space-between !important; } - -.justify-content-around { - justify-content: space-around !important; } - -.justify-content-evenly { - justify-content: space-evenly !important; } - -.align-items-start { - align-items: flex-start !important; } - -.align-items-end { - align-items: flex-end !important; } - -.align-items-center { - align-items: center !important; } - -.align-items-baseline { - align-items: baseline !important; } - -.align-items-stretch { - align-items: stretch !important; } - -.align-content-start { - align-content: flex-start !important; } - -.align-content-end { - align-content: flex-end !important; } - -.align-content-center { - align-content: center !important; } - -.align-content-between { - align-content: space-between !important; } - -.align-content-around { - align-content: space-around !important; } - -.align-content-stretch { - align-content: stretch !important; } - -.align-self-auto { - align-self: auto !important; } - -.align-self-start { - align-self: flex-start !important; } - -.align-self-end { - align-self: flex-end !important; } - -.align-self-center { - align-self: center !important; } - -.align-self-baseline { - align-self: baseline !important; } - -.align-self-stretch { - align-self: stretch !important; } - -.order-first { - order: -1 !important; } - -.order-0 { - order: 0 !important; } - -.order-1 { - order: 1 !important; } - -.order-2 { - order: 2 !important; } - -.order-3 { - order: 3 !important; } - -.order-4 { - order: 4 !important; } - -.order-5 { - order: 5 !important; } - -.order-last { - order: 6 !important; } - -.m-0 { - margin: 0 !important; } - -.m-1 { - margin: 0.25rem !important; } - -.m-2 { - margin: 0.5rem !important; } - -.m-3 { - margin: 1rem !important; } - -.m-4 { - margin: 1.5rem !important; } - -.m-5 { - margin: 3rem !important; } - -.m-auto { - margin: auto !important; } - -.mx-0 { - margin-right: 0 !important; - margin-left: 0 !important; } - -.mx-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; } - -.mx-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; } - -.mx-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; } - -.mx-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; } - -.mx-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; } - -.mx-auto { - margin-right: auto !important; - margin-left: auto !important; } - -.my-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; } - -.my-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; } - -.my-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; } - -.my-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; } - -.my-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; } - -.my-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; } - -.my-auto { - margin-top: auto !important; - margin-bottom: auto !important; } - -.mt-0 { - margin-top: 0 !important; } - -.mt-1 { - margin-top: 0.25rem !important; } - -.mt-2 { - margin-top: 0.5rem !important; } - -.mt-3 { - margin-top: 1rem !important; } - -.mt-4 { - margin-top: 1.5rem !important; } - -.mt-5 { - margin-top: 3rem !important; } - -.mt-auto { - margin-top: auto !important; } - -.me-0 { - margin-right: 0 !important; } - -.me-1 { - margin-right: 0.25rem !important; } - -.me-2 { - margin-right: 0.5rem !important; } - -.me-3 { - margin-right: 1rem !important; } - -.me-4 { - margin-right: 1.5rem !important; } - -.me-5 { - margin-right: 3rem !important; } - -.me-auto { - margin-right: auto !important; } - -.mb-0 { - margin-bottom: 0 !important; } - -.mb-1 { - margin-bottom: 0.25rem !important; } - -.mb-2 { - margin-bottom: 0.5rem !important; } - -.mb-3 { - margin-bottom: 1rem !important; } - -.mb-4 { - margin-bottom: 1.5rem !important; } - -.mb-5 { - margin-bottom: 3rem !important; } - -.mb-auto { - margin-bottom: auto !important; } - -.ms-0 { - margin-left: 0 !important; } - -.ms-1 { - margin-left: 0.25rem !important; } - -.ms-2 { - margin-left: 0.5rem !important; } - -.ms-3 { - margin-left: 1rem !important; } - -.ms-4 { - margin-left: 1.5rem !important; } - -.ms-5 { - margin-left: 3rem !important; } - -.ms-auto { - margin-left: auto !important; } - -.p-0 { - padding: 0 !important; } - -.p-1 { - padding: 0.25rem !important; } - -.p-2 { - padding: 0.5rem !important; } - -.p-3 { - padding: 1rem !important; } - -.p-4 { - padding: 1.5rem !important; } - -.p-5 { - padding: 3rem !important; } - -.px-0 { - padding-right: 0 !important; - padding-left: 0 !important; } - -.px-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; } - -.px-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; } - -.px-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; } - -.px-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; } - -.px-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; } - -.py-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; } - -.py-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; } - -.py-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; } - -.py-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; } - -.py-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; } - -.py-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; } - -.pt-0 { - padding-top: 0 !important; } - -.pt-1 { - padding-top: 0.25rem !important; } - -.pt-2 { - padding-top: 0.5rem !important; } - -.pt-3 { - padding-top: 1rem !important; } - -.pt-4 { - padding-top: 1.5rem !important; } - -.pt-5 { - padding-top: 3rem !important; } - -.pe-0 { - padding-right: 0 !important; } - -.pe-1 { - padding-right: 0.25rem !important; } - -.pe-2 { - padding-right: 0.5rem !important; } - -.pe-3 { - padding-right: 1rem !important; } - -.pe-4 { - padding-right: 1.5rem !important; } - -.pe-5 { - padding-right: 3rem !important; } - -.pb-0 { - padding-bottom: 0 !important; } - -.pb-1 { - padding-bottom: 0.25rem !important; } - -.pb-2 { - padding-bottom: 0.5rem !important; } - -.pb-3 { - padding-bottom: 1rem !important; } - -.pb-4 { - padding-bottom: 1.5rem !important; } - -.pb-5 { - padding-bottom: 3rem !important; } - -.ps-0 { - padding-left: 0 !important; } - -.ps-1 { - padding-left: 0.25rem !important; } - -.ps-2 { - padding-left: 0.5rem !important; } - -.ps-3 { - padding-left: 1rem !important; } - -.ps-4 { - padding-left: 1.5rem !important; } - -.ps-5 { - padding-left: 3rem !important; } - -.gap-0 { - gap: 0 !important; } - -.gap-1 { - gap: 0.25rem !important; } - -.gap-2 { - gap: 0.5rem !important; } - -.gap-3 { - gap: 1rem !important; } - -.gap-4 { - gap: 1.5rem !important; } - -.gap-5 { - gap: 3rem !important; } - -.row-gap-0 { - row-gap: 0 !important; } - -.row-gap-1 { - row-gap: 0.25rem !important; } - -.row-gap-2 { - row-gap: 0.5rem !important; } - -.row-gap-3 { - row-gap: 1rem !important; } - -.row-gap-4 { - row-gap: 1.5rem !important; } - -.row-gap-5 { - row-gap: 3rem !important; } - -.column-gap-0 { - column-gap: 0 !important; } - -.column-gap-1 { - column-gap: 0.25rem !important; } - -.column-gap-2 { - column-gap: 0.5rem !important; } - -.column-gap-3 { - column-gap: 1rem !important; } - -.column-gap-4 { - column-gap: 1.5rem !important; } - -.column-gap-5 { - column-gap: 3rem !important; } - -.font-monospace { - font-family: var(--bs-font-monospace) !important; } - -.fs-1 { - font-size: calc(1.375rem + 1.5vw) !important; } - -.fs-2 { - font-size: calc(1.325rem + 0.9vw) !important; } - -.fs-3 { - font-size: calc(1.275rem + 0.3vw) !important; } - -.fs-4 { - font-size: calc(1.26rem + 0.12vw) !important; } - -.fs-5 { - font-size: 1.15rem !important; } - -.fs-6 { - font-size: 1rem !important; } - -.fst-italic { - font-style: italic !important; } - -.fst-normal { - font-style: normal !important; } - -.fw-lighter { - font-weight: lighter !important; } - -.fw-light { - font-weight: 300 !important; } - -.fw-normal { - font-weight: 400 !important; } - -.fw-medium { - font-weight: 500 !important; } - -.fw-semibold { - font-weight: 600 !important; } - -.fw-bold { - font-weight: 700 !important; } - -.fw-bolder { - font-weight: bolder !important; } - -.lh-1 { - line-height: 1 !important; } - -.lh-sm { - line-height: 1.25 !important; } - -.lh-base { - line-height: 1.5 !important; } - -.lh-lg { - line-height: 2 !important; } - -.text-start { - text-align: left !important; } - -.text-end { - text-align: right !important; } - -.text-center { - text-align: center !important; } - -.text-decoration-none { - text-decoration: none !important; } - -.text-decoration-underline { - text-decoration: underline !important; } - -.text-decoration-line-through { - text-decoration: line-through !important; } - -.text-lowercase { - text-transform: lowercase !important; } - -.text-uppercase { - text-transform: uppercase !important; } - -.text-capitalize { - text-transform: capitalize !important; } - -.text-wrap { - white-space: normal !important; } - -.text-nowrap { - white-space: nowrap !important; } - -/* rtl:begin:remove */ -.text-break { - word-wrap: break-word !important; - word-break: break-word !important; } - -/* rtl:end:remove */ -.text-primary { - --bs-text-opacity: 1; - color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important; } - -.text-secondary { - --bs-text-opacity: 1; - color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important; } - -.text-success { - --bs-text-opacity: 1; - color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important; } - -.text-info { - --bs-text-opacity: 1; - color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important; } - -.text-warning { - --bs-text-opacity: 1; - color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important; } - -.text-danger { - --bs-text-opacity: 1; - color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important; } - -.text-light { - --bs-text-opacity: 1; - color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important; } - -.text-dark { - --bs-text-opacity: 1; - color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important; } - -.text-black { - --bs-text-opacity: 1; - color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important; } - -.text-white { - --bs-text-opacity: 1; - color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; } - -.text-body { - --bs-text-opacity: 1; - color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important; } - -.text-muted { - --bs-text-opacity: 1; - color: var(--bs-secondary-color) !important; } - -.text-black-50 { - --bs-text-opacity: 1; - color: rgba(0, 0, 0, 0.5) !important; } - -.text-white-50 { - --bs-text-opacity: 1; - color: rgba(255, 255, 255, 0.5) !important; } - -.text-body-secondary, .td-page-meta__lastmod { - --bs-text-opacity: 1; - color: var(--bs-secondary-color) !important; } - -.text-body-tertiary { - --bs-text-opacity: 1; - color: var(--bs-tertiary-color) !important; } - -.text-body-emphasis { - --bs-text-opacity: 1; - color: var(--bs-emphasis-color) !important; } - -.text-reset { - --bs-text-opacity: 1; - color: inherit !important; } - -.text-opacity-25 { - --bs-text-opacity: 0.25; } - -.text-opacity-50 { - --bs-text-opacity: 0.5; } - -.text-opacity-75 { - --bs-text-opacity: 0.75; } - -.text-opacity-100 { - --bs-text-opacity: 1; } - -.text-primary-emphasis { - color: var(--bs-primary-text-emphasis) !important; } - -.text-secondary-emphasis { - color: var(--bs-secondary-text-emphasis) !important; } - -.text-success-emphasis { - color: var(--bs-success-text-emphasis) !important; } - -.text-info-emphasis { - color: var(--bs-info-text-emphasis) !important; } - -.text-warning-emphasis { - color: var(--bs-warning-text-emphasis) !important; } - -.text-danger-emphasis { - color: var(--bs-danger-text-emphasis) !important; } - -.text-light-emphasis { - color: var(--bs-light-text-emphasis) !important; } - -.text-dark-emphasis { - color: var(--bs-dark-text-emphasis) !important; } - -.link-opacity-10 { - --bs-link-opacity: 0.1; } - -.link-opacity-10-hover:hover { - --bs-link-opacity: 0.1; } - -.link-opacity-25 { - --bs-link-opacity: 0.25; } - -.link-opacity-25-hover:hover { - --bs-link-opacity: 0.25; } - -.link-opacity-50 { - --bs-link-opacity: 0.5; } - -.link-opacity-50-hover:hover { - --bs-link-opacity: 0.5; } - -.link-opacity-75 { - --bs-link-opacity: 0.75; } - -.link-opacity-75-hover:hover { - --bs-link-opacity: 0.75; } - -.link-opacity-100 { - --bs-link-opacity: 1; } - -.link-opacity-100-hover:hover { - --bs-link-opacity: 1; } - -.link-offset-1 { - text-underline-offset: 0.125em !important; } - -.link-offset-1-hover:hover { - text-underline-offset: 0.125em !important; } - -.link-offset-2 { - text-underline-offset: 0.25em !important; } - -.link-offset-2-hover:hover { - text-underline-offset: 0.25em !important; } - -.link-offset-3 { - text-underline-offset: 0.375em !important; } - -.link-offset-3-hover:hover { - text-underline-offset: 0.375em !important; } - -.link-underline-primary { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline-secondary { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline-success { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline-info { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline-warning { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline-danger { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline-light { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline-dark { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important; } - -.link-underline-opacity-0 { - --bs-link-underline-opacity: 0; } - -.link-underline-opacity-0-hover:hover { - --bs-link-underline-opacity: 0; } - -.link-underline-opacity-10 { - --bs-link-underline-opacity: 0.1; } - -.link-underline-opacity-10-hover:hover { - --bs-link-underline-opacity: 0.1; } - -.link-underline-opacity-25 { - --bs-link-underline-opacity: 0.25; } - -.link-underline-opacity-25-hover:hover { - --bs-link-underline-opacity: 0.25; } - -.link-underline-opacity-50 { - --bs-link-underline-opacity: 0.5; } - -.link-underline-opacity-50-hover:hover { - --bs-link-underline-opacity: 0.5; } - -.link-underline-opacity-75 { - --bs-link-underline-opacity: 0.75; } - -.link-underline-opacity-75-hover:hover { - --bs-link-underline-opacity: 0.75; } - -.link-underline-opacity-100 { - --bs-link-underline-opacity: 1; } - -.link-underline-opacity-100-hover:hover { - --bs-link-underline-opacity: 1; } - -.bg-primary { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important; } - -.bg-secondary { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important; } - -.bg-success { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important; } - -.bg-info { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important; } - -.bg-warning { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important; } - -.bg-danger { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important; } - -.bg-light { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important; } - -.bg-dark { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important; } - -.bg-black { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important; } - -.bg-white { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important; } - -.bg-body { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important; } - -.bg-transparent { - --bs-bg-opacity: 1; - background-color: transparent !important; } - -.bg-body-secondary { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important; } - -.bg-body-tertiary { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important; } - -.bg-opacity-10 { - --bs-bg-opacity: 0.1; } - -.bg-opacity-25 { - --bs-bg-opacity: 0.25; } - -.bg-opacity-50 { - --bs-bg-opacity: 0.5; } - -.bg-opacity-75 { - --bs-bg-opacity: 0.75; } - -.bg-opacity-100 { - --bs-bg-opacity: 1; } - -.bg-primary-subtle { - background-color: var(--bs-primary-bg-subtle) !important; } - -.bg-secondary-subtle { - background-color: var(--bs-secondary-bg-subtle) !important; } - -.bg-success-subtle { - background-color: var(--bs-success-bg-subtle) !important; } - -.bg-info-subtle { - background-color: var(--bs-info-bg-subtle) !important; } - -.bg-warning-subtle { - background-color: var(--bs-warning-bg-subtle) !important; } - -.bg-danger-subtle { - background-color: var(--bs-danger-bg-subtle) !important; } - -.bg-light-subtle { - background-color: var(--bs-light-bg-subtle) !important; } - -.bg-dark-subtle { - background-color: var(--bs-dark-bg-subtle) !important; } - -.bg-gradient { - background-image: var(--bs-gradient) !important; } - -.user-select-all { - user-select: all !important; } - -.user-select-auto { - user-select: auto !important; } - -.user-select-none { - user-select: none !important; } - -.pe-none { - pointer-events: none !important; } - -.pe-auto { - pointer-events: auto !important; } - -.rounded { - border-radius: var(--bs-border-radius) !important; } - -.rounded-0 { - border-radius: 0 !important; } - -.rounded-1 { - border-radius: var(--bs-border-radius-sm) !important; } - -.rounded-2 { - border-radius: var(--bs-border-radius) !important; } - -.rounded-3 { - border-radius: var(--bs-border-radius-lg) !important; } - -.rounded-4 { - border-radius: var(--bs-border-radius-xl) !important; } - -.rounded-5 { - border-radius: var(--bs-border-radius-xxl) !important; } - -.rounded-circle { - border-radius: 50% !important; } - -.rounded-pill { - border-radius: var(--bs-border-radius-pill) !important; } - -.rounded-top { - border-top-left-radius: var(--bs-border-radius) !important; - border-top-right-radius: var(--bs-border-radius) !important; } - -.rounded-top-0 { - border-top-left-radius: 0 !important; - border-top-right-radius: 0 !important; } - -.rounded-top-1 { - border-top-left-radius: var(--bs-border-radius-sm) !important; - border-top-right-radius: var(--bs-border-radius-sm) !important; } - -.rounded-top-2 { - border-top-left-radius: var(--bs-border-radius) !important; - border-top-right-radius: var(--bs-border-radius) !important; } - -.rounded-top-3 { - border-top-left-radius: var(--bs-border-radius-lg) !important; - border-top-right-radius: var(--bs-border-radius-lg) !important; } - -.rounded-top-4 { - border-top-left-radius: var(--bs-border-radius-xl) !important; - border-top-right-radius: var(--bs-border-radius-xl) !important; } - -.rounded-top-5 { - border-top-left-radius: var(--bs-border-radius-xxl) !important; - border-top-right-radius: var(--bs-border-radius-xxl) !important; } - -.rounded-top-circle { - border-top-left-radius: 50% !important; - border-top-right-radius: 50% !important; } - -.rounded-top-pill { - border-top-left-radius: var(--bs-border-radius-pill) !important; - border-top-right-radius: var(--bs-border-radius-pill) !important; } - -.rounded-end { - border-top-right-radius: var(--bs-border-radius) !important; - border-bottom-right-radius: var(--bs-border-radius) !important; } - -.rounded-end-0 { - border-top-right-radius: 0 !important; - border-bottom-right-radius: 0 !important; } - -.rounded-end-1 { - border-top-right-radius: var(--bs-border-radius-sm) !important; - border-bottom-right-radius: var(--bs-border-radius-sm) !important; } - -.rounded-end-2 { - border-top-right-radius: var(--bs-border-radius) !important; - border-bottom-right-radius: var(--bs-border-radius) !important; } - -.rounded-end-3 { - border-top-right-radius: var(--bs-border-radius-lg) !important; - border-bottom-right-radius: var(--bs-border-radius-lg) !important; } - -.rounded-end-4 { - border-top-right-radius: var(--bs-border-radius-xl) !important; - border-bottom-right-radius: var(--bs-border-radius-xl) !important; } - -.rounded-end-5 { - border-top-right-radius: var(--bs-border-radius-xxl) !important; - border-bottom-right-radius: var(--bs-border-radius-xxl) !important; } - -.rounded-end-circle { - border-top-right-radius: 50% !important; - border-bottom-right-radius: 50% !important; } - -.rounded-end-pill { - border-top-right-radius: var(--bs-border-radius-pill) !important; - border-bottom-right-radius: var(--bs-border-radius-pill) !important; } - -.rounded-bottom { - border-bottom-right-radius: var(--bs-border-radius) !important; - border-bottom-left-radius: var(--bs-border-radius) !important; } - -.rounded-bottom-0 { - border-bottom-right-radius: 0 !important; - border-bottom-left-radius: 0 !important; } - -.rounded-bottom-1 { - border-bottom-right-radius: var(--bs-border-radius-sm) !important; - border-bottom-left-radius: var(--bs-border-radius-sm) !important; } - -.rounded-bottom-2 { - border-bottom-right-radius: var(--bs-border-radius) !important; - border-bottom-left-radius: var(--bs-border-radius) !important; } - -.rounded-bottom-3 { - border-bottom-right-radius: var(--bs-border-radius-lg) !important; - border-bottom-left-radius: var(--bs-border-radius-lg) !important; } - -.rounded-bottom-4 { - border-bottom-right-radius: var(--bs-border-radius-xl) !important; - border-bottom-left-radius: var(--bs-border-radius-xl) !important; } - -.rounded-bottom-5 { - border-bottom-right-radius: var(--bs-border-radius-xxl) !important; - border-bottom-left-radius: var(--bs-border-radius-xxl) !important; } - -.rounded-bottom-circle { - border-bottom-right-radius: 50% !important; - border-bottom-left-radius: 50% !important; } - -.rounded-bottom-pill { - border-bottom-right-radius: var(--bs-border-radius-pill) !important; - border-bottom-left-radius: var(--bs-border-radius-pill) !important; } - -.rounded-start { - border-bottom-left-radius: var(--bs-border-radius) !important; - border-top-left-radius: var(--bs-border-radius) !important; } - -.rounded-start-0 { - border-bottom-left-radius: 0 !important; - border-top-left-radius: 0 !important; } - -.rounded-start-1 { - border-bottom-left-radius: var(--bs-border-radius-sm) !important; - border-top-left-radius: var(--bs-border-radius-sm) !important; } - -.rounded-start-2 { - border-bottom-left-radius: var(--bs-border-radius) !important; - border-top-left-radius: var(--bs-border-radius) !important; } - -.rounded-start-3 { - border-bottom-left-radius: var(--bs-border-radius-lg) !important; - border-top-left-radius: var(--bs-border-radius-lg) !important; } - -.rounded-start-4 { - border-bottom-left-radius: var(--bs-border-radius-xl) !important; - border-top-left-radius: var(--bs-border-radius-xl) !important; } - -.rounded-start-5 { - border-bottom-left-radius: var(--bs-border-radius-xxl) !important; - border-top-left-radius: var(--bs-border-radius-xxl) !important; } - -.rounded-start-circle { - border-bottom-left-radius: 50% !important; - border-top-left-radius: 50% !important; } - -.rounded-start-pill { - border-bottom-left-radius: var(--bs-border-radius-pill) !important; - border-top-left-radius: var(--bs-border-radius-pill) !important; } - -.visible { - visibility: visible !important; } - -.invisible { - visibility: hidden !important; } - -.z-n1 { - z-index: -1 !important; } - -.z-0 { - z-index: 0 !important; } - -.z-1 { - z-index: 1 !important; } - -.z-2 { - z-index: 2 !important; } - -.z-3 { - z-index: 3 !important; } - -@media (min-width: 576px) { - .float-sm-start { - float: left !important; } - .float-sm-end { - float: right !important; } - .float-sm-none { - float: none !important; } - .object-fit-sm-contain { - object-fit: contain !important; } - .object-fit-sm-cover { - object-fit: cover !important; } - .object-fit-sm-fill { - object-fit: fill !important; } - .object-fit-sm-scale { - object-fit: scale-down !important; } - .object-fit-sm-none { - object-fit: none !important; } - .d-sm-inline { - display: inline !important; } - .d-sm-inline-block { - display: inline-block !important; } - .d-sm-block { - display: block !important; } - .d-sm-grid { - display: grid !important; } - .d-sm-inline-grid { - display: inline-grid !important; } - .d-sm-table { - display: table !important; } - .d-sm-table-row { - display: table-row !important; } - .d-sm-table-cell { - display: table-cell !important; } - .d-sm-flex { - display: flex !important; } - .d-sm-inline-flex { - display: inline-flex !important; } - .d-sm-none { - display: none !important; } - .flex-sm-fill { - flex: 1 1 auto !important; } - .flex-sm-row { - flex-direction: row !important; } - .flex-sm-column { - flex-direction: column !important; } - .flex-sm-row-reverse { - flex-direction: row-reverse !important; } - .flex-sm-column-reverse { - flex-direction: column-reverse !important; } - .flex-sm-grow-0 { - flex-grow: 0 !important; } - .flex-sm-grow-1 { - flex-grow: 1 !important; } - .flex-sm-shrink-0 { - flex-shrink: 0 !important; } - .flex-sm-shrink-1 { - flex-shrink: 1 !important; } - .flex-sm-wrap { - flex-wrap: wrap !important; } - .flex-sm-nowrap { - flex-wrap: nowrap !important; } - .flex-sm-wrap-reverse { - flex-wrap: wrap-reverse !important; } - .justify-content-sm-start { - justify-content: flex-start !important; } - .justify-content-sm-end { - justify-content: flex-end !important; } - .justify-content-sm-center { - justify-content: center !important; } - .justify-content-sm-between { - justify-content: space-between !important; } - .justify-content-sm-around { - justify-content: space-around !important; } - .justify-content-sm-evenly { - justify-content: space-evenly !important; } - .align-items-sm-start { - align-items: flex-start !important; } - .align-items-sm-end { - align-items: flex-end !important; } - .align-items-sm-center { - align-items: center !important; } - .align-items-sm-baseline { - align-items: baseline !important; } - .align-items-sm-stretch { - align-items: stretch !important; } - .align-content-sm-start { - align-content: flex-start !important; } - .align-content-sm-end { - align-content: flex-end !important; } - .align-content-sm-center { - align-content: center !important; } - .align-content-sm-between { - align-content: space-between !important; } - .align-content-sm-around { - align-content: space-around !important; } - .align-content-sm-stretch { - align-content: stretch !important; } - .align-self-sm-auto { - align-self: auto !important; } - .align-self-sm-start { - align-self: flex-start !important; } - .align-self-sm-end { - align-self: flex-end !important; } - .align-self-sm-center { - align-self: center !important; } - .align-self-sm-baseline { - align-self: baseline !important; } - .align-self-sm-stretch { - align-self: stretch !important; } - .order-sm-first { - order: -1 !important; } - .order-sm-0 { - order: 0 !important; } - .order-sm-1 { - order: 1 !important; } - .order-sm-2 { - order: 2 !important; } - .order-sm-3 { - order: 3 !important; } - .order-sm-4 { - order: 4 !important; } - .order-sm-5 { - order: 5 !important; } - .order-sm-last { - order: 6 !important; } - .m-sm-0 { - margin: 0 !important; } - .m-sm-1 { - margin: 0.25rem !important; } - .m-sm-2 { - margin: 0.5rem !important; } - .m-sm-3 { - margin: 1rem !important; } - .m-sm-4 { - margin: 1.5rem !important; } - .m-sm-5 { - margin: 3rem !important; } - .m-sm-auto { - margin: auto !important; } - .mx-sm-0 { - margin-right: 0 !important; - margin-left: 0 !important; } - .mx-sm-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; } - .mx-sm-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; } - .mx-sm-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; } - .mx-sm-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; } - .mx-sm-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; } - .mx-sm-auto { - margin-right: auto !important; - margin-left: auto !important; } - .my-sm-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; } - .my-sm-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; } - .my-sm-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; } - .my-sm-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; } - .my-sm-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; } - .my-sm-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; } - .my-sm-auto { - margin-top: auto !important; - margin-bottom: auto !important; } - .mt-sm-0 { - margin-top: 0 !important; } - .mt-sm-1 { - margin-top: 0.25rem !important; } - .mt-sm-2 { - margin-top: 0.5rem !important; } - .mt-sm-3 { - margin-top: 1rem !important; } - .mt-sm-4 { - margin-top: 1.5rem !important; } - .mt-sm-5 { - margin-top: 3rem !important; } - .mt-sm-auto { - margin-top: auto !important; } - .me-sm-0 { - margin-right: 0 !important; } - .me-sm-1 { - margin-right: 0.25rem !important; } - .me-sm-2 { - margin-right: 0.5rem !important; } - .me-sm-3 { - margin-right: 1rem !important; } - .me-sm-4 { - margin-right: 1.5rem !important; } - .me-sm-5 { - margin-right: 3rem !important; } - .me-sm-auto { - margin-right: auto !important; } - .mb-sm-0 { - margin-bottom: 0 !important; } - .mb-sm-1 { - margin-bottom: 0.25rem !important; } - .mb-sm-2 { - margin-bottom: 0.5rem !important; } - .mb-sm-3 { - margin-bottom: 1rem !important; } - .mb-sm-4 { - margin-bottom: 1.5rem !important; } - .mb-sm-5 { - margin-bottom: 3rem !important; } - .mb-sm-auto { - margin-bottom: auto !important; } - .ms-sm-0 { - margin-left: 0 !important; } - .ms-sm-1 { - margin-left: 0.25rem !important; } - .ms-sm-2 { - margin-left: 0.5rem !important; } - .ms-sm-3 { - margin-left: 1rem !important; } - .ms-sm-4 { - margin-left: 1.5rem !important; } - .ms-sm-5 { - margin-left: 3rem !important; } - .ms-sm-auto { - margin-left: auto !important; } - .p-sm-0 { - padding: 0 !important; } - .p-sm-1 { - padding: 0.25rem !important; } - .p-sm-2 { - padding: 0.5rem !important; } - .p-sm-3 { - padding: 1rem !important; } - .p-sm-4 { - padding: 1.5rem !important; } - .p-sm-5 { - padding: 3rem !important; } - .px-sm-0 { - padding-right: 0 !important; - padding-left: 0 !important; } - .px-sm-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; } - .px-sm-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; } - .px-sm-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; } - .px-sm-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; } - .px-sm-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; } - .py-sm-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; } - .py-sm-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; } - .py-sm-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; } - .py-sm-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; } - .py-sm-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; } - .py-sm-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; } - .pt-sm-0 { - padding-top: 0 !important; } - .pt-sm-1 { - padding-top: 0.25rem !important; } - .pt-sm-2 { - padding-top: 0.5rem !important; } - .pt-sm-3 { - padding-top: 1rem !important; } - .pt-sm-4 { - padding-top: 1.5rem !important; } - .pt-sm-5 { - padding-top: 3rem !important; } - .pe-sm-0 { - padding-right: 0 !important; } - .pe-sm-1 { - padding-right: 0.25rem !important; } - .pe-sm-2 { - padding-right: 0.5rem !important; } - .pe-sm-3 { - padding-right: 1rem !important; } - .pe-sm-4 { - padding-right: 1.5rem !important; } - .pe-sm-5 { - padding-right: 3rem !important; } - .pb-sm-0 { - padding-bottom: 0 !important; } - .pb-sm-1 { - padding-bottom: 0.25rem !important; } - .pb-sm-2 { - padding-bottom: 0.5rem !important; } - .pb-sm-3 { - padding-bottom: 1rem !important; } - .pb-sm-4 { - padding-bottom: 1.5rem !important; } - .pb-sm-5 { - padding-bottom: 3rem !important; } - .ps-sm-0 { - padding-left: 0 !important; } - .ps-sm-1 { - padding-left: 0.25rem !important; } - .ps-sm-2 { - padding-left: 0.5rem !important; } - .ps-sm-3 { - padding-left: 1rem !important; } - .ps-sm-4 { - padding-left: 1.5rem !important; } - .ps-sm-5 { - padding-left: 3rem !important; } - .gap-sm-0 { - gap: 0 !important; } - .gap-sm-1 { - gap: 0.25rem !important; } - .gap-sm-2 { - gap: 0.5rem !important; } - .gap-sm-3 { - gap: 1rem !important; } - .gap-sm-4 { - gap: 1.5rem !important; } - .gap-sm-5 { - gap: 3rem !important; } - .row-gap-sm-0 { - row-gap: 0 !important; } - .row-gap-sm-1 { - row-gap: 0.25rem !important; } - .row-gap-sm-2 { - row-gap: 0.5rem !important; } - .row-gap-sm-3 { - row-gap: 1rem !important; } - .row-gap-sm-4 { - row-gap: 1.5rem !important; } - .row-gap-sm-5 { - row-gap: 3rem !important; } - .column-gap-sm-0 { - column-gap: 0 !important; } - .column-gap-sm-1 { - column-gap: 0.25rem !important; } - .column-gap-sm-2 { - column-gap: 0.5rem !important; } - .column-gap-sm-3 { - column-gap: 1rem !important; } - .column-gap-sm-4 { - column-gap: 1.5rem !important; } - .column-gap-sm-5 { - column-gap: 3rem !important; } - .text-sm-start { - text-align: left !important; } - .text-sm-end { - text-align: right !important; } - .text-sm-center { - text-align: center !important; } } - -@media (min-width: 768px) { - .float-md-start { - float: left !important; } - .float-md-end { - float: right !important; } - .float-md-none { - float: none !important; } - .object-fit-md-contain { - object-fit: contain !important; } - .object-fit-md-cover { - object-fit: cover !important; } - .object-fit-md-fill { - object-fit: fill !important; } - .object-fit-md-scale { - object-fit: scale-down !important; } - .object-fit-md-none { - object-fit: none !important; } - .d-md-inline { - display: inline !important; } - .d-md-inline-block { - display: inline-block !important; } - .d-md-block { - display: block !important; } - .d-md-grid { - display: grid !important; } - .d-md-inline-grid { - display: inline-grid !important; } - .d-md-table { - display: table !important; } - .d-md-table-row { - display: table-row !important; } - .d-md-table-cell { - display: table-cell !important; } - .d-md-flex { - display: flex !important; } - .d-md-inline-flex { - display: inline-flex !important; } - .d-md-none { - display: none !important; } - .flex-md-fill { - flex: 1 1 auto !important; } - .flex-md-row { - flex-direction: row !important; } - .flex-md-column { - flex-direction: column !important; } - .flex-md-row-reverse { - flex-direction: row-reverse !important; } - .flex-md-column-reverse { - flex-direction: column-reverse !important; } - .flex-md-grow-0 { - flex-grow: 0 !important; } - .flex-md-grow-1 { - flex-grow: 1 !important; } - .flex-md-shrink-0 { - flex-shrink: 0 !important; } - .flex-md-shrink-1 { - flex-shrink: 1 !important; } - .flex-md-wrap { - flex-wrap: wrap !important; } - .flex-md-nowrap { - flex-wrap: nowrap !important; } - .flex-md-wrap-reverse { - flex-wrap: wrap-reverse !important; } - .justify-content-md-start { - justify-content: flex-start !important; } - .justify-content-md-end { - justify-content: flex-end !important; } - .justify-content-md-center { - justify-content: center !important; } - .justify-content-md-between { - justify-content: space-between !important; } - .justify-content-md-around { - justify-content: space-around !important; } - .justify-content-md-evenly { - justify-content: space-evenly !important; } - .align-items-md-start { - align-items: flex-start !important; } - .align-items-md-end { - align-items: flex-end !important; } - .align-items-md-center { - align-items: center !important; } - .align-items-md-baseline { - align-items: baseline !important; } - .align-items-md-stretch { - align-items: stretch !important; } - .align-content-md-start { - align-content: flex-start !important; } - .align-content-md-end { - align-content: flex-end !important; } - .align-content-md-center { - align-content: center !important; } - .align-content-md-between { - align-content: space-between !important; } - .align-content-md-around { - align-content: space-around !important; } - .align-content-md-stretch { - align-content: stretch !important; } - .align-self-md-auto { - align-self: auto !important; } - .align-self-md-start { - align-self: flex-start !important; } - .align-self-md-end { - align-self: flex-end !important; } - .align-self-md-center { - align-self: center !important; } - .align-self-md-baseline { - align-self: baseline !important; } - .align-self-md-stretch { - align-self: stretch !important; } - .order-md-first { - order: -1 !important; } - .order-md-0 { - order: 0 !important; } - .order-md-1 { - order: 1 !important; } - .order-md-2 { - order: 2 !important; } - .order-md-3 { - order: 3 !important; } - .order-md-4 { - order: 4 !important; } - .order-md-5 { - order: 5 !important; } - .order-md-last { - order: 6 !important; } - .m-md-0 { - margin: 0 !important; } - .m-md-1 { - margin: 0.25rem !important; } - .m-md-2 { - margin: 0.5rem !important; } - .m-md-3 { - margin: 1rem !important; } - .m-md-4 { - margin: 1.5rem !important; } - .m-md-5 { - margin: 3rem !important; } - .m-md-auto { - margin: auto !important; } - .mx-md-0 { - margin-right: 0 !important; - margin-left: 0 !important; } - .mx-md-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; } - .mx-md-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; } - .mx-md-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; } - .mx-md-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; } - .mx-md-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; } - .mx-md-auto { - margin-right: auto !important; - margin-left: auto !important; } - .my-md-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; } - .my-md-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; } - .my-md-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; } - .my-md-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; } - .my-md-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; } - .my-md-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; } - .my-md-auto { - margin-top: auto !important; - margin-bottom: auto !important; } - .mt-md-0 { - margin-top: 0 !important; } - .mt-md-1 { - margin-top: 0.25rem !important; } - .mt-md-2 { - margin-top: 0.5rem !important; } - .mt-md-3 { - margin-top: 1rem !important; } - .mt-md-4 { - margin-top: 1.5rem !important; } - .mt-md-5 { - margin-top: 3rem !important; } - .mt-md-auto { - margin-top: auto !important; } - .me-md-0 { - margin-right: 0 !important; } - .me-md-1 { - margin-right: 0.25rem !important; } - .me-md-2 { - margin-right: 0.5rem !important; } - .me-md-3 { - margin-right: 1rem !important; } - .me-md-4 { - margin-right: 1.5rem !important; } - .me-md-5 { - margin-right: 3rem !important; } - .me-md-auto { - margin-right: auto !important; } - .mb-md-0 { - margin-bottom: 0 !important; } - .mb-md-1 { - margin-bottom: 0.25rem !important; } - .mb-md-2 { - margin-bottom: 0.5rem !important; } - .mb-md-3 { - margin-bottom: 1rem !important; } - .mb-md-4 { - margin-bottom: 1.5rem !important; } - .mb-md-5 { - margin-bottom: 3rem !important; } - .mb-md-auto { - margin-bottom: auto !important; } - .ms-md-0 { - margin-left: 0 !important; } - .ms-md-1 { - margin-left: 0.25rem !important; } - .ms-md-2 { - margin-left: 0.5rem !important; } - .ms-md-3 { - margin-left: 1rem !important; } - .ms-md-4 { - margin-left: 1.5rem !important; } - .ms-md-5 { - margin-left: 3rem !important; } - .ms-md-auto { - margin-left: auto !important; } - .p-md-0 { - padding: 0 !important; } - .p-md-1 { - padding: 0.25rem !important; } - .p-md-2 { - padding: 0.5rem !important; } - .p-md-3 { - padding: 1rem !important; } - .p-md-4 { - padding: 1.5rem !important; } - .p-md-5 { - padding: 3rem !important; } - .px-md-0 { - padding-right: 0 !important; - padding-left: 0 !important; } - .px-md-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; } - .px-md-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; } - .px-md-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; } - .px-md-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; } - .px-md-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; } - .py-md-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; } - .py-md-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; } - .py-md-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; } - .py-md-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; } - .py-md-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; } - .py-md-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; } - .pt-md-0 { - padding-top: 0 !important; } - .pt-md-1 { - padding-top: 0.25rem !important; } - .pt-md-2 { - padding-top: 0.5rem !important; } - .pt-md-3 { - padding-top: 1rem !important; } - .pt-md-4 { - padding-top: 1.5rem !important; } - .pt-md-5 { - padding-top: 3rem !important; } - .pe-md-0 { - padding-right: 0 !important; } - .pe-md-1 { - padding-right: 0.25rem !important; } - .pe-md-2 { - padding-right: 0.5rem !important; } - .pe-md-3 { - padding-right: 1rem !important; } - .pe-md-4 { - padding-right: 1.5rem !important; } - .pe-md-5 { - padding-right: 3rem !important; } - .pb-md-0 { - padding-bottom: 0 !important; } - .pb-md-1 { - padding-bottom: 0.25rem !important; } - .pb-md-2 { - padding-bottom: 0.5rem !important; } - .pb-md-3 { - padding-bottom: 1rem !important; } - .pb-md-4 { - padding-bottom: 1.5rem !important; } - .pb-md-5 { - padding-bottom: 3rem !important; } - .ps-md-0 { - padding-left: 0 !important; } - .ps-md-1 { - padding-left: 0.25rem !important; } - .ps-md-2 { - padding-left: 0.5rem !important; } - .ps-md-3 { - padding-left: 1rem !important; } - .ps-md-4 { - padding-left: 1.5rem !important; } - .ps-md-5 { - padding-left: 3rem !important; } - .gap-md-0 { - gap: 0 !important; } - .gap-md-1 { - gap: 0.25rem !important; } - .gap-md-2 { - gap: 0.5rem !important; } - .gap-md-3 { - gap: 1rem !important; } - .gap-md-4 { - gap: 1.5rem !important; } - .gap-md-5 { - gap: 3rem !important; } - .row-gap-md-0 { - row-gap: 0 !important; } - .row-gap-md-1 { - row-gap: 0.25rem !important; } - .row-gap-md-2 { - row-gap: 0.5rem !important; } - .row-gap-md-3 { - row-gap: 1rem !important; } - .row-gap-md-4 { - row-gap: 1.5rem !important; } - .row-gap-md-5 { - row-gap: 3rem !important; } - .column-gap-md-0 { - column-gap: 0 !important; } - .column-gap-md-1 { - column-gap: 0.25rem !important; } - .column-gap-md-2 { - column-gap: 0.5rem !important; } - .column-gap-md-3 { - column-gap: 1rem !important; } - .column-gap-md-4 { - column-gap: 1.5rem !important; } - .column-gap-md-5 { - column-gap: 3rem !important; } - .text-md-start { - text-align: left !important; } - .text-md-end { - text-align: right !important; } - .text-md-center { - text-align: center !important; } } - -@media (min-width: 992px) { - .float-lg-start { - float: left !important; } - .float-lg-end { - float: right !important; } - .float-lg-none { - float: none !important; } - .object-fit-lg-contain { - object-fit: contain !important; } - .object-fit-lg-cover { - object-fit: cover !important; } - .object-fit-lg-fill { - object-fit: fill !important; } - .object-fit-lg-scale { - object-fit: scale-down !important; } - .object-fit-lg-none { - object-fit: none !important; } - .d-lg-inline { - display: inline !important; } - .d-lg-inline-block { - display: inline-block !important; } - .d-lg-block, .td-blog .td-rss-button { - display: block !important; } - .d-lg-grid { - display: grid !important; } - .d-lg-inline-grid { - display: inline-grid !important; } - .d-lg-table { - display: table !important; } - .d-lg-table-row { - display: table-row !important; } - .d-lg-table-cell { - display: table-cell !important; } - .d-lg-flex { - display: flex !important; } - .d-lg-inline-flex { - display: inline-flex !important; } - .d-lg-none { - display: none !important; } - .flex-lg-fill { - flex: 1 1 auto !important; } - .flex-lg-row { - flex-direction: row !important; } - .flex-lg-column { - flex-direction: column !important; } - .flex-lg-row-reverse { - flex-direction: row-reverse !important; } - .flex-lg-column-reverse { - flex-direction: column-reverse !important; } - .flex-lg-grow-0 { - flex-grow: 0 !important; } - .flex-lg-grow-1 { - flex-grow: 1 !important; } - .flex-lg-shrink-0 { - flex-shrink: 0 !important; } - .flex-lg-shrink-1 { - flex-shrink: 1 !important; } - .flex-lg-wrap { - flex-wrap: wrap !important; } - .flex-lg-nowrap { - flex-wrap: nowrap !important; } - .flex-lg-wrap-reverse { - flex-wrap: wrap-reverse !important; } - .justify-content-lg-start { - justify-content: flex-start !important; } - .justify-content-lg-end { - justify-content: flex-end !important; } - .justify-content-lg-center { - justify-content: center !important; } - .justify-content-lg-between { - justify-content: space-between !important; } - .justify-content-lg-around { - justify-content: space-around !important; } - .justify-content-lg-evenly { - justify-content: space-evenly !important; } - .align-items-lg-start { - align-items: flex-start !important; } - .align-items-lg-end { - align-items: flex-end !important; } - .align-items-lg-center { - align-items: center !important; } - .align-items-lg-baseline { - align-items: baseline !important; } - .align-items-lg-stretch { - align-items: stretch !important; } - .align-content-lg-start { - align-content: flex-start !important; } - .align-content-lg-end { - align-content: flex-end !important; } - .align-content-lg-center { - align-content: center !important; } - .align-content-lg-between { - align-content: space-between !important; } - .align-content-lg-around { - align-content: space-around !important; } - .align-content-lg-stretch { - align-content: stretch !important; } - .align-self-lg-auto { - align-self: auto !important; } - .align-self-lg-start { - align-self: flex-start !important; } - .align-self-lg-end { - align-self: flex-end !important; } - .align-self-lg-center { - align-self: center !important; } - .align-self-lg-baseline { - align-self: baseline !important; } - .align-self-lg-stretch { - align-self: stretch !important; } - .order-lg-first { - order: -1 !important; } - .order-lg-0 { - order: 0 !important; } - .order-lg-1 { - order: 1 !important; } - .order-lg-2 { - order: 2 !important; } - .order-lg-3 { - order: 3 !important; } - .order-lg-4 { - order: 4 !important; } - .order-lg-5 { - order: 5 !important; } - .order-lg-last { - order: 6 !important; } - .m-lg-0 { - margin: 0 !important; } - .m-lg-1 { - margin: 0.25rem !important; } - .m-lg-2 { - margin: 0.5rem !important; } - .m-lg-3 { - margin: 1rem !important; } - .m-lg-4 { - margin: 1.5rem !important; } - .m-lg-5 { - margin: 3rem !important; } - .m-lg-auto { - margin: auto !important; } - .mx-lg-0 { - margin-right: 0 !important; - margin-left: 0 !important; } - .mx-lg-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; } - .mx-lg-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; } - .mx-lg-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; } - .mx-lg-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; } - .mx-lg-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; } - .mx-lg-auto { - margin-right: auto !important; - margin-left: auto !important; } - .my-lg-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; } - .my-lg-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; } - .my-lg-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; } - .my-lg-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; } - .my-lg-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; } - .my-lg-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; } - .my-lg-auto { - margin-top: auto !important; - margin-bottom: auto !important; } - .mt-lg-0 { - margin-top: 0 !important; } - .mt-lg-1 { - margin-top: 0.25rem !important; } - .mt-lg-2 { - margin-top: 0.5rem !important; } - .mt-lg-3 { - margin-top: 1rem !important; } - .mt-lg-4 { - margin-top: 1.5rem !important; } - .mt-lg-5 { - margin-top: 3rem !important; } - .mt-lg-auto { - margin-top: auto !important; } - .me-lg-0 { - margin-right: 0 !important; } - .me-lg-1 { - margin-right: 0.25rem !important; } - .me-lg-2 { - margin-right: 0.5rem !important; } - .me-lg-3 { - margin-right: 1rem !important; } - .me-lg-4 { - margin-right: 1.5rem !important; } - .me-lg-5 { - margin-right: 3rem !important; } - .me-lg-auto { - margin-right: auto !important; } - .mb-lg-0 { - margin-bottom: 0 !important; } - .mb-lg-1 { - margin-bottom: 0.25rem !important; } - .mb-lg-2 { - margin-bottom: 0.5rem !important; } - .mb-lg-3 { - margin-bottom: 1rem !important; } - .mb-lg-4 { - margin-bottom: 1.5rem !important; } - .mb-lg-5 { - margin-bottom: 3rem !important; } - .mb-lg-auto { - margin-bottom: auto !important; } - .ms-lg-0 { - margin-left: 0 !important; } - .ms-lg-1 { - margin-left: 0.25rem !important; } - .ms-lg-2 { - margin-left: 0.5rem !important; } - .ms-lg-3 { - margin-left: 1rem !important; } - .ms-lg-4 { - margin-left: 1.5rem !important; } - .ms-lg-5 { - margin-left: 3rem !important; } - .ms-lg-auto { - margin-left: auto !important; } - .p-lg-0 { - padding: 0 !important; } - .p-lg-1 { - padding: 0.25rem !important; } - .p-lg-2 { - padding: 0.5rem !important; } - .p-lg-3 { - padding: 1rem !important; } - .p-lg-4 { - padding: 1.5rem !important; } - .p-lg-5 { - padding: 3rem !important; } - .px-lg-0 { - padding-right: 0 !important; - padding-left: 0 !important; } - .px-lg-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; } - .px-lg-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; } - .px-lg-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; } - .px-lg-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; } - .px-lg-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; } - .py-lg-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; } - .py-lg-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; } - .py-lg-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; } - .py-lg-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; } - .py-lg-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; } - .py-lg-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; } - .pt-lg-0 { - padding-top: 0 !important; } - .pt-lg-1 { - padding-top: 0.25rem !important; } - .pt-lg-2 { - padding-top: 0.5rem !important; } - .pt-lg-3 { - padding-top: 1rem !important; } - .pt-lg-4 { - padding-top: 1.5rem !important; } - .pt-lg-5 { - padding-top: 3rem !important; } - .pe-lg-0 { - padding-right: 0 !important; } - .pe-lg-1 { - padding-right: 0.25rem !important; } - .pe-lg-2 { - padding-right: 0.5rem !important; } - .pe-lg-3 { - padding-right: 1rem !important; } - .pe-lg-4 { - padding-right: 1.5rem !important; } - .pe-lg-5 { - padding-right: 3rem !important; } - .pb-lg-0 { - padding-bottom: 0 !important; } - .pb-lg-1 { - padding-bottom: 0.25rem !important; } - .pb-lg-2 { - padding-bottom: 0.5rem !important; } - .pb-lg-3 { - padding-bottom: 1rem !important; } - .pb-lg-4 { - padding-bottom: 1.5rem !important; } - .pb-lg-5 { - padding-bottom: 3rem !important; } - .ps-lg-0 { - padding-left: 0 !important; } - .ps-lg-1 { - padding-left: 0.25rem !important; } - .ps-lg-2 { - padding-left: 0.5rem !important; } - .ps-lg-3 { - padding-left: 1rem !important; } - .ps-lg-4 { - padding-left: 1.5rem !important; } - .ps-lg-5 { - padding-left: 3rem !important; } - .gap-lg-0 { - gap: 0 !important; } - .gap-lg-1 { - gap: 0.25rem !important; } - .gap-lg-2 { - gap: 0.5rem !important; } - .gap-lg-3 { - gap: 1rem !important; } - .gap-lg-4 { - gap: 1.5rem !important; } - .gap-lg-5 { - gap: 3rem !important; } - .row-gap-lg-0 { - row-gap: 0 !important; } - .row-gap-lg-1 { - row-gap: 0.25rem !important; } - .row-gap-lg-2 { - row-gap: 0.5rem !important; } - .row-gap-lg-3 { - row-gap: 1rem !important; } - .row-gap-lg-4 { - row-gap: 1.5rem !important; } - .row-gap-lg-5 { - row-gap: 3rem !important; } - .column-gap-lg-0 { - column-gap: 0 !important; } - .column-gap-lg-1 { - column-gap: 0.25rem !important; } - .column-gap-lg-2 { - column-gap: 0.5rem !important; } - .column-gap-lg-3 { - column-gap: 1rem !important; } - .column-gap-lg-4 { - column-gap: 1.5rem !important; } - .column-gap-lg-5 { - column-gap: 3rem !important; } - .text-lg-start { - text-align: left !important; } - .text-lg-end { - text-align: right !important; } - .text-lg-center { - text-align: center !important; } } - -@media (min-width: 1200px) { - .float-xl-start { - float: left !important; } - .float-xl-end { - float: right !important; } - .float-xl-none { - float: none !important; } - .object-fit-xl-contain { - object-fit: contain !important; } - .object-fit-xl-cover { - object-fit: cover !important; } - .object-fit-xl-fill { - object-fit: fill !important; } - .object-fit-xl-scale { - object-fit: scale-down !important; } - .object-fit-xl-none { - object-fit: none !important; } - .d-xl-inline { - display: inline !important; } - .d-xl-inline-block { - display: inline-block !important; } - .d-xl-block { - display: block !important; } - .d-xl-grid { - display: grid !important; } - .d-xl-inline-grid { - display: inline-grid !important; } - .d-xl-table { - display: table !important; } - .d-xl-table-row { - display: table-row !important; } - .d-xl-table-cell { - display: table-cell !important; } - .d-xl-flex { - display: flex !important; } - .d-xl-inline-flex { - display: inline-flex !important; } - .d-xl-none { - display: none !important; } - .flex-xl-fill { - flex: 1 1 auto !important; } - .flex-xl-row { - flex-direction: row !important; } - .flex-xl-column { - flex-direction: column !important; } - .flex-xl-row-reverse { - flex-direction: row-reverse !important; } - .flex-xl-column-reverse { - flex-direction: column-reverse !important; } - .flex-xl-grow-0 { - flex-grow: 0 !important; } - .flex-xl-grow-1 { - flex-grow: 1 !important; } - .flex-xl-shrink-0 { - flex-shrink: 0 !important; } - .flex-xl-shrink-1 { - flex-shrink: 1 !important; } - .flex-xl-wrap { - flex-wrap: wrap !important; } - .flex-xl-nowrap { - flex-wrap: nowrap !important; } - .flex-xl-wrap-reverse { - flex-wrap: wrap-reverse !important; } - .justify-content-xl-start { - justify-content: flex-start !important; } - .justify-content-xl-end { - justify-content: flex-end !important; } - .justify-content-xl-center { - justify-content: center !important; } - .justify-content-xl-between { - justify-content: space-between !important; } - .justify-content-xl-around { - justify-content: space-around !important; } - .justify-content-xl-evenly { - justify-content: space-evenly !important; } - .align-items-xl-start { - align-items: flex-start !important; } - .align-items-xl-end { - align-items: flex-end !important; } - .align-items-xl-center { - align-items: center !important; } - .align-items-xl-baseline { - align-items: baseline !important; } - .align-items-xl-stretch { - align-items: stretch !important; } - .align-content-xl-start { - align-content: flex-start !important; } - .align-content-xl-end { - align-content: flex-end !important; } - .align-content-xl-center { - align-content: center !important; } - .align-content-xl-between { - align-content: space-between !important; } - .align-content-xl-around { - align-content: space-around !important; } - .align-content-xl-stretch { - align-content: stretch !important; } - .align-self-xl-auto { - align-self: auto !important; } - .align-self-xl-start { - align-self: flex-start !important; } - .align-self-xl-end { - align-self: flex-end !important; } - .align-self-xl-center { - align-self: center !important; } - .align-self-xl-baseline { - align-self: baseline !important; } - .align-self-xl-stretch { - align-self: stretch !important; } - .order-xl-first { - order: -1 !important; } - .order-xl-0 { - order: 0 !important; } - .order-xl-1 { - order: 1 !important; } - .order-xl-2 { - order: 2 !important; } - .order-xl-3 { - order: 3 !important; } - .order-xl-4 { - order: 4 !important; } - .order-xl-5 { - order: 5 !important; } - .order-xl-last { - order: 6 !important; } - .m-xl-0 { - margin: 0 !important; } - .m-xl-1 { - margin: 0.25rem !important; } - .m-xl-2 { - margin: 0.5rem !important; } - .m-xl-3 { - margin: 1rem !important; } - .m-xl-4 { - margin: 1.5rem !important; } - .m-xl-5 { - margin: 3rem !important; } - .m-xl-auto { - margin: auto !important; } - .mx-xl-0 { - margin-right: 0 !important; - margin-left: 0 !important; } - .mx-xl-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; } - .mx-xl-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; } - .mx-xl-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; } - .mx-xl-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; } - .mx-xl-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; } - .mx-xl-auto { - margin-right: auto !important; - margin-left: auto !important; } - .my-xl-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; } - .my-xl-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; } - .my-xl-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; } - .my-xl-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; } - .my-xl-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; } - .my-xl-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; } - .my-xl-auto { - margin-top: auto !important; - margin-bottom: auto !important; } - .mt-xl-0 { - margin-top: 0 !important; } - .mt-xl-1 { - margin-top: 0.25rem !important; } - .mt-xl-2 { - margin-top: 0.5rem !important; } - .mt-xl-3 { - margin-top: 1rem !important; } - .mt-xl-4 { - margin-top: 1.5rem !important; } - .mt-xl-5 { - margin-top: 3rem !important; } - .mt-xl-auto { - margin-top: auto !important; } - .me-xl-0 { - margin-right: 0 !important; } - .me-xl-1 { - margin-right: 0.25rem !important; } - .me-xl-2 { - margin-right: 0.5rem !important; } - .me-xl-3 { - margin-right: 1rem !important; } - .me-xl-4 { - margin-right: 1.5rem !important; } - .me-xl-5 { - margin-right: 3rem !important; } - .me-xl-auto { - margin-right: auto !important; } - .mb-xl-0 { - margin-bottom: 0 !important; } - .mb-xl-1 { - margin-bottom: 0.25rem !important; } - .mb-xl-2 { - margin-bottom: 0.5rem !important; } - .mb-xl-3 { - margin-bottom: 1rem !important; } - .mb-xl-4 { - margin-bottom: 1.5rem !important; } - .mb-xl-5 { - margin-bottom: 3rem !important; } - .mb-xl-auto { - margin-bottom: auto !important; } - .ms-xl-0 { - margin-left: 0 !important; } - .ms-xl-1 { - margin-left: 0.25rem !important; } - .ms-xl-2 { - margin-left: 0.5rem !important; } - .ms-xl-3 { - margin-left: 1rem !important; } - .ms-xl-4 { - margin-left: 1.5rem !important; } - .ms-xl-5 { - margin-left: 3rem !important; } - .ms-xl-auto { - margin-left: auto !important; } - .p-xl-0 { - padding: 0 !important; } - .p-xl-1 { - padding: 0.25rem !important; } - .p-xl-2 { - padding: 0.5rem !important; } - .p-xl-3 { - padding: 1rem !important; } - .p-xl-4 { - padding: 1.5rem !important; } - .p-xl-5 { - padding: 3rem !important; } - .px-xl-0 { - padding-right: 0 !important; - padding-left: 0 !important; } - .px-xl-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; } - .px-xl-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; } - .px-xl-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; } - .px-xl-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; } - .px-xl-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; } - .py-xl-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; } - .py-xl-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; } - .py-xl-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; } - .py-xl-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; } - .py-xl-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; } - .py-xl-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; } - .pt-xl-0 { - padding-top: 0 !important; } - .pt-xl-1 { - padding-top: 0.25rem !important; } - .pt-xl-2 { - padding-top: 0.5rem !important; } - .pt-xl-3 { - padding-top: 1rem !important; } - .pt-xl-4 { - padding-top: 1.5rem !important; } - .pt-xl-5 { - padding-top: 3rem !important; } - .pe-xl-0 { - padding-right: 0 !important; } - .pe-xl-1 { - padding-right: 0.25rem !important; } - .pe-xl-2 { - padding-right: 0.5rem !important; } - .pe-xl-3 { - padding-right: 1rem !important; } - .pe-xl-4 { - padding-right: 1.5rem !important; } - .pe-xl-5 { - padding-right: 3rem !important; } - .pb-xl-0 { - padding-bottom: 0 !important; } - .pb-xl-1 { - padding-bottom: 0.25rem !important; } - .pb-xl-2 { - padding-bottom: 0.5rem !important; } - .pb-xl-3 { - padding-bottom: 1rem !important; } - .pb-xl-4 { - padding-bottom: 1.5rem !important; } - .pb-xl-5 { - padding-bottom: 3rem !important; } - .ps-xl-0 { - padding-left: 0 !important; } - .ps-xl-1 { - padding-left: 0.25rem !important; } - .ps-xl-2 { - padding-left: 0.5rem !important; } - .ps-xl-3 { - padding-left: 1rem !important; } - .ps-xl-4 { - padding-left: 1.5rem !important; } - .ps-xl-5 { - padding-left: 3rem !important; } - .gap-xl-0 { - gap: 0 !important; } - .gap-xl-1 { - gap: 0.25rem !important; } - .gap-xl-2 { - gap: 0.5rem !important; } - .gap-xl-3 { - gap: 1rem !important; } - .gap-xl-4 { - gap: 1.5rem !important; } - .gap-xl-5 { - gap: 3rem !important; } - .row-gap-xl-0 { - row-gap: 0 !important; } - .row-gap-xl-1 { - row-gap: 0.25rem !important; } - .row-gap-xl-2 { - row-gap: 0.5rem !important; } - .row-gap-xl-3 { - row-gap: 1rem !important; } - .row-gap-xl-4 { - row-gap: 1.5rem !important; } - .row-gap-xl-5 { - row-gap: 3rem !important; } - .column-gap-xl-0 { - column-gap: 0 !important; } - .column-gap-xl-1 { - column-gap: 0.25rem !important; } - .column-gap-xl-2 { - column-gap: 0.5rem !important; } - .column-gap-xl-3 { - column-gap: 1rem !important; } - .column-gap-xl-4 { - column-gap: 1.5rem !important; } - .column-gap-xl-5 { - column-gap: 3rem !important; } - .text-xl-start { - text-align: left !important; } - .text-xl-end { - text-align: right !important; } - .text-xl-center { - text-align: center !important; } } - -@media (min-width: 1400px) { - .float-xxl-start { - float: left !important; } - .float-xxl-end { - float: right !important; } - .float-xxl-none { - float: none !important; } - .object-fit-xxl-contain { - object-fit: contain !important; } - .object-fit-xxl-cover { - object-fit: cover !important; } - .object-fit-xxl-fill { - object-fit: fill !important; } - .object-fit-xxl-scale { - object-fit: scale-down !important; } - .object-fit-xxl-none { - object-fit: none !important; } - .d-xxl-inline { - display: inline !important; } - .d-xxl-inline-block { - display: inline-block !important; } - .d-xxl-block { - display: block !important; } - .d-xxl-grid { - display: grid !important; } - .d-xxl-inline-grid { - display: inline-grid !important; } - .d-xxl-table { - display: table !important; } - .d-xxl-table-row { - display: table-row !important; } - .d-xxl-table-cell { - display: table-cell !important; } - .d-xxl-flex { - display: flex !important; } - .d-xxl-inline-flex { - display: inline-flex !important; } - .d-xxl-none { - display: none !important; } - .flex-xxl-fill { - flex: 1 1 auto !important; } - .flex-xxl-row { - flex-direction: row !important; } - .flex-xxl-column { - flex-direction: column !important; } - .flex-xxl-row-reverse { - flex-direction: row-reverse !important; } - .flex-xxl-column-reverse { - flex-direction: column-reverse !important; } - .flex-xxl-grow-0 { - flex-grow: 0 !important; } - .flex-xxl-grow-1 { - flex-grow: 1 !important; } - .flex-xxl-shrink-0 { - flex-shrink: 0 !important; } - .flex-xxl-shrink-1 { - flex-shrink: 1 !important; } - .flex-xxl-wrap { - flex-wrap: wrap !important; } - .flex-xxl-nowrap { - flex-wrap: nowrap !important; } - .flex-xxl-wrap-reverse { - flex-wrap: wrap-reverse !important; } - .justify-content-xxl-start { - justify-content: flex-start !important; } - .justify-content-xxl-end { - justify-content: flex-end !important; } - .justify-content-xxl-center { - justify-content: center !important; } - .justify-content-xxl-between { - justify-content: space-between !important; } - .justify-content-xxl-around { - justify-content: space-around !important; } - .justify-content-xxl-evenly { - justify-content: space-evenly !important; } - .align-items-xxl-start { - align-items: flex-start !important; } - .align-items-xxl-end { - align-items: flex-end !important; } - .align-items-xxl-center { - align-items: center !important; } - .align-items-xxl-baseline { - align-items: baseline !important; } - .align-items-xxl-stretch { - align-items: stretch !important; } - .align-content-xxl-start { - align-content: flex-start !important; } - .align-content-xxl-end { - align-content: flex-end !important; } - .align-content-xxl-center { - align-content: center !important; } - .align-content-xxl-between { - align-content: space-between !important; } - .align-content-xxl-around { - align-content: space-around !important; } - .align-content-xxl-stretch { - align-content: stretch !important; } - .align-self-xxl-auto { - align-self: auto !important; } - .align-self-xxl-start { - align-self: flex-start !important; } - .align-self-xxl-end { - align-self: flex-end !important; } - .align-self-xxl-center { - align-self: center !important; } - .align-self-xxl-baseline { - align-self: baseline !important; } - .align-self-xxl-stretch { - align-self: stretch !important; } - .order-xxl-first { - order: -1 !important; } - .order-xxl-0 { - order: 0 !important; } - .order-xxl-1 { - order: 1 !important; } - .order-xxl-2 { - order: 2 !important; } - .order-xxl-3 { - order: 3 !important; } - .order-xxl-4 { - order: 4 !important; } - .order-xxl-5 { - order: 5 !important; } - .order-xxl-last { - order: 6 !important; } - .m-xxl-0 { - margin: 0 !important; } - .m-xxl-1 { - margin: 0.25rem !important; } - .m-xxl-2 { - margin: 0.5rem !important; } - .m-xxl-3 { - margin: 1rem !important; } - .m-xxl-4 { - margin: 1.5rem !important; } - .m-xxl-5 { - margin: 3rem !important; } - .m-xxl-auto { - margin: auto !important; } - .mx-xxl-0 { - margin-right: 0 !important; - margin-left: 0 !important; } - .mx-xxl-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; } - .mx-xxl-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; } - .mx-xxl-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; } - .mx-xxl-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; } - .mx-xxl-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; } - .mx-xxl-auto { - margin-right: auto !important; - margin-left: auto !important; } - .my-xxl-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; } - .my-xxl-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; } - .my-xxl-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; } - .my-xxl-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; } - .my-xxl-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; } - .my-xxl-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; } - .my-xxl-auto { - margin-top: auto !important; - margin-bottom: auto !important; } - .mt-xxl-0 { - margin-top: 0 !important; } - .mt-xxl-1 { - margin-top: 0.25rem !important; } - .mt-xxl-2 { - margin-top: 0.5rem !important; } - .mt-xxl-3 { - margin-top: 1rem !important; } - .mt-xxl-4 { - margin-top: 1.5rem !important; } - .mt-xxl-5 { - margin-top: 3rem !important; } - .mt-xxl-auto { - margin-top: auto !important; } - .me-xxl-0 { - margin-right: 0 !important; } - .me-xxl-1 { - margin-right: 0.25rem !important; } - .me-xxl-2 { - margin-right: 0.5rem !important; } - .me-xxl-3 { - margin-right: 1rem !important; } - .me-xxl-4 { - margin-right: 1.5rem !important; } - .me-xxl-5 { - margin-right: 3rem !important; } - .me-xxl-auto { - margin-right: auto !important; } - .mb-xxl-0 { - margin-bottom: 0 !important; } - .mb-xxl-1 { - margin-bottom: 0.25rem !important; } - .mb-xxl-2 { - margin-bottom: 0.5rem !important; } - .mb-xxl-3 { - margin-bottom: 1rem !important; } - .mb-xxl-4 { - margin-bottom: 1.5rem !important; } - .mb-xxl-5 { - margin-bottom: 3rem !important; } - .mb-xxl-auto { - margin-bottom: auto !important; } - .ms-xxl-0 { - margin-left: 0 !important; } - .ms-xxl-1 { - margin-left: 0.25rem !important; } - .ms-xxl-2 { - margin-left: 0.5rem !important; } - .ms-xxl-3 { - margin-left: 1rem !important; } - .ms-xxl-4 { - margin-left: 1.5rem !important; } - .ms-xxl-5 { - margin-left: 3rem !important; } - .ms-xxl-auto { - margin-left: auto !important; } - .p-xxl-0 { - padding: 0 !important; } - .p-xxl-1 { - padding: 0.25rem !important; } - .p-xxl-2 { - padding: 0.5rem !important; } - .p-xxl-3 { - padding: 1rem !important; } - .p-xxl-4 { - padding: 1.5rem !important; } - .p-xxl-5 { - padding: 3rem !important; } - .px-xxl-0 { - padding-right: 0 !important; - padding-left: 0 !important; } - .px-xxl-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; } - .px-xxl-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; } - .px-xxl-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; } - .px-xxl-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; } - .px-xxl-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; } - .py-xxl-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; } - .py-xxl-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; } - .py-xxl-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; } - .py-xxl-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; } - .py-xxl-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; } - .py-xxl-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; } - .pt-xxl-0 { - padding-top: 0 !important; } - .pt-xxl-1 { - padding-top: 0.25rem !important; } - .pt-xxl-2 { - padding-top: 0.5rem !important; } - .pt-xxl-3 { - padding-top: 1rem !important; } - .pt-xxl-4 { - padding-top: 1.5rem !important; } - .pt-xxl-5 { - padding-top: 3rem !important; } - .pe-xxl-0 { - padding-right: 0 !important; } - .pe-xxl-1 { - padding-right: 0.25rem !important; } - .pe-xxl-2 { - padding-right: 0.5rem !important; } - .pe-xxl-3 { - padding-right: 1rem !important; } - .pe-xxl-4 { - padding-right: 1.5rem !important; } - .pe-xxl-5 { - padding-right: 3rem !important; } - .pb-xxl-0 { - padding-bottom: 0 !important; } - .pb-xxl-1 { - padding-bottom: 0.25rem !important; } - .pb-xxl-2 { - padding-bottom: 0.5rem !important; } - .pb-xxl-3 { - padding-bottom: 1rem !important; } - .pb-xxl-4 { - padding-bottom: 1.5rem !important; } - .pb-xxl-5 { - padding-bottom: 3rem !important; } - .ps-xxl-0 { - padding-left: 0 !important; } - .ps-xxl-1 { - padding-left: 0.25rem !important; } - .ps-xxl-2 { - padding-left: 0.5rem !important; } - .ps-xxl-3 { - padding-left: 1rem !important; } - .ps-xxl-4 { - padding-left: 1.5rem !important; } - .ps-xxl-5 { - padding-left: 3rem !important; } - .gap-xxl-0 { - gap: 0 !important; } - .gap-xxl-1 { - gap: 0.25rem !important; } - .gap-xxl-2 { - gap: 0.5rem !important; } - .gap-xxl-3 { - gap: 1rem !important; } - .gap-xxl-4 { - gap: 1.5rem !important; } - .gap-xxl-5 { - gap: 3rem !important; } - .row-gap-xxl-0 { - row-gap: 0 !important; } - .row-gap-xxl-1 { - row-gap: 0.25rem !important; } - .row-gap-xxl-2 { - row-gap: 0.5rem !important; } - .row-gap-xxl-3 { - row-gap: 1rem !important; } - .row-gap-xxl-4 { - row-gap: 1.5rem !important; } - .row-gap-xxl-5 { - row-gap: 3rem !important; } - .column-gap-xxl-0 { - column-gap: 0 !important; } - .column-gap-xxl-1 { - column-gap: 0.25rem !important; } - .column-gap-xxl-2 { - column-gap: 0.5rem !important; } - .column-gap-xxl-3 { - column-gap: 1rem !important; } - .column-gap-xxl-4 { - column-gap: 1.5rem !important; } - .column-gap-xxl-5 { - column-gap: 3rem !important; } - .text-xxl-start { - text-align: left !important; } - .text-xxl-end { - text-align: right !important; } - .text-xxl-center { - text-align: center !important; } } - -@media (min-width: 1200px) { - .fs-1 { - font-size: 2.5rem !important; } - .fs-2 { - font-size: 2rem !important; } - .fs-3 { - font-size: 1.5rem !important; } - .fs-4 { - font-size: 1.35rem !important; } } - -@media print { - .d-print-inline { - display: inline !important; } - .d-print-inline-block { - display: inline-block !important; } - .d-print-block { - display: block !important; } - .d-print-grid { - display: grid !important; } - .d-print-inline-grid { - display: inline-grid !important; } - .d-print-table { - display: table !important; } - .d-print-table-row { - display: table-row !important; } - .d-print-table-cell { - display: table-cell !important; } - .d-print-flex { - display: flex !important; } - .d-print-inline-flex { - display: inline-flex !important; } - .d-print-none { - display: none !important; } } - -/*! - * 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, .td-search__icon:before { - font-family: var(--fa-style-family, "Font Awesome 6 Free"); - font-weight: var(--fa-style, 900); } - -.fa, .td-search__icon:before, -.fa-classic, -.fa-sharp, -.fas, -.td-offline-search-results__close-button:after, -.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, .td-offline-search-results__close-button:after, -.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: 0.625em; - line-height: 0.1em; - vertical-align: 0.225em; } - -.fa-xs { - font-size: 0.75em; - line-height: 0.08333333em; - vertical-align: 0.125em; } - -.fa-sm { - font-size: 0.875em; - line-height: 0.07142857em; - vertical-align: 0.05357143em; } - -.fa-lg { - font-size: 1.25em; - line-height: 0.05em; - vertical-align: -0.075em; } - -.fa-xl { - font-size: 1.5em; - line-height: 0.04166667em; - vertical-align: -0.125em; } - -.fa-2xl { - font-size: 2em; - line-height: 0.03125em; - vertical-align: -0.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, 0.1em); - border-style: var(--fa-border-style, solid); - border-width: var(--fa-border-width, 0.08em); - padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } - -.fa-pull-left { - float: left; - margin-right: var(--fa-pull-margin, 0.3em); } - -.fa-pull-right { - float: right; - margin-left: var(--fa-pull-margin, 0.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); } - -/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen -readers do not read off random characters that represent icons */ -.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: "\f576"; } - -.fa-arrows-to-circle::before { - content: "\e4bd"; } - -.fa-circle-chevron-right::before { - content: "\f138"; } - -.fa-chevron-circle-right::before { - content: "\f138"; } - -.fa-at::before { - content: "\40"; } - -.fa-trash-can::before { - content: "\f2ed"; } - -.fa-trash-alt::before { - content: "\f2ed"; } - -.fa-text-height::before { - content: "\f034"; } - -.fa-user-xmark::before { - content: "\f235"; } - -.fa-user-times::before { - content: "\f235"; } - -.fa-stethoscope::before { - content: "\f0f1"; } - -.fa-message::before { - content: "\f27a"; } - -.fa-comment-alt::before { - content: "\f27a"; } - -.fa-info::before { - content: "\f129"; } - -.fa-down-left-and-up-right-to-center::before { - content: "\f422"; } - -.fa-compress-alt::before { - content: "\f422"; } - -.fa-explosion::before { - content: "\e4e9"; } - -.fa-file-lines::before { - content: "\f15c"; } - -.fa-file-alt::before { - content: "\f15c"; } - -.fa-file-text::before { - content: "\f15c"; } - -.fa-wave-square::before { - content: "\f83e"; } - -.fa-ring::before { - content: "\f70b"; } - -.fa-building-un::before { - content: "\e4d9"; } - -.fa-dice-three::before { - content: "\f527"; } - -.fa-calendar-days::before { - content: "\f073"; } - -.fa-calendar-alt::before { - content: "\f073"; } - -.fa-anchor-circle-check::before { - content: "\e4aa"; } - -.fa-building-circle-arrow-right::before { - content: "\e4d1"; } - -.fa-volleyball::before { - content: "\f45f"; } - -.fa-volleyball-ball::before { - content: "\f45f"; } - -.fa-arrows-up-to-line::before { - content: "\e4c2"; } - -.fa-sort-down::before { - content: "\f0dd"; } - -.fa-sort-desc::before { - content: "\f0dd"; } - -.fa-circle-minus::before { - content: "\f056"; } - -.fa-minus-circle::before { - content: "\f056"; } - -.fa-door-open::before { - content: "\f52b"; } - -.fa-right-from-bracket::before { - content: "\f2f5"; } - -.fa-sign-out-alt::before { - content: "\f2f5"; } - -.fa-atom::before { - content: "\f5d2"; } - -.fa-soap::before { - content: "\e06e"; } - -.fa-icons::before { - content: "\f86d"; } - -.fa-heart-music-camera-bolt::before { - content: "\f86d"; } - -.fa-microphone-lines-slash::before { - content: "\f539"; } - -.fa-microphone-alt-slash::before { - content: "\f539"; } - -.fa-bridge-circle-check::before { - content: "\e4c9"; } - -.fa-pump-medical::before { - content: "\e06a"; } - -.fa-fingerprint::before { - content: "\f577"; } - -.fa-hand-point-right::before { - content: "\f0a4"; } - -.fa-magnifying-glass-location::before { - content: "\f689"; } - -.fa-search-location::before { - content: "\f689"; } - -.fa-forward-step::before { - content: "\f051"; } - -.fa-step-forward::before { - content: "\f051"; } - -.fa-face-smile-beam::before { - content: "\f5b8"; } - -.fa-smile-beam::before { - content: "\f5b8"; } - -.fa-flag-checkered::before { - content: "\f11e"; } - -.fa-football::before { - content: "\f44e"; } - -.fa-football-ball::before { - content: "\f44e"; } - -.fa-school-circle-exclamation::before { - content: "\e56c"; } - -.fa-crop::before { - content: "\f125"; } - -.fa-angles-down::before { - content: "\f103"; } - -.fa-angle-double-down::before { - content: "\f103"; } - -.fa-users-rectangle::before { - content: "\e594"; } - -.fa-people-roof::before { - content: "\e537"; } - -.fa-people-line::before { - content: "\e534"; } - -.fa-beer-mug-empty::before { - content: "\f0fc"; } - -.fa-beer::before { - content: "\f0fc"; } - -.fa-diagram-predecessor::before { - content: "\e477"; } - -.fa-arrow-up-long::before { - content: "\f176"; } - -.fa-long-arrow-up::before { - content: "\f176"; } - -.fa-fire-flame-simple::before { - content: "\f46a"; } - -.fa-burn::before { - content: "\f46a"; } - -.fa-person::before { - content: "\f183"; } - -.fa-male::before { - content: "\f183"; } - -.fa-laptop::before { - content: "\f109"; } - -.fa-file-csv::before { - content: "\f6dd"; } - -.fa-menorah::before { - content: "\f676"; } - -.fa-truck-plane::before { - content: "\e58f"; } - -.fa-record-vinyl::before { - content: "\f8d9"; } - -.fa-face-grin-stars::before { - content: "\f587"; } - -.fa-grin-stars::before { - content: "\f587"; } - -.fa-bong::before { - content: "\f55c"; } - -.fa-spaghetti-monster-flying::before { - content: "\f67b"; } - -.fa-pastafarianism::before { - content: "\f67b"; } - -.fa-arrow-down-up-across-line::before { - content: "\e4af"; } - -.fa-spoon::before { - content: "\f2e5"; } - -.fa-utensil-spoon::before { - content: "\f2e5"; } - -.fa-jar-wheat::before { - content: "\e517"; } - -.fa-envelopes-bulk::before { - content: "\f674"; } - -.fa-mail-bulk::before { - content: "\f674"; } - -.fa-file-circle-exclamation::before { - content: "\e4eb"; } - -.fa-circle-h::before { - content: "\f47e"; } - -.fa-hospital-symbol::before { - content: "\f47e"; } - -.fa-pager::before { - content: "\f815"; } - -.fa-address-book::before { - content: "\f2b9"; } - -.fa-contact-book::before { - content: "\f2b9"; } - -.fa-strikethrough::before { - content: "\f0cc"; } - -.fa-k::before { - content: "\4b"; } - -.fa-landmark-flag::before { - content: "\e51c"; } - -.fa-pencil::before { - content: "\f303"; } - -.fa-pencil-alt::before { - content: "\f303"; } - -.fa-backward::before { - content: "\f04a"; } - -.fa-caret-right::before { - content: "\f0da"; } - -.fa-comments::before { - content: "\f086"; } - -.fa-paste::before { - content: "\f0ea"; } - -.fa-file-clipboard::before { - content: "\f0ea"; } - -.fa-code-pull-request::before { - content: "\e13c"; } - -.fa-clipboard-list::before { - content: "\f46d"; } - -.fa-truck-ramp-box::before { - content: "\f4de"; } - -.fa-truck-loading::before { - content: "\f4de"; } - -.fa-user-check::before { - content: "\f4fc"; } - -.fa-vial-virus::before { - content: "\e597"; } - -.fa-sheet-plastic::before { - content: "\e571"; } - -.fa-blog::before { - content: "\f781"; } - -.fa-user-ninja::before { - content: "\f504"; } - -.fa-person-arrow-up-from-line::before { - content: "\e539"; } - -.fa-scroll-torah::before { - content: "\f6a0"; } - -.fa-torah::before { - content: "\f6a0"; } - -.fa-broom-ball::before { - content: "\f458"; } - -.fa-quidditch::before { - content: "\f458"; } - -.fa-quidditch-broom-ball::before { - content: "\f458"; } - -.fa-toggle-off::before { - content: "\f204"; } - -.fa-box-archive::before { - content: "\f187"; } - -.fa-archive::before { - content: "\f187"; } - -.fa-person-drowning::before { - content: "\e545"; } - -.fa-arrow-down-9-1::before { - content: "\f886"; } - -.fa-sort-numeric-desc::before { - content: "\f886"; } - -.fa-sort-numeric-down-alt::before { - content: "\f886"; } - -.fa-face-grin-tongue-squint::before { - content: "\f58a"; } - -.fa-grin-tongue-squint::before { - content: "\f58a"; } - -.fa-spray-can::before { - content: "\f5bd"; } - -.fa-truck-monster::before { - content: "\f63b"; } - -.fa-w::before { - content: "\57"; } - -.fa-earth-africa::before { - content: "\f57c"; } - -.fa-globe-africa::before { - content: "\f57c"; } - -.fa-rainbow::before { - content: "\f75b"; } - -.fa-circle-notch::before { - content: "\f1ce"; } - -.fa-tablet-screen-button::before { - content: "\f3fa"; } - -.fa-tablet-alt::before { - content: "\f3fa"; } - -.fa-paw::before { - content: "\f1b0"; } - -.fa-cloud::before { - content: "\f0c2"; } - -.fa-trowel-bricks::before { - content: "\e58a"; } - -.fa-face-flushed::before { - content: "\f579"; } - -.fa-flushed::before { - content: "\f579"; } - -.fa-hospital-user::before { - content: "\f80d"; } - -.fa-tent-arrow-left-right::before { - content: "\e57f"; } - -.fa-gavel::before { - content: "\f0e3"; } - -.fa-legal::before { - content: "\f0e3"; } - -.fa-binoculars::before { - content: "\f1e5"; } - -.fa-microphone-slash::before { - content: "\f131"; } - -.fa-box-tissue::before { - content: "\e05b"; } - -.fa-motorcycle::before { - content: "\f21c"; } - -.fa-bell-concierge::before { - content: "\f562"; } - -.fa-concierge-bell::before { - content: "\f562"; } - -.fa-pen-ruler::before { - content: "\f5ae"; } - -.fa-pencil-ruler::before { - content: "\f5ae"; } - -.fa-people-arrows::before { - content: "\e068"; } - -.fa-people-arrows-left-right::before { - content: "\e068"; } - -.fa-mars-and-venus-burst::before { - content: "\e523"; } - -.fa-square-caret-right::before { - content: "\f152"; } - -.fa-caret-square-right::before { - content: "\f152"; } - -.fa-scissors::before { - content: "\f0c4"; } - -.fa-cut::before { - content: "\f0c4"; } - -.fa-sun-plant-wilt::before { - content: "\e57a"; } - -.fa-toilets-portable::before { - content: "\e584"; } - -.fa-hockey-puck::before { - content: "\f453"; } - -.fa-table::before { - content: "\f0ce"; } - -.fa-magnifying-glass-arrow-right::before { - content: "\e521"; } - -.fa-tachograph-digital::before { - content: "\f566"; } - -.fa-digital-tachograph::before { - content: "\f566"; } - -.fa-users-slash::before { - content: "\e073"; } - -.fa-clover::before { - content: "\e139"; } - -.fa-reply::before { - content: "\f3e5"; } - -.fa-mail-reply::before { - content: "\f3e5"; } - -.fa-star-and-crescent::before { - content: "\f699"; } - -.fa-house-fire::before { - content: "\e50c"; } - -.fa-square-minus::before { - content: "\f146"; } - -.fa-minus-square::before { - content: "\f146"; } - -.fa-helicopter::before { - content: "\f533"; } - -.fa-compass::before { - content: "\f14e"; } - -.fa-square-caret-down::before { - content: "\f150"; } - -.fa-caret-square-down::before { - content: "\f150"; } - -.fa-file-circle-question::before { - content: "\e4ef"; } - -.fa-laptop-code::before { - content: "\f5fc"; } - -.fa-swatchbook::before { - content: "\f5c3"; } - -.fa-prescription-bottle::before { - content: "\f485"; } - -.fa-bars::before { - content: "\f0c9"; } - -.fa-navicon::before { - content: "\f0c9"; } - -.fa-people-group::before { - content: "\e533"; } - -.fa-hourglass-end::before { - content: "\f253"; } - -.fa-hourglass-3::before { - content: "\f253"; } - -.fa-heart-crack::before { - content: "\f7a9"; } - -.fa-heart-broken::before { - content: "\f7a9"; } - -.fa-square-up-right::before { - content: "\f360"; } - -.fa-external-link-square-alt::before { - content: "\f360"; } - -.fa-face-kiss-beam::before { - content: "\f597"; } - -.fa-kiss-beam::before { - content: "\f597"; } - -.fa-film::before { - content: "\f008"; } - -.fa-ruler-horizontal::before { - content: "\f547"; } - -.fa-people-robbery::before { - content: "\e536"; } - -.fa-lightbulb::before { - content: "\f0eb"; } - -.fa-caret-left::before { - content: "\f0d9"; } - -.fa-circle-exclamation::before { - content: "\f06a"; } - -.fa-exclamation-circle::before { - content: "\f06a"; } - -.fa-school-circle-xmark::before { - content: "\e56d"; } - -.fa-arrow-right-from-bracket::before { - content: "\f08b"; } - -.fa-sign-out::before { - content: "\f08b"; } - -.fa-circle-chevron-down::before { - content: "\f13a"; } - -.fa-chevron-circle-down::before { - content: "\f13a"; } - -.fa-unlock-keyhole::before { - content: "\f13e"; } - -.fa-unlock-alt::before { - content: "\f13e"; } - -.fa-cloud-showers-heavy::before { - content: "\f740"; } - -.fa-headphones-simple::before { - content: "\f58f"; } - -.fa-headphones-alt::before { - content: "\f58f"; } - -.fa-sitemap::before { - content: "\f0e8"; } - -.fa-circle-dollar-to-slot::before { - content: "\f4b9"; } - -.fa-donate::before { - content: "\f4b9"; } - -.fa-memory::before { - content: "\f538"; } - -.fa-road-spikes::before { - content: "\e568"; } - -.fa-fire-burner::before { - content: "\e4f1"; } - -.fa-flag::before { - content: "\f024"; } - -.fa-hanukiah::before { - content: "\f6e6"; } - -.fa-feather::before { - content: "\f52d"; } - -.fa-volume-low::before { - content: "\f027"; } - -.fa-volume-down::before { - content: "\f027"; } - -.fa-comment-slash::before { - content: "\f4b3"; } - -.fa-cloud-sun-rain::before { - content: "\f743"; } - -.fa-compress::before { - content: "\f066"; } - -.fa-wheat-awn::before { - content: "\e2cd"; } - -.fa-wheat-alt::before { - content: "\e2cd"; } - -.fa-ankh::before { - content: "\f644"; } - -.fa-hands-holding-child::before { - content: "\e4fa"; } - -.fa-asterisk::before { - content: "\2a"; } - -.fa-square-check::before { - content: "\f14a"; } - -.fa-check-square::before { - content: "\f14a"; } - -.fa-peseta-sign::before { - content: "\e221"; } - -.fa-heading::before { - content: "\f1dc"; } - -.fa-header::before { - content: "\f1dc"; } - -.fa-ghost::before { - content: "\f6e2"; } - -.fa-list::before { - content: "\f03a"; } - -.fa-list-squares::before { - content: "\f03a"; } - -.fa-square-phone-flip::before { - content: "\f87b"; } - -.fa-phone-square-alt::before { - content: "\f87b"; } - -.fa-cart-plus::before { - content: "\f217"; } - -.fa-gamepad::before { - content: "\f11b"; } - -.fa-circle-dot::before { - content: "\f192"; } - -.fa-dot-circle::before { - content: "\f192"; } - -.fa-face-dizzy::before { - content: "\f567"; } - -.fa-dizzy::before { - content: "\f567"; } - -.fa-egg::before { - content: "\f7fb"; } - -.fa-house-medical-circle-xmark::before { - content: "\e513"; } - -.fa-campground::before { - content: "\f6bb"; } - -.fa-folder-plus::before { - content: "\f65e"; } - -.fa-futbol::before { - content: "\f1e3"; } - -.fa-futbol-ball::before { - content: "\f1e3"; } - -.fa-soccer-ball::before { - content: "\f1e3"; } - -.fa-paintbrush::before { - content: "\f1fc"; } - -.fa-paint-brush::before { - content: "\f1fc"; } - -.fa-lock::before { - content: "\f023"; } - -.fa-gas-pump::before { - content: "\f52f"; } - -.fa-hot-tub-person::before { - content: "\f593"; } - -.fa-hot-tub::before { - content: "\f593"; } - -.fa-map-location::before { - content: "\f59f"; } - -.fa-map-marked::before { - content: "\f59f"; } - -.fa-house-flood-water::before { - content: "\e50e"; } - -.fa-tree::before { - content: "\f1bb"; } - -.fa-bridge-lock::before { - content: "\e4cc"; } - -.fa-sack-dollar::before { - content: "\f81d"; } - -.fa-pen-to-square::before { - content: "\f044"; } - -.fa-edit::before { - content: "\f044"; } - -.fa-car-side::before { - content: "\f5e4"; } - -.fa-share-nodes::before { - content: "\f1e0"; } - -.fa-share-alt::before { - content: "\f1e0"; } - -.fa-heart-circle-minus::before { - content: "\e4ff"; } - -.fa-hourglass-half::before { - content: "\f252"; } - -.fa-hourglass-2::before { - content: "\f252"; } - -.fa-microscope::before { - content: "\f610"; } - -.fa-sink::before { - content: "\e06d"; } - -.fa-bag-shopping::before { - content: "\f290"; } - -.fa-shopping-bag::before { - content: "\f290"; } - -.fa-arrow-down-z-a::before { - content: "\f881"; } - -.fa-sort-alpha-desc::before { - content: "\f881"; } - -.fa-sort-alpha-down-alt::before { - content: "\f881"; } - -.fa-mitten::before { - content: "\f7b5"; } - -.fa-person-rays::before { - content: "\e54d"; } - -.fa-users::before { - content: "\f0c0"; } - -.fa-eye-slash::before { - content: "\f070"; } - -.fa-flask-vial::before { - content: "\e4f3"; } - -.fa-hand::before { - content: "\f256"; } - -.fa-hand-paper::before { - content: "\f256"; } - -.fa-om::before { - content: "\f679"; } - -.fa-worm::before { - content: "\e599"; } - -.fa-house-circle-xmark::before { - content: "\e50b"; } - -.fa-plug::before { - content: "\f1e6"; } - -.fa-chevron-up::before { - content: "\f077"; } - -.fa-hand-spock::before { - content: "\f259"; } - -.fa-stopwatch::before { - content: "\f2f2"; } - -.fa-face-kiss::before { - content: "\f596"; } - -.fa-kiss::before { - content: "\f596"; } - -.fa-bridge-circle-xmark::before { - content: "\e4cb"; } - -.fa-face-grin-tongue::before { - content: "\f589"; } - -.fa-grin-tongue::before { - content: "\f589"; } - -.fa-chess-bishop::before { - content: "\f43a"; } - -.fa-face-grin-wink::before { - content: "\f58c"; } - -.fa-grin-wink::before { - content: "\f58c"; } - -.fa-ear-deaf::before { - content: "\f2a4"; } - -.fa-deaf::before { - content: "\f2a4"; } - -.fa-deafness::before { - content: "\f2a4"; } - -.fa-hard-of-hearing::before { - content: "\f2a4"; } - -.fa-road-circle-check::before { - content: "\e564"; } - -.fa-dice-five::before { - content: "\f523"; } - -.fa-square-rss::before { - content: "\f143"; } - -.fa-rss-square::before { - content: "\f143"; } - -.fa-land-mine-on::before { - content: "\e51b"; } - -.fa-i-cursor::before { - content: "\f246"; } - -.fa-stamp::before { - content: "\f5bf"; } - -.fa-stairs::before { - content: "\e289"; } - -.fa-i::before { - content: "\49"; } - -.fa-hryvnia-sign::before { - content: "\f6f2"; } - -.fa-hryvnia::before { - content: "\f6f2"; } - -.fa-pills::before { - content: "\f484"; } - -.fa-face-grin-wide::before { - content: "\f581"; } - -.fa-grin-alt::before { - content: "\f581"; } - -.fa-tooth::before { - content: "\f5c9"; } - -.fa-v::before { - content: "\56"; } - -.fa-bangladeshi-taka-sign::before { - content: "\e2e6"; } - -.fa-bicycle::before { - content: "\f206"; } - -.fa-staff-snake::before { - content: "\e579"; } - -.fa-rod-asclepius::before { - content: "\e579"; } - -.fa-rod-snake::before { - content: "\e579"; } - -.fa-staff-aesculapius::before { - content: "\e579"; } - -.fa-head-side-cough-slash::before { - content: "\e062"; } - -.fa-truck-medical::before { - content: "\f0f9"; } - -.fa-ambulance::before { - content: "\f0f9"; } - -.fa-wheat-awn-circle-exclamation::before { - content: "\e598"; } - -.fa-snowman::before { - content: "\f7d0"; } - -.fa-mortar-pestle::before { - content: "\f5a7"; } - -.fa-road-barrier::before { - content: "\e562"; } - -.fa-school::before { - content: "\f549"; } - -.fa-igloo::before { - content: "\f7ae"; } - -.fa-joint::before { - content: "\f595"; } - -.fa-angle-right::before { - content: "\f105"; } - -.fa-horse::before { - content: "\f6f0"; } - -.fa-q::before { - content: "\51"; } - -.fa-g::before { - content: "\47"; } - -.fa-notes-medical::before { - content: "\f481"; } - -.fa-temperature-half::before { - content: "\f2c9"; } - -.fa-temperature-2::before { - content: "\f2c9"; } - -.fa-thermometer-2::before { - content: "\f2c9"; } - -.fa-thermometer-half::before { - content: "\f2c9"; } - -.fa-dong-sign::before { - content: "\e169"; } - -.fa-capsules::before { - content: "\f46b"; } - -.fa-poo-storm::before { - content: "\f75a"; } - -.fa-poo-bolt::before { - content: "\f75a"; } - -.fa-face-frown-open::before { - content: "\f57a"; } - -.fa-frown-open::before { - content: "\f57a"; } - -.fa-hand-point-up::before { - content: "\f0a6"; } - -.fa-money-bill::before { - content: "\f0d6"; } - -.fa-bookmark::before { - content: "\f02e"; } - -.fa-align-justify::before { - content: "\f039"; } - -.fa-umbrella-beach::before { - content: "\f5ca"; } - -.fa-helmet-un::before { - content: "\e503"; } - -.fa-bullseye::before { - content: "\f140"; } - -.fa-bacon::before { - content: "\f7e5"; } - -.fa-hand-point-down::before { - content: "\f0a7"; } - -.fa-arrow-up-from-bracket::before { - content: "\e09a"; } - -.fa-folder::before { - content: "\f07b"; } - -.fa-folder-blank::before { - content: "\f07b"; } - -.fa-file-waveform::before { - content: "\f478"; } - -.fa-file-medical-alt::before { - content: "\f478"; } - -.fa-radiation::before { - content: "\f7b9"; } - -.fa-chart-simple::before { - content: "\e473"; } - -.fa-mars-stroke::before { - content: "\f229"; } - -.fa-vial::before { - content: "\f492"; } - -.fa-gauge::before { - content: "\f624"; } - -.fa-dashboard::before { - content: "\f624"; } - -.fa-gauge-med::before { - content: "\f624"; } - -.fa-tachometer-alt-average::before { - content: "\f624"; } - -.fa-wand-magic-sparkles::before { - content: "\e2ca"; } - -.fa-magic-wand-sparkles::before { - content: "\e2ca"; } - -.fa-e::before { - content: "\45"; } - -.fa-pen-clip::before { - content: "\f305"; } - -.fa-pen-alt::before { - content: "\f305"; } - -.fa-bridge-circle-exclamation::before { - content: "\e4ca"; } - -.fa-user::before { - content: "\f007"; } - -.fa-school-circle-check::before { - content: "\e56b"; } - -.fa-dumpster::before { - content: "\f793"; } - -.fa-van-shuttle::before { - content: "\f5b6"; } - -.fa-shuttle-van::before { - content: "\f5b6"; } - -.fa-building-user::before { - content: "\e4da"; } - -.fa-square-caret-left::before { - content: "\f191"; } - -.fa-caret-square-left::before { - content: "\f191"; } - -.fa-highlighter::before { - content: "\f591"; } - -.fa-key::before { - content: "\f084"; } - -.fa-bullhorn::before { - content: "\f0a1"; } - -.fa-globe::before { - content: "\f0ac"; } - -.fa-synagogue::before { - content: "\f69b"; } - -.fa-person-half-dress::before { - content: "\e548"; } - -.fa-road-bridge::before { - content: "\e563"; } - -.fa-location-arrow::before { - content: "\f124"; } - -.fa-c::before { - content: "\43"; } - -.fa-tablet-button::before { - content: "\f10a"; } - -.fa-building-lock::before { - content: "\e4d6"; } - -.fa-pizza-slice::before { - content: "\f818"; } - -.fa-money-bill-wave::before { - content: "\f53a"; } - -.fa-chart-area::before { - content: "\f1fe"; } - -.fa-area-chart::before { - content: "\f1fe"; } - -.fa-house-flag::before { - content: "\e50d"; } - -.fa-person-circle-minus::before { - content: "\e540"; } - -.fa-ban::before { - content: "\f05e"; } - -.fa-cancel::before { - content: "\f05e"; } - -.fa-camera-rotate::before { - content: "\e0d8"; } - -.fa-spray-can-sparkles::before { - content: "\f5d0"; } - -.fa-air-freshener::before { - content: "\f5d0"; } - -.fa-star::before { - content: "\f005"; } - -.fa-repeat::before { - content: "\f363"; } - -.fa-cross::before { - content: "\f654"; } - -.fa-box::before { - content: "\f466"; } - -.fa-venus-mars::before { - content: "\f228"; } - -.fa-arrow-pointer::before { - content: "\f245"; } - -.fa-mouse-pointer::before { - content: "\f245"; } - -.fa-maximize::before { - content: "\f31e"; } - -.fa-expand-arrows-alt::before { - content: "\f31e"; } - -.fa-charging-station::before { - content: "\f5e7"; } - -.fa-shapes::before { - content: "\f61f"; } - -.fa-triangle-circle-square::before { - content: "\f61f"; } - -.fa-shuffle::before { - content: "\f074"; } - -.fa-random::before { - content: "\f074"; } - -.fa-person-running::before { - content: "\f70c"; } - -.fa-running::before { - content: "\f70c"; } - -.fa-mobile-retro::before { - content: "\e527"; } - -.fa-grip-lines-vertical::before { - content: "\f7a5"; } - -.fa-spider::before { - content: "\f717"; } - -.fa-hands-bound::before { - content: "\e4f9"; } - -.fa-file-invoice-dollar::before { - content: "\f571"; } - -.fa-plane-circle-exclamation::before { - content: "\e556"; } - -.fa-x-ray::before { - content: "\f497"; } - -.fa-spell-check::before { - content: "\f891"; } - -.fa-slash::before { - content: "\f715"; } - -.fa-computer-mouse::before { - content: "\f8cc"; } - -.fa-mouse::before { - content: "\f8cc"; } - -.fa-arrow-right-to-bracket::before { - content: "\f090"; } - -.fa-sign-in::before { - content: "\f090"; } - -.fa-shop-slash::before { - content: "\e070"; } - -.fa-store-alt-slash::before { - content: "\e070"; } - -.fa-server::before { - content: "\f233"; } - -.fa-virus-covid-slash::before { - content: "\e4a9"; } - -.fa-shop-lock::before { - content: "\e4a5"; } - -.fa-hourglass-start::before { - content: "\f251"; } - -.fa-hourglass-1::before { - content: "\f251"; } - -.fa-blender-phone::before { - content: "\f6b6"; } - -.fa-building-wheat::before { - content: "\e4db"; } - -.fa-person-breastfeeding::before { - content: "\e53a"; } - -.fa-right-to-bracket::before { - content: "\f2f6"; } - -.fa-sign-in-alt::before { - content: "\f2f6"; } - -.fa-venus::before { - content: "\f221"; } - -.fa-passport::before { - content: "\f5ab"; } - -.fa-heart-pulse::before { - content: "\f21e"; } - -.fa-heartbeat::before { - content: "\f21e"; } - -.fa-people-carry-box::before { - content: "\f4ce"; } - -.fa-people-carry::before { - content: "\f4ce"; } - -.fa-temperature-high::before { - content: "\f769"; } - -.fa-microchip::before { - content: "\f2db"; } - -.fa-crown::before { - content: "\f521"; } - -.fa-weight-hanging::before { - content: "\f5cd"; } - -.fa-xmarks-lines::before { - content: "\e59a"; } - -.fa-file-prescription::before { - content: "\f572"; } - -.fa-weight-scale::before { - content: "\f496"; } - -.fa-weight::before { - content: "\f496"; } - -.fa-user-group::before { - content: "\f500"; } - -.fa-user-friends::before { - content: "\f500"; } - -.fa-arrow-up-a-z::before { - content: "\f15e"; } - -.fa-sort-alpha-up::before { - content: "\f15e"; } - -.fa-chess-knight::before { - content: "\f441"; } - -.fa-face-laugh-squint::before { - content: "\f59b"; } - -.fa-laugh-squint::before { - content: "\f59b"; } - -.fa-wheelchair::before { - content: "\f193"; } - -.fa-circle-arrow-up::before { - content: "\f0aa"; } - -.fa-arrow-circle-up::before { - content: "\f0aa"; } - -.fa-toggle-on::before { - content: "\f205"; } - -.fa-person-walking::before { - content: "\f554"; } - -.fa-walking::before { - content: "\f554"; } - -.fa-l::before { - content: "\4c"; } - -.fa-fire::before { - content: "\f06d"; } - -.fa-bed-pulse::before { - content: "\f487"; } - -.fa-procedures::before { - content: "\f487"; } - -.fa-shuttle-space::before { - content: "\f197"; } - -.fa-space-shuttle::before { - content: "\f197"; } - -.fa-face-laugh::before { - content: "\f599"; } - -.fa-laugh::before { - content: "\f599"; } - -.fa-folder-open::before { - content: "\f07c"; } - -.fa-heart-circle-plus::before { - content: "\e500"; } - -.fa-code-fork::before { - content: "\e13b"; } - -.fa-city::before { - content: "\f64f"; } - -.fa-microphone-lines::before { - content: "\f3c9"; } - -.fa-microphone-alt::before { - content: "\f3c9"; } - -.fa-pepper-hot::before { - content: "\f816"; } - -.fa-unlock::before { - content: "\f09c"; } - -.fa-colon-sign::before { - content: "\e140"; } - -.fa-headset::before { - content: "\f590"; } - -.fa-store-slash::before { - content: "\e071"; } - -.fa-road-circle-xmark::before { - content: "\e566"; } - -.fa-user-minus::before { - content: "\f503"; } - -.fa-mars-stroke-up::before { - content: "\f22a"; } - -.fa-mars-stroke-v::before { - content: "\f22a"; } - -.fa-champagne-glasses::before { - content: "\f79f"; } - -.fa-glass-cheers::before { - content: "\f79f"; } - -.fa-clipboard::before { - content: "\f328"; } - -.fa-house-circle-exclamation::before { - content: "\e50a"; } - -.fa-file-arrow-up::before { - content: "\f574"; } - -.fa-file-upload::before { - content: "\f574"; } - -.fa-wifi::before { - content: "\f1eb"; } - -.fa-wifi-3::before { - content: "\f1eb"; } - -.fa-wifi-strong::before { - content: "\f1eb"; } - -.fa-bath::before { - content: "\f2cd"; } - -.fa-bathtub::before { - content: "\f2cd"; } - -.fa-underline::before { - content: "\f0cd"; } - -.fa-user-pen::before { - content: "\f4ff"; } - -.fa-user-edit::before { - content: "\f4ff"; } - -.fa-signature::before { - content: "\f5b7"; } - -.fa-stroopwafel::before { - content: "\f551"; } - -.fa-bold::before { - content: "\f032"; } - -.fa-anchor-lock::before { - content: "\e4ad"; } - -.fa-building-ngo::before { - content: "\e4d7"; } - -.fa-manat-sign::before { - content: "\e1d5"; } - -.fa-not-equal::before { - content: "\f53e"; } - -.fa-border-top-left::before { - content: "\f853"; } - -.fa-border-style::before { - content: "\f853"; } - -.fa-map-location-dot::before { - content: "\f5a0"; } - -.fa-map-marked-alt::before { - content: "\f5a0"; } - -.fa-jedi::before { - content: "\f669"; } - -.fa-square-poll-vertical::before { - content: "\f681"; } - -.fa-poll::before { - content: "\f681"; } - -.fa-mug-hot::before { - content: "\f7b6"; } - -.fa-car-battery::before { - content: "\f5df"; } - -.fa-battery-car::before { - content: "\f5df"; } - -.fa-gift::before { - content: "\f06b"; } - -.fa-dice-two::before { - content: "\f528"; } - -.fa-chess-queen::before { - content: "\f445"; } - -.fa-glasses::before { - content: "\f530"; } - -.fa-chess-board::before { - content: "\f43c"; } - -.fa-building-circle-check::before { - content: "\e4d2"; } - -.fa-person-chalkboard::before { - content: "\e53d"; } - -.fa-mars-stroke-right::before { - content: "\f22b"; } - -.fa-mars-stroke-h::before { - content: "\f22b"; } - -.fa-hand-back-fist::before { - content: "\f255"; } - -.fa-hand-rock::before { - content: "\f255"; } - -.fa-square-caret-up::before { - content: "\f151"; } - -.fa-caret-square-up::before { - content: "\f151"; } - -.fa-cloud-showers-water::before { - content: "\e4e4"; } - -.fa-chart-bar::before { - content: "\f080"; } - -.fa-bar-chart::before { - content: "\f080"; } - -.fa-hands-bubbles::before { - content: "\e05e"; } - -.fa-hands-wash::before { - content: "\e05e"; } - -.fa-less-than-equal::before { - content: "\f537"; } - -.fa-train::before { - content: "\f238"; } - -.fa-eye-low-vision::before { - content: "\f2a8"; } - -.fa-low-vision::before { - content: "\f2a8"; } - -.fa-crow::before { - content: "\f520"; } - -.fa-sailboat::before { - content: "\e445"; } - -.fa-window-restore::before { - content: "\f2d2"; } - -.fa-square-plus::before { - content: "\f0fe"; } - -.fa-plus-square::before { - content: "\f0fe"; } - -.fa-torii-gate::before { - content: "\f6a1"; } - -.fa-frog::before { - content: "\f52e"; } - -.fa-bucket::before { - content: "\e4cf"; } - -.fa-image::before { - content: "\f03e"; } - -.fa-microphone::before { - content: "\f130"; } - -.fa-cow::before { - content: "\f6c8"; } - -.fa-caret-up::before { - content: "\f0d8"; } - -.fa-screwdriver::before { - content: "\f54a"; } - -.fa-folder-closed::before { - content: "\e185"; } - -.fa-house-tsunami::before { - content: "\e515"; } - -.fa-square-nfi::before { - content: "\e576"; } - -.fa-arrow-up-from-ground-water::before { - content: "\e4b5"; } - -.fa-martini-glass::before { - content: "\f57b"; } - -.fa-glass-martini-alt::before { - content: "\f57b"; } - -.fa-rotate-left::before { - content: "\f2ea"; } - -.fa-rotate-back::before { - content: "\f2ea"; } - -.fa-rotate-backward::before { - content: "\f2ea"; } - -.fa-undo-alt::before { - content: "\f2ea"; } - -.fa-table-columns::before { - content: "\f0db"; } - -.fa-columns::before { - content: "\f0db"; } - -.fa-lemon::before { - content: "\f094"; } - -.fa-head-side-mask::before { - content: "\e063"; } - -.fa-handshake::before { - content: "\f2b5"; } - -.fa-gem::before { - content: "\f3a5"; } - -.fa-dolly::before { - content: "\f472"; } - -.fa-dolly-box::before { - content: "\f472"; } - -.fa-smoking::before { - content: "\f48d"; } - -.fa-minimize::before { - content: "\f78c"; } - -.fa-compress-arrows-alt::before { - content: "\f78c"; } - -.fa-monument::before { - content: "\f5a6"; } - -.fa-snowplow::before { - content: "\f7d2"; } - -.fa-angles-right::before { - content: "\f101"; } - -.fa-angle-double-right::before { - content: "\f101"; } - -.fa-cannabis::before { - content: "\f55f"; } - -.fa-circle-play::before { - content: "\f144"; } - -.fa-play-circle::before { - content: "\f144"; } - -.fa-tablets::before { - content: "\f490"; } - -.fa-ethernet::before { - content: "\f796"; } - -.fa-euro-sign::before { - content: "\f153"; } - -.fa-eur::before { - content: "\f153"; } - -.fa-euro::before { - content: "\f153"; } - -.fa-chair::before { - content: "\f6c0"; } - -.fa-circle-check::before { - content: "\f058"; } - -.fa-check-circle::before { - content: "\f058"; } - -.fa-circle-stop::before { - content: "\f28d"; } - -.fa-stop-circle::before { - content: "\f28d"; } - -.fa-compass-drafting::before { - content: "\f568"; } - -.fa-drafting-compass::before { - content: "\f568"; } - -.fa-plate-wheat::before { - content: "\e55a"; } - -.fa-icicles::before { - content: "\f7ad"; } - -.fa-person-shelter::before { - content: "\e54f"; } - -.fa-neuter::before { - content: "\f22c"; } - -.fa-id-badge::before { - content: "\f2c1"; } - -.fa-marker::before { - content: "\f5a1"; } - -.fa-face-laugh-beam::before { - content: "\f59a"; } - -.fa-laugh-beam::before { - content: "\f59a"; } - -.fa-helicopter-symbol::before { - content: "\e502"; } - -.fa-universal-access::before { - content: "\f29a"; } - -.fa-circle-chevron-up::before { - content: "\f139"; } - -.fa-chevron-circle-up::before { - content: "\f139"; } - -.fa-lari-sign::before { - content: "\e1c8"; } - -.fa-volcano::before { - content: "\f770"; } - -.fa-person-walking-dashed-line-arrow-right::before { - content: "\e553"; } - -.fa-sterling-sign::before { - content: "\f154"; } - -.fa-gbp::before { - content: "\f154"; } - -.fa-pound-sign::before { - content: "\f154"; } - -.fa-viruses::before { - content: "\e076"; } - -.fa-square-person-confined::before { - content: "\e577"; } - -.fa-user-tie::before { - content: "\f508"; } - -.fa-arrow-down-long::before { - content: "\f175"; } - -.fa-long-arrow-down::before { - content: "\f175"; } - -.fa-tent-arrow-down-to-line::before { - content: "\e57e"; } - -.fa-certificate::before { - content: "\f0a3"; } - -.fa-reply-all::before { - content: "\f122"; } - -.fa-mail-reply-all::before { - content: "\f122"; } - -.fa-suitcase::before { - content: "\f0f2"; } - -.fa-person-skating::before { - content: "\f7c5"; } - -.fa-skating::before { - content: "\f7c5"; } - -.fa-filter-circle-dollar::before { - content: "\f662"; } - -.fa-funnel-dollar::before { - content: "\f662"; } - -.fa-camera-retro::before { - content: "\f083"; } - -.fa-circle-arrow-down::before { - content: "\f0ab"; } - -.fa-arrow-circle-down::before { - content: "\f0ab"; } - -.fa-file-import::before { - content: "\f56f"; } - -.fa-arrow-right-to-file::before { - content: "\f56f"; } - -.fa-square-arrow-up-right::before { - content: "\f14c"; } - -.fa-external-link-square::before { - content: "\f14c"; } - -.fa-box-open::before { - content: "\f49e"; } - -.fa-scroll::before { - content: "\f70e"; } - -.fa-spa::before { - content: "\f5bb"; } - -.fa-location-pin-lock::before { - content: "\e51f"; } - -.fa-pause::before { - content: "\f04c"; } - -.fa-hill-avalanche::before { - content: "\e507"; } - -.fa-temperature-empty::before { - content: "\f2cb"; } - -.fa-temperature-0::before { - content: "\f2cb"; } - -.fa-thermometer-0::before { - content: "\f2cb"; } - -.fa-thermometer-empty::before { - content: "\f2cb"; } - -.fa-bomb::before { - content: "\f1e2"; } - -.fa-registered::before { - content: "\f25d"; } - -.fa-address-card::before { - content: "\f2bb"; } - -.fa-contact-card::before { - content: "\f2bb"; } - -.fa-vcard::before { - content: "\f2bb"; } - -.fa-scale-unbalanced-flip::before { - content: "\f516"; } - -.fa-balance-scale-right::before { - content: "\f516"; } - -.fa-subscript::before { - content: "\f12c"; } - -.fa-diamond-turn-right::before { - content: "\f5eb"; } - -.fa-directions::before { - content: "\f5eb"; } - -.fa-burst::before { - content: "\e4dc"; } - -.fa-house-laptop::before { - content: "\e066"; } - -.fa-laptop-house::before { - content: "\e066"; } - -.fa-face-tired::before { - content: "\f5c8"; } - -.fa-tired::before { - content: "\f5c8"; } - -.fa-money-bills::before { - content: "\e1f3"; } - -.fa-smog::before { - content: "\f75f"; } - -.fa-crutch::before { - content: "\f7f7"; } - -.fa-cloud-arrow-up::before { - content: "\f0ee"; } - -.fa-cloud-upload::before { - content: "\f0ee"; } - -.fa-cloud-upload-alt::before { - content: "\f0ee"; } - -.fa-palette::before { - content: "\f53f"; } - -.fa-arrows-turn-right::before { - content: "\e4c0"; } - -.fa-vest::before { - content: "\e085"; } - -.fa-ferry::before { - content: "\e4ea"; } - -.fa-arrows-down-to-people::before { - content: "\e4b9"; } - -.fa-seedling::before { - content: "\f4d8"; } - -.fa-sprout::before { - content: "\f4d8"; } - -.fa-left-right::before { - content: "\f337"; } - -.fa-arrows-alt-h::before { - content: "\f337"; } - -.fa-boxes-packing::before { - content: "\e4c7"; } - -.fa-circle-arrow-left::before { - content: "\f0a8"; } - -.fa-arrow-circle-left::before { - content: "\f0a8"; } - -.fa-group-arrows-rotate::before { - content: "\e4f6"; } - -.fa-bowl-food::before { - content: "\e4c6"; } - -.fa-candy-cane::before { - content: "\f786"; } - -.fa-arrow-down-wide-short::before { - content: "\f160"; } - -.fa-sort-amount-asc::before { - content: "\f160"; } - -.fa-sort-amount-down::before { - content: "\f160"; } - -.fa-cloud-bolt::before { - content: "\f76c"; } - -.fa-thunderstorm::before { - content: "\f76c"; } - -.fa-text-slash::before { - content: "\f87d"; } - -.fa-remove-format::before { - content: "\f87d"; } - -.fa-face-smile-wink::before { - content: "\f4da"; } - -.fa-smile-wink::before { - content: "\f4da"; } - -.fa-file-word::before { - content: "\f1c2"; } - -.fa-file-powerpoint::before { - content: "\f1c4"; } - -.fa-arrows-left-right::before { - content: "\f07e"; } - -.fa-arrows-h::before { - content: "\f07e"; } - -.fa-house-lock::before { - content: "\e510"; } - -.fa-cloud-arrow-down::before { - content: "\f0ed"; } - -.fa-cloud-download::before { - content: "\f0ed"; } - -.fa-cloud-download-alt::before { - content: "\f0ed"; } - -.fa-children::before { - content: "\e4e1"; } - -.fa-chalkboard::before { - content: "\f51b"; } - -.fa-blackboard::before { - content: "\f51b"; } - -.fa-user-large-slash::before { - content: "\f4fa"; } - -.fa-user-alt-slash::before { - content: "\f4fa"; } - -.fa-envelope-open::before { - content: "\f2b6"; } - -.fa-handshake-simple-slash::before { - content: "\e05f"; } - -.fa-handshake-alt-slash::before { - content: "\e05f"; } - -.fa-mattress-pillow::before { - content: "\e525"; } - -.fa-guarani-sign::before { - content: "\e19a"; } - -.fa-arrows-rotate::before { - content: "\f021"; } - -.fa-refresh::before { - content: "\f021"; } - -.fa-sync::before { - content: "\f021"; } - -.fa-fire-extinguisher::before { - content: "\f134"; } - -.fa-cruzeiro-sign::before { - content: "\e152"; } - -.fa-greater-than-equal::before { - content: "\f532"; } - -.fa-shield-halved::before { - content: "\f3ed"; } - -.fa-shield-alt::before { - content: "\f3ed"; } - -.fa-book-atlas::before { - content: "\f558"; } - -.fa-atlas::before { - content: "\f558"; } - -.fa-virus::before { - content: "\e074"; } - -.fa-envelope-circle-check::before { - content: "\e4e8"; } - -.fa-layer-group::before { - content: "\f5fd"; } - -.fa-arrows-to-dot::before { - content: "\e4be"; } - -.fa-archway::before { - content: "\f557"; } - -.fa-heart-circle-check::before { - content: "\e4fd"; } - -.fa-house-chimney-crack::before { - content: "\f6f1"; } - -.fa-house-damage::before { - content: "\f6f1"; } - -.fa-file-zipper::before { - content: "\f1c6"; } - -.fa-file-archive::before { - content: "\f1c6"; } - -.fa-square::before { - content: "\f0c8"; } - -.fa-martini-glass-empty::before { - content: "\f000"; } - -.fa-glass-martini::before { - content: "\f000"; } - -.fa-couch::before { - content: "\f4b8"; } - -.fa-cedi-sign::before { - content: "\e0df"; } - -.fa-italic::before { - content: "\f033"; } - -.fa-table-cells-column-lock::before { - content: "\e678"; } - -.fa-church::before { - content: "\f51d"; } - -.fa-comments-dollar::before { - content: "\f653"; } - -.fa-democrat::before { - content: "\f747"; } - -.fa-z::before { - content: "\5a"; } - -.fa-person-skiing::before { - content: "\f7c9"; } - -.fa-skiing::before { - content: "\f7c9"; } - -.fa-road-lock::before { - content: "\e567"; } - -.fa-a::before { - content: "\41"; } - -.fa-temperature-arrow-down::before { - content: "\e03f"; } - -.fa-temperature-down::before { - content: "\e03f"; } - -.fa-feather-pointed::before { - content: "\f56b"; } - -.fa-feather-alt::before { - content: "\f56b"; } - -.fa-p::before { - content: "\50"; } - -.fa-snowflake::before { - content: "\f2dc"; } - -.fa-newspaper::before { - content: "\f1ea"; } - -.fa-rectangle-ad::before { - content: "\f641"; } - -.fa-ad::before { - content: "\f641"; } - -.fa-circle-arrow-right::before { - content: "\f0a9"; } - -.fa-arrow-circle-right::before { - content: "\f0a9"; } - -.fa-filter-circle-xmark::before { - content: "\e17b"; } - -.fa-locust::before { - content: "\e520"; } - -.fa-sort::before { - content: "\f0dc"; } - -.fa-unsorted::before { - content: "\f0dc"; } - -.fa-list-ol::before { - content: "\f0cb"; } - -.fa-list-1-2::before { - content: "\f0cb"; } - -.fa-list-numeric::before { - content: "\f0cb"; } - -.fa-person-dress-burst::before { - content: "\e544"; } - -.fa-money-check-dollar::before { - content: "\f53d"; } - -.fa-money-check-alt::before { - content: "\f53d"; } - -.fa-vector-square::before { - content: "\f5cb"; } - -.fa-bread-slice::before { - content: "\f7ec"; } - -.fa-language::before { - content: "\f1ab"; } - -.fa-face-kiss-wink-heart::before { - content: "\f598"; } - -.fa-kiss-wink-heart::before { - content: "\f598"; } - -.fa-filter::before { - content: "\f0b0"; } - -.fa-question::before { - content: "\3f"; } - -.fa-file-signature::before { - content: "\f573"; } - -.fa-up-down-left-right::before { - content: "\f0b2"; } - -.fa-arrows-alt::before { - content: "\f0b2"; } - -.fa-house-chimney-user::before { - content: "\e065"; } - -.fa-hand-holding-heart::before { - content: "\f4be"; } - -.fa-puzzle-piece::before { - content: "\f12e"; } - -.fa-money-check::before { - content: "\f53c"; } - -.fa-star-half-stroke::before { - content: "\f5c0"; } - -.fa-star-half-alt::before { - content: "\f5c0"; } - -.fa-code::before { - content: "\f121"; } - -.fa-whiskey-glass::before { - content: "\f7a0"; } - -.fa-glass-whiskey::before { - content: "\f7a0"; } - -.fa-building-circle-exclamation::before { - content: "\e4d3"; } - -.fa-magnifying-glass-chart::before { - content: "\e522"; } - -.fa-arrow-up-right-from-square::before { - content: "\f08e"; } - -.fa-external-link::before { - content: "\f08e"; } - -.fa-cubes-stacked::before { - content: "\e4e6"; } - -.fa-won-sign::before { - content: "\f159"; } - -.fa-krw::before { - content: "\f159"; } - -.fa-won::before { - content: "\f159"; } - -.fa-virus-covid::before { - content: "\e4a8"; } - -.fa-austral-sign::before { - content: "\e0a9"; } - -.fa-f::before { - content: "\46"; } - -.fa-leaf::before { - content: "\f06c"; } - -.fa-road::before { - content: "\f018"; } - -.fa-taxi::before { - content: "\f1ba"; } - -.fa-cab::before { - content: "\f1ba"; } - -.fa-person-circle-plus::before { - content: "\e541"; } - -.fa-chart-pie::before { - content: "\f200"; } - -.fa-pie-chart::before { - content: "\f200"; } - -.fa-bolt-lightning::before { - content: "\e0b7"; } - -.fa-sack-xmark::before { - content: "\e56a"; } - -.fa-file-excel::before { - content: "\f1c3"; } - -.fa-file-contract::before { - content: "\f56c"; } - -.fa-fish-fins::before { - content: "\e4f2"; } - -.fa-building-flag::before { - content: "\e4d5"; } - -.fa-face-grin-beam::before { - content: "\f582"; } - -.fa-grin-beam::before { - content: "\f582"; } - -.fa-object-ungroup::before { - content: "\f248"; } - -.fa-poop::before { - content: "\f619"; } - -.fa-location-pin::before { - content: "\f041"; } - -.fa-map-marker::before { - content: "\f041"; } - -.fa-kaaba::before { - content: "\f66b"; } - -.fa-toilet-paper::before { - content: "\f71e"; } - -.fa-helmet-safety::before { - content: "\f807"; } - -.fa-hard-hat::before { - content: "\f807"; } - -.fa-hat-hard::before { - content: "\f807"; } - -.fa-eject::before { - content: "\f052"; } - -.fa-circle-right::before { - content: "\f35a"; } - -.fa-arrow-alt-circle-right::before { - content: "\f35a"; } - -.fa-plane-circle-check::before { - content: "\e555"; } - -.fa-face-rolling-eyes::before { - content: "\f5a5"; } - -.fa-meh-rolling-eyes::before { - content: "\f5a5"; } - -.fa-object-group::before { - content: "\f247"; } - -.fa-chart-line::before { - content: "\f201"; } - -.fa-line-chart::before { - content: "\f201"; } - -.fa-mask-ventilator::before { - content: "\e524"; } - -.fa-arrow-right::before { - content: "\f061"; } - -.fa-signs-post::before { - content: "\f277"; } - -.fa-map-signs::before { - content: "\f277"; } - -.fa-cash-register::before { - content: "\f788"; } - -.fa-person-circle-question::before { - content: "\e542"; } - -.fa-h::before { - content: "\48"; } - -.fa-tarp::before { - content: "\e57b"; } - -.fa-screwdriver-wrench::before { - content: "\f7d9"; } - -.fa-tools::before { - content: "\f7d9"; } - -.fa-arrows-to-eye::before { - content: "\e4bf"; } - -.fa-plug-circle-bolt::before { - content: "\e55b"; } - -.fa-heart::before { - content: "\f004"; } - -.fa-mars-and-venus::before { - content: "\f224"; } - -.fa-house-user::before { - content: "\e1b0"; } - -.fa-home-user::before { - content: "\e1b0"; } - -.fa-dumpster-fire::before { - content: "\f794"; } - -.fa-house-crack::before { - content: "\e3b1"; } - -.fa-martini-glass-citrus::before { - content: "\f561"; } - -.fa-cocktail::before { - content: "\f561"; } - -.fa-face-surprise::before { - content: "\f5c2"; } - -.fa-surprise::before { - content: "\f5c2"; } - -.fa-bottle-water::before { - content: "\e4c5"; } - -.fa-circle-pause::before { - content: "\f28b"; } - -.fa-pause-circle::before { - content: "\f28b"; } - -.fa-toilet-paper-slash::before { - content: "\e072"; } - -.fa-apple-whole::before { - content: "\f5d1"; } - -.fa-apple-alt::before { - content: "\f5d1"; } - -.fa-kitchen-set::before { - content: "\e51a"; } - -.fa-r::before { - content: "\52"; } - -.fa-temperature-quarter::before { - content: "\f2ca"; } - -.fa-temperature-1::before { - content: "\f2ca"; } - -.fa-thermometer-1::before { - content: "\f2ca"; } - -.fa-thermometer-quarter::before { - content: "\f2ca"; } - -.fa-cube::before { - content: "\f1b2"; } - -.fa-bitcoin-sign::before { - content: "\e0b4"; } - -.fa-shield-dog::before { - content: "\e573"; } - -.fa-solar-panel::before { - content: "\f5ba"; } - -.fa-lock-open::before { - content: "\f3c1"; } - -.fa-elevator::before { - content: "\e16d"; } - -.fa-money-bill-transfer::before { - content: "\e528"; } - -.fa-money-bill-trend-up::before { - content: "\e529"; } - -.fa-house-flood-water-circle-arrow-right::before { - content: "\e50f"; } - -.fa-square-poll-horizontal::before { - content: "\f682"; } - -.fa-poll-h::before { - content: "\f682"; } - -.fa-circle::before { - content: "\f111"; } - -.fa-backward-fast::before { - content: "\f049"; } - -.fa-fast-backward::before { - content: "\f049"; } - -.fa-recycle::before { - content: "\f1b8"; } - -.fa-user-astronaut::before { - content: "\f4fb"; } - -.fa-plane-slash::before { - content: "\e069"; } - -.fa-trademark::before { - content: "\f25c"; } - -.fa-basketball::before { - content: "\f434"; } - -.fa-basketball-ball::before { - content: "\f434"; } - -.fa-satellite-dish::before { - content: "\f7c0"; } - -.fa-circle-up::before { - content: "\f35b"; } - -.fa-arrow-alt-circle-up::before { - content: "\f35b"; } - -.fa-mobile-screen-button::before { - content: "\f3cd"; } - -.fa-mobile-alt::before { - content: "\f3cd"; } - -.fa-volume-high::before { - content: "\f028"; } - -.fa-volume-up::before { - content: "\f028"; } - -.fa-users-rays::before { - content: "\e593"; } - -.fa-wallet::before { - content: "\f555"; } - -.fa-clipboard-check::before { - content: "\f46c"; } - -.fa-file-audio::before { - content: "\f1c7"; } - -.fa-burger::before { - content: "\f805"; } - -.fa-hamburger::before { - content: "\f805"; } - -.fa-wrench::before { - content: "\f0ad"; } - -.fa-bugs::before { - content: "\e4d0"; } - -.fa-rupee-sign::before { - content: "\f156"; } - -.fa-rupee::before { - content: "\f156"; } - -.fa-file-image::before { - content: "\f1c5"; } - -.fa-circle-question::before { - content: "\f059"; } - -.fa-question-circle::before { - content: "\f059"; } - -.fa-plane-departure::before { - content: "\f5b0"; } - -.fa-handshake-slash::before { - content: "\e060"; } - -.fa-book-bookmark::before { - content: "\e0bb"; } - -.fa-code-branch::before { - content: "\f126"; } - -.fa-hat-cowboy::before { - content: "\f8c0"; } - -.fa-bridge::before { - content: "\e4c8"; } - -.fa-phone-flip::before { - content: "\f879"; } - -.fa-phone-alt::before { - content: "\f879"; } - -.fa-truck-front::before { - content: "\e2b7"; } - -.fa-cat::before { - content: "\f6be"; } - -.fa-anchor-circle-exclamation::before { - content: "\e4ab"; } - -.fa-truck-field::before { - content: "\e58d"; } - -.fa-route::before { - content: "\f4d7"; } - -.fa-clipboard-question::before { - content: "\e4e3"; } - -.fa-panorama::before { - content: "\e209"; } - -.fa-comment-medical::before { - content: "\f7f5"; } - -.fa-teeth-open::before { - content: "\f62f"; } - -.fa-file-circle-minus::before { - content: "\e4ed"; } - -.fa-tags::before { - content: "\f02c"; } - -.fa-wine-glass::before { - content: "\f4e3"; } - -.fa-forward-fast::before { - content: "\f050"; } - -.fa-fast-forward::before { - content: "\f050"; } - -.fa-face-meh-blank::before { - content: "\f5a4"; } - -.fa-meh-blank::before { - content: "\f5a4"; } - -.fa-square-parking::before { - content: "\f540"; } - -.fa-parking::before { - content: "\f540"; } - -.fa-house-signal::before { - content: "\e012"; } - -.fa-bars-progress::before { - content: "\f828"; } - -.fa-tasks-alt::before { - content: "\f828"; } - -.fa-faucet-drip::before { - content: "\e006"; } - -.fa-cart-flatbed::before { - content: "\f474"; } - -.fa-dolly-flatbed::before { - content: "\f474"; } - -.fa-ban-smoking::before { - content: "\f54d"; } - -.fa-smoking-ban::before { - content: "\f54d"; } - -.fa-terminal::before { - content: "\f120"; } - -.fa-mobile-button::before { - content: "\f10b"; } - -.fa-house-medical-flag::before { - content: "\e514"; } - -.fa-basket-shopping::before { - content: "\f291"; } - -.fa-shopping-basket::before { - content: "\f291"; } - -.fa-tape::before { - content: "\f4db"; } - -.fa-bus-simple::before { - content: "\f55e"; } - -.fa-bus-alt::before { - content: "\f55e"; } - -.fa-eye::before { - content: "\f06e"; } - -.fa-face-sad-cry::before { - content: "\f5b3"; } - -.fa-sad-cry::before { - content: "\f5b3"; } - -.fa-audio-description::before { - content: "\f29e"; } - -.fa-person-military-to-person::before { - content: "\e54c"; } - -.fa-file-shield::before { - content: "\e4f0"; } - -.fa-user-slash::before { - content: "\f506"; } - -.fa-pen::before { - content: "\f304"; } - -.fa-tower-observation::before { - content: "\e586"; } - -.fa-file-code::before { - content: "\f1c9"; } - -.fa-signal::before { - content: "\f012"; } - -.fa-signal-5::before { - content: "\f012"; } - -.fa-signal-perfect::before { - content: "\f012"; } - -.fa-bus::before { - content: "\f207"; } - -.fa-heart-circle-xmark::before { - content: "\e501"; } - -.fa-house-chimney::before { - content: "\e3af"; } - -.fa-home-lg::before { - content: "\e3af"; } - -.fa-window-maximize::before { - content: "\f2d0"; } - -.fa-face-frown::before { - content: "\f119"; } - -.fa-frown::before { - content: "\f119"; } - -.fa-prescription::before { - content: "\f5b1"; } - -.fa-shop::before { - content: "\f54f"; } - -.fa-store-alt::before { - content: "\f54f"; } - -.fa-floppy-disk::before { - content: "\f0c7"; } - -.fa-save::before { - content: "\f0c7"; } - -.fa-vihara::before { - content: "\f6a7"; } - -.fa-scale-unbalanced::before { - content: "\f515"; } - -.fa-balance-scale-left::before { - content: "\f515"; } - -.fa-sort-up::before { - content: "\f0de"; } - -.fa-sort-asc::before { - content: "\f0de"; } - -.fa-comment-dots::before { - content: "\f4ad"; } - -.fa-commenting::before { - content: "\f4ad"; } - -.fa-plant-wilt::before { - content: "\e5aa"; } - -.fa-diamond::before { - content: "\f219"; } - -.fa-face-grin-squint::before { - content: "\f585"; } - -.fa-grin-squint::before { - content: "\f585"; } - -.fa-hand-holding-dollar::before { - content: "\f4c0"; } - -.fa-hand-holding-usd::before { - content: "\f4c0"; } - -.fa-bacterium::before { - content: "\e05a"; } - -.fa-hand-pointer::before { - content: "\f25a"; } - -.fa-drum-steelpan::before { - content: "\f56a"; } - -.fa-hand-scissors::before { - content: "\f257"; } - -.fa-hands-praying::before { - content: "\f684"; } - -.fa-praying-hands::before { - content: "\f684"; } - -.fa-arrow-rotate-right::before { - content: "\f01e"; } - -.fa-arrow-right-rotate::before { - content: "\f01e"; } - -.fa-arrow-rotate-forward::before { - content: "\f01e"; } - -.fa-redo::before { - content: "\f01e"; } - -.fa-biohazard::before { - content: "\f780"; } - -.fa-location-crosshairs::before { - content: "\f601"; } - -.fa-location::before { - content: "\f601"; } - -.fa-mars-double::before { - content: "\f227"; } - -.fa-child-dress::before { - content: "\e59c"; } - -.fa-users-between-lines::before { - content: "\e591"; } - -.fa-lungs-virus::before { - content: "\e067"; } - -.fa-face-grin-tears::before { - content: "\f588"; } - -.fa-grin-tears::before { - content: "\f588"; } - -.fa-phone::before { - content: "\f095"; } - -.fa-calendar-xmark::before { - content: "\f273"; } - -.fa-calendar-times::before { - content: "\f273"; } - -.fa-child-reaching::before { - content: "\e59d"; } - -.fa-head-side-virus::before { - content: "\e064"; } - -.fa-user-gear::before { - content: "\f4fe"; } - -.fa-user-cog::before { - content: "\f4fe"; } - -.fa-arrow-up-1-9::before { - content: "\f163"; } - -.fa-sort-numeric-up::before { - content: "\f163"; } - -.fa-door-closed::before { - content: "\f52a"; } - -.fa-shield-virus::before { - content: "\e06c"; } - -.fa-dice-six::before { - content: "\f526"; } - -.fa-mosquito-net::before { - content: "\e52c"; } - -.fa-bridge-water::before { - content: "\e4ce"; } - -.fa-person-booth::before { - content: "\f756"; } - -.fa-text-width::before { - content: "\f035"; } - -.fa-hat-wizard::before { - content: "\f6e8"; } - -.fa-pen-fancy::before { - content: "\f5ac"; } - -.fa-person-digging::before { - content: "\f85e"; } - -.fa-digging::before { - content: "\f85e"; } - -.fa-trash::before { - content: "\f1f8"; } - -.fa-gauge-simple::before { - content: "\f629"; } - -.fa-gauge-simple-med::before { - content: "\f629"; } - -.fa-tachometer-average::before { - content: "\f629"; } - -.fa-book-medical::before { - content: "\f7e6"; } - -.fa-poo::before { - content: "\f2fe"; } - -.fa-quote-right::before { - content: "\f10e"; } - -.fa-quote-right-alt::before { - content: "\f10e"; } - -.fa-shirt::before { - content: "\f553"; } - -.fa-t-shirt::before { - content: "\f553"; } - -.fa-tshirt::before { - content: "\f553"; } - -.fa-cubes::before { - content: "\f1b3"; } - -.fa-divide::before { - content: "\f529"; } - -.fa-tenge-sign::before { - content: "\f7d7"; } - -.fa-tenge::before { - content: "\f7d7"; } - -.fa-headphones::before { - content: "\f025"; } - -.fa-hands-holding::before { - content: "\f4c2"; } - -.fa-hands-clapping::before { - content: "\e1a8"; } - -.fa-republican::before { - content: "\f75e"; } - -.fa-arrow-left::before { - content: "\f060"; } - -.fa-person-circle-xmark::before { - content: "\e543"; } - -.fa-ruler::before { - content: "\f545"; } - -.fa-align-left::before { - content: "\f036"; } - -.fa-dice-d6::before { - content: "\f6d1"; } - -.fa-restroom::before { - content: "\f7bd"; } - -.fa-j::before { - content: "\4a"; } - -.fa-users-viewfinder::before { - content: "\e595"; } - -.fa-file-video::before { - content: "\f1c8"; } - -.fa-up-right-from-square::before { - content: "\f35d"; } - -.fa-external-link-alt::before { - content: "\f35d"; } - -.fa-table-cells::before { - content: "\f00a"; } - -.fa-th::before { - content: "\f00a"; } - -.fa-file-pdf::before { - content: "\f1c1"; } - -.fa-book-bible::before { - content: "\f647"; } - -.fa-bible::before { - content: "\f647"; } - -.fa-o::before { - content: "\4f"; } - -.fa-suitcase-medical::before { - content: "\f0fa"; } - -.fa-medkit::before { - content: "\f0fa"; } - -.fa-user-secret::before { - content: "\f21b"; } - -.fa-otter::before { - content: "\f700"; } - -.fa-person-dress::before { - content: "\f182"; } - -.fa-female::before { - content: "\f182"; } - -.fa-comment-dollar::before { - content: "\f651"; } - -.fa-business-time::before { - content: "\f64a"; } - -.fa-briefcase-clock::before { - content: "\f64a"; } - -.fa-table-cells-large::before { - content: "\f009"; } - -.fa-th-large::before { - content: "\f009"; } - -.fa-book-tanakh::before { - content: "\f827"; } - -.fa-tanakh::before { - content: "\f827"; } - -.fa-phone-volume::before { - content: "\f2a0"; } - -.fa-volume-control-phone::before { - content: "\f2a0"; } - -.fa-hat-cowboy-side::before { - content: "\f8c1"; } - -.fa-clipboard-user::before { - content: "\f7f3"; } - -.fa-child::before { - content: "\f1ae"; } - -.fa-lira-sign::before { - content: "\f195"; } - -.fa-satellite::before { - content: "\f7bf"; } - -.fa-plane-lock::before { - content: "\e558"; } - -.fa-tag::before { - content: "\f02b"; } - -.fa-comment::before { - content: "\f075"; } - -.fa-cake-candles::before { - content: "\f1fd"; } - -.fa-birthday-cake::before { - content: "\f1fd"; } - -.fa-cake::before { - content: "\f1fd"; } - -.fa-envelope::before { - content: "\f0e0"; } - -.fa-angles-up::before { - content: "\f102"; } - -.fa-angle-double-up::before { - content: "\f102"; } - -.fa-paperclip::before { - content: "\f0c6"; } - -.fa-arrow-right-to-city::before { - content: "\e4b3"; } - -.fa-ribbon::before { - content: "\f4d6"; } - -.fa-lungs::before { - content: "\f604"; } - -.fa-arrow-up-9-1::before { - content: "\f887"; } - -.fa-sort-numeric-up-alt::before { - content: "\f887"; } - -.fa-litecoin-sign::before { - content: "\e1d3"; } - -.fa-border-none::before { - content: "\f850"; } - -.fa-circle-nodes::before { - content: "\e4e2"; } - -.fa-parachute-box::before { - content: "\f4cd"; } - -.fa-indent::before { - content: "\f03c"; } - -.fa-truck-field-un::before { - content: "\e58e"; } - -.fa-hourglass::before { - content: "\f254"; } - -.fa-hourglass-empty::before { - content: "\f254"; } - -.fa-mountain::before { - content: "\f6fc"; } - -.fa-user-doctor::before { - content: "\f0f0"; } - -.fa-user-md::before { - content: "\f0f0"; } - -.fa-circle-info::before { - content: "\f05a"; } - -.fa-info-circle::before { - content: "\f05a"; } - -.fa-cloud-meatball::before { - content: "\f73b"; } - -.fa-camera::before { - content: "\f030"; } - -.fa-camera-alt::before { - content: "\f030"; } - -.fa-square-virus::before { - content: "\e578"; } - -.fa-meteor::before { - content: "\f753"; } - -.fa-car-on::before { - content: "\e4dd"; } - -.fa-sleigh::before { - content: "\f7cc"; } - -.fa-arrow-down-1-9::before { - content: "\f162"; } - -.fa-sort-numeric-asc::before { - content: "\f162"; } - -.fa-sort-numeric-down::before { - content: "\f162"; } - -.fa-hand-holding-droplet::before { - content: "\f4c1"; } - -.fa-hand-holding-water::before { - content: "\f4c1"; } - -.fa-water::before { - content: "\f773"; } - -.fa-calendar-check::before { - content: "\f274"; } - -.fa-braille::before { - content: "\f2a1"; } - -.fa-prescription-bottle-medical::before { - content: "\f486"; } - -.fa-prescription-bottle-alt::before { - content: "\f486"; } - -.fa-landmark::before { - content: "\f66f"; } - -.fa-truck::before { - content: "\f0d1"; } - -.fa-crosshairs::before { - content: "\f05b"; } - -.fa-person-cane::before { - content: "\e53c"; } - -.fa-tent::before { - content: "\e57d"; } - -.fa-vest-patches::before { - content: "\e086"; } - -.fa-check-double::before { - content: "\f560"; } - -.fa-arrow-down-a-z::before { - content: "\f15d"; } - -.fa-sort-alpha-asc::before { - content: "\f15d"; } - -.fa-sort-alpha-down::before { - content: "\f15d"; } - -.fa-money-bill-wheat::before { - content: "\e52a"; } - -.fa-cookie::before { - content: "\f563"; } - -.fa-arrow-rotate-left::before { - content: "\f0e2"; } - -.fa-arrow-left-rotate::before { - content: "\f0e2"; } - -.fa-arrow-rotate-back::before { - content: "\f0e2"; } - -.fa-arrow-rotate-backward::before { - content: "\f0e2"; } - -.fa-undo::before { - content: "\f0e2"; } - -.fa-hard-drive::before { - content: "\f0a0"; } - -.fa-hdd::before { - content: "\f0a0"; } - -.fa-face-grin-squint-tears::before { - content: "\f586"; } - -.fa-grin-squint-tears::before { - content: "\f586"; } - -.fa-dumbbell::before { - content: "\f44b"; } - -.fa-rectangle-list::before { - content: "\f022"; } - -.fa-list-alt::before { - content: "\f022"; } - -.fa-tarp-droplet::before { - content: "\e57c"; } - -.fa-house-medical-circle-check::before { - content: "\e511"; } - -.fa-person-skiing-nordic::before { - content: "\f7ca"; } - -.fa-skiing-nordic::before { - content: "\f7ca"; } - -.fa-calendar-plus::before { - content: "\f271"; } - -.fa-plane-arrival::before { - content: "\f5af"; } - -.fa-circle-left::before { - content: "\f359"; } - -.fa-arrow-alt-circle-left::before { - content: "\f359"; } - -.fa-train-subway::before { - content: "\f239"; } - -.fa-subway::before { - content: "\f239"; } - -.fa-chart-gantt::before { - content: "\e0e4"; } - -.fa-indian-rupee-sign::before { - content: "\e1bc"; } - -.fa-indian-rupee::before { - content: "\e1bc"; } - -.fa-inr::before { - content: "\e1bc"; } - -.fa-crop-simple::before { - content: "\f565"; } - -.fa-crop-alt::before { - content: "\f565"; } - -.fa-money-bill-1::before { - content: "\f3d1"; } - -.fa-money-bill-alt::before { - content: "\f3d1"; } - -.fa-left-long::before { - content: "\f30a"; } - -.fa-long-arrow-alt-left::before { - content: "\f30a"; } - -.fa-dna::before { - content: "\f471"; } - -.fa-virus-slash::before { - content: "\e075"; } - -.fa-minus::before { - content: "\f068"; } - -.fa-subtract::before { - content: "\f068"; } - -.fa-chess::before { - content: "\f439"; } - -.fa-arrow-left-long::before { - content: "\f177"; } - -.fa-long-arrow-left::before { - content: "\f177"; } - -.fa-plug-circle-check::before { - content: "\e55c"; } - -.fa-street-view::before { - content: "\f21d"; } - -.fa-franc-sign::before { - content: "\e18f"; } - -.fa-volume-off::before { - content: "\f026"; } - -.fa-hands-asl-interpreting::before { - content: "\f2a3"; } - -.fa-american-sign-language-interpreting::before { - content: "\f2a3"; } - -.fa-asl-interpreting::before { - content: "\f2a3"; } - -.fa-hands-american-sign-language-interpreting::before { - content: "\f2a3"; } - -.fa-gear::before { - content: "\f013"; } - -.fa-cog::before { - content: "\f013"; } - -.fa-droplet-slash::before { - content: "\f5c7"; } - -.fa-tint-slash::before { - content: "\f5c7"; } - -.fa-mosque::before { - content: "\f678"; } - -.fa-mosquito::before { - content: "\e52b"; } - -.fa-star-of-david::before { - content: "\f69a"; } - -.fa-person-military-rifle::before { - content: "\e54b"; } - -.fa-cart-shopping::before { - content: "\f07a"; } - -.fa-shopping-cart::before { - content: "\f07a"; } - -.fa-vials::before { - content: "\f493"; } - -.fa-plug-circle-plus::before { - content: "\e55f"; } - -.fa-place-of-worship::before { - content: "\f67f"; } - -.fa-grip-vertical::before { - content: "\f58e"; } - -.fa-arrow-turn-up::before { - content: "\f148"; } - -.fa-level-up::before { - content: "\f148"; } - -.fa-u::before { - content: "\55"; } - -.fa-square-root-variable::before { - content: "\f698"; } - -.fa-square-root-alt::before { - content: "\f698"; } - -.fa-clock::before { - content: "\f017"; } - -.fa-clock-four::before { - content: "\f017"; } - -.fa-backward-step::before { - content: "\f048"; } - -.fa-step-backward::before { - content: "\f048"; } - -.fa-pallet::before { - content: "\f482"; } - -.fa-faucet::before { - content: "\e005"; } - -.fa-baseball-bat-ball::before { - content: "\f432"; } - -.fa-s::before { - content: "\53"; } - -.fa-timeline::before { - content: "\e29c"; } - -.fa-keyboard::before { - content: "\f11c"; } - -.fa-caret-down::before { - content: "\f0d7"; } - -.fa-house-chimney-medical::before { - content: "\f7f2"; } - -.fa-clinic-medical::before { - content: "\f7f2"; } - -.fa-temperature-three-quarters::before { - content: "\f2c8"; } - -.fa-temperature-3::before { - content: "\f2c8"; } - -.fa-thermometer-3::before { - content: "\f2c8"; } - -.fa-thermometer-three-quarters::before { - content: "\f2c8"; } - -.fa-mobile-screen::before { - content: "\f3cf"; } - -.fa-mobile-android-alt::before { - content: "\f3cf"; } - -.fa-plane-up::before { - content: "\e22d"; } - -.fa-piggy-bank::before { - content: "\f4d3"; } - -.fa-battery-half::before { - content: "\f242"; } - -.fa-battery-3::before { - content: "\f242"; } - -.fa-mountain-city::before { - content: "\e52e"; } - -.fa-coins::before { - content: "\f51e"; } - -.fa-khanda::before { - content: "\f66d"; } - -.fa-sliders::before { - content: "\f1de"; } - -.fa-sliders-h::before { - content: "\f1de"; } - -.fa-folder-tree::before { - content: "\f802"; } - -.fa-network-wired::before { - content: "\f6ff"; } - -.fa-map-pin::before { - content: "\f276"; } - -.fa-hamsa::before { - content: "\f665"; } - -.fa-cent-sign::before { - content: "\e3f5"; } - -.fa-flask::before { - content: "\f0c3"; } - -.fa-person-pregnant::before { - content: "\e31e"; } - -.fa-wand-sparkles::before { - content: "\f72b"; } - -.fa-ellipsis-vertical::before { - content: "\f142"; } - -.fa-ellipsis-v::before { - content: "\f142"; } - -.fa-ticket::before { - content: "\f145"; } - -.fa-power-off::before { - content: "\f011"; } - -.fa-right-long::before { - content: "\f30b"; } - -.fa-long-arrow-alt-right::before { - content: "\f30b"; } - -.fa-flag-usa::before { - content: "\f74d"; } - -.fa-laptop-file::before { - content: "\e51d"; } - -.fa-tty::before { - content: "\f1e4"; } - -.fa-teletype::before { - content: "\f1e4"; } - -.fa-diagram-next::before { - content: "\e476"; } - -.fa-person-rifle::before { - content: "\e54e"; } - -.fa-house-medical-circle-exclamation::before { - content: "\e512"; } - -.fa-closed-captioning::before { - content: "\f20a"; } - -.fa-person-hiking::before { - content: "\f6ec"; } - -.fa-hiking::before { - content: "\f6ec"; } - -.fa-venus-double::before { - content: "\f226"; } - -.fa-images::before { - content: "\f302"; } - -.fa-calculator::before { - content: "\f1ec"; } - -.fa-people-pulling::before { - content: "\e535"; } - -.fa-n::before { - content: "\4e"; } - -.fa-cable-car::before { - content: "\f7da"; } - -.fa-tram::before { - content: "\f7da"; } - -.fa-cloud-rain::before { - content: "\f73d"; } - -.fa-building-circle-xmark::before { - content: "\e4d4"; } - -.fa-ship::before { - content: "\f21a"; } - -.fa-arrows-down-to-line::before { - content: "\e4b8"; } - -.fa-download::before { - content: "\f019"; } - -.fa-face-grin::before { - content: "\f580"; } - -.fa-grin::before { - content: "\f580"; } - -.fa-delete-left::before { - content: "\f55a"; } - -.fa-backspace::before { - content: "\f55a"; } - -.fa-eye-dropper::before { - content: "\f1fb"; } - -.fa-eye-dropper-empty::before { - content: "\f1fb"; } - -.fa-eyedropper::before { - content: "\f1fb"; } - -.fa-file-circle-check::before { - content: "\e5a0"; } - -.fa-forward::before { - content: "\f04e"; } - -.fa-mobile::before { - content: "\f3ce"; } - -.fa-mobile-android::before { - content: "\f3ce"; } - -.fa-mobile-phone::before { - content: "\f3ce"; } - -.fa-face-meh::before { - content: "\f11a"; } - -.fa-meh::before { - content: "\f11a"; } - -.fa-align-center::before { - content: "\f037"; } - -.fa-book-skull::before { - content: "\f6b7"; } - -.fa-book-dead::before { - content: "\f6b7"; } - -.fa-id-card::before { - content: "\f2c2"; } - -.fa-drivers-license::before { - content: "\f2c2"; } - -.fa-outdent::before { - content: "\f03b"; } - -.fa-dedent::before { - content: "\f03b"; } - -.fa-heart-circle-exclamation::before { - content: "\e4fe"; } - -.fa-house::before { - content: "\f015"; } - -.fa-home::before { - content: "\f015"; } - -.fa-home-alt::before { - content: "\f015"; } - -.fa-home-lg-alt::before { - content: "\f015"; } - -.fa-calendar-week::before { - content: "\f784"; } - -.fa-laptop-medical::before { - content: "\f812"; } - -.fa-b::before { - content: "\42"; } - -.fa-file-medical::before { - content: "\f477"; } - -.fa-dice-one::before { - content: "\f525"; } - -.fa-kiwi-bird::before { - content: "\f535"; } - -.fa-arrow-right-arrow-left::before { - content: "\f0ec"; } - -.fa-exchange::before { - content: "\f0ec"; } - -.fa-rotate-right::before { - content: "\f2f9"; } - -.fa-redo-alt::before { - content: "\f2f9"; } - -.fa-rotate-forward::before { - content: "\f2f9"; } - -.fa-utensils::before { - content: "\f2e7"; } - -.fa-cutlery::before { - content: "\f2e7"; } - -.fa-arrow-up-wide-short::before { - content: "\f161"; } - -.fa-sort-amount-up::before { - content: "\f161"; } - -.fa-mill-sign::before { - content: "\e1ed"; } - -.fa-bowl-rice::before { - content: "\e2eb"; } - -.fa-skull::before { - content: "\f54c"; } - -.fa-tower-broadcast::before { - content: "\f519"; } - -.fa-broadcast-tower::before { - content: "\f519"; } - -.fa-truck-pickup::before { - content: "\f63c"; } - -.fa-up-long::before { - content: "\f30c"; } - -.fa-long-arrow-alt-up::before { - content: "\f30c"; } - -.fa-stop::before { - content: "\f04d"; } - -.fa-code-merge::before { - content: "\f387"; } - -.fa-upload::before { - content: "\f093"; } - -.fa-hurricane::before { - content: "\f751"; } - -.fa-mound::before { - content: "\e52d"; } - -.fa-toilet-portable::before { - content: "\e583"; } - -.fa-compact-disc::before { - content: "\f51f"; } - -.fa-file-arrow-down::before { - content: "\f56d"; } - -.fa-file-download::before { - content: "\f56d"; } - -.fa-caravan::before { - content: "\f8ff"; } - -.fa-shield-cat::before { - content: "\e572"; } - -.fa-bolt::before { - content: "\f0e7"; } - -.fa-zap::before { - content: "\f0e7"; } - -.fa-glass-water::before { - content: "\e4f4"; } - -.fa-oil-well::before { - content: "\e532"; } - -.fa-vault::before { - content: "\e2c5"; } - -.fa-mars::before { - content: "\f222"; } - -.fa-toilet::before { - content: "\f7d8"; } - -.fa-plane-circle-xmark::before { - content: "\e557"; } - -.fa-yen-sign::before { - content: "\f157"; } - -.fa-cny::before { - content: "\f157"; } - -.fa-jpy::before { - content: "\f157"; } - -.fa-rmb::before { - content: "\f157"; } - -.fa-yen::before { - content: "\f157"; } - -.fa-ruble-sign::before { - content: "\f158"; } - -.fa-rouble::before { - content: "\f158"; } - -.fa-rub::before { - content: "\f158"; } - -.fa-ruble::before { - content: "\f158"; } - -.fa-sun::before { - content: "\f185"; } - -.fa-guitar::before { - content: "\f7a6"; } - -.fa-face-laugh-wink::before { - content: "\f59c"; } - -.fa-laugh-wink::before { - content: "\f59c"; } - -.fa-horse-head::before { - content: "\f7ab"; } - -.fa-bore-hole::before { - content: "\e4c3"; } - -.fa-industry::before { - content: "\f275"; } - -.fa-circle-down::before { - content: "\f358"; } - -.fa-arrow-alt-circle-down::before { - content: "\f358"; } - -.fa-arrows-turn-to-dots::before { - content: "\e4c1"; } - -.fa-florin-sign::before { - content: "\e184"; } - -.fa-arrow-down-short-wide::before { - content: "\f884"; } - -.fa-sort-amount-desc::before { - content: "\f884"; } - -.fa-sort-amount-down-alt::before { - content: "\f884"; } - -.fa-less-than::before { - content: "\3c"; } - -.fa-angle-down::before { - content: "\f107"; } - -.fa-car-tunnel::before { - content: "\e4de"; } - -.fa-head-side-cough::before { - content: "\e061"; } - -.fa-grip-lines::before { - content: "\f7a4"; } - -.fa-thumbs-down::before { - content: "\f165"; } - -.fa-user-lock::before { - content: "\f502"; } - -.fa-arrow-right-long::before { - content: "\f178"; } - -.fa-long-arrow-right::before { - content: "\f178"; } - -.fa-anchor-circle-xmark::before { - content: "\e4ac"; } - -.fa-ellipsis::before { - content: "\f141"; } - -.fa-ellipsis-h::before { - content: "\f141"; } - -.fa-chess-pawn::before { - content: "\f443"; } - -.fa-kit-medical::before { - content: "\f479"; } - -.fa-first-aid::before { - content: "\f479"; } - -.fa-person-through-window::before { - content: "\e5a9"; } - -.fa-toolbox::before { - content: "\f552"; } - -.fa-hands-holding-circle::before { - content: "\e4fb"; } - -.fa-bug::before { - content: "\f188"; } - -.fa-credit-card::before { - content: "\f09d"; } - -.fa-credit-card-alt::before { - content: "\f09d"; } - -.fa-car::before { - content: "\f1b9"; } - -.fa-automobile::before { - content: "\f1b9"; } - -.fa-hand-holding-hand::before { - content: "\e4f7"; } - -.fa-book-open-reader::before { - content: "\f5da"; } - -.fa-book-reader::before { - content: "\f5da"; } - -.fa-mountain-sun::before { - content: "\e52f"; } - -.fa-arrows-left-right-to-line::before { - content: "\e4ba"; } - -.fa-dice-d20::before { - content: "\f6cf"; } - -.fa-truck-droplet::before { - content: "\e58c"; } - -.fa-file-circle-xmark::before { - content: "\e5a1"; } - -.fa-temperature-arrow-up::before { - content: "\e040"; } - -.fa-temperature-up::before { - content: "\e040"; } - -.fa-medal::before { - content: "\f5a2"; } - -.fa-bed::before { - content: "\f236"; } - -.fa-square-h::before { - content: "\f0fd"; } - -.fa-h-square::before { - content: "\f0fd"; } - -.fa-podcast::before { - content: "\f2ce"; } - -.fa-temperature-full::before { - content: "\f2c7"; } - -.fa-temperature-4::before { - content: "\f2c7"; } - -.fa-thermometer-4::before { - content: "\f2c7"; } - -.fa-thermometer-full::before { - content: "\f2c7"; } - -.fa-bell::before { - content: "\f0f3"; } - -.fa-superscript::before { - content: "\f12b"; } - -.fa-plug-circle-xmark::before { - content: "\e560"; } - -.fa-star-of-life::before { - content: "\f621"; } - -.fa-phone-slash::before { - content: "\f3dd"; } - -.fa-paint-roller::before { - content: "\f5aa"; } - -.fa-handshake-angle::before { - content: "\f4c4"; } - -.fa-hands-helping::before { - content: "\f4c4"; } - -.fa-location-dot::before { - content: "\f3c5"; } - -.fa-map-marker-alt::before { - content: "\f3c5"; } - -.fa-file::before { - content: "\f15b"; } - -.fa-greater-than::before { - content: "\3e"; } - -.fa-person-swimming::before { - content: "\f5c4"; } - -.fa-swimmer::before { - content: "\f5c4"; } - -.fa-arrow-down::before { - content: "\f063"; } - -.fa-droplet::before { - content: "\f043"; } - -.fa-tint::before { - content: "\f043"; } - -.fa-eraser::before { - content: "\f12d"; } - -.fa-earth-americas::before { - content: "\f57d"; } - -.fa-earth::before { - content: "\f57d"; } - -.fa-earth-america::before { - content: "\f57d"; } - -.fa-globe-americas::before { - content: "\f57d"; } - -.fa-person-burst::before { - content: "\e53b"; } - -.fa-dove::before { - content: "\f4ba"; } - -.fa-battery-empty::before { - content: "\f244"; } - -.fa-battery-0::before { - content: "\f244"; } - -.fa-socks::before { - content: "\f696"; } - -.fa-inbox::before { - content: "\f01c"; } - -.fa-section::before { - content: "\e447"; } - -.fa-gauge-high::before { - content: "\f625"; } - -.fa-tachometer-alt::before { - content: "\f625"; } - -.fa-tachometer-alt-fast::before { - content: "\f625"; } - -.fa-envelope-open-text::before { - content: "\f658"; } - -.fa-hospital::before { - content: "\f0f8"; } - -.fa-hospital-alt::before { - content: "\f0f8"; } - -.fa-hospital-wide::before { - content: "\f0f8"; } - -.fa-wine-bottle::before { - content: "\f72f"; } - -.fa-chess-rook::before { - content: "\f447"; } - -.fa-bars-staggered::before { - content: "\f550"; } - -.fa-reorder::before { - content: "\f550"; } - -.fa-stream::before { - content: "\f550"; } - -.fa-dharmachakra::before { - content: "\f655"; } - -.fa-hotdog::before { - content: "\f80f"; } - -.fa-person-walking-with-cane::before { - content: "\f29d"; } - -.fa-blind::before { - content: "\f29d"; } - -.fa-drum::before { - content: "\f569"; } - -.fa-ice-cream::before { - content: "\f810"; } - -.fa-heart-circle-bolt::before { - content: "\e4fc"; } - -.fa-fax::before { - content: "\f1ac"; } - -.fa-paragraph::before { - content: "\f1dd"; } - -.fa-check-to-slot::before { - content: "\f772"; } - -.fa-vote-yea::before { - content: "\f772"; } - -.fa-star-half::before { - content: "\f089"; } - -.fa-boxes-stacked::before { - content: "\f468"; } - -.fa-boxes::before { - content: "\f468"; } - -.fa-boxes-alt::before { - content: "\f468"; } - -.fa-link::before { - content: "\f0c1"; } - -.fa-chain::before { - content: "\f0c1"; } - -.fa-ear-listen::before { - content: "\f2a2"; } - -.fa-assistive-listening-systems::before { - content: "\f2a2"; } - -.fa-tree-city::before { - content: "\e587"; } - -.fa-play::before { - content: "\f04b"; } - -.fa-font::before { - content: "\f031"; } - -.fa-table-cells-row-lock::before { - content: "\e67a"; } - -.fa-rupiah-sign::before { - content: "\e23d"; } - -.fa-magnifying-glass::before { - content: "\f002"; } - -.fa-search::before { - content: "\f002"; } - -.fa-table-tennis-paddle-ball::before { - content: "\f45d"; } - -.fa-ping-pong-paddle-ball::before { - content: "\f45d"; } - -.fa-table-tennis::before { - content: "\f45d"; } - -.fa-person-dots-from-line::before { - content: "\f470"; } - -.fa-diagnoses::before { - content: "\f470"; } - -.fa-trash-can-arrow-up::before { - content: "\f82a"; } - -.fa-trash-restore-alt::before { - content: "\f82a"; } - -.fa-naira-sign::before { - content: "\e1f6"; } - -.fa-cart-arrow-down::before { - content: "\f218"; } - -.fa-walkie-talkie::before { - content: "\f8ef"; } - -.fa-file-pen::before { - content: "\f31c"; } - -.fa-file-edit::before { - content: "\f31c"; } - -.fa-receipt::before { - content: "\f543"; } - -.fa-square-pen::before { - content: "\f14b"; } - -.fa-pen-square::before { - content: "\f14b"; } - -.fa-pencil-square::before { - content: "\f14b"; } - -.fa-suitcase-rolling::before { - content: "\f5c1"; } - -.fa-person-circle-exclamation::before { - content: "\e53f"; } - -.fa-chevron-down::before { - content: "\f078"; } - -.fa-battery-full::before { - content: "\f240"; } - -.fa-battery::before { - content: "\f240"; } - -.fa-battery-5::before { - content: "\f240"; } - -.fa-skull-crossbones::before { - content: "\f714"; } - -.fa-code-compare::before { - content: "\e13a"; } - -.fa-list-ul::before { - content: "\f0ca"; } - -.fa-list-dots::before { - content: "\f0ca"; } - -.fa-school-lock::before { - content: "\e56f"; } - -.fa-tower-cell::before { - content: "\e585"; } - -.fa-down-long::before { - content: "\f309"; } - -.fa-long-arrow-alt-down::before { - content: "\f309"; } - -.fa-ranking-star::before { - content: "\e561"; } - -.fa-chess-king::before { - content: "\f43f"; } - -.fa-person-harassing::before { - content: "\e549"; } - -.fa-brazilian-real-sign::before { - content: "\e46c"; } - -.fa-landmark-dome::before { - content: "\f752"; } - -.fa-landmark-alt::before { - content: "\f752"; } - -.fa-arrow-up::before { - content: "\f062"; } - -.fa-tv::before { - content: "\f26c"; } - -.fa-television::before { - content: "\f26c"; } - -.fa-tv-alt::before { - content: "\f26c"; } - -.fa-shrimp::before { - content: "\e448"; } - -.fa-list-check::before { - content: "\f0ae"; } - -.fa-tasks::before { - content: "\f0ae"; } - -.fa-jug-detergent::before { - content: "\e519"; } - -.fa-circle-user::before { - content: "\f2bd"; } - -.fa-user-circle::before { - content: "\f2bd"; } - -.fa-user-shield::before { - content: "\f505"; } - -.fa-wind::before { - content: "\f72e"; } - -.fa-car-burst::before { - content: "\f5e1"; } - -.fa-car-crash::before { - content: "\f5e1"; } - -.fa-y::before { - content: "\59"; } - -.fa-person-snowboarding::before { - content: "\f7ce"; } - -.fa-snowboarding::before { - content: "\f7ce"; } - -.fa-truck-fast::before { - content: "\f48b"; } - -.fa-shipping-fast::before { - content: "\f48b"; } - -.fa-fish::before { - content: "\f578"; } - -.fa-user-graduate::before { - content: "\f501"; } - -.fa-circle-half-stroke::before { - content: "\f042"; } - -.fa-adjust::before { - content: "\f042"; } - -.fa-clapperboard::before { - content: "\e131"; } - -.fa-circle-radiation::before { - content: "\f7ba"; } - -.fa-radiation-alt::before { - content: "\f7ba"; } - -.fa-baseball::before { - content: "\f433"; } - -.fa-baseball-ball::before { - content: "\f433"; } - -.fa-jet-fighter-up::before { - content: "\e518"; } - -.fa-diagram-project::before { - content: "\f542"; } - -.fa-project-diagram::before { - content: "\f542"; } - -.fa-copy::before { - content: "\f0c5"; } - -.fa-volume-xmark::before { - content: "\f6a9"; } - -.fa-volume-mute::before { - content: "\f6a9"; } - -.fa-volume-times::before { - content: "\f6a9"; } - -.fa-hand-sparkles::before { - content: "\e05d"; } - -.fa-grip::before { - content: "\f58d"; } - -.fa-grip-horizontal::before { - content: "\f58d"; } - -.fa-share-from-square::before { - content: "\f14d"; } - -.fa-share-square::before { - content: "\f14d"; } - -.fa-child-combatant::before { - content: "\e4e0"; } - -.fa-child-rifle::before { - content: "\e4e0"; } - -.fa-gun::before { - content: "\e19b"; } - -.fa-square-phone::before { - content: "\f098"; } - -.fa-phone-square::before { - content: "\f098"; } - -.fa-plus::before { - content: "\2b"; } - -.fa-add::before { - content: "\2b"; } - -.fa-expand::before { - content: "\f065"; } - -.fa-computer::before { - content: "\e4e5"; } - -.fa-xmark::before { - content: "\f00d"; } - -.fa-close::before { - content: "\f00d"; } - -.fa-multiply::before { - content: "\f00d"; } - -.fa-remove::before { - content: "\f00d"; } - -.fa-times::before { - content: "\f00d"; } - -.fa-arrows-up-down-left-right::before { - content: "\f047"; } - -.fa-arrows::before { - content: "\f047"; } - -.fa-chalkboard-user::before { - content: "\f51c"; } - -.fa-chalkboard-teacher::before { - content: "\f51c"; } - -.fa-peso-sign::before { - content: "\e222"; } - -.fa-building-shield::before { - content: "\e4d8"; } - -.fa-baby::before { - content: "\f77c"; } - -.fa-users-line::before { - content: "\e592"; } - -.fa-quote-left::before { - content: "\f10d"; } - -.fa-quote-left-alt::before { - content: "\f10d"; } - -.fa-tractor::before { - content: "\f722"; } - -.fa-trash-arrow-up::before { - content: "\f829"; } - -.fa-trash-restore::before { - content: "\f829"; } - -.fa-arrow-down-up-lock::before { - content: "\e4b0"; } - -.fa-lines-leaning::before { - content: "\e51e"; } - -.fa-ruler-combined::before { - content: "\f546"; } - -.fa-copyright::before { - content: "\f1f9"; } - -.fa-equals::before { - content: "\3d"; } - -.fa-blender::before { - content: "\f517"; } - -.fa-teeth::before { - content: "\f62e"; } - -.fa-shekel-sign::before { - content: "\f20b"; } - -.fa-ils::before { - content: "\f20b"; } - -.fa-shekel::before { - content: "\f20b"; } - -.fa-sheqel::before { - content: "\f20b"; } - -.fa-sheqel-sign::before { - content: "\f20b"; } - -.fa-map::before { - content: "\f279"; } - -.fa-rocket::before { - content: "\f135"; } - -.fa-photo-film::before { - content: "\f87c"; } - -.fa-photo-video::before { - content: "\f87c"; } - -.fa-folder-minus::before { - content: "\f65d"; } - -.fa-store::before { - content: "\f54e"; } - -.fa-arrow-trend-up::before { - content: "\e098"; } - -.fa-plug-circle-minus::before { - content: "\e55e"; } - -.fa-sign-hanging::before { - content: "\f4d9"; } - -.fa-sign::before { - content: "\f4d9"; } - -.fa-bezier-curve::before { - content: "\f55b"; } - -.fa-bell-slash::before { - content: "\f1f6"; } - -.fa-tablet::before { - content: "\f3fb"; } - -.fa-tablet-android::before { - content: "\f3fb"; } - -.fa-school-flag::before { - content: "\e56e"; } - -.fa-fill::before { - content: "\f575"; } - -.fa-angle-up::before { - content: "\f106"; } - -.fa-drumstick-bite::before { - content: "\f6d7"; } - -.fa-holly-berry::before { - content: "\f7aa"; } - -.fa-chevron-left::before { - content: "\f053"; } - -.fa-bacteria::before { - content: "\e059"; } - -.fa-hand-lizard::before { - content: "\f258"; } - -.fa-notdef::before { - content: "\e1fe"; } - -.fa-disease::before { - content: "\f7fa"; } - -.fa-briefcase-medical::before { - content: "\f469"; } - -.fa-genderless::before { - content: "\f22d"; } - -.fa-chevron-right::before { - content: "\f054"; } - -.fa-retweet::before { - content: "\f079"; } - -.fa-car-rear::before { - content: "\f5de"; } - -.fa-car-alt::before { - content: "\f5de"; } - -.fa-pump-soap::before { - content: "\e06b"; } - -.fa-video-slash::before { - content: "\f4e2"; } - -.fa-battery-quarter::before { - content: "\f243"; } - -.fa-battery-2::before { - content: "\f243"; } - -.fa-radio::before { - content: "\f8d7"; } - -.fa-baby-carriage::before { - content: "\f77d"; } - -.fa-carriage-baby::before { - content: "\f77d"; } - -.fa-traffic-light::before { - content: "\f637"; } - -.fa-thermometer::before { - content: "\f491"; } - -.fa-vr-cardboard::before { - content: "\f729"; } - -.fa-hand-middle-finger::before { - content: "\f806"; } - -.fa-percent::before { - content: "\25"; } - -.fa-percentage::before { - content: "\25"; } - -.fa-truck-moving::before { - content: "\f4df"; } - -.fa-glass-water-droplet::before { - content: "\e4f5"; } - -.fa-display::before { - content: "\e163"; } - -.fa-face-smile::before { - content: "\f118"; } - -.fa-smile::before { - content: "\f118"; } - -.fa-thumbtack::before { - content: "\f08d"; } - -.fa-thumb-tack::before { - content: "\f08d"; } - -.fa-trophy::before { - content: "\f091"; } - -.fa-person-praying::before { - content: "\f683"; } - -.fa-pray::before { - content: "\f683"; } - -.fa-hammer::before { - content: "\f6e3"; } - -.fa-hand-peace::before { - content: "\f25b"; } - -.fa-rotate::before { - content: "\f2f1"; } - -.fa-sync-alt::before { - content: "\f2f1"; } - -.fa-spinner::before { - content: "\f110"; } - -.fa-robot::before { - content: "\f544"; } - -.fa-peace::before { - content: "\f67c"; } - -.fa-gears::before { - content: "\f085"; } - -.fa-cogs::before { - content: "\f085"; } - -.fa-warehouse::before { - content: "\f494"; } - -.fa-arrow-up-right-dots::before { - content: "\e4b7"; } - -.fa-splotch::before { - content: "\f5bc"; } - -.fa-face-grin-hearts::before { - content: "\f584"; } - -.fa-grin-hearts::before { - content: "\f584"; } - -.fa-dice-four::before { - content: "\f524"; } - -.fa-sim-card::before { - content: "\f7c4"; } - -.fa-transgender::before { - content: "\f225"; } - -.fa-transgender-alt::before { - content: "\f225"; } - -.fa-mercury::before { - content: "\f223"; } - -.fa-arrow-turn-down::before { - content: "\f149"; } - -.fa-level-down::before { - content: "\f149"; } - -.fa-person-falling-burst::before { - content: "\e547"; } - -.fa-award::before { - content: "\f559"; } - -.fa-ticket-simple::before { - content: "\f3ff"; } - -.fa-ticket-alt::before { - content: "\f3ff"; } - -.fa-building::before { - content: "\f1ad"; } - -.fa-angles-left::before { - content: "\f100"; } - -.fa-angle-double-left::before { - content: "\f100"; } - -.fa-qrcode::before { - content: "\f029"; } - -.fa-clock-rotate-left::before { - content: "\f1da"; } - -.fa-history::before { - content: "\f1da"; } - -.fa-face-grin-beam-sweat::before { - content: "\f583"; } - -.fa-grin-beam-sweat::before { - content: "\f583"; } - -.fa-file-export::before { - content: "\f56e"; } - -.fa-arrow-right-from-file::before { - content: "\f56e"; } - -.fa-shield::before { - content: "\f132"; } - -.fa-shield-blank::before { - content: "\f132"; } - -.fa-arrow-up-short-wide::before { - content: "\f885"; } - -.fa-sort-amount-up-alt::before { - content: "\f885"; } - -.fa-house-medical::before { - content: "\e3b2"; } - -.fa-golf-ball-tee::before { - content: "\f450"; } - -.fa-golf-ball::before { - content: "\f450"; } - -.fa-circle-chevron-left::before { - content: "\f137"; } - -.fa-chevron-circle-left::before { - content: "\f137"; } - -.fa-house-chimney-window::before { - content: "\e00d"; } - -.fa-pen-nib::before { - content: "\f5ad"; } - -.fa-tent-arrow-turn-left::before { - content: "\e580"; } - -.fa-tents::before { - content: "\e582"; } - -.fa-wand-magic::before { - content: "\f0d0"; } - -.fa-magic::before { - content: "\f0d0"; } - -.fa-dog::before { - content: "\f6d3"; } - -.fa-carrot::before { - content: "\f787"; } - -.fa-moon::before { - content: "\f186"; } - -.fa-wine-glass-empty::before { - content: "\f5ce"; } - -.fa-wine-glass-alt::before { - content: "\f5ce"; } - -.fa-cheese::before { - content: "\f7ef"; } - -.fa-yin-yang::before { - content: "\f6ad"; } - -.fa-music::before { - content: "\f001"; } - -.fa-code-commit::before { - content: "\f386"; } - -.fa-temperature-low::before { - content: "\f76b"; } - -.fa-person-biking::before { - content: "\f84a"; } - -.fa-biking::before { - content: "\f84a"; } - -.fa-broom::before { - content: "\f51a"; } - -.fa-shield-heart::before { - content: "\e574"; } - -.fa-gopuram::before { - content: "\f664"; } - -.fa-earth-oceania::before { - content: "\e47b"; } - -.fa-globe-oceania::before { - content: "\e47b"; } - -.fa-square-xmark::before { - content: "\f2d3"; } - -.fa-times-square::before { - content: "\f2d3"; } - -.fa-xmark-square::before { - content: "\f2d3"; } - -.fa-hashtag::before { - content: "\23"; } - -.fa-up-right-and-down-left-from-center::before { - content: "\f424"; } - -.fa-expand-alt::before { - content: "\f424"; } - -.fa-oil-can::before { - content: "\f613"; } - -.fa-t::before { - content: "\54"; } - -.fa-hippo::before { - content: "\f6ed"; } - -.fa-chart-column::before { - content: "\e0e3"; } - -.fa-infinity::before { - content: "\f534"; } - -.fa-vial-circle-check::before { - content: "\e596"; } - -.fa-person-arrow-down-to-line::before { - content: "\e538"; } - -.fa-voicemail::before { - content: "\f897"; } - -.fa-fan::before { - content: "\f863"; } - -.fa-person-walking-luggage::before { - content: "\e554"; } - -.fa-up-down::before { - content: "\f338"; } - -.fa-arrows-alt-v::before { - content: "\f338"; } - -.fa-cloud-moon-rain::before { - content: "\f73c"; } - -.fa-calendar::before { - content: "\f133"; } - -.fa-trailer::before { - content: "\e041"; } - -.fa-bahai::before { - content: "\f666"; } - -.fa-haykal::before { - content: "\f666"; } - -.fa-sd-card::before { - content: "\f7c2"; } - -.fa-dragon::before { - content: "\f6d5"; } - -.fa-shoe-prints::before { - content: "\f54b"; } - -.fa-circle-plus::before { - content: "\f055"; } - -.fa-plus-circle::before { - content: "\f055"; } - -.fa-face-grin-tongue-wink::before { - content: "\f58b"; } - -.fa-grin-tongue-wink::before { - content: "\f58b"; } - -.fa-hand-holding::before { - content: "\f4bd"; } - -.fa-plug-circle-exclamation::before { - content: "\e55d"; } - -.fa-link-slash::before { - content: "\f127"; } - -.fa-chain-broken::before { - content: "\f127"; } - -.fa-chain-slash::before { - content: "\f127"; } - -.fa-unlink::before { - content: "\f127"; } - -.fa-clone::before { - content: "\f24d"; } - -.fa-person-walking-arrow-loop-left::before { - content: "\e551"; } - -.fa-arrow-up-z-a::before { - content: "\f882"; } - -.fa-sort-alpha-up-alt::before { - content: "\f882"; } - -.fa-fire-flame-curved::before { - content: "\f7e4"; } - -.fa-fire-alt::before { - content: "\f7e4"; } - -.fa-tornado::before { - content: "\f76f"; } - -.fa-file-circle-plus::before { - content: "\e494"; } - -.fa-book-quran::before { - content: "\f687"; } - -.fa-quran::before { - content: "\f687"; } - -.fa-anchor::before { - content: "\f13d"; } - -.fa-border-all::before { - content: "\f84c"; } - -.fa-face-angry::before { - content: "\f556"; } - -.fa-angry::before { - content: "\f556"; } - -.fa-cookie-bite::before { - content: "\f564"; } - -.fa-arrow-trend-down::before { - content: "\e097"; } - -.fa-rss::before { - content: "\f09e"; } - -.fa-feed::before { - content: "\f09e"; } - -.fa-draw-polygon::before { - content: "\f5ee"; } - -.fa-scale-balanced::before { - content: "\f24e"; } - -.fa-balance-scale::before { - content: "\f24e"; } - -.fa-gauge-simple-high::before { - content: "\f62a"; } - -.fa-tachometer::before { - content: "\f62a"; } - -.fa-tachometer-fast::before { - content: "\f62a"; } - -.fa-shower::before { - content: "\f2cc"; } - -.fa-desktop::before { - content: "\f390"; } - -.fa-desktop-alt::before { - content: "\f390"; } - -.fa-m::before { - content: "\4d"; } - -.fa-table-list::before { - content: "\f00b"; } - -.fa-th-list::before { - content: "\f00b"; } - -.fa-comment-sms::before { - content: "\f7cd"; } - -.fa-sms::before { - content: "\f7cd"; } - -.fa-book::before { - content: "\f02d"; } - -.fa-user-plus::before { - content: "\f234"; } - -.fa-check::before { - content: "\f00c"; } - -.fa-battery-three-quarters::before { - content: "\f241"; } - -.fa-battery-4::before { - content: "\f241"; } - -.fa-house-circle-check::before { - content: "\e509"; } - -.fa-angle-left::before { - content: "\f104"; } - -.fa-diagram-successor::before { - content: "\e47a"; } - -.fa-truck-arrow-right::before { - content: "\e58b"; } - -.fa-arrows-split-up-and-left::before { - content: "\e4bc"; } - -.fa-hand-fist::before { - content: "\f6de"; } - -.fa-fist-raised::before { - content: "\f6de"; } - -.fa-cloud-moon::before { - content: "\f6c3"; } - -.fa-briefcase::before { - content: "\f0b1"; } - -.fa-person-falling::before { - content: "\e546"; } - -.fa-image-portrait::before { - content: "\f3e0"; } - -.fa-portrait::before { - content: "\f3e0"; } - -.fa-user-tag::before { - content: "\f507"; } - -.fa-rug::before { - content: "\e569"; } - -.fa-earth-europe::before { - content: "\f7a2"; } - -.fa-globe-europe::before { - content: "\f7a2"; } - -.fa-cart-flatbed-suitcase::before { - content: "\f59d"; } - -.fa-luggage-cart::before { - content: "\f59d"; } - -.fa-rectangle-xmark::before { - content: "\f410"; } - -.fa-rectangle-times::before { - content: "\f410"; } - -.fa-times-rectangle::before { - content: "\f410"; } - -.fa-window-close::before { - content: "\f410"; } - -.fa-baht-sign::before { - content: "\e0ac"; } - -.fa-book-open::before { - content: "\f518"; } - -.fa-book-journal-whills::before { - content: "\f66a"; } - -.fa-journal-whills::before { - content: "\f66a"; } - -.fa-handcuffs::before { - content: "\e4f8"; } - -.fa-triangle-exclamation::before { - content: "\f071"; } - -.fa-exclamation-triangle::before { - content: "\f071"; } - -.fa-warning::before { - content: "\f071"; } - -.fa-database::before { - content: "\f1c0"; } - -.fa-share::before { - content: "\f064"; } - -.fa-mail-forward::before { - content: "\f064"; } - -.fa-bottle-droplet::before { - content: "\e4c4"; } - -.fa-mask-face::before { - content: "\e1d7"; } - -.fa-hill-rockslide::before { - content: "\e508"; } - -.fa-right-left::before { - content: "\f362"; } - -.fa-exchange-alt::before { - content: "\f362"; } - -.fa-paper-plane::before { - content: "\f1d8"; } - -.fa-road-circle-exclamation::before { - content: "\e565"; } - -.fa-dungeon::before { - content: "\f6d9"; } - -.fa-align-right::before { - content: "\f038"; } - -.fa-money-bill-1-wave::before { - content: "\f53b"; } - -.fa-money-bill-wave-alt::before { - content: "\f53b"; } - -.fa-life-ring::before { - content: "\f1cd"; } - -.fa-hands::before { - content: "\f2a7"; } - -.fa-sign-language::before { - content: "\f2a7"; } - -.fa-signing::before { - content: "\f2a7"; } - -.fa-calendar-day::before { - content: "\f783"; } - -.fa-water-ladder::before { - content: "\f5c5"; } - -.fa-ladder-water::before { - content: "\f5c5"; } - -.fa-swimming-pool::before { - content: "\f5c5"; } - -.fa-arrows-up-down::before { - content: "\f07d"; } - -.fa-arrows-v::before { - content: "\f07d"; } - -.fa-face-grimace::before { - content: "\f57f"; } - -.fa-grimace::before { - content: "\f57f"; } - -.fa-wheelchair-move::before { - content: "\e2ce"; } - -.fa-wheelchair-alt::before { - content: "\e2ce"; } - -.fa-turn-down::before { - content: "\f3be"; } - -.fa-level-down-alt::before { - content: "\f3be"; } - -.fa-person-walking-arrow-right::before { - content: "\e552"; } - -.fa-square-envelope::before { - content: "\f199"; } - -.fa-envelope-square::before { - content: "\f199"; } - -.fa-dice::before { - content: "\f522"; } - -.fa-bowling-ball::before { - content: "\f436"; } - -.fa-brain::before { - content: "\f5dc"; } - -.fa-bandage::before { - content: "\f462"; } - -.fa-band-aid::before { - content: "\f462"; } - -.fa-calendar-minus::before { - content: "\f272"; } - -.fa-circle-xmark::before { - content: "\f057"; } - -.fa-times-circle::before { - content: "\f057"; } - -.fa-xmark-circle::before { - content: "\f057"; } - -.fa-gifts::before { - content: "\f79c"; } - -.fa-hotel::before { - content: "\f594"; } - -.fa-earth-asia::before { - content: "\f57e"; } - -.fa-globe-asia::before { - content: "\f57e"; } - -.fa-id-card-clip::before { - content: "\f47f"; } - -.fa-id-card-alt::before { - content: "\f47f"; } - -.fa-magnifying-glass-plus::before { - content: "\f00e"; } - -.fa-search-plus::before { - content: "\f00e"; } - -.fa-thumbs-up::before { - content: "\f164"; } - -.fa-user-clock::before { - content: "\f4fd"; } - -.fa-hand-dots::before { - content: "\f461"; } - -.fa-allergies::before { - content: "\f461"; } - -.fa-file-invoice::before { - content: "\f570"; } - -.fa-window-minimize::before { - content: "\f2d1"; } - -.fa-mug-saucer::before { - content: "\f0f4"; } - -.fa-coffee::before { - content: "\f0f4"; } - -.fa-brush::before { - content: "\f55d"; } - -.fa-mask::before { - content: "\f6fa"; } - -.fa-magnifying-glass-minus::before { - content: "\f010"; } - -.fa-search-minus::before { - content: "\f010"; } - -.fa-ruler-vertical::before { - content: "\f548"; } - -.fa-user-large::before { - content: "\f406"; } - -.fa-user-alt::before { - content: "\f406"; } - -.fa-train-tram::before { - content: "\e5b4"; } - -.fa-user-nurse::before { - content: "\f82f"; } - -.fa-syringe::before { - content: "\f48e"; } - -.fa-cloud-sun::before { - content: "\f6c4"; } - -.fa-stopwatch-20::before { - content: "\e06f"; } - -.fa-square-full::before { - content: "\f45c"; } - -.fa-magnet::before { - content: "\f076"; } - -.fa-jar::before { - content: "\e516"; } - -.fa-note-sticky::before { - content: "\f249"; } - -.fa-sticky-note::before { - content: "\f249"; } - -.fa-bug-slash::before { - content: "\e490"; } - -.fa-arrow-up-from-water-pump::before { - content: "\e4b6"; } - -.fa-bone::before { - content: "\f5d7"; } - -.fa-user-injured::before { - content: "\f728"; } - -.fa-face-sad-tear::before { - content: "\f5b4"; } - -.fa-sad-tear::before { - content: "\f5b4"; } - -.fa-plane::before { - content: "\f072"; } - -.fa-tent-arrows-down::before { - content: "\e581"; } - -.fa-exclamation::before { - content: "\21"; } - -.fa-arrows-spin::before { - content: "\e4bb"; } - -.fa-print::before { - content: "\f02f"; } - -.fa-turkish-lira-sign::before { - content: "\e2bb"; } - -.fa-try::before { - content: "\e2bb"; } - -.fa-turkish-lira::before { - content: "\e2bb"; } - -.fa-dollar-sign::before { - content: "\24"; } - -.fa-dollar::before { - content: "\24"; } - -.fa-usd::before { - content: "\24"; } - -.fa-x::before { - content: "\58"; } - -.fa-magnifying-glass-dollar::before { - content: "\f688"; } - -.fa-search-dollar::before { - content: "\f688"; } - -.fa-users-gear::before { - content: "\f509"; } - -.fa-users-cog::before { - content: "\f509"; } - -.fa-person-military-pointing::before { - content: "\e54a"; } - -.fa-building-columns::before { - content: "\f19c"; } - -.fa-bank::before { - content: "\f19c"; } - -.fa-institution::before { - content: "\f19c"; } - -.fa-museum::before { - content: "\f19c"; } - -.fa-university::before { - content: "\f19c"; } - -.fa-umbrella::before { - content: "\f0e9"; } - -.fa-trowel::before { - content: "\e589"; } - -.fa-d::before { - content: "\44"; } - -.fa-stapler::before { - content: "\e5af"; } - -.fa-masks-theater::before { - content: "\f630"; } - -.fa-theater-masks::before { - content: "\f630"; } - -.fa-kip-sign::before { - content: "\e1c4"; } - -.fa-hand-point-left::before { - content: "\f0a5"; } - -.fa-handshake-simple::before { - content: "\f4c6"; } - -.fa-handshake-alt::before { - content: "\f4c6"; } - -.fa-jet-fighter::before { - content: "\f0fb"; } - -.fa-fighter-jet::before { - content: "\f0fb"; } - -.fa-square-share-nodes::before { - content: "\f1e1"; } - -.fa-share-alt-square::before { - content: "\f1e1"; } - -.fa-barcode::before { - content: "\f02a"; } - -.fa-plus-minus::before { - content: "\e43c"; } - -.fa-video::before { - content: "\f03d"; } - -.fa-video-camera::before { - content: "\f03d"; } - -.fa-graduation-cap::before { - content: "\f19d"; } - -.fa-mortar-board::before { - content: "\f19d"; } - -.fa-hand-holding-medical::before { - content: "\e05c"; } - -.fa-person-circle-check::before { - content: "\e53e"; } - -.fa-turn-up::before { - content: "\f3bf"; } - -.fa-level-up-alt::before { - content: "\f3bf"; } - -.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, .td-offline-search-results__close-button:after, -.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: "\f3d0"; } - -.fa-hooli:before { - content: "\f427"; } - -.fa-yelp:before { - content: "\f1e9"; } - -.fa-cc-visa:before { - content: "\f1f0"; } - -.fa-lastfm:before { - content: "\f202"; } - -.fa-shopware:before { - content: "\f5b5"; } - -.fa-creative-commons-nc:before { - content: "\f4e8"; } - -.fa-aws:before { - content: "\f375"; } - -.fa-redhat:before { - content: "\f7bc"; } - -.fa-yoast:before { - content: "\f2b1"; } - -.fa-cloudflare:before { - content: "\e07d"; } - -.fa-ups:before { - content: "\f7e0"; } - -.fa-pixiv:before { - content: "\e640"; } - -.fa-wpexplorer:before { - content: "\f2de"; } - -.fa-dyalog:before { - content: "\f399"; } - -.fa-bity:before { - content: "\f37a"; } - -.fa-stackpath:before { - content: "\f842"; } - -.fa-buysellads:before { - content: "\f20d"; } - -.fa-first-order:before { - content: "\f2b0"; } - -.fa-modx:before { - content: "\f285"; } - -.fa-guilded:before { - content: "\e07e"; } - -.fa-vnv:before { - content: "\f40b"; } - -.fa-square-js:before { - content: "\f3b9"; } - -.fa-js-square:before { - content: "\f3b9"; } - -.fa-microsoft:before { - content: "\f3ca"; } - -.fa-qq:before { - content: "\f1d6"; } - -.fa-orcid:before { - content: "\f8d2"; } - -.fa-java:before { - content: "\f4e4"; } - -.fa-invision:before { - content: "\f7b0"; } - -.fa-creative-commons-pd-alt:before { - content: "\f4ed"; } - -.fa-centercode:before { - content: "\f380"; } - -.fa-glide-g:before { - content: "\f2a6"; } - -.fa-drupal:before { - content: "\f1a9"; } - -.fa-jxl:before { - content: "\e67b"; } - -.fa-hire-a-helper:before { - content: "\f3b0"; } - -.fa-creative-commons-by:before { - content: "\f4e7"; } - -.fa-unity:before { - content: "\e049"; } - -.fa-whmcs:before { - content: "\f40d"; } - -.fa-rocketchat:before { - content: "\f3e8"; } - -.fa-vk:before { - content: "\f189"; } - -.fa-untappd:before { - content: "\f405"; } - -.fa-mailchimp:before { - content: "\f59e"; } - -.fa-css3-alt:before { - content: "\f38b"; } - -.fa-square-reddit:before { - content: "\f1a2"; } - -.fa-reddit-square:before { - content: "\f1a2"; } - -.fa-vimeo-v:before { - content: "\f27d"; } - -.fa-contao:before { - content: "\f26d"; } - -.fa-square-font-awesome:before { - content: "\e5ad"; } - -.fa-deskpro:before { - content: "\f38f"; } - -.fa-brave:before { - content: "\e63c"; } - -.fa-sistrix:before { - content: "\f3ee"; } - -.fa-square-instagram:before { - content: "\e055"; } - -.fa-instagram-square:before { - content: "\e055"; } - -.fa-battle-net:before { - content: "\f835"; } - -.fa-the-red-yeti:before { - content: "\f69d"; } - -.fa-square-hacker-news:before { - content: "\f3af"; } - -.fa-hacker-news-square:before { - content: "\f3af"; } - -.fa-edge:before { - content: "\f282"; } - -.fa-threads:before { - content: "\e618"; } - -.fa-napster:before { - content: "\f3d2"; } - -.fa-square-snapchat:before { - content: "\f2ad"; } - -.fa-snapchat-square:before { - content: "\f2ad"; } - -.fa-google-plus-g:before { - content: "\f0d5"; } - -.fa-artstation:before { - content: "\f77a"; } - -.fa-markdown:before { - content: "\f60f"; } - -.fa-sourcetree:before { - content: "\f7d3"; } - -.fa-google-plus:before { - content: "\f2b3"; } - -.fa-diaspora:before { - content: "\f791"; } - -.fa-foursquare:before { - content: "\f180"; } - -.fa-stack-overflow:before { - content: "\f16c"; } - -.fa-github-alt:before { - content: "\f113"; } - -.fa-phoenix-squadron:before { - content: "\f511"; } - -.fa-pagelines:before { - content: "\f18c"; } - -.fa-algolia:before { - content: "\f36c"; } - -.fa-red-river:before { - content: "\f3e3"; } - -.fa-creative-commons-sa:before { - content: "\f4ef"; } - -.fa-safari:before { - content: "\f267"; } - -.fa-google:before { - content: "\f1a0"; } - -.fa-square-font-awesome-stroke:before { - content: "\f35c"; } - -.fa-font-awesome-alt:before { - content: "\f35c"; } - -.fa-atlassian:before { - content: "\f77b"; } - -.fa-linkedin-in:before { - content: "\f0e1"; } - -.fa-digital-ocean:before { - content: "\f391"; } - -.fa-nimblr:before { - content: "\f5a8"; } - -.fa-chromecast:before { - content: "\f838"; } - -.fa-evernote:before { - content: "\f839"; } - -.fa-hacker-news:before { - content: "\f1d4"; } - -.fa-creative-commons-sampling:before { - content: "\f4f0"; } - -.fa-adversal:before { - content: "\f36a"; } - -.fa-creative-commons:before { - content: "\f25e"; } - -.fa-watchman-monitoring:before { - content: "\e087"; } - -.fa-fonticons:before { - content: "\f280"; } - -.fa-weixin:before { - content: "\f1d7"; } - -.fa-shirtsinbulk:before { - content: "\f214"; } - -.fa-codepen:before { - content: "\f1cb"; } - -.fa-git-alt:before { - content: "\f841"; } - -.fa-lyft:before { - content: "\f3c3"; } - -.fa-rev:before { - content: "\f5b2"; } - -.fa-windows:before { - content: "\f17a"; } - -.fa-wizards-of-the-coast:before { - content: "\f730"; } - -.fa-square-viadeo:before { - content: "\f2aa"; } - -.fa-viadeo-square:before { - content: "\f2aa"; } - -.fa-meetup:before { - content: "\f2e0"; } - -.fa-centos:before { - content: "\f789"; } - -.fa-adn:before { - content: "\f170"; } - -.fa-cloudsmith:before { - content: "\f384"; } - -.fa-opensuse:before { - content: "\e62b"; } - -.fa-pied-piper-alt:before { - content: "\f1a8"; } - -.fa-square-dribbble:before { - content: "\f397"; } - -.fa-dribbble-square:before { - content: "\f397"; } - -.fa-codiepie:before { - content: "\f284"; } - -.fa-node:before { - content: "\f419"; } - -.fa-mix:before { - content: "\f3cb"; } - -.fa-steam:before { - content: "\f1b6"; } - -.fa-cc-apple-pay:before { - content: "\f416"; } - -.fa-scribd:before { - content: "\f28a"; } - -.fa-debian:before { - content: "\e60b"; } - -.fa-openid:before { - content: "\f19b"; } - -.fa-instalod:before { - content: "\e081"; } - -.fa-expeditedssl:before { - content: "\f23e"; } - -.fa-sellcast:before { - content: "\f2da"; } - -.fa-square-twitter:before { - content: "\f081"; } - -.fa-twitter-square:before { - content: "\f081"; } - -.fa-r-project:before { - content: "\f4f7"; } - -.fa-delicious:before { - content: "\f1a5"; } - -.fa-freebsd:before { - content: "\f3a4"; } - -.fa-vuejs:before { - content: "\f41f"; } - -.fa-accusoft:before { - content: "\f369"; } - -.fa-ioxhost:before { - content: "\f208"; } - -.fa-fonticons-fi:before { - content: "\f3a2"; } - -.fa-app-store:before { - content: "\f36f"; } - -.fa-cc-mastercard:before { - content: "\f1f1"; } - -.fa-itunes-note:before { - content: "\f3b5"; } - -.fa-golang:before { - content: "\e40f"; } - -.fa-kickstarter:before { - content: "\f3bb"; } - -.fa-square-kickstarter:before { - content: "\f3bb"; } - -.fa-grav:before { - content: "\f2d6"; } - -.fa-weibo:before { - content: "\f18a"; } - -.fa-uncharted:before { - content: "\e084"; } - -.fa-firstdraft:before { - content: "\f3a1"; } - -.fa-square-youtube:before { - content: "\f431"; } - -.fa-youtube-square:before { - content: "\f431"; } - -.fa-wikipedia-w:before { - content: "\f266"; } - -.fa-wpressr:before { - content: "\f3e4"; } - -.fa-rendact:before { - content: "\f3e4"; } - -.fa-angellist:before { - content: "\f209"; } - -.fa-galactic-republic:before { - content: "\f50c"; } - -.fa-nfc-directional:before { - content: "\e530"; } - -.fa-skype:before { - content: "\f17e"; } - -.fa-joget:before { - content: "\f3b7"; } - -.fa-fedora:before { - content: "\f798"; } - -.fa-stripe-s:before { - content: "\f42a"; } - -.fa-meta:before { - content: "\e49b"; } - -.fa-laravel:before { - content: "\f3bd"; } - -.fa-hotjar:before { - content: "\f3b1"; } - -.fa-bluetooth-b:before { - content: "\f294"; } - -.fa-square-letterboxd:before { - content: "\e62e"; } - -.fa-sticker-mule:before { - content: "\f3f7"; } - -.fa-creative-commons-zero:before { - content: "\f4f3"; } - -.fa-hips:before { - content: "\f452"; } - -.fa-behance:before { - content: "\f1b4"; } - -.fa-reddit:before { - content: "\f1a1"; } - -.fa-discord:before { - content: "\f392"; } - -.fa-chrome:before { - content: "\f268"; } - -.fa-app-store-ios:before { - content: "\f370"; } - -.fa-cc-discover:before { - content: "\f1f2"; } - -.fa-wpbeginner:before { - content: "\f297"; } - -.fa-confluence:before { - content: "\f78d"; } - -.fa-shoelace:before { - content: "\e60c"; } - -.fa-mdb:before { - content: "\f8ca"; } - -.fa-dochub:before { - content: "\f394"; } - -.fa-accessible-icon:before { - content: "\f368"; } - -.fa-ebay:before { - content: "\f4f4"; } - -.fa-amazon:before { - content: "\f270"; } - -.fa-unsplash:before { - content: "\e07c"; } - -.fa-yarn:before { - content: "\f7e3"; } - -.fa-square-steam:before { - content: "\f1b7"; } - -.fa-steam-square:before { - content: "\f1b7"; } - -.fa-500px:before { - content: "\f26e"; } - -.fa-square-vimeo:before { - content: "\f194"; } - -.fa-vimeo-square:before { - content: "\f194"; } - -.fa-asymmetrik:before { - content: "\f372"; } - -.fa-font-awesome:before { - content: "\f2b4"; } - -.fa-font-awesome-flag:before { - content: "\f2b4"; } - -.fa-font-awesome-logo-full:before { - content: "\f2b4"; } - -.fa-gratipay:before { - content: "\f184"; } - -.fa-apple:before { - content: "\f179"; } - -.fa-hive:before { - content: "\e07f"; } - -.fa-gitkraken:before { - content: "\f3a6"; } - -.fa-keybase:before { - content: "\f4f5"; } - -.fa-apple-pay:before { - content: "\f415"; } - -.fa-padlet:before { - content: "\e4a0"; } - -.fa-amazon-pay:before { - content: "\f42c"; } - -.fa-square-github:before { - content: "\f092"; } - -.fa-github-square:before { - content: "\f092"; } - -.fa-stumbleupon:before { - content: "\f1a4"; } - -.fa-fedex:before { - content: "\f797"; } - -.fa-phoenix-framework:before { - content: "\f3dc"; } - -.fa-shopify:before { - content: "\e057"; } - -.fa-neos:before { - content: "\f612"; } - -.fa-square-threads:before { - content: "\e619"; } - -.fa-hackerrank:before { - content: "\f5f7"; } - -.fa-researchgate:before { - content: "\f4f8"; } - -.fa-swift:before { - content: "\f8e1"; } - -.fa-angular:before { - content: "\f420"; } - -.fa-speakap:before { - content: "\f3f3"; } - -.fa-angrycreative:before { - content: "\f36e"; } - -.fa-y-combinator:before { - content: "\f23b"; } - -.fa-empire:before { - content: "\f1d1"; } - -.fa-envira:before { - content: "\f299"; } - -.fa-google-scholar:before { - content: "\e63b"; } - -.fa-square-gitlab:before { - content: "\e5ae"; } - -.fa-gitlab-square:before { - content: "\e5ae"; } - -.fa-studiovinari:before { - content: "\f3f8"; } - -.fa-pied-piper:before { - content: "\f2ae"; } - -.fa-wordpress:before { - content: "\f19a"; } - -.fa-product-hunt:before { - content: "\f288"; } - -.fa-firefox:before { - content: "\f269"; } - -.fa-linode:before { - content: "\f2b8"; } - -.fa-goodreads:before { - content: "\f3a8"; } - -.fa-square-odnoklassniki:before { - content: "\f264"; } - -.fa-odnoklassniki-square:before { - content: "\f264"; } - -.fa-jsfiddle:before { - content: "\f1cc"; } - -.fa-sith:before { - content: "\f512"; } - -.fa-themeisle:before { - content: "\f2b2"; } - -.fa-page4:before { - content: "\f3d7"; } - -.fa-hashnode:before { - content: "\e499"; } - -.fa-react:before { - content: "\f41b"; } - -.fa-cc-paypal:before { - content: "\f1f4"; } - -.fa-squarespace:before { - content: "\f5be"; } - -.fa-cc-stripe:before { - content: "\f1f5"; } - -.fa-creative-commons-share:before { - content: "\f4f2"; } - -.fa-bitcoin:before { - content: "\f379"; } - -.fa-keycdn:before { - content: "\f3ba"; } - -.fa-opera:before { - content: "\f26a"; } - -.fa-itch-io:before { - content: "\f83a"; } - -.fa-umbraco:before { - content: "\f8e8"; } - -.fa-galactic-senate:before { - content: "\f50d"; } - -.fa-ubuntu:before { - content: "\f7df"; } - -.fa-draft2digital:before { - content: "\f396"; } - -.fa-stripe:before { - content: "\f429"; } - -.fa-houzz:before { - content: "\f27c"; } - -.fa-gg:before { - content: "\f260"; } - -.fa-dhl:before { - content: "\f790"; } - -.fa-square-pinterest:before { - content: "\f0d3"; } - -.fa-pinterest-square:before { - content: "\f0d3"; } - -.fa-xing:before { - content: "\f168"; } - -.fa-blackberry:before { - content: "\f37b"; } - -.fa-creative-commons-pd:before { - content: "\f4ec"; } - -.fa-playstation:before { - content: "\f3df"; } - -.fa-quinscape:before { - content: "\f459"; } - -.fa-less:before { - content: "\f41d"; } - -.fa-blogger-b:before { - content: "\f37d"; } - -.fa-opencart:before { - content: "\f23d"; } - -.fa-vine:before { - content: "\f1ca"; } - -.fa-signal-messenger:before { - content: "\e663"; } - -.fa-paypal:before { - content: "\f1ed"; } - -.fa-gitlab:before { - content: "\f296"; } - -.fa-typo3:before { - content: "\f42b"; } - -.fa-reddit-alien:before { - content: "\f281"; } - -.fa-yahoo:before { - content: "\f19e"; } - -.fa-dailymotion:before { - content: "\e052"; } - -.fa-affiliatetheme:before { - content: "\f36b"; } - -.fa-pied-piper-pp:before { - content: "\f1a7"; } - -.fa-bootstrap:before { - content: "\f836"; } - -.fa-odnoklassniki:before { - content: "\f263"; } - -.fa-nfc-symbol:before { - content: "\e531"; } - -.fa-mintbit:before { - content: "\e62f"; } - -.fa-ethereum:before { - content: "\f42e"; } - -.fa-speaker-deck:before { - content: "\f83c"; } - -.fa-creative-commons-nc-eu:before { - content: "\f4e9"; } - -.fa-patreon:before { - content: "\f3d9"; } - -.fa-avianex:before { - content: "\f374"; } - -.fa-ello:before { - content: "\f5f1"; } - -.fa-gofore:before { - content: "\f3a7"; } - -.fa-bimobject:before { - content: "\f378"; } - -.fa-brave-reverse:before { - content: "\e63d"; } - -.fa-facebook-f:before { - content: "\f39e"; } - -.fa-square-google-plus:before { - content: "\f0d4"; } - -.fa-google-plus-square:before { - content: "\f0d4"; } - -.fa-web-awesome:before { - content: "\e682"; } - -.fa-mandalorian:before { - content: "\f50f"; } - -.fa-first-order-alt:before { - content: "\f50a"; } - -.fa-osi:before { - content: "\f41a"; } - -.fa-google-wallet:before { - content: "\f1ee"; } - -.fa-d-and-d-beyond:before { - content: "\f6ca"; } - -.fa-periscope:before { - content: "\f3da"; } - -.fa-fulcrum:before { - content: "\f50b"; } - -.fa-cloudscale:before { - content: "\f383"; } - -.fa-forumbee:before { - content: "\f211"; } - -.fa-mizuni:before { - content: "\f3cc"; } - -.fa-schlix:before { - content: "\f3ea"; } - -.fa-square-xing:before { - content: "\f169"; } - -.fa-xing-square:before { - content: "\f169"; } - -.fa-bandcamp:before { - content: "\f2d5"; } - -.fa-wpforms:before { - content: "\f298"; } - -.fa-cloudversify:before { - content: "\f385"; } - -.fa-usps:before { - content: "\f7e1"; } - -.fa-megaport:before { - content: "\f5a3"; } - -.fa-magento:before { - content: "\f3c4"; } - -.fa-spotify:before { - content: "\f1bc"; } - -.fa-optin-monster:before { - content: "\f23c"; } - -.fa-fly:before { - content: "\f417"; } - -.fa-aviato:before { - content: "\f421"; } - -.fa-itunes:before { - content: "\f3b4"; } - -.fa-cuttlefish:before { - content: "\f38c"; } - -.fa-blogger:before { - content: "\f37c"; } - -.fa-flickr:before { - content: "\f16e"; } - -.fa-viber:before { - content: "\f409"; } - -.fa-soundcloud:before { - content: "\f1be"; } - -.fa-digg:before { - content: "\f1a6"; } - -.fa-tencent-weibo:before { - content: "\f1d5"; } - -.fa-letterboxd:before { - content: "\e62d"; } - -.fa-symfony:before { - content: "\f83d"; } - -.fa-maxcdn:before { - content: "\f136"; } - -.fa-etsy:before { - content: "\f2d7"; } - -.fa-facebook-messenger:before { - content: "\f39f"; } - -.fa-audible:before { - content: "\f373"; } - -.fa-think-peaks:before { - content: "\f731"; } - -.fa-bilibili:before { - content: "\e3d9"; } - -.fa-erlang:before { - content: "\f39d"; } - -.fa-x-twitter:before { - content: "\e61b"; } - -.fa-cotton-bureau:before { - content: "\f89e"; } - -.fa-dashcube:before { - content: "\f210"; } - -.fa-42-group:before { - content: "\e080"; } - -.fa-innosoft:before { - content: "\e080"; } - -.fa-stack-exchange:before { - content: "\f18d"; } - -.fa-elementor:before { - content: "\f430"; } - -.fa-square-pied-piper:before { - content: "\e01e"; } - -.fa-pied-piper-square:before { - content: "\e01e"; } - -.fa-creative-commons-nd:before { - content: "\f4eb"; } - -.fa-palfed:before { - content: "\f3d8"; } - -.fa-superpowers:before { - content: "\f2dd"; } - -.fa-resolving:before { - content: "\f3e7"; } - -.fa-xbox:before { - content: "\f412"; } - -.fa-square-web-awesome-stroke:before { - content: "\e684"; } - -.fa-searchengin:before { - content: "\f3eb"; } - -.fa-tiktok:before { - content: "\e07b"; } - -.fa-square-facebook:before { - content: "\f082"; } - -.fa-facebook-square:before { - content: "\f082"; } - -.fa-renren:before { - content: "\f18b"; } - -.fa-linux:before { - content: "\f17c"; } - -.fa-glide:before { - content: "\f2a5"; } - -.fa-linkedin:before { - content: "\f08c"; } - -.fa-hubspot:before { - content: "\f3b2"; } - -.fa-deploydog:before { - content: "\f38e"; } - -.fa-twitch:before { - content: "\f1e8"; } - -.fa-ravelry:before { - content: "\f2d9"; } - -.fa-mixer:before { - content: "\e056"; } - -.fa-square-lastfm:before { - content: "\f203"; } - -.fa-lastfm-square:before { - content: "\f203"; } - -.fa-vimeo:before { - content: "\f40a"; } - -.fa-mendeley:before { - content: "\f7b3"; } - -.fa-uniregistry:before { - content: "\f404"; } - -.fa-figma:before { - content: "\f799"; } - -.fa-creative-commons-remix:before { - content: "\f4ee"; } - -.fa-cc-amazon-pay:before { - content: "\f42d"; } - -.fa-dropbox:before { - content: "\f16b"; } - -.fa-instagram:before { - content: "\f16d"; } - -.fa-cmplid:before { - content: "\e360"; } - -.fa-upwork:before { - content: "\e641"; } - -.fa-facebook:before { - content: "\f09a"; } - -.fa-gripfire:before { - content: "\f3ac"; } - -.fa-jedi-order:before { - content: "\f50e"; } - -.fa-uikit:before { - content: "\f403"; } - -.fa-fort-awesome-alt:before { - content: "\f3a3"; } - -.fa-phabricator:before { - content: "\f3db"; } - -.fa-ussunnah:before { - content: "\f407"; } - -.fa-earlybirds:before { - content: "\f39a"; } - -.fa-trade-federation:before { - content: "\f513"; } - -.fa-autoprefixer:before { - content: "\f41c"; } - -.fa-whatsapp:before { - content: "\f232"; } - -.fa-square-upwork:before { - content: "\e67c"; } - -.fa-slideshare:before { - content: "\f1e7"; } - -.fa-google-play:before { - content: "\f3ab"; } - -.fa-viadeo:before { - content: "\f2a9"; } - -.fa-line:before { - content: "\f3c0"; } - -.fa-google-drive:before { - content: "\f3aa"; } - -.fa-servicestack:before { - content: "\f3ec"; } - -.fa-simplybuilt:before { - content: "\f215"; } - -.fa-bitbucket:before { - content: "\f171"; } - -.fa-imdb:before { - content: "\f2d8"; } - -.fa-deezer:before { - content: "\e077"; } - -.fa-raspberry-pi:before { - content: "\f7bb"; } - -.fa-jira:before { - content: "\f7b1"; } - -.fa-docker:before { - content: "\f395"; } - -.fa-screenpal:before { - content: "\e570"; } - -.fa-bluetooth:before { - content: "\f293"; } - -.fa-gitter:before { - content: "\f426"; } - -.fa-d-and-d:before { - content: "\f38d"; } - -.fa-microblog:before { - content: "\e01a"; } - -.fa-cc-diners-club:before { - content: "\f24c"; } - -.fa-gg-circle:before { - content: "\f261"; } - -.fa-pied-piper-hat:before { - content: "\f4e5"; } - -.fa-kickstarter-k:before { - content: "\f3bc"; } - -.fa-yandex:before { - content: "\f413"; } - -.fa-readme:before { - content: "\f4d5"; } - -.fa-html5:before { - content: "\f13b"; } - -.fa-sellsy:before { - content: "\f213"; } - -.fa-square-web-awesome:before { - content: "\e683"; } - -.fa-sass:before { - content: "\f41e"; } - -.fa-wirsindhandwerk:before { - content: "\e2d0"; } - -.fa-wsh:before { - content: "\e2d0"; } - -.fa-buromobelexperte:before { - content: "\f37f"; } - -.fa-salesforce:before { - content: "\f83b"; } - -.fa-octopus-deploy:before { - content: "\e082"; } - -.fa-medapps:before { - content: "\f3c6"; } - -.fa-ns8:before { - content: "\f3d5"; } - -.fa-pinterest-p:before { - content: "\f231"; } - -.fa-apper:before { - content: "\f371"; } - -.fa-fort-awesome:before { - content: "\f286"; } - -.fa-waze:before { - content: "\f83f"; } - -.fa-bluesky:before { - content: "\e671"; } - -.fa-cc-jcb:before { - content: "\f24b"; } - -.fa-snapchat:before { - content: "\f2ab"; } - -.fa-snapchat-ghost:before { - content: "\f2ab"; } - -.fa-fantasy-flight-games:before { - content: "\f6dc"; } - -.fa-rust:before { - content: "\e07a"; } - -.fa-wix:before { - content: "\f5cf"; } - -.fa-square-behance:before { - content: "\f1b5"; } - -.fa-behance-square:before { - content: "\f1b5"; } - -.fa-supple:before { - content: "\f3f9"; } - -.fa-webflow:before { - content: "\e65c"; } - -.fa-rebel:before { - content: "\f1d0"; } - -.fa-css3:before { - content: "\f13c"; } - -.fa-staylinked:before { - content: "\f3f5"; } - -.fa-kaggle:before { - content: "\f5fa"; } - -.fa-space-awesome:before { - content: "\e5ac"; } - -.fa-deviantart:before { - content: "\f1bd"; } - -.fa-cpanel:before { - content: "\f388"; } - -.fa-goodreads-g:before { - content: "\f3a9"; } - -.fa-square-git:before { - content: "\f1d2"; } - -.fa-git-square:before { - content: "\f1d2"; } - -.fa-square-tumblr:before { - content: "\f174"; } - -.fa-tumblr-square:before { - content: "\f174"; } - -.fa-trello:before { - content: "\f181"; } - -.fa-creative-commons-nc-jp:before { - content: "\f4ea"; } - -.fa-get-pocket:before { - content: "\f265"; } - -.fa-perbyte:before { - content: "\e083"; } - -.fa-grunt:before { - content: "\f3ad"; } - -.fa-weebly:before { - content: "\f5cc"; } - -.fa-connectdevelop:before { - content: "\f20e"; } - -.fa-leanpub:before { - content: "\f212"; } - -.fa-black-tie:before { - content: "\f27e"; } - -.fa-themeco:before { - content: "\f5c6"; } - -.fa-python:before { - content: "\f3e2"; } - -.fa-android:before { - content: "\f17b"; } - -.fa-bots:before { - content: "\e340"; } - -.fa-free-code-camp:before { - content: "\f2c5"; } - -.fa-hornbill:before { - content: "\f592"; } - -.fa-js:before { - content: "\f3b8"; } - -.fa-ideal:before { - content: "\e013"; } - -.fa-git:before { - content: "\f1d3"; } - -.fa-dev:before { - content: "\f6cc"; } - -.fa-sketch:before { - content: "\f7c6"; } - -.fa-yandex-international:before { - content: "\f414"; } - -.fa-cc-amex:before { - content: "\f1f3"; } - -.fa-uber:before { - content: "\f402"; } - -.fa-github:before { - content: "\f09b"; } - -.fa-php:before { - content: "\f457"; } - -.fa-alipay:before { - content: "\f642"; } - -.fa-youtube:before { - content: "\f167"; } - -.fa-skyatlas:before { - content: "\f216"; } - -.fa-firefox-browser:before { - content: "\e007"; } - -.fa-replyd:before { - content: "\f3e6"; } - -.fa-suse:before { - content: "\f7d6"; } - -.fa-jenkins:before { - content: "\f3b6"; } - -.fa-twitter:before { - content: "\f099"; } - -.fa-rockrms:before { - content: "\f3e9"; } - -.fa-pinterest:before { - content: "\f0d2"; } - -.fa-buffer:before { - content: "\f837"; } - -.fa-npm:before { - content: "\f3d4"; } - -.fa-yammer:before { - content: "\f840"; } - -.fa-btc:before { - content: "\f15a"; } - -.fa-dribbble:before { - content: "\f17d"; } - -.fa-stumbleupon-circle:before { - content: "\f1a3"; } - -.fa-internet-explorer:before { - content: "\f26b"; } - -.fa-stubber:before { - content: "\e5c7"; } - -.fa-telegram:before { - content: "\f2c6"; } - -.fa-telegram-plane:before { - content: "\f2c6"; } - -.fa-old-republic:before { - content: "\f510"; } - -.fa-odysee:before { - content: "\e5c6"; } - -.fa-square-whatsapp:before { - content: "\f40c"; } - -.fa-whatsapp-square:before { - content: "\f40c"; } - -.fa-node-js:before { - content: "\f3d3"; } - -.fa-edge-legacy:before { - content: "\e078"; } - -.fa-slack:before { - content: "\f198"; } - -.fa-slack-hash:before { - content: "\f198"; } - -.fa-medrt:before { - content: "\f3c8"; } - -.fa-usb:before { - content: "\f287"; } - -.fa-tumblr:before { - content: "\f173"; } - -.fa-vaadin:before { - content: "\f408"; } - -.fa-quora:before { - content: "\f2c4"; } - -.fa-square-x-twitter:before { - content: "\e61a"; } - -.fa-reacteurope:before { - content: "\f75d"; } - -.fa-medium:before { - content: "\f23a"; } - -.fa-medium-m:before { - content: "\f23a"; } - -.fa-amilia:before { - content: "\f36d"; } - -.fa-mixcloud:before { - content: "\f289"; } - -.fa-flipboard:before { - content: "\f44d"; } - -.fa-viacoin:before { - content: "\f237"; } - -.fa-critical-role:before { - content: "\f6c9"; } - -.fa-sitrox:before { - content: "\e44a"; } - -.fa-discourse:before { - content: "\f393"; } - -.fa-joomla:before { - content: "\f1aa"; } - -.fa-mastodon:before { - content: "\f4f6"; } - -.fa-airbnb:before { - content: "\f834"; } - -.fa-wolf-pack-battalion:before { - content: "\f514"; } - -.fa-buy-n-large:before { - content: "\f8a6"; } - -.fa-gulp:before { - content: "\f3ae"; } - -.fa-creative-commons-sampling-plus:before { - content: "\f4f1"; } - -.fa-strava:before { - content: "\f428"; } - -.fa-ember:before { - content: "\f423"; } - -.fa-canadian-maple-leaf:before { - content: "\f785"; } - -.fa-teamspeak:before { - content: "\f4f9"; } - -.fa-pushed:before { - content: "\f3e1"; } - -.fa-wordpress-simple:before { - content: "\f411"; } - -.fa-nutritionix:before { - content: "\f3d6"; } - -.fa-wodu:before { - content: "\e088"; } - -.fa-google-pay:before { - content: "\e079"; } - -.fa-intercom:before { - content: "\f7af"; } - -.fa-zhihu:before { - content: "\f63f"; } - -.fa-korvue:before { - content: "\f42f"; } - -.fa-pix:before { - content: "\e43a"; } - -.fa-steam-symbol:before { - content: "\f3f6"; } - -/* -Projects can override this file. For details, see: -https://www.docsy.dev/docs/adding-content/lookandfeel/#project-style-files -*/ -.td-border-top { - border: none; - border-top: 1px solid #eee; } - -.td-border-none { - border: none; } - -.td-block-padding, .td-default main section { - padding-top: 4rem; - padding-bottom: 4rem; } - @media (min-width: 768px) { - .td-block-padding, .td-default main section { - padding-top: 5rem; - padding-bottom: 5rem; } } -.td-overlay { - position: relative; } - .td-overlay::after { - content: ""; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; } - .td-overlay--dark::after { - background-color: rgba(64, 63, 76, 0.3); } - .td-overlay--light::after { - background-color: rgba(211, 243, 238, 0.3); } - .td-overlay__inner { - position: relative; - z-index: 1; } - -@media (min-width: 992px) { - .td-max-width-on-larger-screens, .td-card.card, .td-card-group.card-group, .td-content > .tab-content .tab-pane, .td-content .footnotes, - .td-content > .alert, - .td-content > .highlight, - .td-content > .lead, - .td-content > .td-table, - .td-box .td-content > table, - .td-content > table, - .td-content > blockquote, - .td-content > dl dd, - .td-content > h1, - .td-content > .h1, - .td-content > h2, - .td-content > .h2, - .td-content > ol, - .td-content > p, - .td-content > pre, - .td-content > ul { - max-width: 80%; } } - -.-bg-blue { - color: #fff; - background-color: #0d6efd; } - -.-bg-blue p:not(.p-initial) > a { - color: #81b3fe; } - .-bg-blue p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-blue { - color: #0d6efd; } - -.-bg-indigo { - color: #fff; - background-color: #6610f2; } - -.-bg-indigo p:not(.p-initial) > a { - color: #85b6fe; } - .-bg-indigo p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-indigo { - color: #6610f2; } - -.-bg-purple { - color: #fff; - background-color: #6f42c1; } - -.-bg-purple p:not(.p-initial) > a { - color: #84b5fe; } - .-bg-purple p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-purple { - color: #6f42c1; } - -.-bg-pink { - color: #fff; - background-color: #d63384; } - -.-bg-pink p:not(.p-initial) > a { - color: #81b4fe; } - .-bg-pink p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-pink { - color: #d63384; } - -.-bg-red { - color: #fff; - background-color: #dc3545; } - -.-bg-red p:not(.p-initial) > a { - color: #7db1fe; } - .-bg-red p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-red { - color: #dc3545; } - -.-bg-orange { - color: #000; - background-color: #fd7e14; } - -.-bg-orange p:not(.p-initial) > a { - color: #073b87; } - .-bg-orange p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-orange { - color: #fd7e14; } - -.-bg-yellow { - color: #000; - background-color: #ffc107; } - -.-bg-yellow p:not(.p-initial) > a { - color: #073982; } - .-bg-yellow p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-yellow { - color: #ffc107; } - -.-bg-green { - color: #fff; - background-color: #198754; } - -.-bg-green p:not(.p-initial) > a { - color: #b3d2fe; } - .-bg-green p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-green { - color: #198754; } - -.-bg-teal { - color: #000; - background-color: #20c997; } - -.-bg-teal p:not(.p-initial) > a { - color: #063274; } - .-bg-teal p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-teal { - color: #20c997; } - -.-bg-cyan { - color: #000; - background-color: #0dcaf0; } - -.-bg-cyan p:not(.p-initial) > a { - color: #06377e; } - .-bg-cyan p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-cyan { - color: #0dcaf0; } - -.-bg-black { - color: #fff; - background-color: #000; } - -.-bg-black p:not(.p-initial) > a { - color: white; } - .-bg-black p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-black { - color: #000; } - -.-bg-white { - color: #000; - background-color: #fff; } - -.-bg-white p:not(.p-initial) > a { - color: #0d6efd; } - .-bg-white p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-white { - color: #fff; } - -.-bg-gray { - color: #fff; - background-color: #6c757d; } - -.-bg-gray p:not(.p-initial) > a { - color: #90bdfe; } - .-bg-gray p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-gray { - color: #6c757d; } - -.-bg-gray-dark { - color: #fff; - background-color: #343a40; } - -.-bg-gray-dark p:not(.p-initial) > a { - color: #c8deff; } - .-bg-gray-dark p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-gray-dark { - color: #343a40; } - -.-bg-primary { - color: #fff; - background-color: #30638e; } - -.-bg-primary p:not(.p-initial) > a { - color: #a5c9fe; } - .-bg-primary p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-primary { - color: #30638e; } - -.-bg-secondary { - color: #000; - background-color: #ffa630; } - -.-bg-secondary p:not(.p-initial) > a { - color: #084196; } - .-bg-secondary p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-secondary { - color: #ffa630; } - -.-bg-success { - color: #000; - background-color: #3772ff; } - -.-bg-success p:not(.p-initial) > a { - color: #08439a; } - .-bg-success p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-success { - color: #3772ff; } - -.-bg-info { - color: #000; - background-color: #c0e0de; } - -.-bg-info p:not(.p-initial) > a { - color: #0b5ace; } - .-bg-info p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-info { - color: #c0e0de; } - -.-bg-warning { - color: #000; - background-color: #ed6a5a; } - -.-bg-warning p:not(.p-initial) > a { - color: #0847a2; } - .-bg-warning p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-warning { - color: #ed6a5a; } - -.-bg-danger { - color: #000; - background-color: #ed6a5a; } - -.-bg-danger p:not(.p-initial) > a { - color: #0847a2; } - .-bg-danger p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-danger { - color: #ed6a5a; } - -.-bg-light { - color: #000; - background-color: #d3f3ee; } - -.-bg-light p:not(.p-initial) > a { - color: #0c62e1; } - .-bg-light p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-light { - color: #d3f3ee; } - -.-bg-dark { - color: #fff; - background-color: #403f4c; } - -.-bg-dark p:not(.p-initial) > a { - color: #bdd7fe; } - .-bg-dark p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-dark { - color: #403f4c; } - -.-bg-100 { - color: #000; - background-color: #f8f9fa; } - -.-bg-100 p:not(.p-initial) > a { - color: #0d6bf7; } - .-bg-100 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-100 { - color: #f8f9fa; } - -.-bg-200 { - color: #000; - background-color: #e9ecef; } - -.-bg-200 p:not(.p-initial) > a { - color: #0c66ea; } - .-bg-200 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-200 { - color: #e9ecef; } - -.-bg-300 { - color: #000; - background-color: #dee2e6; } - -.-bg-300 p:not(.p-initial) > a { - color: #0c61e0; } - .-bg-300 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-300 { - color: #dee2e6; } - -.-bg-400 { - color: #000; - background-color: #ced4da; } - -.-bg-400 p:not(.p-initial) > a { - color: #0b5bd2; } - .-bg-400 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-400 { - color: #ced4da; } - -.-bg-500 { - color: #000; - background-color: #adb5bd; } - -.-bg-500 p:not(.p-initial) > a { - color: #094eb4; } - .-bg-500 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-500 { - color: #adb5bd; } - -.-bg-600 { - color: #fff; - background-color: #6c757d; } - -.-bg-600 p:not(.p-initial) > a { - color: #90bdfe; } - .-bg-600 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-600 { - color: #6c757d; } - -.-bg-700 { - color: #fff; - background-color: #495057; } - -.-bg-700 p:not(.p-initial) > a { - color: #b3d2fe; } - .-bg-700 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-700 { - color: #495057; } - -.-bg-800 { - color: #fff; - background-color: #343a40; } - -.-bg-800 p:not(.p-initial) > a { - color: #c8deff; } - .-bg-800 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-800 { - color: #343a40; } - -.-bg-900 { - color: #fff; - background-color: #212529; } - -.-bg-900 p:not(.p-initial) > a { - color: #dceaff; } - .-bg-900 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-900 { - color: #212529; } - -.-bg-0 { - color: #fff; - background-color: #403f4c; } - -.-bg-0 p:not(.p-initial) > a { - color: #bdd7fe; } - .-bg-0 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-0 { - color: #403f4c; } - -.-bg-1 { - color: #fff; - background-color: #30638e; } - -.-bg-1 p:not(.p-initial) > a { - color: #a5c9fe; } - .-bg-1 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-1 { - color: #30638e; } - -.-bg-2 { - color: #000; - background-color: #ffa630; } - -.-bg-2 p:not(.p-initial) > a { - color: #084196; } - .-bg-2 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-2 { - color: #ffa630; } - -.-bg-3 { - color: #000; - background-color: #c0e0de; } - -.-bg-3 p:not(.p-initial) > a { - color: #0b5ace; } - .-bg-3 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-3 { - color: #c0e0de; } - -.-bg-4 { - color: #000; - background-color: #fff; } - -.-bg-4 p:not(.p-initial) > a { - color: #0d6efd; } - .-bg-4 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-4 { - color: #fff; } - -.-bg-5 { - color: #fff; - background-color: #6c757d; } - -.-bg-5 p:not(.p-initial) > a { - color: #90bdfe; } - .-bg-5 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-5 { - color: #6c757d; } - -.-bg-6 { - color: #000; - background-color: #3772ff; } - -.-bg-6 p:not(.p-initial) > a { - color: #08439a; } - .-bg-6 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-6 { - color: #3772ff; } - -.-bg-7 { - color: #000; - background-color: #ed6a5a; } - -.-bg-7 p:not(.p-initial) > a { - color: #0847a2; } - .-bg-7 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-7 { - color: #ed6a5a; } - -.-bg-8 { - color: #fff; - background-color: #403f4c; } - -.-bg-8 p:not(.p-initial) > a { - color: #bdd7fe; } - .-bg-8 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-8 { - color: #403f4c; } - -.-bg-9 { - color: #000; - background-color: #ed6a5a; } - -.-bg-9 p:not(.p-initial) > a { - color: #0847a2; } - .-bg-9 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-9 { - color: #ed6a5a; } - -.-bg-10 { - color: #fff; - background-color: #30638e; } - -.-bg-10 p:not(.p-initial) > a { - color: #a5c9fe; } - .-bg-10 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-10 { - color: #30638e; } - -.-bg-11 { - color: #000; - background-color: #ffa630; } - -.-bg-11 p:not(.p-initial) > a { - color: #084196; } - .-bg-11 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-11 { - color: #ffa630; } - -.-bg-12 { - color: #000; - background-color: #c0e0de; } - -.-bg-12 p:not(.p-initial) > a { - color: #0b5ace; } - .-bg-12 p:not(.p-initial) > a:hover { - color: #094db1; } - -.-text-12 { - color: #c0e0de; } - -.td-table:not(.td-initial), .td-content table:not(.td-initial), .td-box table:not(.td-initial) { - display: block; } - -.td-box--height-min { - min-height: 300px; } - -.td-box--height-med { - min-height: 400px; } - -.td-box--height-max { - min-height: 500px; } - -.td-box--height-full { - min-height: 100vh; } - -@media (min-width: 768px) { - .td-box--height-min { - min-height: 450px; } - .td-box--height-med { - min-height: 500px; } - .td-box--height-max { - min-height: 650px; } } - -.td-box .row { - padding-left: 5vw; - padding-right: 5vw; } - -.td-box.linkbox { - padding: 5vh 5vw; } - -.td-box--0 { - color: #fff; - background-color: #403f4c; } - .td-box--0 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #403f4c transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--0 p > a, .td-box--0 span > a { - color: #bdd7fe; } - .td-box--0 p > a:hover, .td-box--0 span > a:hover { - color: #d1e3fe; } - -.td-box--1 { - color: #fff; - background-color: #30638e; } - .td-box--1 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #30638e transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--1 p > a, .td-box--1 span > a { - color: #a5c9fe; } - .td-box--1 p > a:hover, .td-box--1 span > a:hover { - color: #c0d9fe; } - -.td-box--2 { - color: #000; - background-color: #ffa630; } - .td-box--2 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #ffa630 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--2 p > a, .td-box--2 span > a { - color: #084196; } - .td-box--2 p > a:hover, .td-box--2 span > a:hover { - color: #062e69; } - -.td-box--3 { - color: #000; - background-color: #c0e0de; } - .td-box--3 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #c0e0de transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--3 p > a, .td-box--3 span > a { - color: #0b5ace; } - .td-box--3 p > a:hover, .td-box--3 span > a:hover { - color: #083f90; } - -.td-box--4 { - color: #000; - background-color: #fff; } - .td-box--4 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #fff transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--4 p > a, .td-box--4 span > a { - color: #0d6efd; } - .td-box--4 p > a:hover, .td-box--4 span > a:hover { - color: #094db1; } - -.td-box--5 { - color: #fff; - background-color: #6c757d; } - .td-box--5 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #6c757d transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--5 p > a, .td-box--5 span > a { - color: #90bdfe; } - .td-box--5 p > a:hover, .td-box--5 span > a:hover { - color: #b1d1fe; } - -.td-box--6 { - color: #000; - background-color: #3772ff; } - .td-box--6 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #3772ff transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--6 p > a, .td-box--6 span > a { - color: #08439a; } - .td-box--6 p > a:hover, .td-box--6 span > a:hover { - color: #062f6c; } - -.td-box--7 { - color: #000; - background-color: #ed6a5a; } - .td-box--7 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #ed6a5a transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--7 p > a, .td-box--7 span > a { - color: #0847a2; } - .td-box--7 p > a:hover, .td-box--7 span > a:hover { - color: #063271; } - -.td-box--8 { - color: #fff; - background-color: #403f4c; } - .td-box--8 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #403f4c transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--8 p > a, .td-box--8 span > a { - color: #bdd7fe; } - .td-box--8 p > a:hover, .td-box--8 span > a:hover { - color: #d1e3fe; } - -.td-box--9 { - color: #000; - background-color: #ed6a5a; } - .td-box--9 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #ed6a5a transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--9 p > a, .td-box--9 span > a { - color: #0847a2; } - .td-box--9 p > a:hover, .td-box--9 span > a:hover { - color: #063271; } - -.td-box--10 { - color: #fff; - background-color: #30638e; } - .td-box--10 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #30638e transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--10 p > a, .td-box--10 span > a { - color: #a5c9fe; } - .td-box--10 p > a:hover, .td-box--10 span > a:hover { - color: #c0d9fe; } - -.td-box--11 { - color: #000; - background-color: #ffa630; } - .td-box--11 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #ffa630 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--11 p > a, .td-box--11 span > a { - color: #084196; } - .td-box--11 p > a:hover, .td-box--11 span > a:hover { - color: #062e69; } - -.td-box--12 { - color: #000; - background-color: #c0e0de; } - .td-box--12 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #c0e0de transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--12 p > a, .td-box--12 span > a { - color: #0b5ace; } - .td-box--12 p > a:hover, .td-box--12 span > a:hover { - color: #083f90; } - -.td-box--blue { - color: #fff; - background-color: #0d6efd; } - .td-box--blue .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #0d6efd transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--blue p > a, .td-box--blue span > a { - color: #81b3fe; } - .td-box--blue p > a:hover, .td-box--blue span > a:hover { - color: #a7cafe; } - -.td-box--indigo { - color: #fff; - background-color: #6610f2; } - .td-box--indigo .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #6610f2 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--indigo p > a, .td-box--indigo span > a { - color: #85b6fe; } - .td-box--indigo p > a:hover, .td-box--indigo span > a:hover { - color: #aaccfe; } - -.td-box--purple { - color: #fff; - background-color: #6f42c1; } - .td-box--purple .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #6f42c1 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--purple p > a, .td-box--purple span > a { - color: #84b5fe; } - .td-box--purple p > a:hover, .td-box--purple span > a:hover { - color: #a9cbfe; } - -.td-box--pink { - color: #fff; - background-color: #d63384; } - .td-box--pink .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #d63384 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--pink p > a, .td-box--pink span > a { - color: #81b4fe; } - .td-box--pink p > a:hover, .td-box--pink span > a:hover { - color: #a7cbfe; } - -.td-box--red { - color: #fff; - background-color: #dc3545; } - .td-box--red .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #dc3545 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--red p > a, .td-box--red span > a { - color: #7db1fe; } - .td-box--red p > a:hover, .td-box--red span > a:hover { - color: #a4c8fe; } - -.td-box--orange { - color: #000; - background-color: #fd7e14; } - .td-box--orange .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #fd7e14 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--orange p > a, .td-box--orange span > a { - color: #073b87; } - .td-box--orange p > a:hover, .td-box--orange span > a:hover { - color: #05295f; } - -.td-box--yellow { - color: #000; - background-color: #ffc107; } - .td-box--yellow .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #ffc107 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--yellow p > a, .td-box--yellow span > a { - color: #073982; } - .td-box--yellow p > a:hover, .td-box--yellow span > a:hover { - color: #05285b; } - -.td-box--green { - color: #fff; - background-color: #198754; } - .td-box--green .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #198754 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--green p > a, .td-box--green span > a { - color: #b3d2fe; } - .td-box--green p > a:hover, .td-box--green span > a:hover { - color: #cae0fe; } - -.td-box--teal { - color: #000; - background-color: #20c997; } - .td-box--teal .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #20c997 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--teal p > a, .td-box--teal span > a { - color: #063274; } - .td-box--teal p > a:hover, .td-box--teal span > a:hover { - color: #042351; } - -.td-box--cyan { - color: #000; - background-color: #0dcaf0; } - .td-box--cyan .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #0dcaf0 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--cyan p > a, .td-box--cyan span > a { - color: #06377e; } - .td-box--cyan p > a:hover, .td-box--cyan span > a:hover { - color: #042758; } - -.td-box--black { - color: #fff; - background-color: #000; } - .td-box--black .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #000 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--black p > a, .td-box--black span > a { - color: white; } - .td-box--black p > a:hover, .td-box--black span > a:hover { - color: white; } - -.td-box--white { - color: #000; - background-color: #fff; } - .td-box--white .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #fff transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--white p > a, .td-box--white span > a { - color: #0d6efd; } - .td-box--white p > a:hover, .td-box--white span > a:hover { - color: #094db1; } - -.td-box--gray { - color: #fff; - background-color: #6c757d; } - .td-box--gray .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #6c757d transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--gray p > a, .td-box--gray span > a { - color: #90bdfe; } - .td-box--gray p > a:hover, .td-box--gray span > a:hover { - color: #b1d1fe; } - -.td-box--gray-dark { - color: #fff; - background-color: #343a40; } - .td-box--gray-dark .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #343a40 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--gray-dark p > a, .td-box--gray-dark span > a { - color: #c8deff; } - .td-box--gray-dark p > a:hover, .td-box--gray-dark span > a:hover { - color: #d9e8ff; } - -.td-box--primary { - color: #fff; - background-color: #30638e; } - .td-box--primary .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #30638e transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--primary p > a, .td-box--primary span > a { - color: #a5c9fe; } - .td-box--primary p > a:hover, .td-box--primary span > a:hover { - color: #c0d9fe; } - -.td-box--secondary { - color: #000; - background-color: #ffa630; } - .td-box--secondary .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #ffa630 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--secondary p > a, .td-box--secondary span > a { - color: #084196; } - .td-box--secondary p > a:hover, .td-box--secondary span > a:hover { - color: #062e69; } - -.td-box--success { - color: #000; - background-color: #3772ff; } - .td-box--success .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #3772ff transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--success p > a, .td-box--success span > a { - color: #08439a; } - .td-box--success p > a:hover, .td-box--success span > a:hover { - color: #062f6c; } - -.td-box--info { - color: #000; - background-color: #c0e0de; } - .td-box--info .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #c0e0de transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--info p > a, .td-box--info span > a { - color: #0b5ace; } - .td-box--info p > a:hover, .td-box--info span > a:hover { - color: #083f90; } - -.td-box--warning { - color: #000; - background-color: #ed6a5a; } - .td-box--warning .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #ed6a5a transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--warning p > a, .td-box--warning span > a { - color: #0847a2; } - .td-box--warning p > a:hover, .td-box--warning span > a:hover { - color: #063271; } - -.td-box--danger { - color: #000; - background-color: #ed6a5a; } - .td-box--danger .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #ed6a5a transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--danger p > a, .td-box--danger span > a { - color: #0847a2; } - .td-box--danger p > a:hover, .td-box--danger span > a:hover { - color: #063271; } - -.td-box--light { - color: #000; - background-color: #d3f3ee; } - .td-box--light .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #d3f3ee transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--light p > a, .td-box--light span > a { - color: #0c62e1; } - .td-box--light p > a:hover, .td-box--light span > a:hover { - color: #08459e; } - -.td-box--dark, .td-footer { - color: #fff; - background-color: #403f4c; } - .td-box--dark .td-arrow-down::before, .td-footer .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #403f4c transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--dark p > a, .td-footer p > a, .td-box--dark span > a, .td-footer span > a { - color: #bdd7fe; } - .td-box--dark p > a:hover, .td-footer p > a:hover, .td-box--dark span > a:hover, .td-footer span > a:hover { - color: #d1e3fe; } - -.td-box--100 { - color: #000; - background-color: #f8f9fa; } - .td-box--100 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #f8f9fa transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--100 p > a, .td-box--100 span > a { - color: #0d6bf7; } - .td-box--100 p > a:hover, .td-box--100 span > a:hover { - color: #094bad; } - -.td-box--200 { - color: #000; - background-color: #e9ecef; } - .td-box--200 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #e9ecef transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--200 p > a, .td-box--200 span > a { - color: #0c66ea; } - .td-box--200 p > a:hover, .td-box--200 span > a:hover { - color: #0847a4; } - -.td-box--300 { - color: #000; - background-color: #dee2e6; } - .td-box--300 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #dee2e6 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--300 p > a, .td-box--300 span > a { - color: #0c61e0; } - .td-box--300 p > a:hover, .td-box--300 span > a:hover { - color: #08449d; } - -.td-box--400 { - color: #000; - background-color: #ced4da; } - .td-box--400 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #ced4da transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--400 p > a, .td-box--400 span > a { - color: #0b5bd2; } - .td-box--400 p > a:hover, .td-box--400 span > a:hover { - color: #084093; } - -.td-box--500 { - color: #000; - background-color: #adb5bd; } - .td-box--500 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #adb5bd transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--500 p > a, .td-box--500 span > a { - color: #094eb4; } - .td-box--500 p > a:hover, .td-box--500 span > a:hover { - color: #06377e; } - -.td-box--600 { - color: #fff; - background-color: #6c757d; } - .td-box--600 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #6c757d transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--600 p > a, .td-box--600 span > a { - color: #90bdfe; } - .td-box--600 p > a:hover, .td-box--600 span > a:hover { - color: #b1d1fe; } - -.td-box--700 { - color: #fff; - background-color: #495057; } - .td-box--700 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #495057 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--700 p > a, .td-box--700 span > a { - color: #b3d2fe; } - .td-box--700 p > a:hover, .td-box--700 span > a:hover { - color: #cae0fe; } - -.td-box--800 { - color: #fff; - background-color: #343a40; } - .td-box--800 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #343a40 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--800 p > a, .td-box--800 span > a { - color: #c8deff; } - .td-box--800 p > a:hover, .td-box--800 span > a:hover { - color: #d9e8ff; } - -.td-box--900 { - color: #fff; - background-color: #212529; } - .td-box--900 .td-arrow-down::before { - left: 50%; - margin-left: -30px; - bottom: -25px; - border-style: solid; - border-width: 25px 30px 0 30px; - border-color: #212529 transparent transparent transparent; - z-index: 3; - position: absolute; - content: ""; } - -.td-box--900 p > a, .td-box--900 span > a { - color: #dceaff; } - .td-box--900 p > a:hover, .td-box--900 span > a:hover { - color: #e7f0ff; } - -[data-bs-theme="dark"] .td-box--white { - color: var(--bs-body-color); - background-color: var(--bs-body-bg); } - [data-bs-theme="dark"] .td-box--white p > a, [data-bs-theme="dark"] .td-box--white span > a { - color: var(--bs-link-color); } - [data-bs-theme="dark"] .td-box--white p > a:focus, [data-bs-theme="dark"] .td-box--white p > a:hover, [data-bs-theme="dark"] .td-box--white span > a:focus, [data-bs-theme="dark"] .td-box--white span > a:hover { - color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1)); } - [data-bs-theme="dark"] .td-box--white .td-arrow-down::before { - border-color: var(--bs-body-bg) transparent transparent transparent; } - -.td-blog .td-rss-button { - border-radius: 2rem; - float: right; - display: none; } - -.td-blog-posts-list { - margin-top: 1.5rem !important; } - .td-blog-posts-list__item { - display: flex; - align-items: flex-start; - margin-bottom: 1.5rem !important; } - .td-blog-posts-list__item__body { - flex: 1; } - -[data-bs-theme="dark"] { - --td-pre-bg: #1b1f22; } - -.td-content .highlight { - margin: 2rem 0; - padding: 0; - position: relative; } - .td-content .highlight .click-to-copy { - display: block; - text-align: right; } - .td-content .highlight pre { - margin: 0; - padding: 1rem; - border-radius: inherit; } - .td-content .highlight pre button.td-click-to-copy { - position: absolute; - color: var(--bs-tertiary-color); - border-width: 0; - background-color: transparent; - background-image: none; - --bs-btn-box-shadow: 0; - padding: var(--bs-btn-padding-y) calc(var(--bs-btn-padding-x) / 2); - right: 4px; - top: 2px; } - .td-content .highlight pre button.td-click-to-copy:hover { - color: var(--bs-secondary-color); - background-color: var(--bs-dark-bg-subtle); } - .td-content .highlight pre button.td-click-to-copy:active { - color: var(--bs-secondary-color); - background-color: var(--bs-dark-bg-subtle); - transform: translateY(2px); } - -.td-content p code, -.td-content li > code, -.td-content table code { - color: inherit; - padding: 0.2em 0.4em; - margin: 0; - font-size: 85%; - word-break: normal; - background-color: var(--td-pre-bg); - border-radius: 0.375rem; } - .td-content p code br, - .td-content li > code br, - .td-content table code br { - display: none; } - -.td-content pre { - word-wrap: normal; - background-color: var(--td-pre-bg); - border: solid var(--bs-border-color); - border-width: 1px; - padding: 1rem; } - .td-content pre > code { - background-color: inherit !important; - padding: 0; - margin: 0; - font-size: 100%; - word-break: normal; - white-space: pre; - border: 0; } - -.td-content pre.mermaid { - background-color: inherit; - font-size: 0; - padding: 0; } - -@media (min-width: 768px) { - .td-navbar-cover { - background: transparent !important; } - .td-navbar-cover .nav-link { - text-shadow: 1px 1px 2px #403f4c; } } - -.td-navbar-cover.navbar-bg-onscroll .nav-link { - text-shadow: none; } - -.navbar-bg-onscroll { - background: #30638e !important; - opacity: inherit; } - -.td-navbar { - background: #30638e; - min-height: 4rem; - margin: 0; - z-index: 32; } - .td-navbar .navbar-brand { - text-transform: none; } - .td-navbar .navbar-brand__name { - font-weight: 700; } - .td-navbar .navbar-brand svg { - display: inline-block; - margin: 0 10px; - height: 30px; } - .td-navbar .navbar-nav { - padding-top: 0.5rem; - white-space: nowrap; } - .td-navbar .nav-link { - text-transform: none; - font-weight: 700; } - .td-navbar .dropdown { - min-width: 50px; } - @media (min-width: 768px) { - .td-navbar { - position: fixed; - top: 0; - width: 100%; } - .td-navbar .nav-item { - padding-inline-end: 0.5rem; } - .td-navbar .navbar-nav { - padding-top: 0 !important; } } - @media (max-width: 991.98px) { - .td-navbar .td-navbar-nav-scroll { - max-width: 100%; - height: 2.5rem; - overflow: hidden; - font-size: 0.9rem; } - .td-navbar .navbar-brand { - margin-right: 0; } - .td-navbar .navbar-nav { - padding-bottom: 2rem; - overflow-x: auto; } } - .td-navbar .td-light-dark-menu .bi { - width: 1em; - height: 1em; - vertical-align: -.125em; - fill: currentcolor; } - @media (max-width: 991.98px) { - .td-navbar .td-light-dark-menu.dropdown { - position: unset; } } -#main_navbar li i { - padding-right: 0.5em; } - #main_navbar li i:before { - display: inline-block; - text-align: center; - min-width: 1em; } - -#main_navbar .alert { - background-color: inherit; - padding: 0; - color: #ffa630; - border: 0; - font-weight: inherit; } - #main_navbar .alert:before { - display: inline-block; - font-style: normal; - font-variant: normal; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - font-family: "Font Awesome 6 Free"; - font-weight: 900; - content: "\f0d9"; - padding-left: 0.5em; - padding-right: 0.5em; } - -nav.foldable-nav#td-section-nav { - position: relative; } - -nav.foldable-nav#td-section-nav label { - margin-bottom: 0; - width: 100%; } - -nav.foldable-nav .td-sidebar-nav__section, -nav.foldable-nav .with-child ul { - list-style: none; - padding: 0; - margin: 0; } - -nav.foldable-nav .ul-1 > li { - padding-left: 1.5em; } - -nav.foldable-nav ul.foldable { - display: none; } - -nav.foldable-nav input:checked ~ ul.foldable { - display: block; } - -nav.foldable-nav input[type="checkbox"] { - display: none; } - -nav.foldable-nav .with-child, -nav.foldable-nav .without-child { - position: relative; - padding-left: 1.5em; } - -nav.foldable-nav .ul-1 .with-child > label:before { - display: inline-block; - font-style: normal; - font-variant: normal; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - font-family: "Font Awesome 6 Free"; - font-weight: 900; - content: "\f0da"; - position: absolute; - left: 0.1em; - padding-left: 0.4em; - padding-right: 0.4em; - font-size: 1em; - color: var(--bs-secondary-color); - transition: all 0.5s; } - nav.foldable-nav .ul-1 .with-child > label:before:hover { - transform: rotate(90deg); } - -nav.foldable-nav .ul-1 .with-child > input:checked ~ label:before { - color: var(--bs-secondary-color); - transform: rotate(90deg); - transition: transform 0.5s; } - -nav.foldable-nav .with-child ul { - margin-top: 0.1em; } - -@media (hover: hover) and (pointer: fine) { - nav.foldable-nav .ul-1 .with-child > label:hover:before { - color: var(--bs-link-color); - transition: color 0.3s; } - nav.foldable-nav .ul-1 .with-child > input:checked ~ label:hover:before { - color: var(--bs-link-color); - transition: color 0.3s; } } - -.td-sidebar-nav { - padding-right: 0.5rem; - margin-right: -15px; - margin-left: -15px; } - @media (min-width: 768px) { - @supports (position: sticky) { - .td-sidebar-nav { - max-height: calc(100vh - 8.5rem); - overflow-y: auto; } } } - @media (min-width: 992px) { - .td-sidebar-nav.td-sidebar-nav--search-disabled { - padding-top: 1rem; } - @supports (position: sticky) { - .td-sidebar-nav.td-sidebar-nav--search-disabled { - max-height: calc(calc(100vh - 8.5rem) + 4.5rem); } } } - @media (min-width: 768px) { - .td-sidebar-nav { - display: block !important; } } - .td-sidebar-nav__section { - padding-left: 0; } - .td-sidebar-nav__section li { - list-style: none; } - .td-sidebar-nav__section.ul-0, .td-sidebar-nav__section ul { - padding: 0; - margin: 0; } - @media (min-width: 768px) { - .td-sidebar-nav__section .ul-1 ul { - padding-left: 1.5em; } } - .td-sidebar-nav__section-title { - display: block; - font-weight: 500; } - .td-sidebar-nav__section-title .active { - font-weight: 700; } - .td-sidebar-nav__section-title a { - color: var(--bs-secondary-color); } - .td-sidebar-nav .td-sidebar-link { - display: block; - padding-bottom: 0.375rem; } - .td-sidebar-nav .td-sidebar-link__page { - color: var(--bs-body-color); - font-weight: 300; } - .td-sidebar-nav a:focus, .td-sidebar-nav a:hover { - color: var(--bs-link-color); } - .td-sidebar-nav a.active { - font-weight: 700; } - .td-sidebar-nav .dropdown a { - color: var(--bs-tertiary-color); } - .td-sidebar-nav .dropdown .nav-link { - padding: 0 0 1rem; } - .td-sidebar-nav > .td-sidebar-nav__section { - padding-left: 1.5rem; } - .td-sidebar-nav li i { - padding-right: 0.5em; } - .td-sidebar-nav li i:before { - display: inline-block; - text-align: center; - min-width: 1em; } - .td-sidebar-nav .td-sidebar-link.tree-root { - font-weight: 700; - border-bottom: 1px solid var(--bs-tertiary-color); - margin-bottom: 1rem; } - -.td-sidebar { - padding-bottom: 1rem; } - .td-sidebar a { - text-decoration: none; } - .td-sidebar a:focus, .td-sidebar a:hover { - text-decoration: initial; } - .td-sidebar .btn-link { - text-decoration: none; } - @media (min-width: 768px) { - .td-sidebar { - padding-top: 4rem; - background-color: var(--bs-body-tertiary-bg); - padding-right: 1rem; - border-right: 1px solid var(--bs-border-color); } } - .td-sidebar__toggle { - line-height: 1; - color: var(--bs-body-color); - margin: 1rem; } - .td-sidebar__search { - padding: 1rem 0; } - .td-sidebar__inner { - order: 0; } - @media (min-width: 768px) { - @supports (position: sticky) { - .td-sidebar__inner { - position: sticky; - top: 4rem; - z-index: 10; - height: calc(100vh - 5rem); } } } - @media (min-width: 1200px) { - .td-sidebar__inner { - flex: 0 1 320px; } } - .td-sidebar__inner .td-search-box { - width: 100%; } - .td-sidebar #content-desktop { - display: block; } - .td-sidebar #content-mobile { - display: none; } - @media (max-width: 991.98px) { - .td-sidebar #content-desktop { - display: none; } - .td-sidebar #content-mobile { - display: block; } } -.td-sidebar-toc { - border-left: 1px solid var(--bs-border-color); - order: 2; - padding-top: 0.75rem; - padding-bottom: 1.5rem; - vertical-align: top; } - .td-sidebar-toc a { - text-decoration: none; } - .td-sidebar-toc a:focus, .td-sidebar-toc a:hover { - text-decoration: initial; } - .td-sidebar-toc .btn-link { - text-decoration: none; } - @supports (position: sticky) { - .td-sidebar-toc { - position: sticky; - top: 4rem; - height: calc(100vh - 4rem); - overflow-y: auto; } } - .td-sidebar-toc .td-page-meta a { - display: block; - font-weight: 500; } - -.td-toc a { - display: block; - font-weight: 300; - padding-bottom: 0.25rem; } - -.td-toc li { - list-style: none; - display: block; } - -.td-toc li li { - margin-left: 0.5rem; } - -.td-toc #TableOfContents a { - color: var(--bs-secondary-color); } - .td-toc #TableOfContents a:focus, .td-toc #TableOfContents a:hover { - color: initial; } - -.td-toc ul { - padding-left: 0; } - -@media print { - .td-breadcrumbs { - display: none !important; } } - -.td-breadcrumbs .breadcrumb { - background: inherit; - padding-left: 0; - padding-top: 0; } - -.alert { - font-weight: 500; - color: inherit; - border-radius: 0; } - .alert-primary, .pageinfo-primary { - border-style: solid; - border-color: #30638e; - border-width: 0 0 0 4px; } - .alert-primary .alert-heading, .pageinfo-primary .alert-heading { - color: #30638e; } - .alert-secondary, .pageinfo-secondary { - border-style: solid; - border-color: #ffa630; - border-width: 0 0 0 4px; } - .alert-secondary .alert-heading, .pageinfo-secondary .alert-heading { - color: #ffa630; } - .alert-success, .pageinfo-success { - border-style: solid; - border-color: #3772ff; - border-width: 0 0 0 4px; } - .alert-success .alert-heading, .pageinfo-success .alert-heading { - color: #3772ff; } - .alert-info, .pageinfo-info { - border-style: solid; - border-color: #c0e0de; - border-width: 0 0 0 4px; } - .alert-info .alert-heading, .pageinfo-info .alert-heading { - color: #c0e0de; } - .alert-warning, .pageinfo-warning { - border-style: solid; - border-color: #ed6a5a; - border-width: 0 0 0 4px; } - .alert-warning .alert-heading, .pageinfo-warning .alert-heading { - color: #ed6a5a; } - .alert-danger, .pageinfo-danger { - border-style: solid; - border-color: #ed6a5a; - border-width: 0 0 0 4px; } - .alert-danger .alert-heading, .pageinfo-danger .alert-heading { - color: #ed6a5a; } - .alert-light, .pageinfo-light { - border-style: solid; - border-color: #d3f3ee; - border-width: 0 0 0 4px; } - .alert-light .alert-heading, .pageinfo-light .alert-heading { - color: #d3f3ee; } - .alert-dark, .pageinfo-dark { - border-style: solid; - border-color: #403f4c; - border-width: 0 0 0 4px; } - .alert-dark .alert-heading, .pageinfo-dark .alert-heading { - color: #403f4c; } - -.td-content { - order: 1; } - .td-content p, - .td-content li, - .td-content td { - font-weight: 400; } - .td-content > h1, .td-content > .h1 { - font-weight: 700; - margin-bottom: 1rem; } - .td-content > h2, .td-content > .h2 { - margin-bottom: 1rem; } - .td-content > h2:not(:first-child), .td-content > .h2:not(:first-child) { - margin-top: 3rem; } - .td-content > h2 + h3, .td-content > .h2 + h3, .td-content > h2 + .h3, .td-content > h2 + .td-footer__links-item, .td-content > .h2 + .h3, .td-content > .h2 + .td-footer__links-item { - margin-top: 1rem; } - .td-content > h3, .td-content > .h3, .td-content > .td-footer__links-item, - .td-content > h4, - .td-content > .h4, - .td-content > h5, - .td-content > .h5, - .td-content > h6, - .td-content > .h6 { - margin-bottom: 1rem; - margin-top: 2rem; } - .td-content blockquote { - padding: 0 0 0 1rem; - margin-bottom: 1rem; - color: var(--bs-secondary-color); - border-left: 6px solid var(--bs-primary); } - .td-content ul li, - .td-content ol li { - margin-bottom: 0.25rem; } - .td-content strong { - font-weight: 700; } - .td-content .alert:not(:first-child) { - margin-top: 2rem; - margin-bottom: 2rem; } - .td-content .lead { - margin-bottom: 1.5rem; } - -.td-title { - margin-top: 1rem; - margin-bottom: 0.5rem; } - @media (min-width: 576px) { - .td-title { - font-size: 3rem; } } -.td-heading-self-link { - font-size: 90%; - padding-left: 0.25em; - text-decoration: none; - visibility: hidden; } - .td-heading-self-link:before { - content: '#'; } - @media (hover: none) and (pointer: coarse), (max-width: 576px) { - .td-heading-self-link { - visibility: visible; } } -h1:hover > .td-heading-self-link, .h1:hover > .td-heading-self-link { - visibility: visible; } - -h2:hover > .td-heading-self-link, .h2:hover > .td-heading-self-link { - visibility: visible; } - -h3:hover > .td-heading-self-link, .h3:hover > .td-heading-self-link, .td-footer__links-item:hover > .td-heading-self-link { - visibility: visible; } - -h4:hover > .td-heading-self-link, .h4:hover > .td-heading-self-link { - visibility: visible; } - -h5:hover > .td-heading-self-link, .h5:hover > .td-heading-self-link { - visibility: visible; } - -h6:hover > .td-heading-self-link, .h6:hover > .td-heading-self-link { - visibility: visible; } - -.td-search { - background: transparent; - position: relative; - width: 100%; } - .td-search__icon { - display: flex; - align-items: center; - height: 100%; - position: absolute; - left: 0.75em; - pointer-events: none; } - .td-search__icon:before { - content: "\f002"; } - .td-navbar .td-search__icon { - color: inherit; } - .td-search__input { - width: 100%; - text-indent: 1.25em; } - .td-search__input:not(:focus) { - background: transparent; } - .td-search__input.form-control:focus { - border-color: #f5f7f9; - box-shadow: 0 0 0 2px #83a1bb; - color: var(--bs-body-color); } - .td-navbar .td-search__input { - border: none; - color: inherit; } - .td-navbar .td-search__input::-webkit-input-placeholder { - color: inherit; } - .td-navbar .td-search__input:-moz-placeholder { - color: inherit; } - .td-navbar .td-search__input::-moz-placeholder { - color: inherit; } - .td-navbar .td-search__input:-ms-input-placeholder { - color: inherit; } - .td-search:focus-within .td-search__icon { - display: none; } - .td-search:focus-within .td-search-input { - text-indent: 0px; } - .td-search:not(:focus-within) { - color: var(--bs-secondary-color); } - -.td-sidebar .td-search--algolia { - display: block; - padding: 0 0.5rem; } - .td-sidebar .td-search--algolia > button { - margin: 0; - width: 100%; } - -.td-search--offline:focus-within .td-search__icon { - display: flex; - color: var(--bs-secondary-color); } - -.td-offline-search-results { - max-width: 90%; } - .td-offline-search-results .card { - margin-bottom: 0.5rem; } - .td-offline-search-results .card .card-header { - font-weight: bold; } - .td-offline-search-results__close-button { - float: right; } - .td-offline-search-results__close-button:after { - content: "\f00d"; } - -.td-outer { - display: flex; - flex-direction: column; - min-height: 100vh; } - -@media (min-width: 768px) { - .td-default main > section:first-of-type { - padding-top: 8rem; } } - -.td-main { - flex-grow: 1; } - -.td-404 main, -.td-main main { - padding-top: 1.5rem; - padding-bottom: 2rem; } - @media (min-width: 768px) { - .td-404 main, - .td-main main { - padding-top: 5.5rem; } } -.td-cover-block--height-min { - min-height: 300px; } - -.td-cover-block--height-med { - min-height: 400px; } - -.td-cover-block--height-max { - min-height: 500px; } - -.td-cover-block--height-full { - min-height: 100vh; } - -@media (min-width: 768px) { - .td-cover-block--height-min { - min-height: 450px; } - .td-cover-block--height-med { - min-height: 500px; } - .td-cover-block--height-max { - min-height: 650px; } } - -.td-cover-logo { - margin-right: 0.5em; } - -.td-cover-block { - position: relative; - padding-top: 5rem; - padding-bottom: 5rem; - background-repeat: no-repeat; - background-position: 50% 0; - background-size: cover; } - .td-cover-block > .byline { - position: absolute; - bottom: 2px; - right: 4px; } - -.td-bg-arrow-wrapper { - position: relative; } - -.section-index .entry { - padding: 0.75rem; } - -.section-index h5, .section-index .h5 { - margin-bottom: 0; } - .section-index h5 a, .section-index .h5 a { - font-weight: 700; } - -.section-index p { - margin-top: 0; } - -.pageinfo { - font-weight: 500; - background: var(--bs-alert-bg); - color: inherit; - margin: 2rem auto; - padding: 1.5rem; - padding-bottom: 0.5rem; } - .pageinfo-primary { - border-width: 0; } - .pageinfo-secondary { - border-width: 0; } - .pageinfo-success { - border-width: 0; } - .pageinfo-info { - border-width: 0; } - .pageinfo-warning { - border-width: 0; } - .pageinfo-danger { - border-width: 0; } - .pageinfo-light { - border-width: 0; } - .pageinfo-dark { - border-width: 0; } - -.td-page-meta__lastmod { - margin-top: 3rem !important; - padding-top: 1rem !important; } - -.taxonomy-terms-article { - width: 100%; - clear: both; - font-size: 0.8rem; } - .taxonomy-terms-article .taxonomy-title { - display: inline; - font-size: 1.25em; - height: 1em; - line-height: 1em; - margin-right: 0.5em; - padding: 0; } - -.taxonomy-terms-cloud { - width: 100%; - clear: both; - font-size: 0.8rem; } - .taxonomy-terms-cloud .taxonomy-title { - display: inline-block; - width: 100%; - font-size: 1rem; - font-weight: 700; - color: var(--bs-primary-text-emphasis); - border-bottom: 1px solid var(--bs-tertiary-color); - margin-bottom: 1em; - padding-bottom: 0.375rem; - margin-top: 1em; } - -.taxonomy-terms-page { - max-width: 800px; - margin: auto; } - .taxonomy-terms-page h1, .taxonomy-terms-page .h1 { - margin-bottom: 1em; } - .taxonomy-terms-page .taxonomy-terms-cloud { - font-size: 1em; } - .taxonomy-terms-page .taxonomy-terms-cloud li { - display: block; } - .taxonomy-terms-page .taxo-text-tags li + li::before { - content: none; } - .taxonomy-terms-page .taxo-fruits .taxonomy-count, - .taxonomy-terms-page .taxo-fruits .taxonomy-label { - display: inherit; - font-size: 1rem; - margin: 0; - padding: 0; - padding-right: 0.5em; } - .taxonomy-terms-page .taxo-fruits .taxonomy-count::before { - content: "("; } - .taxonomy-terms-page .taxo-fruits .taxonomy-count::after { - content: ")"; } - -.taxonomy-terms { - list-style: none; - margin: 0; - overflow: hidden; - padding: 0; - display: inline; } - .taxonomy-terms li { - display: inline; - overflow-wrap: break-word; - word-wrap: break-word; - -ms-word-break: break-all; - word-break: break-all; - word-break: break-word; - -ms-hyphens: auto; - -moz-hyphens: auto; - -webkit-hyphens: auto; - hyphens: auto; } - -.taxonomy-count { - font-size: 0.8em; - line-height: 1.25em; - display: inline-block; - padding-left: 0.6em; - padding-right: 0.6em; - margin-left: 0.6em; - text-align: center; - border-radius: 1em; - background-color: var(--bs-body-bg); } - -.taxonomy-term { - background: var(--bs-secondary-bg); - border-width: 0; - border-radius: 0 3px 3px 0; - color: var(--bs-body-color); - display: inline-block; - font-size: 1em; - line-height: 1.5em; - min-height: 1.5em; - max-width: 100%; - padding: 0 0.5em 0 1em; - position: relative; - margin: 0 0.5em 0.2em 0; - text-decoration: none; - -webkit-transition: color 0.2s; - -webkit-clip-path: polygon(100% 0, 100% 100%, 0.8em 100%, 0 50%, 0.8em 0); - clip-path: polygon(100% 0, 100% 100%, 0.8em 100%, 0 50%, 0.8em 0); } - .taxonomy-term:hover { - background-color: var(--bs-primary-bg-subtle); - color: var(--bs-body-color-dark); } - .taxonomy-term:hover .taxonomy-count { - color: var(--bs-body-color-dark); } - .taxonomy-term:hover::before { - background: #30638e; } - -.taxo-text-tags .taxonomy-term { - background: none; - border-width: 0; - border-radius: 0; - color: #6c757d; - font-size: 1em; - line-height: 1.5em; - min-height: 1.5em; - max-width: 100%; - padding: 0; - position: relative; - margin: 0; - text-decoration: none; - -webkit-clip-path: none; - clip-path: none; } - .taxo-text-tags .taxonomy-term:hover { - background: none; - color: #0d6efd; } - .taxo-text-tags .taxonomy-term:hover .taxonomy-count { - color: #403f4c !important; } - .taxo-text-tags .taxonomy-term:hover::before { - background: none; } - -.taxo-text-tags li + li::before { - content: "|"; - color: #6c757d; - margin-right: 0.2em; } - -.taxo-text-tags .taxonomy-count { - font-size: 1em; - line-height: 1.25em; - display: inline-block; - padding: 0; - margin: 0; - text-align: center; - border-radius: 0; - background: none; - vertical-align: super; - font-size: 0.75em; } - -.taxo-text-tags .taxonomy-term:hover .taxonomy-count { - color: #0d6efd !important; } - -.taxo-fruits .taxonomy-term[data-taxonomy-term]::before { - font-style: normal; - font-variant: normal; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - font-family: "Font Awesome 6 Free"; - padding-right: 0.5em; - font-size: 2em; - min-width: 1.5em; - display: inline-block; } - -.taxo-fruits .taxonomy-term[data-taxonomy-term="apple"]::before { - content: "\f5d1"; - color: red; } - -.taxo-fruits .taxonomy-term[data-taxonomy-term="carrot"]::before { - content: "\f787"; - color: orange; } - -.taxo-fruits .taxonomy-term[data-taxonomy-term="lemon"]::before { - content: "\f094"; - color: limegreen; } - -.taxo-fruits .taxonomy-term[data-taxonomy-term="pepper"]::before { - content: "\f816"; - color: darkred; } - -.taxo-fruits .taxonomy-term { - background: none; - border-width: 0; - border-radius: 0; - color: #6c757d; - font-size: 1em; - line-height: 2.5em; - max-width: 100%; - padding: 0; - position: relative; - margin: 0; - text-decoration: none; - -webkit-clip-path: none; - clip-path: none; } - .taxo-fruits .taxonomy-term:hover { - background: none; - color: #0d6efd; } - .taxo-fruits .taxonomy-term:hover .taxonomy-count { - color: #403f4c !important; } - .taxo-fruits .taxonomy-term:hover::before { - background: none; - text-shadow: 0 0 3px #212529; } - -.taxo-fruits .taxonomy-count, -.taxo-fruits .taxonomy-label { - display: none; } - -.taxo-fruits.taxonomy-terms-article { - margin-bottom: 1rem; } - .taxo-fruits.taxonomy-terms-article .taxonomy-title { - display: none; } - -.taxonomy-taxonomy-page { - max-width: 800px; - margin: auto; } - .taxonomy-taxonomy-page h1, .taxonomy-taxonomy-page .h1 { - margin-bottom: 1em; } - -.article-meta { - margin-bottom: 1.5rem; } - -.article-teaser.article-type-docs h3 a:before, .article-teaser.article-type-docs .h3 a:before, .article-teaser.article-type-docs .td-footer__links-item a:before { - display: inline-block; - font-style: normal; - font-variant: normal; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - font-family: "Font Awesome 6 Free"; - content: "\f02d"; - padding-right: 0.5em; } - -.article-teaser.article-type-blog h3 a:before, .article-teaser.article-type-blog .h3 a:before, .article-teaser.article-type-blog .td-footer__links-item a:before { - display: inline-block; - font-style: normal; - font-variant: normal; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - font-family: "Font Awesome 6 Free"; - content: "\f781"; - padding-right: 0.5em; } - -.all-taxonomy-terms { - font-weight: 500; - line-height: 1.2; - font-size: 1.5rem; } - .all-taxonomy-terms:before { - display: inline-block; - font-style: normal; - font-variant: normal; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - font-family: "Font Awesome 6 Free"; - content: "\f122"; - padding-right: 0.5em; } - -.article-teaser.card { - padding: 1em; - margin-bottom: 1.5em; } - -.article-teaser .breadcrumb { - margin-bottom: 0em; - font-size: 0.85rem; } - -.article-teaser .article-meta { - margin-bottom: 0em; } - -div.drawio { - display: inline-block; - position: relative; } - div.drawio button { - position: absolute; - bottom: 5px; - right: 5px; - padding: 0.4em 0.5em; - font-size: 0.8em; - display: none; } - div.drawio:hover button { - display: inline; } - -div.drawioframe { - position: fixed; - height: 100%; - width: 100%; - top: 0; - left: 0px; - z-index: 1000; - background: #000b; - border: 0; } - div.drawioframe iframe { - position: absolute; - height: 90%; - width: 90%; - top: 5%; - left: 5%; - z-index: 1010; } - -.tab-content .tab-pane { - margin-top: 0rem; - margin-bottom: 1.5rem; - border-left: var(--bs-border-width) solid var(--bs-border-color); - border-right: var(--bs-border-width) solid var(--bs-border-color); - border-bottom: var(--bs-border-width) solid var(--bs-border-color); } - .tab-content .tab-pane .highlight { - margin: 0; - border: none; - max-width: 100%; } - -.tab-body { - font-weight: 500; - background: var(--td-pre-bg); - color: var(--bs-body-color); - border-radius: 0; - padding: 1.5rem; } - .tab-body > :last-child { - margin-bottom: 0; } - .tab-body > .highlight:only-child { - margin: -1.5rem; - max-width: calc(100% + 3rem); } - .tab-body-primary { - border-style: solid; - border-color: #30638e; } - .tab-body-secondary { - border-style: solid; - border-color: #ffa630; } - .tab-body-success { - border-style: solid; - border-color: #3772ff; } - .tab-body-info { - border-style: solid; - border-color: #c0e0de; } - .tab-body-warning { - border-style: solid; - border-color: #ed6a5a; } - .tab-body-danger { - border-style: solid; - border-color: #ed6a5a; } - .tab-body-light { - border-style: solid; - border-color: #d3f3ee; } - .tab-body-dark { - border-style: solid; - border-color: #403f4c; } - -.td-card.card .highlight { - border: none; - margin: 0; } - -.td-card .card-header.code { - background-color: var(--bs-body-bg); } - -.td-card .card-body.code { - background-color: var(--bs-body-bg); - padding: 0 0 0 1ex; } - -.td-card .card-body pre { - margin: 0; - padding: 0 1rem 1rem 1rem; } - -.swagger-ui .info .title small pre, .swagger-ui .info .title .small pre, .swagger-ui .info .title .td-footer__center pre, .swagger-ui .info .title .td-cover-block > .byline pre { - background: #7d8492; } - -.td-footer { - min-height: 150px; - padding-top: 3rem; - /* &__left { } */ } - @media (max-width: 991.98px) { - .td-footer { - min-height: 200px; } } - .td-footer__center { - text-align: center; } - .td-footer__right { - text-align: right; } - .td-footer__about { - font-size: initial; } - .td-footer__links-list { - margin-bottom: 0; } - .td-footer__links-item a { - color: inherit !important; } - .td-footer__authors, .td-footer__all_rights_reserved { - padding-left: 0.25rem; } - .td-footer__all_rights_reserved { - display: none; } - -@media (min-width: 768px) { - .td-offset-anchor:target { - display: block; - position: relative; - top: -4rem; - visibility: hidden; } - h2[id]:before, [id].h2:before, - h3[id]:before, - [id].h3:before, - [id].td-footer__links-item:before, - h4[id]:before, - [id].h4:before, - h5[id]:before, - [id].h5:before { - display: block; - content: " "; - margin-top: -5rem; - height: 5rem; - visibility: hidden; } } - -/* - -Nothing defined here. The Hugo project that uses this theme can override Bootstrap by adding a file to: - -assets/scss/_styles_project.scss - -*/ - -/*# sourceMappingURL=main.css.map */ \ No newline at end of file diff --git a/resources/_gen/assets/scss/main.scss_fae17086e470d8c6ed0d487092f631b7.json b/resources/_gen/assets/scss/main.scss_fae17086e470d8c6ed0d487092f631b7.json deleted file mode 100644 index a8ece4a..0000000 --- a/resources/_gen/assets/scss/main.scss_fae17086e470d8c6ed0d487092f631b7.json +++ /dev/null @@ -1 +0,0 @@ -{"Target":"/scss/main.css","MediaType":"text/css","Data":{}} \ No newline at end of file From 3eaa574a26e4b206d45ca8b968fa5ed57c7e0282 Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Thu, 23 Oct 2025 14:13:31 +0200 Subject: [PATCH 12/80] docs(dev): add Taskfile and developer documentation - Add Taskfile.yml with common development tasks - Add go-task to devbox dependencies - Create comprehensive README-developer.md covering: - Devbox setup and usage - Hugo and Docsy basics - Task commands reference - Development workflow - Content creation guide - Testing procedures - Troubleshooting tips --- README-developer.md | 311 ++++++++++++++++++++++++++++++++++++++++++++ Taskfile.yml | 88 +++++++++++++ devbox.json | 3 +- devbox.lock | 50 ++++++- 4 files changed, 448 insertions(+), 4 deletions(-) create mode 100644 README-developer.md create mode 100644 Taskfile.yml diff --git a/README-developer.md b/README-developer.md new file mode 100644 index 0000000..17caefe --- /dev/null +++ b/README-developer.md @@ -0,0 +1,311 @@ +# Developer Guide - IPCEI-CIS Developer Framework + +## 🚀 Quick Start + +### Prerequisites + +Install [Devbox](https://www.jetify.com/devbox/): +```bash +curl -fsSL https://get.jetify.com/devbox | bash +``` + +### Setup + +1. Clone the repository +2. Start devbox shell: +```bash +devbox shell +``` + +Devbox automatically installs all required tools: +- Hugo (v0.151.0+extended) +- Go (v1.25.1) +- Node.js (v24.10.0) +- Dart Sass +- htmltest +- go-task + +## 📚 Technology Stack + +### Hugo (v0.151.0+extended) + +Hugo is a fast static site generator. This project uses Hugo in extended mode with: +- **Docsy Theme** (v0.12.0) - Documentation theme with responsive design +- **Bootstrap 5.3.8** - UI framework +- **PostCSS** - CSS processing + +### Docsy Theme + +Docsy is a Hugo theme optimized for technical documentation: +- Multi-language support +- Search functionality +- Navigation menu system +- Code syntax highlighting +- Responsive design + +Key directories: +- `content/en/` - English content (Markdown files) +- `layouts/` - Custom layout overrides +- `assets/scss/` - Custom styles +- `static/` - Static assets (images, etc.) + +### Task (Taskfile) + +Task is a task runner / build tool that replaces Makefiles. It uses `Taskfile.yml` for defining tasks. + +## 🛠️ Development Workflow + +### Using Task (Recommended) + +View all available tasks: +```bash +task +# or +task --list +``` + +Common tasks: + +#### Development +```bash +task serve # Start Hugo dev server (http://localhost:1313) +task build # Build production site +task build:dev # Build development site +task clean # Clean build artifacts +``` + +#### Testing +```bash +task test # Run all tests +task test:quick # Run quick tests (without link checking) +task test:build # Test if Hugo builds successfully +task test:markdown # Lint Markdown files +task test:html # Validate HTML output +task test:links # Check all links (internal & external) +``` + +#### Dependencies +```bash +task deps:install # Install all dependencies +task deps:update # Update all dependencies +``` + +#### CI/CD +```bash +task ci # Run full CI pipeline locally +``` + +### Using NPM Scripts (Alternative) + +If you prefer NPM: +```bash +npm test # All tests +npm run test:quick # Quick tests +npm run test:build # Build test +npm run test:markdown # Markdown linting +npm run test:html # HTML validation +npm run test:links # Link checking +``` + +### Using Hugo Directly + +```bash +# Development server +hugo server + +# Production build +hugo --gc --minify + +# Check version +hugo version +``` + +## 📁 Project Structure + +``` +. +├── content/ # Content files (Markdown) +│ └── en/ # English content +│ ├── docs/ # Documentation +│ └── blog/ # Blog posts +├── layouts/ # Custom HTML templates +├── static/ # Static files +├── assets/ # Assets (SCSS, images) +├── public/ # Generated site (not in Git) +├── resources/ # Hugo cache (not in Git) +├── hugo.toml # Hugo configuration +├── go.mod # Hugo modules (Docsy theme) +├── Taskfile.yml # Task definitions +├── package.json # NPM dependencies & scripts +└── devbox.json # Devbox configuration +``` + +## 📝 Content Creation + +### Creating New Pages + +```bash +# Using Hugo +hugo new docs/concepts/my-page.md +hugo new blog/my-post.md + +# Or create manually in content/en/ +``` + +### Front Matter + +Every content file needs front matter: + +```yaml +--- +title: "My Page Title" +description: "Page description" +date: 2025-10-23 +weight: 10 # Order in navigation +--- + +Your content here... +``` + +### Using Docsy Shortcodes + +Docsy provides helpful shortcodes: + +#### Tabbed Panes +```markdown +{{}} + {{}} + Content for tab 1 + {{}} + {{}} + Content for tab 2 + {{}} +{{}} +``` + +#### Code Blocks +```markdown +{{}} +key: value +{{}} +``` + +#### Alerts +```markdown +{{}} +Important information +{{}} +``` + +## 🧪 Testing + +See [TESTING.md](TESTING.md) for detailed testing documentation. + +Quick reference: +- `task test` - Run all tests before committing +- `task test:quick` - Fast checks during development +- Tests run automatically on GitHub Actions for PRs + +## 🔧 Configuration + +### Hugo Configuration (`hugo.toml`) + +Main settings: +- `baseURL` - Site URL +- `title` - Site title +- `defaultContentLanguage` - Default language +- Module imports (Docsy theme) + +### Docsy Configuration + +Docsy-specific settings in `hugo.toml`: +```toml +[params] +github_repo = "your-repo" +github_branch = "main" +``` + +### Devbox Configuration (`devbox.json`) + +Defines all development tools and their versions. + +Update tools: +```bash +devbox update # Update all packages +task deps:update # Update all dependencies (devbox + npm + hugo modules) +``` + +## 🎨 Styling + +Custom styles in `assets/scss/_variables_project.scss`: +```scss +// Override Bootstrap/Docsy variables +$primary: #your-color; +``` + +Hugo will process SCSS automatically with PostCSS and Autoprefixer. + +## 🌐 Multi-Language Support + +Add new language: +1. Create `content//` directory +2. Add language config in `hugo.toml`: +```toml +[languages.] +languageName = "Language Name" +weight = 2 +``` + +## 🐛 Troubleshooting + +### "Module not found" errors +```bash +hugo mod get -u +hugo mod tidy +``` + +### PostCSS errors +```bash +npm install +``` + +### Build errors +```bash +task clean +task build +``` + +### Devbox issues +```bash +devbox update +devbox shell --refresh +``` + +## 📚 Resources + +- [Hugo Documentation](https://gohugo.io/documentation/) +- [Docsy Documentation](https://www.docsy.dev/docs/) +- [Taskfile Documentation](https://taskfile.dev/) +- [Devbox Documentation](https://www.jetify.com/devbox/docs/) + +## 🤝 Contributing + +1. Create a feature branch +2. Make your changes +3. Run tests: `task test` +4. Commit with semantic messages: + - `feat(scope): add new feature` + - `fix(scope): fix bug` + - `docs(scope): update documentation` + - `test(scope): add tests` + - `chore(scope): maintenance` +5. Push and create pull request + +## 📦 Deployment + +Build for production: +```bash +task build +``` + +Output will be in `public/` directory, ready for deployment. diff --git a/Taskfile.yml b/Taskfile.yml new file mode 100644 index 0000000..ffb5199 --- /dev/null +++ b/Taskfile.yml @@ -0,0 +1,88 @@ +version: '3' + +vars: + HUGO_CMD: hugo + NPM_CMD: npm + +tasks: + default: + desc: Show available tasks + cmds: + - task --list + + # Build tasks + build: + desc: Build Hugo site + cmds: + - "{{.HUGO_CMD}} --gc --minify" + + build:dev: + desc: Build Hugo site for development + cmds: + - "{{.HUGO_CMD}}" + + serve: + desc: Start Hugo dev server + cmds: + - "{{.HUGO_CMD}} server" + + clean: + desc: Clean build artifacts + cmds: + - rm -rf public resources/_gen .hugo_build.lock + + # Test tasks + test: + desc: Run all tests + deps: + - test:build + - test:markdown + - test:html + - test:links + + test:quick: + desc: Run quick tests (without link check) + deps: + - test:build + - test:markdown + + test:build: + desc: Test Hugo build + cmds: + - "{{.HUGO_CMD}} --gc --minify --logLevel info" + + test:markdown: + desc: Lint markdown files + cmds: + - "{{.NPM_CMD}} run test:markdown" + + test:html: + desc: Validate HTML + cmds: + - "{{.NPM_CMD}} run test:html" + + test:links: + desc: Check links + cmds: + - htmltest + + # Development tasks + deps:install: + desc: Install all dependencies + cmds: + - "{{.NPM_CMD}} install" + - "{{.HUGO_CMD}} mod get -u" + - "{{.HUGO_CMD}} mod tidy" + + deps:update: + desc: Update dependencies + cmds: + - devbox update + - "{{.NPM_CMD}} update" + - "{{.HUGO_CMD}} mod get -u" + + # CI/CD + ci: + desc: Run CI pipeline locally + deps: + - test diff --git a/devbox.json b/devbox.json index f688f2b..56ed1a3 100644 --- a/devbox.json +++ b/devbox.json @@ -5,7 +5,8 @@ "dart-sass@latest", "go@latest", "nodejs@latest", - "htmltest@latest" + "htmltest@latest", + "go-task@latest" ], "shell": { "init_hook": [], diff --git a/devbox.lock b/devbox.lock index 672aced..7629ec6 100644 --- a/devbox.lock +++ b/devbox.lock @@ -65,9 +65,53 @@ } } }, - "github:NixOS/nixpkgs/nixpkgs-unstable": { - "last_modified": "2025-10-13T09:56:54Z", - "resolved": "github:NixOS/nixpkgs/c12c63cd6c5eb34c7b4c3076c6a99e00fcab86ec?lastModified=1760349414&narHash=sha256-W4Ri1ZwYuNcBzqQQa7NnWfrv0wHMo7rduTWjIeU9dZk%3D" + "go-task@latest": { + "last_modified": "2025-10-07T08:41:47Z", + "resolved": "github:NixOS/nixpkgs/bce5fe2bb998488d8e7e7856315f90496723793c#go-task", + "source": "devbox-search", + "version": "3.45.4", + "systems": { + "aarch64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/jpyzi7ph07mxn64vr684rn4sn81rmdbv-go-task-3.45.4", + "default": true + } + ], + "store_path": "/nix/store/jpyzi7ph07mxn64vr684rn4sn81rmdbv-go-task-3.45.4" + }, + "aarch64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/bhkmm0w7wmgncwvn8gmbsn254n0r9app-go-task-3.45.4", + "default": true + } + ], + "store_path": "/nix/store/bhkmm0w7wmgncwvn8gmbsn254n0r9app-go-task-3.45.4" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/pv4fd2995ys0dd4rvsqcn6cd2q2qi98s-go-task-3.45.4", + "default": true + } + ], + "store_path": "/nix/store/pv4fd2995ys0dd4rvsqcn6cd2q2qi98s-go-task-3.45.4" + }, + "x86_64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/535z3a3p7hwdg4g3w4f4ssq44vnqsxqh-go-task-3.45.4", + "default": true + } + ], + "store_path": "/nix/store/535z3a3p7hwdg4g3w4f4ssq44vnqsxqh-go-task-3.45.4" + } + } }, "go@latest": { "last_modified": "2025-10-07T08:41:47Z", From f797af114b539e0ad27fdb23f013dd452c268fbc Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Thu, 23 Oct 2025 14:25:46 +0200 Subject: [PATCH 13/80] test: configure comprehensive markdown linting with Docsy best practices MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Configure markdownlint with rules aligned to technical documentation standards and Docsy theme conventions. Design Decisions: - Enable core quality rules (heading hierarchy, consistent list styles) - Allow inline HTML for Docsy shortcodes and components - Permit bare URLs (common in technical documentation) - Make code block language hints optional (pragmatic for existing content) - Set maximum 2 consecutive blank lines (balanced readability) - Enforce single trailing newline (POSIX standard) - Use asterisk for unordered lists (consistency) - Allow 2-space list indentation (Markdown standard) Auto-fixed Issues: - Converted dash lists to asterisk lists (568 fixes) - Removed trailing spaces (211 fixes) - Added missing trailing newlines (74 fixes) - Added blank lines around lists and headings (100+ fixes) Remaining Style Warnings (intentionally accepted): - MD029: List numbering variations in meeting notes (75 instances) - MD036: Bold text for section headers in ADRs (13 instances) - MD025: Multiple H1 in notes/brainstorming docs (10 instances) - MD032/MD022: Minor spacing variations (15 instances) Test Results: ✅ Hugo build: 227 pages generated successfully ✅ HTML validation: No errors ✅ Link checking: All links valid (except dev-only livereload) ✅ Markdown linting: Only non-critical style warnings remain The configuration balances strict quality checks with pragmatic flexibility for diverse content types (documentation, ADRs, meeting notes, tutorials). --- .markdownlint.json | 23 +++- content/en/blog/20250401_review.md | 15 ++- .../en/docs/concepts/3_use-cases/_index.md | 5 +- .../platform-components/_index.md | 1 + .../cicd-pipeline/_index.md | 10 +- .../cicd-pipeline/review-stl.md | 2 +- .../developer-portals/_index.md | 2 +- .../orchestrator/_index.md | 4 +- .../platform-components/references/_index.md | 10 +- .../platform-engineering/_index.md | 7 +- .../reference-architecture/_index.md | 7 +- .../docs/concepts/5_platforms/CNOE/_index.md | 7 +- .../concepts/5_platforms/Humanitec/_index.md | 2 +- .../en/docs/decisions/0001-pipeline-tools.md | 102 +++++++++--------- content/en/docs/project/MVP-12-OTC.md | 92 ++++++++-------- .../project/bootstrapping/backup/_index.md | 2 + .../conceptual-onboarding/1_intro/_index.md | 10 +- .../2_edge-developer-framework/_index.md | 19 ++-- .../3_platforming/_index.md | 14 +-- .../4_orchestrators/_index.md | 8 +- .../conceptual-onboarding/5_cnoe/_index.md | 3 + .../6_cnoe-showtime/_index.md | 16 +-- .../7_conclusio/README.md | 4 +- .../7_conclusio/_index.md | 14 +-- .../conceptual-onboarding/storyline.md | 3 +- .../intro-stakeholder-workshop/_index.md | 6 +- .../en/docs/project/plan-in-2024/_index.md | 3 +- .../docs/project/plan-in-2024/poc/_index.md | 2 +- .../project/plan-in-2024/streams/_index.md | 5 +- .../plan-in-2024/streams/deployment/_index.md | 11 +- .../streams/deployment/forgejo/_index.md | 4 +- .../streams/fundamentals/_index.md | 2 +- .../fundamentals/cicd-definition/_index.md | 7 +- .../platform-definition/_index.md | 11 +- .../plan-in-2024/streams/pocs/_index.md | 2 +- .../plan-in-2024/streams/pocs/cnoe/_index.md | 3 +- .../streams/pocs/sia-asset/_index.md | 2 +- .../en/docs/project/team-process/_index.md | 10 +- .../design/architectural-documentation.md | 8 +- .../design/architectural-work-structure.md | 24 +++-- .../design/crossplane-vs-terraform.md | 8 +- .../decision-iam-and-edf-self-containment.md | 4 +- .../solution/design/platform-component.md | 19 ++-- .../design/proposal-local-deployment.md | 2 +- .../design/proposal-stack-hydration.md | 6 +- .../docs/solution/scenarios/gitops/_index.md | 2 +- .../scenarios/orchestration/_index.md | 6 +- .../Backstage setup tutorial/_index.md | 16 +-- .../Backstage/Exsisting Plugins/_index.md | 36 ++++--- .../Backstage/General Information/_index.md | 2 +- .../Plugin Creation Tutorial/_index.md | 13 ++- .../tools/CNOE/CNOE-competitors/_index.md | 52 ++++----- .../CNOE/idpbuilder/installation/_index.md | 44 ++++---- .../basic-argo-workflow/_index.md | 8 +- .../basic-kubernetes-deployment/_idex.md | 8 +- .../docs/solution/tools/CNOE/verification.md | 12 +-- .../tools/Crossplane/provider-kind/_index.md | 46 ++++---- .../tools/Kube-prometheus-stack/_index.md | 2 + content/en/docs/solution/tools/Loki/_index.md | 2 +- .../en/docs/solution/tools/Promtail/_index.md | 2 +- .../tools/kyverno integration/_index.md | 11 +- 61 files changed, 425 insertions(+), 358 deletions(-) diff --git a/.markdownlint.json b/.markdownlint.json index 8c37aec..52b45af 100644 --- a/.markdownlint.json +++ b/.markdownlint.json @@ -1,8 +1,25 @@ { + "$schema": "https://raw.githubusercontent.com/DavidAnson/markdownlint/main/schema/markdownlint-config-schema.json", "default": true, + "MD001": true, + "MD003": { "style": "atx" }, + "MD004": { "style": "asterisk" }, + "MD007": { "indent": 2 }, + "MD009": { "br_spaces": 2 }, + "MD010": { "code_blocks": false }, + "MD012": { "maximum": 2 }, "MD013": false, - "MD033": false, - "MD041": false, + "MD022": { "lines_above": 1, "lines_below": 1 }, "MD024": { "siblings_only": true }, - "MD025": { "front_matter_title": "" } + "MD025": { "front_matter_title": "" }, + "MD026": { "punctuation": ".,;:" }, + "MD029": { "style": "ordered" }, + "MD031": { "list_items": false }, + "MD032": true, + "MD033": { "allowed_elements": ["div", "span", "a", "img", "br", "details", "summary"] }, + "MD034": false, + "MD040": false, + "MD041": false, + "MD045": false, + "MD047": true } diff --git a/content/en/blog/20250401_review.md b/content/en/blog/20250401_review.md index 051acb2..a5a339d 100644 --- a/content/en/blog/20250401_review.md +++ b/content/en/blog/20250401_review.md @@ -19,12 +19,12 @@ devops is dead .... claim 4) Stephan bis 10h55 -5) christopher 10h58 +5) christopher 10h58 6) robert 11:11 -- app -- devops-pipelines -- edp in osc deployed +* app +* devops-pipelines +* edp in osc deployed 7) michal has nothing to show @@ -33,7 +33,6 @@ devops is dead .... claim 9) patrick 11:32 - ==== projekt management meeting @@ -58,7 +57,7 @@ senioren bekommen level1: source code structure, artefakte builden, revision control, branching model, e.g. pull requesting, tests der software, local debugging level2: automatisierung des artefakte-builds, versionsmgmt, milestones, tickets, issues, compliances an security -level3: deployment auf stages, feedback pipeline verhalten +level3: deployment auf stages, feedback pipeline verhalten level4: feedback app-verhalten (logs, metrics, alerts) + development loop level5: 3rd level support in production @@ -69,7 +68,7 @@ level2: reaching the outdside world with output automatisierung des artefakte-builds, versionsmgmt, milestones, tickets, issues, compliances an security level3: run the app anywhere -deployment auf stages, feedback pipeline verhalten +deployment auf stages, feedback pipeline verhalten level4: monitoring the app feedback app-verhalten (logs, metrics, alerts) + development loop @@ -78,10 +77,8 @@ level5: support 3rd level support in production (or any outer stage) - sprint 4 leveraging säule eigene app säule chore säule - diff --git a/content/en/docs/concepts/3_use-cases/_index.md b/content/en/docs/concepts/3_use-cases/_index.md index 20c1660..6a5b20f 100644 --- a/content/en/docs/concepts/3_use-cases/_index.md +++ b/content/en/docs/concepts/3_use-cases/_index.md @@ -4,7 +4,7 @@ weight: 2 description: The golden paths in the engineers and product development domain --- -## Rationale +## Rationale The challenge of IPCEI-CIS Developer Framework is to provide value for DTAG customers, and more specifically: for Developers of DTAG customers. @@ -52,11 +52,10 @@ The resulting visualization should look similar like this: ![alt text](fibonacci-app_cpu-spike.png) - ## When and how to use the developer framework? ### e.g. an example .... taken from https://cloud.google.com/blog/products/application-development/common-myths-about-platform-engineering?hl=en -![alt text](image.png) \ No newline at end of file +![alt text](image.png) diff --git a/content/en/docs/concepts/4_digital-platforms/platform-components/_index.md b/content/en/docs/concepts/4_digital-platforms/platform-components/_index.md index 5bed0e4..16aea34 100644 --- a/content/en/docs/concepts/4_digital-platforms/platform-components/_index.md +++ b/content/en/docs/concepts/4_digital-platforms/platform-components/_index.md @@ -7,6 +7,7 @@ description: What in terms of components or building blocks is needed in a platf > This page is in work. Right now we have in the index a collection of links describing and listing typical components and building blocks of platforms. Also we have a growing number of subsections regarding special types of components. See also: + * https://thenewstack.io/build-an-open-source-kubernetes-gitops-platform-part-1/ * https://thenewstack.io/build-an-open-source-kubernetes-gitops-platform-part-2/ diff --git a/content/en/docs/concepts/4_digital-platforms/platform-components/cicd-pipeline/_index.md b/content/en/docs/concepts/4_digital-platforms/platform-components/cicd-pipeline/_index.md index a9c0ac5..128118e 100644 --- a/content/en/docs/concepts/4_digital-platforms/platform-components/cicd-pipeline/_index.md +++ b/content/en/docs/concepts/4_digital-platforms/platform-components/cicd-pipeline/_index.md @@ -47,11 +47,11 @@ Components are the composable and self-contained building blocks for the context Components must be as small as possible and follow the same concepts of software development and deployment as any other software product. In particular, they must have the following characteristics: -- designed for a single task -- provide a clear and intuitive output -- easy to compose -- easily customizable or interchangeable -- automatically testable +* designed for a single task +* provide a clear and intuitive output +* easy to compose +* easily customizable or interchangeable +* automatically testable In the EDF components are divided into different categories. Each category contains components that perform similar actions. For example, the `build` category contains components that compile code, while the `deploy` category contains components that automate the management of the artefacts created in a production-like system. diff --git a/content/en/docs/concepts/4_digital-platforms/platform-components/cicd-pipeline/review-stl.md b/content/en/docs/concepts/4_digital-platforms/platform-components/cicd-pipeline/review-stl.md index ed5e701..429eab2 100644 --- a/content/en/docs/concepts/4_digital-platforms/platform-components/cicd-pipeline/review-stl.md +++ b/content/en/docs/concepts/4_digital-platforms/platform-components/cicd-pipeline/review-stl.md @@ -8,4 +8,4 @@ There is no continuous whatever step inbetween ... Gitops is just 'overwriting' This means whatever quality ensuring steps have to take part before 'overwriting' have to be defined as state changer in the repos, not in the environments. -Conclusio: I think we only have three contexts, or let's say we don't have the contect 'continuous delivery' \ No newline at end of file +Conclusio: I think we only have three contexts, or let's say we don't have the contect 'continuous delivery' diff --git a/content/en/docs/concepts/4_digital-platforms/platform-components/developer-portals/_index.md b/content/en/docs/concepts/4_digital-platforms/platform-components/developer-portals/_index.md index 60c5453..53dec62 100644 --- a/content/en/docs/concepts/4_digital-platforms/platform-components/developer-portals/_index.md +++ b/content/en/docs/concepts/4_digital-platforms/platform-components/developer-portals/_index.md @@ -33,4 +33,4 @@ https://www.getport.io/compare/backstage-vs-port * [port-vs-backstage-choosing-your-internal-developer-portal](https://medium.com/@vaibhavgupta0702/port-vs-backstage-choosing-your-internal-developer-portal-71c6a6acd979) * [idp-vs-self-service-portal-a-platform-engineering-showdown](https://thenewstack.io/idp-vs-self-service-portal-a-platform-engineering-showdown) * [portals-vs-platform-orchestrator](https://humanitec.com/portals-vs-platform-orchestrator) -* [internal-developer-portal-vs-internal-developer-platform](https://www.cortex.io/post/internal-developer-portal-vs-internal-developer-platform) \ No newline at end of file +* [internal-developer-portal-vs-internal-developer-platform](https://www.cortex.io/post/internal-developer-portal-vs-internal-developer-platform) diff --git a/content/en/docs/concepts/4_digital-platforms/platform-components/orchestrator/_index.md b/content/en/docs/concepts/4_digital-platforms/platform-components/orchestrator/_index.md index ed92bfb..745cbca 100644 --- a/content/en/docs/concepts/4_digital-platforms/platform-components/orchestrator/_index.md +++ b/content/en/docs/concepts/4_digital-platforms/platform-components/orchestrator/_index.md @@ -17,7 +17,7 @@ description: "The new kid on the block since 2023 ist 'Platform Orchestrating': * cnoe.io -#### Resources +#### Resources * [CNOE IDPBuilder](https://cnoe.io/docs/reference-implementation/installations/idpbuilder) -* https://github.com/csantanapr/cnoe-examples/tree/main \ No newline at end of file +* https://github.com/csantanapr/cnoe-examples/tree/main diff --git a/content/en/docs/concepts/4_digital-platforms/platform-components/references/_index.md b/content/en/docs/concepts/4_digital-platforms/platform-components/references/_index.md index 1cd858c..5d1b186 100644 --- a/content/en/docs/concepts/4_digital-platforms/platform-components/references/_index.md +++ b/content/en/docs/concepts/4_digital-platforms/platform-components/references/_index.md @@ -29,8 +29,8 @@ description: An currently uncurated list of references with respect to typical p | Core Component | Short Description | | ---- | --- | -| Application Configuration Management | Manage application configuration in a dynamic, scalable and reliable way. | -| Infrastructure Orchestration | Orchestrate your infrastructure in a dynamic and intelligent way depending on the context. | -| Environment Management | Enable developers to create new and fully provisioned environments whenever needed. | -| Deployment Management | Implement a delivery pipeline for Continuous Delivery or even Continuous Deployment (CD). | -| Role-Based Access Control | Manage who can do what in a scalable way. | \ No newline at end of file +| Application Configuration Management | Manage application configuration in a dynamic, scalable and reliable way. | +| Infrastructure Orchestration | Orchestrate your infrastructure in a dynamic and intelligent way depending on the context. | +| Environment Management | Enable developers to create new and fully provisioned environments whenever needed. | +| Deployment Management | Implement a delivery pipeline for Continuous Delivery or even Continuous Deployment (CD). | +| Role-Based Access Control | Manage who can do what in a scalable way. | diff --git a/content/en/docs/concepts/4_digital-platforms/platform-engineering/_index.md b/content/en/docs/concepts/4_digital-platforms/platform-engineering/_index.md index b093bda..88092d7 100644 --- a/content/en/docs/concepts/4_digital-platforms/platform-engineering/_index.md +++ b/content/en/docs/concepts/4_digital-platforms/platform-engineering/_index.md @@ -5,7 +5,7 @@ description: Theory and general blue prints of the platform engineering discipli --- -## Rationale +## Rationale IPCEI-CIS Developer Framework is part of a cloud native technology stack. To design the capabilities and architecture of the Developer Framework we need to define the surounding context and internal building blocks, both aligned with cutting edge cloud native methodologies and research results. @@ -16,6 +16,7 @@ In CNCF the discipline of building stacks to enhance the developer experience is [CNCF first asks](https://tag-app-delivery.cncf.io/whitepapers/platforms/) why we need platform engineering: > The desire to refocus delivery teams on their core focus and reduce duplication of effort across the organisation has motivated enterprises to implement platforms for cloud-native computing. By investing in platforms, enterprises can: +> > * Reduce the cognitive load on product teams and thereby accelerate product development and delivery > * Improve reliability and resiliency of products relying on platform capabilities by dedicating experts to configure and manage them > * Accelerate product development and delivery by reusing and sharing platform tools and knowledge across many teams in an enterprise @@ -40,7 +41,7 @@ https://humanitec.com/blog/wtf-internal-developer-platform-vs-internal-developer ## Internal Developer Platform -> In IPCEI-CIS right now (July 2024) we are primarily interested in understanding how IDPs are built as one option to implement an IDP is to build it ourselves. +> In IPCEI-CIS right now (July 2024) we are primarily interested in understanding how IDPs are built as one option to implement an IDP is to build it ourselves. The outcome of the Platform Engineering discipline is - created by the platform engineering team - a so called 'Internal Developer Platform'. @@ -69,4 +70,4 @@ The amount of available IDPs as product is rapidly growing. ## Platform 'Initiatives' aka Use Cases Cortex is [talking about Use Cases (aka Initiatives):](https://www.youtube.com/watch?v=LrEC-fkBbQo) (or https://www.brighttalk.com/webcast/20257/601901) -![alt text](cortex-use-cases.png) \ No newline at end of file +![alt text](cortex-use-cases.png) diff --git a/content/en/docs/concepts/4_digital-platforms/platform-engineering/reference-architecture/_index.md b/content/en/docs/concepts/4_digital-platforms/platform-engineering/reference-architecture/_index.md index f6420d7..d3d6af0 100644 --- a/content/en/docs/concepts/4_digital-platforms/platform-engineering/reference-architecture/_index.md +++ b/content/en/docs/concepts/4_digital-platforms/platform-engineering/reference-architecture/_index.md @@ -7,14 +7,14 @@ weight = 1 date = '2024-07-30' +++ -## [The Structure of a Successful Internal Developer Platform](https://platformengineering.org/blog/create-your-own-platform-engineering-reference-architectures) +## [The Structure of a Successful Internal Developer Platform](https://platformengineering.org/blog/create-your-own-platform-engineering-reference-architectures) In a platform reference architecture there are five main planes that make up an IDP: 1. Developer Control Plane – this is the primary configuration layer and interaction point for the platform users. Components include Workload specifications such as Score and a portal for developers to interact with. 2. Integration and Delivery Plane – this plane is about building and storing the image, creating app and infra configs, and deploying the final state. It usually contains a CI pipeline, an image registry, a Platform Orchestrator, and the CD system. 3. Resource Plane – this is where the actual infrastructure exists including clusters, databases, storage or DNS services. -4, Monitoring and Logging Plane – provides real-time metrics and logs for apps and infrastructure. +4, Monitoring and Logging Plane – provides real-time metrics and logs for apps and infrastructure. 5. Security Plane – manages secrets and identity to protect sensitive information, e.g., storing, managing, and security retrieving API keys and credentials/secrets. ![idp](../idp.webp) @@ -29,12 +29,9 @@ https://github.com/humanitec-architecture https://humanitec.com/reference-architectures - ## Create a reference architecture [Create your own platform reference architecture](https://platformengineering.org/blog/create-your-own-platform-engineering-reference-architectures) [Reference arch slide deck](https://docs.google.com/presentation/d/1yAf_FSjiA0bAFukgu5p1DRMvvGGE1fF4KhvZbb7gn2I/edit?pli=1#slide=id.g1ef66f3349b_3_3) - - diff --git a/content/en/docs/concepts/5_platforms/CNOE/_index.md b/content/en/docs/concepts/5_platforms/CNOE/_index.md index dac0b04..1f4e68b 100644 --- a/content/en/docs/concepts/5_platforms/CNOE/_index.md +++ b/content/en/docs/concepts/5_platforms/CNOE/_index.md @@ -5,12 +5,12 @@ weight = 4 * https://cnoe.io/docs/intro - + > The goal for the CNOE framework is to bring together a cohort of enterprises operating at the same scale so that they can navigate their operational technology decisions together, de-risk their tooling bets, coordinate contribution, and offer guidance to large enterprises on which CNCF technologies to use together to achieve the best cloud efficiencies. ### Aussprache -* Englisch Kuh.noo, +* Englisch Kuh.noo, * also 'Kanu' im Deutschen @@ -26,6 +26,7 @@ See https://cnoe.io/docs/reference-implementation/integrations/reference-impl: # in a local terminal with docker and kind idpbuilder create --use-path-routing --log-level debug --package-dir https://github.com/cnoe-io/stacks//ref-implementation ``` + ### Output ```bash @@ -150,7 +151,7 @@ Data: USER_PASSWORD : RwCHPvPVMu+fQM4L6W/q-Wq79MMP+3CN-Jeo ``` -### login to backstage +### login to backstage login geht mit den Creds, siehe oben: diff --git a/content/en/docs/concepts/5_platforms/Humanitec/_index.md b/content/en/docs/concepts/5_platforms/Humanitec/_index.md index 21c9e69..1b6be58 100644 --- a/content/en/docs/concepts/5_platforms/Humanitec/_index.md +++ b/content/en/docs/concepts/5_platforms/Humanitec/_index.md @@ -4,4 +4,4 @@ weight = 4 +++ -tbd \ No newline at end of file +tbd diff --git a/content/en/docs/decisions/0001-pipeline-tools.md b/content/en/docs/decisions/0001-pipeline-tools.md index 311ab33..04dd838 100644 --- a/content/en/docs/decisions/0001-pipeline-tools.md +++ b/content/en/docs/decisions/0001-pipeline-tools.md @@ -10,25 +10,25 @@ ArgoCD is considered set in stone as the tool to manage the deployment of applic In general, there are 2 decisions to make: -- What tools should we use to execute the pipeline? -- What tools should we use to compose the pipeline? +* What tools should we use to execute the pipeline? +* What tools should we use to compose the pipeline? The following use-cases should be considered for this decision: -- **User who wants to manage their own runners (???)** -- User who only wants to use our golden path -- User who wants to use our golden path and add custom actions -- User who wants to use their own templates and import some of our actions -- User who wants to import an existing GitHub repository with a pipeline +* **User who wants to manage their own runners (???)** +* User who only wants to use our golden path +* User who wants to use our golden path and add custom actions +* User who wants to use their own templates and import some of our actions +* User who wants to import an existing GitHub repository with a pipeline ## Considered Options -- Argo Workflows + Events -- Argo Workflows + Events + Additional Composition tool -- Forgejo Actions -- Forgejo Actions + Additional Composition tool -- Dagger (as Engine) -- Shuttle (as Engine) +* Argo Workflows + Events +* Argo Workflows + Events + Additional Composition tool +* Forgejo Actions +* Forgejo Actions + Additional Composition tool +* Dagger (as Engine) +* Shuttle (as Engine) ## Decision Outcome @@ -40,87 +40,87 @@ TBD **Pro** -- integration with ArgoCD -- ability to trigger additional workflows based on events. -- level of maturity and community support. +* integration with ArgoCD +* ability to trigger additional workflows based on events. +* level of maturity and community support. **Con** -- Ability to self-host runners? -- way how composition for pipelines works (based on Kubernetes CRDs) - - Templates must be available in the cluster where the pipelines are executed, so any imported templates must be applied into the cluster before the pipeline can be executed and cannot simply reference a repository - - This makes it difficult to import existing templates from other repositories when using self-hosted runners - - This also makes it difficult to use our golden path, or at least we will need to provide a way to import our golden path into the cluster - - This also makes the split of every component has its own repo very difficult -- additional UI to manage the pipeline -- Additional complexity +* Ability to self-host runners? +* way how composition for pipelines works (based on Kubernetes CRDs) + * Templates must be available in the cluster where the pipelines are executed, so any imported templates must be applied into the cluster before the pipeline can be executed and cannot simply reference a repository + * This makes it difficult to import existing templates from other repositories when using self-hosted runners + * This also makes it difficult to use our golden path, or at least we will need to provide a way to import our golden path into the cluster + * This also makes the split of every component has its own repo very difficult +* additional UI to manage the pipeline +* Additional complexity ### Argo Workflows + Events + Additional Composition tool **Pro** -- Composability can be offloaded to another tool +* Composability can be offloaded to another tool **Con** -- All cons of the previous option (except composability) -- Additional complexity by adding another tool +* All cons of the previous option (except composability) +* Additional complexity by adding another tool ### Forgejo Actions **Pro** -- tight integration with GitHub Actions providing a familiar interface for developers and a vast catalog of actions to choose from -- ability to compose pipelines without relying on another tool -- Self-hosting of runners possible -- every component can have its own repository and use different tools (e.g. written in go, bash, python etc.) +* tight integration with GitHub Actions providing a familiar interface for developers and a vast catalog of actions to choose from +* ability to compose pipelines without relying on another tool +* Self-hosting of runners possible +* every component can have its own repository and use different tools (e.g. written in go, bash, python etc.) **Con** -- level of maturity - will require additional investments to provide a production-grade system +* level of maturity - will require additional investments to provide a production-grade system ### Forgejo Actions + Additional Tool **Pro** -- may be possible to use GitHub actions alongside another tool +* may be possible to use GitHub actions alongside another tool **Con** -- additional complexity by adding another tool +* additional complexity by adding another tool ### Shuttle **Pro** -- Possibility to clearly define interfaces for pipeline steps -- Relatively simple +* Possibility to clearly define interfaces for pipeline steps +* Relatively simple **Con** -- basically backed by only one company -- **centralized templates**, so no mechanism for composing pipelines from multiple repositories +* basically backed by only one company +* **centralized templates**, so no mechanism for composing pipelines from multiple repositories ### Dagger **Pro** -- Pipeline as code - - if it runs it should run anywhere and produce the "same" / somewhat stable results - - build environments are defined within containers / the dagger config. Dagger is the only dependency one has to install on a machine -- DX is extremely nice, especially if you have to debug (image) builds, also type safety due to the ability to code your build in a strong language -- additional tooling, like trivy, is added to a build pipeline with low effort due to containers and existing plugin/wrappers -- you can create complex test environments similar to test containers and docker compose +* Pipeline as code + * if it runs it should run anywhere and produce the "same" / somewhat stable results + * build environments are defined within containers / the dagger config. Dagger is the only dependency one has to install on a machine +* DX is extremely nice, especially if you have to debug (image) builds, also type safety due to the ability to code your build in a strong language +* additional tooling, like trivy, is added to a build pipeline with low effort due to containers and existing plugin/wrappers +* you can create complex test environments similar to test containers and docker compose **Con** -- relies heavily containers, which might not be available some environments (due to policy etc), it also has an effect on reproducibility and verifiability -- as a dev you need to properly understand containers -- dagger engine has to run privileged locally and/or in the cloud which might be a blocker or at least a big pain in the ... +* relies heavily containers, which might not be available some environments (due to policy etc), it also has an effect on reproducibility and verifiability +* as a dev you need to properly understand containers +* dagger engine has to run privileged locally and/or in the cloud which might be a blocker or at least a big pain in the ... **Suggestion Patrick** -- dagger is a heavy weight and might not be as productive in a dev workflow as it seems (setup lsp etc) -- it might be too opinionated to force on teams, especially since it is not near mainstream enough, community might be too small -- it feels like dagger gets you 95% of the way, but the remaining 5% are a real struggle -- if we like it, we should check the popularity in the dev community before further considering as it has a direct impact on teams and their preferences +* dagger is a heavy weight and might not be as productive in a dev workflow as it seems (setup lsp etc) +* it might be too opinionated to force on teams, especially since it is not near mainstream enough, community might be too small +* it feels like dagger gets you 95% of the way, but the remaining 5% are a real struggle +* if we like it, we should check the popularity in the dev community before further considering as it has a direct impact on teams and their preferences diff --git a/content/en/docs/project/MVP-12-OTC.md b/content/en/docs/project/MVP-12-OTC.md index 3969671..252ed04 100644 --- a/content/en/docs/project/MVP-12-OTC.md +++ b/content/en/docs/project/MVP-12-OTC.md @@ -16,12 +16,13 @@ Dein beschriebenes Szenario – Vision und PoC vorhanden, aber kein ausformulier ## Bewertung eures PDCA-basierten Vorgehens **Positiv:** -- **Täglicher PDCA-Zyklus** (Plan-Do-Check-Act) sorgt für schnelle Feedbackschleifen. -- **Morgendliches Planning** und **Check-Meeting im Plenum** fördern Transparenz und Selbstorganisation. -- **Subgruppen-Erkundung** erlaubt parallele Experimente. -- **Abschließendes "A"** zur Ergebnissicherung ist essenziell, sonst bleibt es bei "busy work". +* **Täglicher PDCA-Zyklus** (Plan-Do-Check-Act) sorgt für schnelle Feedbackschleifen. +* **Morgendliches Planning** und **Check-Meeting im Plenum** fördern Transparenz und Selbstorganisation. +* **Subgruppen-Erkundung** erlaubt parallele Experimente. +* **Abschließendes "A"** zur Ergebnissicherung ist essenziell, sonst bleibt es bei "busy work". **Risiken:** + 1. **Fehlende Langfriststruktur:** Ohne grobe übergreifende Richtung (z. B. Meilensteinplan, Zielbild) kann es leicht in ziellosem Explorieren enden. 2. **Uneinheitlicher Erkenntnisgewinn:** Subgruppen könnten redundant oder inkompatibel arbeiten, wenn kein gemeinsames Verständnis besteht. 3. **Dokumentation als „Nachsorge“:** Wenn die Doku erst am Ende passiert, droht Wissensverlust – lieber „Living Docs“ in Echtzeit pflegen. @@ -30,10 +31,10 @@ Dein beschriebenes Szenario – Vision und PoC vorhanden, aber kein ausformulier ## Verbesserungsvorschläge 1. **Exploration Backlog oder Hypothesenboard:** Auch ohne klassisches Product Backlog könnt ihr mit einem **Experiment-/Hypothesenboard** (à la Lean Startup) arbeiten. Zum Beispiel: - - Hypothese: „Feature X wird den Use Case Y verbessern.“ - - Experiment: „Prototyp bauen und testen mit Nutzergruppe Z.“ - - Ergebnis & Learnings dokumentieren. - + * Hypothese: „Feature X wird den Use Case Y verbessern.“ + * Experiment: „Prototyp bauen und testen mit Nutzergruppe Z.“ + * Ergebnis & Learnings dokumentieren. + 2. **Wöchentliche Zielsetzungen:** Jeden Montag ein Weekly Planning mit klaren Zielen für die Woche (Outcome-fokussiert, nicht Task-fokussiert). 3. **Integration mit Dual Track Agile:** Das Vorgehen ähnelt dem **Dual-Track-Modell**: ein **Discovery-Track** (Erkunden, Validieren, Prototypisieren) läuft parallel zum späteren **Delivery-Track** (Releases, Sprints). Ihr seid noch voll im Discovery-Track. @@ -44,11 +45,11 @@ Dein beschriebenes Szenario – Vision und PoC vorhanden, aber kein ausformulier ## Gängige Standard-Methoden in dieser Phase -- **Design Thinking** (für Nutzerzentrierte Exploration) -- **Lean UX / Lean Startup** (Hypothesengetrieben) -- **Dual Track Agile** -- **Google Design Sprint (5 Tage)** – extrem hilfreich, wenn es um das Testen von Nutzerideen geht -- **Shape Up (Basecamp)** – für nicht-sprintbasiertes Arbeiten mit "Bet" auf 6-Wochen-Projekte +* **Design Thinking** (für Nutzerzentrierte Exploration) +* **Lean UX / Lean Startup** (Hypothesengetrieben) +* **Dual Track Agile** +* **Google Design Sprint (5 Tage)** – extrem hilfreich, wenn es um das Testen von Nutzerideen geht +* **Shape Up (Basecamp)** – für nicht-sprintbasiertes Arbeiten mit "Bet" auf 6-Wochen-Projekte --- @@ -63,27 +64,28 @@ Möchtest du eine konkrete Vorlage für ein Exploration Backlog oder Hypothesenb Danke für die Ergänzung – das ändert die Ausgangslage entscheidend und erlaubt eine deutlich präzisere Einordnung. -### Neue Ausgangslage: +### Neue Ausgangslage -- Ihr **habt eine Architektur**: Die Komponenten und Schnittstellen sind klar. -- Es gibt **bereits einen PoC** und eine Produktvision. -- Das **Backlog fehlt**, weil ihr gerade die **"nicht-funktionalen" Themen wie Deployment, Cloud-Umgebung, Konfiguration und Betrieb** klärt. -- Das System ist **technisch grob fertig designt**, aber die **Operations- und Deployment-Prozesse** sind unklar und werden explorativ entwickelt. +* Ihr **habt eine Architektur**: Die Komponenten und Schnittstellen sind klar. +* Es gibt **bereits einen PoC** und eine Produktvision. +* Das **Backlog fehlt**, weil ihr gerade die **"nicht-funktionalen" Themen wie Deployment, Cloud-Umgebung, Konfiguration und Betrieb** klärt. +* Das System ist **technisch grob fertig designt**, aber die **Operations- und Deployment-Prozesse** sind unklar und werden explorativ entwickelt. ### Schärferes Feedback #### 1. **Tages-PDCA-Zyklen wirken in diesem Kontext zu granular** + Bei Infrastruktur-, Deployment- oder Konfigurationsfragen entstehen oft tiefe „Spikes“ (z. B. CI/CD-Pipeline aufsetzen, Helm-Chart modellieren, Secrets Handling evaluieren). Diese brauchen oft mehr als einen Tag bis zum „Check“, weil Abhängigkeiten (z. B. Rechte, Cloud-Zugänge, Testumgebungen) entstehen. Ein **2- bis 3-Tages-Rhythmus** mit klaren Zwischenzielen wäre realistischer, ergänzt um: -- **Daily Standup als Taktgeber**, aber nicht zwangsläufig als vollständiger PDCA-Zyklus. -- **Weekly Planning mit Zielvorgaben und Review-Ritualen**, um Fortschritt messbar zu machen. +* **Daily Standup als Taktgeber**, aber nicht zwangsläufig als vollständiger PDCA-Zyklus. +* **Weekly Planning mit Zielvorgaben und Review-Ritualen**, um Fortschritt messbar zu machen. #### 2. **Was ihr macht, ist kein Produkt-Delivery, sondern "System Enablement"** Ihr steckt im Übergang von Architektur zu einem **Infrastructure as Code + Plattform Enablement Track**. Das bedeutet: -- Die „User Stories“ sind keine klassischen Features, sondern z. B.: - - „Als Team möchte ich unsere Software mit einem Befehl deployen können.“ - - „Als Betreiber will ich wissen, wie ich Services konfiguriere.“ +* Die „User Stories“ sind keine klassischen Features, sondern z. B.: + * „Als Team möchte ich unsere Software mit einem Befehl deployen können.“ + * „Als Betreiber will ich wissen, wie ich Services konfiguriere.“ Das spricht für ein **Infrastructure Kanban Board**, keine Sprints. @@ -100,29 +102,29 @@ Das spricht für ein **Infrastructure Kanban Board**, keine Sprints. #### 4. **Konkrete Empfehlungen zur Strukturierung** -- **Ziele für die 8 Wochen formulieren** als **"Capabilities"**, z. B.: - - „Greenfield-Clouddeployment in AWS/GCP über GitHub Actions.“ - - „Parameterisierbares Helm-Chart mit Doku.“ - - „Konfigurierbarkeit über ENV vs. Secrets evaluieren.“ -- Dazu **1–2 Woche cadence**, jede Woche ein Review/Checkpoint. -- **Boards mit Task-Kategorien**: - - 🧪 Spike - - 🛠️ Tooling/Automation - - 📦 Infrastruktur/Dienst - - 📓 Dokumentation -- **Ergebnisse sofort versionieren und dokumentieren**, z. B.: - - GitOps Repo-Struktur - - ADRs - - Beispiel-Deployments +* **Ziele für die 8 Wochen formulieren** als **"Capabilities"**, z. B.: + * „Greenfield-Clouddeployment in AWS/GCP über GitHub Actions.“ + * „Parameterisierbares Helm-Chart mit Doku.“ + * „Konfigurierbarkeit über ENV vs. Secrets evaluieren.“ +* Dazu **1–2 Woche cadence**, jede Woche ein Review/Checkpoint. +* **Boards mit Task-Kategorien**: + * 🧪 Spike + * 🛠️ Tooling/Automation + * 📦 Infrastruktur/Dienst + * 📓 Dokumentation +* **Ergebnisse sofort versionieren und dokumentieren**, z. B.: + * GitOps Repo-Struktur + * ADRs + * Beispiel-Deployments --- ### Fazit Ihr seid im **"technisch operativen Enablement"** eures Systems, nicht im Produkt-Delivery. Das rechtfertigt: -- ein **kanban-artiges, flexibles Modell mit timeboxed Reviews**, -- tägliche Abstimmungen, aber nicht zwingend tägliche Zyklen, -- Fokus auf **Enabler-Ziele statt funktionale Stories**. +* ein **kanban-artiges, flexibles Modell mit timeboxed Reviews**, +* tägliche Abstimmungen, aber nicht zwingend tägliche Zyklen, +* Fokus auf **Enabler-Ziele statt funktionale Stories**. SCRUM ist hier fehl am Platz, aber euer Ansatz ist sehr nahe an einer **modernen DevOps-orientierten Arbeitsweise**, die z. B. von **Platform Engineering Teams** eingesetzt wird. @@ -191,10 +193,10 @@ Diese Capabilities bilden **Spalten** oder **Swimlanes** im Board (wenn euer Too ## 📅 Cadence-Empfehlung -- **Daily Standup (15 min)**: Was läuft, was blockiert? Pull statt Push! -- **Weekly Planning (Montag)**: Priorisieren und Backlog-Grooming (welche Capabilities sind diese Woche dran?) -- **Weekly Review (Freitag)**: Erkenntnisse, Entscheidungen und Dokumentation präsentieren -- Optional: **Retrospektive alle 2 Wochen**, falls das Team Energie hat +* **Daily Standup (15 min)**: Was läuft, was blockiert? Pull statt Push! +* **Weekly Planning (Montag)**: Priorisieren und Backlog-Grooming (welche Capabilities sind diese Woche dran?) +* **Weekly Review (Freitag)**: Erkenntnisse, Entscheidungen und Dokumentation präsentieren +* Optional: **Retrospektive alle 2 Wochen**, falls das Team Energie hat --- @@ -264,4 +266,4 @@ Gerade in eurem Kontext (technisches Enablement, Deployment, Betrieb) ist das ** --- -Möchtest du eine Vorlage für ein ADR oder ein Beispielverzeichnis für eine sinnvolle Living-Docs-Struktur im Repo? \ No newline at end of file +Möchtest du eine Vorlage für ein ADR oder ein Beispielverzeichnis für eine sinnvolle Living-Docs-Struktur im Repo? diff --git a/content/en/docs/project/bootstrapping/backup/_index.md b/content/en/docs/project/bootstrapping/backup/_index.md index c9dd005..b4b31f1 100644 --- a/content/en/docs/project/bootstrapping/backup/_index.md +++ b/content/en/docs/project/bootstrapping/backup/_index.md @@ -39,6 +39,7 @@ velero install \ 3. Delete `credentials.ini`, it is not needed anymore (a secret has been created in the cluster). 4. Create a schedule to back up the relevant resources in the cluster: + ``` velero schedule create devfw-bootstrap --schedule="23 */2 * * *" "--include-namespaces=forgejo" ``` @@ -48,6 +49,7 @@ velero schedule create devfw-bootstrap --schedule="23 */2 * * *" "--include-name You can now use Velero to create backups, restore them, or perform other operations. Please refer to the [Velero Documentation](https://velero.io/docs/main/backup-reference/). To list all currently available backups: + ``` velero backup get ``` diff --git a/content/en/docs/project/conceptual-onboarding/1_intro/_index.md b/content/en/docs/project/conceptual-onboarding/1_intro/_index.md index 9fa9723..37aa4d0 100644 --- a/content/en/docs/project/conceptual-onboarding/1_intro/_index.md +++ b/content/en/docs/project/conceptual-onboarding/1_intro/_index.md @@ -5,10 +5,12 @@ description: The 5-step storyflow of this Onboarding chapter --- {{% pageinfo color="info" %}} + ## Summary -This onboarding section is for you when are new to IPCEI-CIS subproject 'Edge Developer Framework (EDF)' and you want to know about -* its context to 'Platform Engineering' +This onboarding section is for you when are new to IPCEI-CIS subproject 'Edge Developer Framework (EDF)' and you want to know about + +* its context to 'Platform Engineering' * and why we think it's the stuff we need to care about in the EDF {{% /pageinfo %}} @@ -41,9 +43,7 @@ Please do not think this story and the underlying assumptions are carved in ston ## Your role as 'Framework Engineer' in the Domain Architecture -Pls be aware of the the following domain and task structure of our mission: +Pls be aware of the the following domain and task structure of our mission: ![](./conclusio/images/modern.png) - - diff --git a/content/en/docs/project/conceptual-onboarding/2_edge-developer-framework/_index.md b/content/en/docs/project/conceptual-onboarding/2_edge-developer-framework/_index.md index 8da5935..452461a 100644 --- a/content/en/docs/project/conceptual-onboarding/2_edge-developer-framework/_index.md +++ b/content/en/docs/project/conceptual-onboarding/2_edge-developer-framework/_index.md @@ -5,10 +5,11 @@ description: Driving requirements for a platform --- {{% pageinfo color="info" %}} + ## Summary -The 'Edge Developer Framework' is both the project and the product we are working for. Out of the leading 'Portfolio Document' -we derive requirements which are ought to be fulfilled by Platform Engineering. +The 'Edge Developer Framework' is both the project and the product we are working for. Out of the leading 'Portfolio Document' +we derive requirements which are ought to be fulfilled by Platform Engineering. **This is our claim!** @@ -26,6 +27,7 @@ e. Development of DTAG/TSI Edge Developer Framework * Goal: All developed innovations must be accessible to developer communities in a **highly user-friendly and easy way** ### Development of DTAG/TSI Edge Developer Framework (p.14) + | capability | major novelties ||| | -- | -- | -- | -- | | e.1. Edge Developer full service framework (SDK + day1 +day2 support for edge installations) | Adaptive CI/CD pipelines for heterogeneous edge environments | Decentralized and self healing deployment and management | edge-driven monitoring and analytics | @@ -34,22 +36,23 @@ e. Development of DTAG/TSI Edge Developer Framework ### DTAG objectives & contributions (p.27) -DTAG will also focus on developing an easy-to-use **Edge Developer framework for software +DTAG will also focus on developing an easy-to-use **Edge Developer framework for software developers** to **manage the whole lifecycle of edge applications**, i.e. for **day-0-, day-1- and up to day-2- -operations**. With this DTAG will strongly enable the ecosystem building for the entire IPCEI-CIS edge to -cloud continuum and ensure openness and accessibility for anyone or any company to make use and -further build on the edge to cloud continuum. Providing the use of the tool framework via an open-source approach will further reduce entry barriers and enhance the openness and accessibility for anyone or +operations**. With this DTAG will strongly enable the ecosystem building for the entire IPCEI-CIS edge to +cloud continuum and ensure openness and accessibility for anyone or any company to make use and +further build on the edge to cloud continuum. Providing the use of the tool framework via an open-source approach will further reduce entry barriers and enhance the openness and accessibility for anyone or any organization (see innovations e.). ### WP Deliverables (p.170) e.1 Edge developer full-service framework -This tool set and related best practices and guidelines will **adapt, enhance and further innovate DevOps principles** and -their related, necessary supporting technologies according to the specific requirements and constraints associated with edge or edge cloud development, in order to keep the healthy and balanced innovation path on both sides, +This tool set and related best practices and guidelines will **adapt, enhance and further innovate DevOps principles** and +their related, necessary supporting technologies according to the specific requirements and constraints associated with edge or edge cloud development, in order to keep the healthy and balanced innovation path on both sides, the (software) development side and the operations side in the field of DevOps. {{% pageinfo color="info" %}} + ### What comes next? [Next](../platforming/) we'll see how these requirements seem to be fulfilled by platforms! diff --git a/content/en/docs/project/conceptual-onboarding/3_platforming/_index.md b/content/en/docs/project/conceptual-onboarding/3_platforming/_index.md index 6a41b34..48f790f 100644 --- a/content/en/docs/project/conceptual-onboarding/3_platforming/_index.md +++ b/content/en/docs/project/conceptual-onboarding/3_platforming/_index.md @@ -7,17 +7,18 @@ description: DevOps is dead - long live next level DevOps in platforms {{% pageinfo color="info" %}} + ## Summary -Since 2010 we have DevOps. This brings increasing delivery speed and efficiency at scale. -But next we got high 'cognitive loads' for developers and production congestion due to engineering lifecycle complexity. +Since 2010 we have DevOps. This brings increasing delivery speed and efficiency at scale. +But next we got high 'cognitive loads' for developers and production congestion due to engineering lifecycle complexity. So we need on top of DevOps an instrumentation to ensure and enforce speed, quality, security in modern, cloud native software development. This instrumentation is called 'golden paths' in intenal develoepr platforms (IDP). {{% /pageinfo %}} ## History of Platform Engineering -Let's start with a look into the history of platform engineering. A good starting point is [Humanitec](https://humanitec.com/), as they nowadays are one of the biggest players (['the market leader in IDPs.'](https://internaldeveloperplatform.org/#how-we-curate-this-site)) in platform engineering. +Let's start with a look into the history of platform engineering. A good starting point is [Humanitec](https://humanitec.com/), as they nowadays are one of the biggest players (['the market leader in IDPs.'](https://internaldeveloperplatform.org/#how-we-curate-this-site)) in platform engineering. They create lots of [beautiful articles and insights](https://humanitec.com/blog), their own [platform products](https://humanitec.com/products/) and [basic concepts for the platform architecture](https://humanitec.com/platform-engineering) (we'll meet this later on!). @@ -51,7 +52,7 @@ There is a CNCF working group which provides the definition of [Capabilities of ### Platform Engineering Team -Or, in another illustration for the platform as a developer service interface, which also defines the **'Platform Engineering Team'** inbetween: +Or, in another illustration for the platform as a developer service interface, which also defines the **'Platform Engineering Team'** inbetween: https://medium.com/@bijit211987/what-is-platform-engineering-and-how-it-reduce-cognitive-load-on-developers-ac7805603925 @@ -70,7 +71,7 @@ First of all some important wording to motivate the important term 'internal dev [Capabilities of platforms](https://tag-app-delivery.cncf.io/whitepapers/platforms/#capabilities-of-platforms) -### Ecosystems in InternalDeveloperPlatform +### Ecosystems in InternalDeveloperPlatform Build or buy - this is also in pltaform engineering a tweaked discussion, which one of the oldest player answers like this with some oppinioated internal capability structuring: @@ -78,6 +79,7 @@ Build or buy - this is also in pltaform engineering a tweaked discussion, which {{% pageinfo color="info" %}} + ### What comes next? [Next](../orchestrators/) we'll see how these concepts got structured! @@ -87,7 +89,7 @@ Build or buy - this is also in pltaform engineering a tweaked discussion, which ### Digital Platform defintion from [What we **call** a Platform](https://martinfowler.com/articles/talk-about-platforms.html) -> Words are hard, it seems. ‘Platform’ is just about the most ambiguous term we could use for an approach that is super-important for increasing delivery speed and efficiency at scale. Hence the title of this article, here is what I’ve been talking about most recently. +> Words are hard, it seems. ‘Platform’ is just about the most ambiguous term we could use for an approach that is super-important for increasing delivery speed and efficiency at scale. Hence the title of this article, here is what I’ve been talking about most recently. \ Definitions for software and hardware platforms abound, generally describing an operating environment upon which applications can execute and which provides reusable capabilities such as file systems and security. \ diff --git a/content/en/docs/project/conceptual-onboarding/4_orchestrators/_index.md b/content/en/docs/project/conceptual-onboarding/4_orchestrators/_index.md index 11f4446..29b4486 100644 --- a/content/en/docs/project/conceptual-onboarding/4_orchestrators/_index.md +++ b/content/en/docs/project/conceptual-onboarding/4_orchestrators/_index.md @@ -5,9 +5,11 @@ description: Next level platforming is orchestrating platforms --- {{% pageinfo color="info" %}} + ## Summary -When defining and setting up platforms next two intrinsic problems arise: +When defining and setting up platforms next two intrinsic problems arise: + 1. it is not declarative and automated 2. it is not or least not easily changable @@ -33,10 +35,11 @@ https://humanitec.com/reference-architectures https://humanitec.com/blog/aws-azure-and-gcp-open-source-reference-architectures-to-start-your-mvp -> Hint: There is a [slides tool provided by McKinsey](https://platformengineering.org/blog/create-your-own-platform-engineering-reference-architectures) to set up your own platform deign based on the reference architecture +> Hint: There is a [slides tool provided by McKinsey](https://platformengineering.org/blog/create-your-own-platform-engineering-reference-architectures) to set up your own platform deign based on the reference architecture {{% pageinfo color="info" %}} + ### What comes next? [Next](../cnoe/) we'll see how we are going to do platform orchestration with CNOE! @@ -50,4 +53,3 @@ You remember the [capability mappings from the time before orchestration](../pla https://humanitec.com/whitepapers/state-of-platform-engineering-report-volume-2 Whitepaper_ State of Platform Engineering Report.pdf - diff --git a/content/en/docs/project/conceptual-onboarding/5_cnoe/_index.md b/content/en/docs/project/conceptual-onboarding/5_cnoe/_index.md index 3788735..19b2e67 100644 --- a/content/en/docs/project/conceptual-onboarding/5_cnoe/_index.md +++ b/content/en/docs/project/conceptual-onboarding/5_cnoe/_index.md @@ -5,6 +5,7 @@ description: Our top candidate for a platform orchestrator --- {{% pageinfo color="info" %}} + ## Summary In late 2023 platform orchestration raised - the discipline of declarativley dinfing, building, orchestarting and reconciling building blocks of (digital) platforms. @@ -17,6 +18,7 @@ Thus we were looking for open source means for platform orchestrating and found ## Requirements for an Orchestrator When we want to set up a [complete platform](../platforming/platforms-def.drawio.png) we expect to have + * a **schema** which defines the platform, its ressources and internal behaviour * a **dynamic configuration or templating mechanism** to provide a concrete specification of a platform * a **deployment mechanism** to deploy and reconcile the platform @@ -55,6 +57,7 @@ There are already some example stacks: {{% pageinfo color="info" %}} + ### What comes next? [Next](../cnoe-showtime/) we'll see how a CNOE stacked Internal Developer Platform is deployed on you local laptop! diff --git a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/_index.md b/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/_index.md index ab7be8e..a741445 100644 --- a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/_index.md +++ b/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/_index.md @@ -5,9 +5,10 @@ description: CNOE hands on --- {{% pageinfo color="info" %}} + ## Summary -CNOE is a 'Platform Engineering Framework' (Danger: Our wording!) - it is open source and locally runnable. +CNOE is a 'Platform Engineering Framework' (Danger: Our wording!) - it is open source and locally runnable. It consists of the orchestrator 'idpbuilder' and both of some predefined building blocks and also some predefined platform configurations. @@ -87,7 +88,7 @@ It's an important feature of idpbuilder that it will set up on an existing clust That's why we here first create the kind cluster `localdev`itself: -```bash +```bash cat << EOF | kind create cluster --name localdev --config=- # Kind kubernetes release images https://github.com/kubernetes-sigs/kind/releases kind: Cluster @@ -137,7 +138,7 @@ kube-system kube-scheduler-localdev-control-plane 1/1 Ru local-path-storage local-path-provisioner-6f8956fb48-6fvt2 1/1 Running 0 15s ``` -### First run: Start with core applications, 'core package' +### First run: Start with core applications, 'core package' Now we run idpbuilder the first time: @@ -149,7 +150,7 @@ ib create --use-path-routing #### Output -##### idpbuilder log +##### idpbuilder log ```bash stl@ubuntu-vpn:~/git/mms/idpbuilder$ ib create --use-path-routing @@ -243,7 +244,7 @@ Data: username : giteaAdmin ``` -In ArgoCD you will see the deployed three applications of the core package: +In ArgoCD you will see the deployed three applications of the core package: ![alt text](image-1.png) @@ -302,7 +303,7 @@ drwxr-xr-x 4 stl stl 4096 Jul 29 10:57 .. Now we run idpbuilder the second time with `-p basic/package1` -##### idpbuilder log +##### idpbuilder log ```bash stl@ubuntu-vpn:~/git/mms/cnoe-stacks$ ib create --use-path-routing -p basic/package1 @@ -572,9 +573,10 @@ Next wait a bit until Gitops does its magic and our 'wanted' state in the repo g ![alt text](image-15.png) {{% pageinfo color="info" %}} + ### What comes next? The showtime of CNOE high level behaviour and usage scenarios is now finished. We setup an initial IDP and used a backstage golden path to init and deploy a simple application. -[Last not least](../conclusio/) we want to sum up the whole way from Devops to 'Frameworking' (is this the correct wording???) +[Last not least](../conclusio/) we want to sum up the whole way from Devops to 'Frameworking' (is this the correct wording???) {{% /pageinfo %}} diff --git a/content/en/docs/project/conceptual-onboarding/7_conclusio/README.md b/content/en/docs/project/conceptual-onboarding/7_conclusio/README.md index 769478d..a1027c9 100644 --- a/content/en/docs/project/conceptual-onboarding/7_conclusio/README.md +++ b/content/en/docs/project/conceptual-onboarding/7_conclusio/README.md @@ -9,10 +9,10 @@ docker commit likec4 likec4 docker run -it --rm --user node -v $PWD:/app -p 5173:5173 likec4 bash // as root -npx playwright install-deps +npx playwright install-deps npx playwright install npm install likec4 // render -node@e20899c8046f:/app/content/en/docs/project/onboarding$ ./node_modules/.bin/likec4 export png -o ./images . \ No newline at end of file +node@e20899c8046f:/app/content/en/docs/project/onboarding$ ./node_modules/.bin/likec4 export png -o ./images . diff --git a/content/en/docs/project/conceptual-onboarding/7_conclusio/_index.md b/content/en/docs/project/conceptual-onboarding/7_conclusio/_index.md index da262e3..f76269f 100644 --- a/content/en/docs/project/conceptual-onboarding/7_conclusio/_index.md +++ b/content/en/docs/project/conceptual-onboarding/7_conclusio/_index.md @@ -5,6 +5,7 @@ description: 'Summary and final thoughts: Always challenge theses concepts, accu --- {{% pageinfo color="info" %}} + ## Summary In the project 'Edge Developer Framework' we start with DevOps, set platforms on top to automate golden paths, and finally set 'frameworks' (aka Orchestrators') on top to have declarative,automated and reconcilable platforms. @@ -14,7 +15,7 @@ In the project 'Edge Developer Framework' we start with DevOps, set platforms on ## From Devops over Platform to Framework Engineering -We come along from a quite well known, but already complex discipline called 'Platform Engineering', which is the next level devops. +We come along from a quite well known, but already complex discipline called 'Platform Engineering', which is the next level devops. On top of these two domains we now have 'Framework Engineering', i.e. buildung dynamic, orchestrated and reconciling platforms: | Classic Platform engineering | New: Framework Orchestration on top of Platforms | Your job: Framework Engineer | @@ -23,11 +24,12 @@ On top of these two domains we now have 'Framework Engineering', i.e. buildung d ## The whole picture of engineering -So always keep in mind that as as 'Framework Engineer' you - * include the skills of a platform and a devops engineer, - * you do Framework, Platform and Devops Engineering at the same time - * and your results have impact on Frameworks, Platforms and Devops tools, layers, processes. +So always keep in mind that as as 'Framework Engineer' you + +* include the skills of a platform and a devops engineer, +* you do Framework, Platform and Devops Engineering at the same time +* and your results have impact on Frameworks, Platforms and Devops tools, layers, processes. The following diamond is illustrating this: on top is you, on the bottom is our baseline 'DevOps' - \ No newline at end of file + diff --git a/content/en/docs/project/conceptual-onboarding/storyline.md b/content/en/docs/project/conceptual-onboarding/storyline.md index 11d2997..b49b373 100644 --- a/content/en/docs/project/conceptual-onboarding/storyline.md +++ b/content/en/docs/project/conceptual-onboarding/storyline.md @@ -1,5 +1,5 @@ -## Storyline +## Storyline 1. We have the 'Developer Framework' 2. We think the solution for DF is 'Platforming' (Digital Platforms) @@ -25,4 +25,3 @@ ## Architecture - diff --git a/content/en/docs/project/intro-stakeholder-workshop/_index.md b/content/en/docs/project/intro-stakeholder-workshop/_index.md index 63b29e9..a3cf645 100644 --- a/content/en/docs/project/intro-stakeholder-workshop/_index.md +++ b/content/en/docs/project/intro-stakeholder-workshop/_index.md @@ -36,7 +36,7 @@ linktitle: Stakeholder Workshops ![alt text](DevOps-Lifecycle.jpg) * from 'left' to 'right' - plan to monitor -* 'leftshift' +* 'leftshift' * --> turns out to be a right shift for developers with cognitive overload * 'DevOps isd dead' -> we need Platforms @@ -64,7 +64,7 @@ Here is a small list of companies alrteady using IDPs: * Autodesk * Adobe * Cisco -* ... +* ... ## 3 Platform building by 'Orchestrating' @@ -91,5 +91,3 @@ Sticking together the platforming orchestration concept, the reference architect This will now be presented! Enjoy! - - diff --git a/content/en/docs/project/plan-in-2024/_index.md b/content/en/docs/project/plan-in-2024/_index.md index 42c9e7f..7dd8b50 100644 --- a/content/en/docs/project/plan-in-2024/_index.md +++ b/content/en/docs/project/plan-in-2024/_index.md @@ -5,7 +5,7 @@ description: The planned project workload in 2024 --- -## First Blue Print in 2024 +## First Blue Print in 2024 Our first architectural blue print for the IPCEI-CIS Developer Framework derives from Humanitecs Reference Architecture, see links in [Blog](../../blog/240823-archsession.md) @@ -39,6 +39,7 @@ https://confluence.telekom-mms.com/display/IPCEICIS/Architecture 7) Wildcard Domain ?? --> Eher ja Next Steps: (Vorschlag: in den nächsten 2 Wochen) + 1. Florian spezifiziert an Tobias 2. Tobias stellt bereit, kubeconfig kommt an uns 3. wir deployen diff --git a/content/en/docs/project/plan-in-2024/poc/_index.md b/content/en/docs/project/plan-in-2024/poc/_index.md index b49e260..ef03359 100644 --- a/content/en/docs/project/plan-in-2024/poc/_index.md +++ b/content/en/docs/project/plan-in-2024/poc/_index.md @@ -12,4 +12,4 @@ Presented and approved on tuesday, 26.11.2024 within the team: The use cases/application lifecycle and deployment flow is drawn here: https://confluence.telekom-mms.com/display/IPCEICIS/Proof+of+Concept+2024 -![alt text](./_assets/image-1.png) \ No newline at end of file +![alt text](./_assets/image-1.png) diff --git a/content/en/docs/project/plan-in-2024/streams/_index.md b/content/en/docs/project/plan-in-2024/streams/_index.md index d060a96..2f65326 100644 --- a/content/en/docs/project/plan-in-2024/streams/_index.md +++ b/content/en/docs/project/plan-in-2024/streams/_index.md @@ -3,9 +3,10 @@ title: Workstreams weight: 2 --- -This page is WiP (23.8.2024). +This page is WiP (23.8.2024). > Continued discussion on 29th Aug 24 +> > * idea: Top down mit SAFe, Value Streams > * paralell dazu bottom up (die zB aus den technisch/operativen Tätigkeietn entstehen) > * Scrum Master? @@ -14,7 +15,7 @@ This page is WiP (23.8.2024). Stefan and Stephan try to solve the mission 'wir wollen losmachen'. -**Solution Idea**: +**Solution Idea**: 1. First we define a **rough overall structure (see 'streams')** and propose some initial **activities** (like user stories) within them. 1. Next we work in **iterative steps** and produce iteratively progress and knowledge and outcomes in these activities. diff --git a/content/en/docs/project/plan-in-2024/streams/deployment/_index.md b/content/en/docs/project/plan-in-2024/streams/deployment/_index.md index ed797a0..cae759b 100644 --- a/content/en/docs/project/plan-in-2024/streams/deployment/_index.md +++ b/content/en/docs/project/plan-in-2024/streams/deployment/_index.md @@ -3,12 +3,13 @@ title: Deployment weight: 3 --- -> **Mantra**: -> 1. Everything as Code. -> 1. Cloud natively deployable everywhere. -> 1. Ramping up and tearing down oftenly is a no-brainer. +> **Mantra**: +> +> 1. Everything as Code. +> 1. Cloud natively deployable everywhere. +> 1. Ramping up and tearing down oftenly is a no-brainer. > 1. Especially locally (whereby 'locally' means 'under my own control') ## Entwurf (28.8.24) -![Deployment 2024](./deployment.drawio.png) \ No newline at end of file +![Deployment 2024](./deployment.drawio.png) diff --git a/content/en/docs/project/plan-in-2024/streams/deployment/forgejo/_index.md b/content/en/docs/project/plan-in-2024/streams/deployment/forgejo/_index.md index 7e10216..de68795 100644 --- a/content/en/docs/project/plan-in-2024/streams/deployment/forgejo/_index.md +++ b/content/en/docs/project/plan-in-2024/streams/deployment/forgejo/_index.md @@ -4,7 +4,7 @@ linkTitle: Forgejo weight: 1 --- -> **WiP** Ich (Stephan) schreibe mal schnell einige Stichworte, was ich so von Stefan gehört habe: +> **WiP** Ich (Stephan) schreibe mal schnell einige Stichworte, was ich so von Stefan gehört habe: ## Summary @@ -33,4 +33,4 @@ tbd * STBE deployed mit Helm in bereitgestelltes OTC-Kubernetes * erstmal interne User Datenbank nutzen -* dann ggf. OIDC mit vorhandenem Keycloak in der OTC anbinden \ No newline at end of file +* dann ggf. OIDC mit vorhandenem Keycloak in der OTC anbinden diff --git a/content/en/docs/project/plan-in-2024/streams/fundamentals/_index.md b/content/en/docs/project/plan-in-2024/streams/fundamentals/_index.md index fd8d2df..13d90d3 100644 --- a/content/en/docs/project/plan-in-2024/streams/fundamentals/_index.md +++ b/content/en/docs/project/plan-in-2024/streams/fundamentals/_index.md @@ -15,4 +15,4 @@ weight: 1 ### nice article about platform orchestration automation (introducing BACK stack) -* https://dev.to/thenjdevopsguy/creating-your-platform-engineering-environment-4hpa \ No newline at end of file +* https://dev.to/thenjdevopsguy/creating-your-platform-engineering-environment-4hpa diff --git a/content/en/docs/project/plan-in-2024/streams/fundamentals/cicd-definition/_index.md b/content/en/docs/project/plan-in-2024/streams/fundamentals/cicd-definition/_index.md index 2565522..54259ed 100644 --- a/content/en/docs/project/plan-in-2024/streams/fundamentals/cicd-definition/_index.md +++ b/content/en/docs/project/plan-in-2024/streams/fundamentals/cicd-definition/_index.md @@ -12,9 +12,10 @@ Der Produktionsprozess für Applikationen soll im Kontext von Gitops und Plattfo In Gitops basierten Plattformen (Anm.: wie es zB. CNOE und Humanitec mit ArgoCD sind) trifft das klassische Verständnis von Pipelining mit finalem Pushing des fertigen Builds auf die Target-Plattform nicht mehr zu. -D.h. in diesem fall is Argo CD = Continuous Delivery = Pulling des desired state auf die Target plattform. Eine pipeline hat hier keien Rechte mehr, single source of truth ist das 'Control-Git'. +D.h. in diesem fall is Argo CD = Continuous Delivery = Pulling des desired state auf die Target plattform. Eine pipeline hat hier keien Rechte mehr, single source of truth ist das 'Control-Git'. D.h. es stellen sich zwei Fragen: + 1. Wie sieht der adaptierte Workflow aus, der die 'Single Source of Truth' im 'Control-Git' definiert? Was ist das gewünschte korrekte Wording? Was bedeuen CI und CD in diesem (neuen) Kontext ? Auf welchen Environmants laufen Steps (zB Funktionstest), die eben nicht mehr auf einer gitops-kontrollierten Stage laufen? 2. Wie sieht der Workflow aus für 'Events', die nach dem CI/CD in die single source of truth einfliessen? ZB. abnahmen auf einer Abnahme Stage, oder Integrationsprobleme auf einer test Stage @@ -22,9 +23,9 @@ D.h. es stellen sich zwei Fragen: * Es sollen existierende, typische Pipelines hergenommen werden und auf die oben skizzierten Fragestellungen hin untersucht und angepasst werden. * In lokalen Demo-Systemen (mit oder ohne CNOE aufgesetzt) sollen die Pipeline entwürfe dummyhaft dargestellt werden und luffähig sein. -* Für den POC sollen Workflow-Systeme wie Dagger, Argo Workflow, Flux, Forgejo Actions zum Einsatz kommen. +* Für den POC sollen Workflow-Systeme wie Dagger, Argo Workflow, Flux, Forgejo Actions zum Einsatz kommen. ## Further ideas for POSs -* see sample flows in https://docs.kubefirst.io/ \ No newline at end of file +* see sample flows in https://docs.kubefirst.io/ diff --git a/content/en/docs/project/plan-in-2024/streams/fundamentals/platform-definition/_index.md b/content/en/docs/project/plan-in-2024/streams/fundamentals/platform-definition/_index.md index c4d21c9..33d842d 100644 --- a/content/en/docs/project/plan-in-2024/streams/fundamentals/platform-definition/_index.md +++ b/content/en/docs/project/plan-in-2024/streams/fundamentals/platform-definition/_index.md @@ -4,14 +4,14 @@ linkTitle: Platform Definition weight: 1 --- -## Summary +## Summary -Das theoretische Fundament unserer Plattform-Architektur soll begründet und weitere wesentliche Erfahrungen anderer Player durch Recherche erhoben werden, so dass unser aktuelles Zielbild abgesichert ist. +Das theoretische Fundament unserer Plattform-Architektur soll begründet und weitere wesentliche Erfahrungen anderer Player durch Recherche erhoben werden, so dass unser aktuelles Zielbild abgesichert ist. ## Rationale -Wir starten gerade auf der Bais des Referenzmodells zu Platform-Engineering von Gartner und Huamitec. -Es gibt viele weitere Grundlagen und Entwicklungen zu Platform Engineering. +Wir starten gerade auf der Bais des Referenzmodells zu Platform-Engineering von Gartner und Huamitec. +Es gibt viele weitere Grundlagen und Entwicklungen zu Platform Engineering. ## Task @@ -25,6 +25,3 @@ Es gibt viele weitere Grundlagen und Entwicklungen zu Platform Engineering. * Argumentation für unseren Weg zusammentragen. * Best Practices und wichtige Tipps und Erfahrungen zusammentragen. - - - diff --git a/content/en/docs/project/plan-in-2024/streams/pocs/_index.md b/content/en/docs/project/plan-in-2024/streams/pocs/_index.md index fb81dfc..c83523b 100644 --- a/content/en/docs/project/plan-in-2024/streams/pocs/_index.md +++ b/content/en/docs/project/plan-in-2024/streams/pocs/_index.md @@ -5,4 +5,4 @@ weight: 2 ## Further ideas for POSs -* see sample apps 'metaphor' in https://docs.kubefirst.io/ \ No newline at end of file +* see sample apps 'metaphor' in https://docs.kubefirst.io/ diff --git a/content/en/docs/project/plan-in-2024/streams/pocs/cnoe/_index.md b/content/en/docs/project/plan-in-2024/streams/pocs/cnoe/_index.md index 1a48228..9d0f324 100644 --- a/content/en/docs/project/plan-in-2024/streams/pocs/cnoe/_index.md +++ b/content/en/docs/project/plan-in-2024/streams/pocs/cnoe/_index.md @@ -11,7 +11,7 @@ Als designiertes Basis-Tool des Developer Frameworks sollen die Verwendung und d ## Rationale -CNOE ist das designierte Werkzeug zur Beschreibung und Ausspielung des Developer Frameworks. +CNOE ist das designierte Werkzeug zur Beschreibung und Ausspielung des Developer Frameworks. Dieses Werkzeug gilt es zu erlernen, zu beschreiben und weiterzuentwickeln. Insbesondere der Metacharkter des 'Software zur Bereitstellung von Bereitstellungssoftware für Software', d.h. der unterschiedlichen Ebenen für unterschiedliche Use Cases und Akteure soll klar verständlich und dokumentiert werden. Siehe hierzu auch das Webinar von Huamnitec und die Diskussion zu unterschiedlichen Bereitstellungsmethoden eines RedisCaches. @@ -29,4 +29,3 @@ Insbesondere der Metacharkter des 'Software zur Bereitstellung von Bereitstellun * k3d anstatt kind * kind: ggf. issue mit kindnet, ersetzen durch Cilium - diff --git a/content/en/docs/project/plan-in-2024/streams/pocs/sia-asset/_index.md b/content/en/docs/project/plan-in-2024/streams/pocs/sia-asset/_index.md index 147f8a8..60967a9 100644 --- a/content/en/docs/project/plan-in-2024/streams/pocs/sia-asset/_index.md +++ b/content/en/docs/project/plan-in-2024/streams/pocs/sia-asset/_index.md @@ -47,4 +47,4 @@ graph TB LocalBox.EDF -. "provision" .-> LocalBox.Local LocalBox.EDF -. "provision" .-> CloudGroup.Prod LocalBox.EDF -. "provision" .-> CloudGroup.Test -``` \ No newline at end of file +``` diff --git a/content/en/docs/project/team-process/_index.md b/content/en/docs/project/team-process/_index.md index 1252cc0..93c2b62 100644 --- a/content/en/docs/project/team-process/_index.md +++ b/content/en/docs/project/team-process/_index.md @@ -16,13 +16,13 @@ We currently face the following [challenges in our process](https://confluence.t 1. missing team alignment on PoC-Output over all components 1. Action: team is committed to **clearly defined PoC capabilities** 1. Action: every each team-member is aware of **individual and common work** to be done (backlog) to achieve PoC -1. missing concept for repository (process, structure, +1. missing concept for repository (process, structure, 1. Action: the **PoC has a robust repository concept** up & running 1. Action: repo concept is applicable for other repositorys as well (esp. documentation repo) ### General working context -A **project goal** drives us as a **team** to create valuable **product output**. +A **project goal** drives us as a **team** to create valuable **product output**. The **backlog** contains the product specification which instructs us by working in **tasks** with the help and usage of **ressources** (like git, 3rd party code and knowledge and so on). @@ -104,7 +104,7 @@ Most important in the POC structure are: #### Definition of Done 1. Jira: there is a final comment summarizimg the outcome (in a bit more verbose from than just the 'resolution' of the ticket) and the main outputs. This may typically be a link to the commit and/or pull request of the final repo state -2. Git/Repo: there is a README.md in the root of the repo. It summarizes in a typical Gihub-manner how to use the repo, so that it does what it is intended to do and reveals all the bells and whistles of the repo to the consumer. If the README doesn't lead to the usable and recognizable added value the work is not done! +2. Git/Repo: there is a README.md in the root of the repo. It summarizes in a typical Gihub-manner how to use the repo, so that it does what it is intended to do and reveals all the bells and whistles of the repo to the consumer. If the README doesn't lead to the usable and recognizable added value the work is not done! #### Review @@ -133,7 +133,7 @@ The following topics are optional and do not need an agreement at the moment: ## Status of POC Capabilities -The following table lists an analysis of the status of the ['Funcionality validation' of the POC](https://confluence.telekom-mms.com/display/IPCEICIS/Proof+of+Concept+2024). +The following table lists an analysis of the status of the ['Funcionality validation' of the POC](https://confluence.telekom-mms.com/display/IPCEICIS/Proof+of+Concept+2024). Assumption: These functionalities should be the aforementioned capabilities. -![alt text](./_assets/P8.png) \ No newline at end of file +![alt text](./_assets/P8.png) diff --git a/content/en/docs/solution/design/architectural-documentation.md b/content/en/docs/solution/design/architectural-documentation.md index ddbaad3..0988144 100644 --- a/content/en/docs/solution/design/architectural-documentation.md +++ b/content/en/docs/solution/design/architectural-documentation.md @@ -1,9 +1,10 @@ -# why we have architectural documentation +# why we have architectural documentation TN: Robert, Patrick, Stefan, Stephan 25.2.25, 13-14h ## referring Tickets / Links + * https://jira.telekom-mms.com/browse/IPCEICIS-2424 * https://jira.telekom-mms.com/browse/IPCEICIS-478 * Confluence: https://confluence.telekom-mms.com/display/IPCEICIS/Architecture @@ -20,13 +21,12 @@ we need charts, because: (**) marker: ???? - ## typed of charts * schichtenmodell (frontend, middleware, backend) * bebauungsplan mit abhängigkeiten, domänen * kontext von außen -* komponentendiagramm, +* komponentendiagramm, ## decisions @@ -36,4 +36,4 @@ we need charts, because: * runbook (compare to openbao discussions) * persistenz der EDP konfiguartion (zb postgres) -* OIDC vs. SSI \ No newline at end of file +* OIDC vs. SSI diff --git a/content/en/docs/solution/design/architectural-work-structure.md b/content/en/docs/solution/design/architectural-work-structure.md index 0dbe0e6..676ec2e 100644 --- a/content/en/docs/solution/design/architectural-work-structure.md +++ b/content/en/docs/solution/design/architectural-work-structure.md @@ -6,30 +6,37 @@ Sebastiano, Stefan, Robert, Patrick, Stephan 25.2.25, 14-15h ## links + * https://confluence.telekom-mms.com/display/IPCEICIS/Team+Members # montags-call + * Sebasriano im montags-call, inklusive florian, mindestens interim, solange wir keinen architektur-aussenminister haben # workshops + * nach abstimmung mit hasan zu platform workshops * weitere beteiligung in weiteren workshop-serien to be defined # programm-alignment + * sponsoren finden * erledigt sich durch die workshop-serien # interne architekten + * robert und patrick steigen ein * themen-teilung # produkt struktur + edp standalone ipcei edp # architektur themen ## stl + produktstruktur application model (cnoe, oam, score, xrd, ...) api @@ -45,29 +52,34 @@ security monitoring kubernetes internals -## robert: +## robert + pipelining kubernetes-inetrnals api crossplane platforming - erzeugen von ressourcen in 'clouds' (e.g. gcp, und hetzner :-) ) -## patrick: +## patrick + security identity-mgmt (SSI) EaC und alles andere macht mir auch total spass! -# einschätzungen: +# einschätzungen + * ipceicis-pltaform ist wichtigstes teilprojekt (hasan + patrick) -* offener punkt: workload-steuerung, application model (kompatibility mit EDP) +* offener punkt: workload-steuerung, application model (kompatibility mit EDP) * thema security, siehe ssi vs. oidc * wir brauchen eigene workshops zum definieren der zusammenarbiets-modi # committements + * patrick und robert nehmen teil an architektur # offen + * sebastian schwaar onboarding? (>=50%) --- robert fragt - * alternative: consulting/support anfallsweise - * hält eine kubernetes einführungs-schulung --> termine sind zu vereinbaren (liegt bei sophie) \ No newline at end of file + * alternative: consulting/support anfallsweise + * hält eine kubernetes einführungs-schulung --> termine sind zu vereinbaren (liegt bei sophie) diff --git a/content/en/docs/solution/design/crossplane-vs-terraform.md b/content/en/docs/solution/design/crossplane-vs-terraform.md index 00294cc..6d27389 100644 --- a/content/en/docs/solution/design/crossplane-vs-terraform.md +++ b/content/en/docs/solution/design/crossplane-vs-terraform.md @@ -2,7 +2,7 @@ * Monday, March 31, 2025 -## Issue +## Issue Robert worked on the kindserver reconciling. @@ -12,12 +12,12 @@ Even worse, if crossplane did delete the cluster and then set it up again correc ## Decisions -1. quick solution: crosspllane doesn't delete clusters. +1. quick solution: crosspllane doesn't delete clusters. * If it detects drift with a kind cluster, it shall create an alert (like email) but not act in any way -2. analyze how crossplane orchestration logic calls 'business logic' to decide what to do. +2. analyze how crossplane orchestration logic calls 'business logic' to decide what to do. * In this logic we could decide whether to delete resources like clusters and if so then how. Secondly an 'orchestration' or let's workflow how to correctly set the old state with respect to argocd could be implemented there. 3. keep terraform in mind * we probably will need it in adapters anyway * if the crossplane design does not fir, or the benefit is too small, or we definetly ahve more ressources in developing terraform, the we could completley switch 4. focus on EDP domain and application logic - * for the momen (in MVP1) we need to focus on EDP higher level functionality \ No newline at end of file + * for the momen (in MVP1) we need to focus on EDP higher level functionality diff --git a/content/en/docs/solution/design/decision-iam-and-edf-self-containment.md b/content/en/docs/solution/design/decision-iam-and-edf-self-containment.md index 2ec75aa..8e31282 100644 --- a/content/en/docs/solution/design/decision-iam-and-edf-self-containment.md +++ b/content/en/docs/solution/design/decision-iam-and-edf-self-containment.md @@ -26,6 +26,6 @@ Each embdding into customer infrastructure works with adapters which implement t eDF has an own IAM. This may either hold the principals and permissions itself when there is no other IAM or proxy and map them when integrated into external enterprise IAMs. -## Reference +## Reference -Arch call from 4.12.24, Florian, Stefan, Stephan-Pierre \ No newline at end of file +Arch call from 4.12.24, Florian, Stefan, Stephan-Pierre diff --git a/content/en/docs/solution/design/platform-component.md b/content/en/docs/solution/design/platform-component.md index d20c0c4..76046c4 100644 --- a/content/en/docs/solution/design/platform-component.md +++ b/content/en/docs/solution/design/platform-component.md @@ -3,37 +3,40 @@ # platform-team austausch ## stefan + * initiale fragen: * vor 2 wochen workshop tapeten-termin * wer nimmt an den workshops teil? * was bietet platform an? * EDP: könnte 5mio/a kosten - * -> produkt pitch mit marko - * -> edp ist unabhängig von ipceicis cloud continuum* - * generalisierte quality of services ( <-> platform schnittstelle) + * -> produkt pitch mit marko + * -> edp ist unabhängig von ipceicis cloud continuum* + * generalisierte quality of services ( <-> platform schnittstelle) +## Hasan -## Hasan: * martin macht: agent based iac generation * platform-workshops mitgestalten -* mms-fokus +* mms-fokus * connectivity enabled cloud offering, e2e von infrastruktur bis endgerät * sdk für latenzarme systeme, beraten und integrieren - * monitoring in EDP? -* beispiel 'unity' + * monitoring in EDP? +* beispiel 'unity' * vorstellung im arch call * wie können unterschieldiche applikationsebenen auf unterschiedliche infrastruktur(compute ebenen) verteit werden * zero touch application deployment model * ich werde gerade 'abgebremst' * workshop beteiligung, TPM application model + ## martin + * edgeXR erlaubt keine persistenz * openai, llm als abstarktion nicht vorhanden * momentan nur compute vorhanden * roaming von applikationen --> EDP muss das unterstützen * anwendungsfall: sprachmodell übersetzt design-artifakte in architektur, dann wird provisionierung ermöglicht -? Applikations-modelle +? Applikations-modelle ? zusammenhang mit golden paths * zB für reines compute faas diff --git a/content/en/docs/solution/design/proposal-local-deployment.md b/content/en/docs/solution/design/proposal-local-deployment.md index 3ef08c1..71cad6c 100644 --- a/content/en/docs/solution/design/proposal-local-deployment.md +++ b/content/en/docs/solution/design/proposal-local-deployment.md @@ -20,4 +20,4 @@ The implementation of EDF must be kubernetes provider agnostic. Thus each provid ## Local deployment -This implies that EDF must always be deployable into a local cluster, whereby by 'local' we mean a cluster which is under the full control of the platform engineer, e.g. a kind cluster on their laptop. \ No newline at end of file +This implies that EDF must always be deployable into a local cluster, whereby by 'local' we mean a cluster which is under the full control of the platform engineer, e.g. a kind cluster on their laptop. diff --git a/content/en/docs/solution/design/proposal-stack-hydration.md b/content/en/docs/solution/design/proposal-stack-hydration.md index adce110..4037da2 100644 --- a/content/en/docs/solution/design/proposal-stack-hydration.md +++ b/content/en/docs/solution/design/proposal-stack-hydration.md @@ -11,7 +11,7 @@ description: The implementation of EDF stacks must be kubernetes provider agnost ## Background -When booting and reconciling the 'final' stack exectuting orchestrator (here: ArgoCD) needs to get rendered (or hydrated) presentations of the manifests. +When booting and reconciling the 'final' stack exectuting orchestrator (here: ArgoCD) needs to get rendered (or hydrated) presentations of the manifests. It is not possible or unwanted that the orchestrator itself resolves dependencies or configuration values. @@ -23,6 +23,6 @@ The hydration takes place for all target clouds/kubernetes providers. There is n This implies that in a development process there needs to be a build step hydrating the ArgoCD manifests for the targeted cloud. -## Reference +## Reference -Discussion from Robert and Stephan-Pierre in the context of stack development - there should be an easy way to have locally changed stacks propagated into the local running platform. \ No newline at end of file +Discussion from Robert and Stephan-Pierre in the context of stack development - there should be an easy way to have locally changed stacks propagated into the local running platform. diff --git a/content/en/docs/solution/scenarios/gitops/_index.md b/content/en/docs/solution/scenarios/gitops/_index.md index b0191fb..81490f5 100644 --- a/content/en/docs/solution/scenarios/gitops/_index.md +++ b/content/en/docs/solution/scenarios/gitops/_index.md @@ -13,4 +13,4 @@ What kind of Gitops do we have with idpbuilder/CNOE ? https://github.com/gitops-bridge-dev/gitops-bridge -![alt text](image.png) \ No newline at end of file +![alt text](image.png) diff --git a/content/en/docs/solution/scenarios/orchestration/_index.md b/content/en/docs/solution/scenarios/orchestration/_index.md index 2ef6417..d45f7d5 100644 --- a/content/en/docs/solution/scenarios/orchestration/_index.md +++ b/content/en/docs/solution/scenarios/orchestration/_index.md @@ -18,7 +18,7 @@ The next chart shows a system landscape of CNOE orchestration. [2024-04-PlatformEngineering-DevOpsDayRaleigh.pdf](https://github.com/cnoe-io/presentations/blob/main/2024-04-PlatformEngineering-DevOpsDayRaleigh.pdf) -Questions: What are the degrees of freedom in this chart? What variations with respect to environments and environmnent types exist? +Questions: What are the degrees of freedom in this chart? What variations with respect to environments and environmnent types exist? ![alt text](image.png) @@ -28,7 +28,7 @@ The next chart shows a context chart of CNOE orchestration. [reference-implementation-aws](https://github.com/cnoe-io/reference-implementation-aws) -Questions: What are the degrees of freedom in this chart? What variations with respect to environments and environmnent types exist? +Questions: What are the degrees of freedom in this chart? What variations with respect to environments and environmnent types exist? -![alt text](image-1.png) \ No newline at end of file +![alt text](image-1.png) diff --git a/content/en/docs/solution/tools/Backstage/Backstage setup tutorial/_index.md b/content/en/docs/solution/tools/Backstage/Backstage setup tutorial/_index.md index d8cdba2..9f8f288 100644 --- a/content/en/docs/solution/tools/Backstage/Backstage setup tutorial/_index.md +++ b/content/en/docs/solution/tools/Backstage/Backstage setup tutorial/_index.md @@ -33,9 +33,11 @@ To install the Backstage Standalone app, you can use npx. npx is a tool that com ```bash npx @backstage/create-app@latest ``` + This command will create a new directory with a Backstage app inside. The wizard will ask you for the name of the app. This name will be created as sub directory in your current working directory. Below is a simplified layout of the files and folders generated when creating an app. + ```bash app ├── app-config.yaml @@ -46,15 +48,17 @@ app └── backend ``` -- **app-config.yaml**: Main configuration file for the app. See Configuration for more information. -- **catalog-info.yaml**: Catalog Entities descriptors. See Descriptor Format of Catalog Entities to get started. -- **package.json**: Root package.json for the project. Note: Be sure that you don't add any npm dependencies here as they probably should be installed in the intended workspace rather than in the root. -- **packages/**: Lerna leaf packages or "workspaces". Everything here is going to be a separate package, managed by lerna. -- **packages/app/**: A fully functioning Backstage frontend app that acts as a good starting point for you to get to know Backstage. -- **packages/backend/**: We include a backend that helps power features such as Authentication, Software Catalog, Software Templates, and TechDocs, amongst other things. +* **app-config.yaml**: Main configuration file for the app. See Configuration for more information. +* **catalog-info.yaml**: Catalog Entities descriptors. See Descriptor Format of Catalog Entities to get started. +* **package.json**: Root package.json for the project. Note: Be sure that you don't add any npm dependencies here as they probably should be installed in the intended workspace rather than in the root. +* **packages/**: Lerna leaf packages or "workspaces". Everything here is going to be a separate package, managed by lerna. +* **packages/app/**: A fully functioning Backstage frontend app that acts as a good starting point for you to get to know Backstage. +* **packages/backend/**: We include a backend that helps power features such as Authentication, Software Catalog, Software Templates, and TechDocs, amongst other things. ## Run the Backstage Application + You can run it in Backstage root directory by executing this command: + ```bash yarn dev ``` diff --git a/content/en/docs/solution/tools/Backstage/Exsisting Plugins/_index.md b/content/en/docs/solution/tools/Backstage/Exsisting Plugins/_index.md index d449433..866f60f 100644 --- a/content/en/docs/solution/tools/Backstage/Exsisting Plugins/_index.md +++ b/content/en/docs/solution/tools/Backstage/Exsisting Plugins/_index.md @@ -4,46 +4,52 @@ weight = 4 +++ 1. **Catalog**: - - Used for managing services and microservices, including registration, visualization, and the ability to track dependencies and relationships between services. It serves as a central directory for all services in an organization. + * Used for managing services and microservices, including registration, visualization, and the ability to track dependencies and relationships between services. It serves as a central directory for all services in an organization. 2. **Docs**: - - Designed for creating and managing documentation, supporting formats such as Markdown. It helps teams organize and access technical and non-technical documentation in a unified interface. + * Designed for creating and managing documentation, supporting formats such as Markdown. It helps teams organize and access technical and non-technical documentation in a unified interface. 3. **API Docs**: - - Automatically generates API documentation based on OpenAPI specifications or other API definitions, ensuring that your API information is always up to date and accessible for developers. + * Automatically generates API documentation based on OpenAPI specifications or other API definitions, ensuring that your API information is always up to date and accessible for developers. 4. **TechDocs**: - - A tool for creating and publishing technical documentation. It is integrated directly into Backstage, allowing developers to host and maintain documentation alongside their projects. + * A tool for creating and publishing technical documentation. It is integrated directly into Backstage, allowing developers to host and maintain documentation alongside their projects. 5. **Scaffolder**: - - Allows the rapid creation of new projects based on predefined templates, making it easier to deploy services or infrastructure with consistent best practices. + * Allows the rapid creation of new projects based on predefined templates, making it easier to deploy services or infrastructure with consistent best practices. 6. **CI/CD**: - - Provides integration with CI/CD systems such as GitHub Actions and Jenkins, allowing developers to view build status, logs, and pipelines directly in Backstage. + * Provides integration with CI/CD systems such as GitHub Actions and Jenkins, allowing developers to view build status, logs, and pipelines directly in Backstage. 7. **Metrics**: - - Offers the ability to monitor and visualize performance metrics for applications, helping teams to keep track of key indicators like response times and error rates. + * Offers the ability to monitor and visualize performance metrics for applications, helping teams to keep track of key indicators like response times and error rates. 8. **Snyk**: - - Used for dependency security analysis, scanning your codebase for vulnerabilities and helping to manage any potential security risks in third-party libraries. + * Used for dependency security analysis, scanning your codebase for vulnerabilities and helping to manage any potential security risks in third-party libraries. 9. **SonarQube**: - - Integrates with SonarQube to analyze code quality, providing insights into code health, including issues like technical debt, bugs, and security vulnerabilities. + * Integrates with SonarQube to analyze code quality, providing insights into code health, including issues like technical debt, bugs, and security vulnerabilities. 10. **GitHub**: - - Enables integration with GitHub repositories, displaying information such as commits, pull requests, and other repository activity, making collaboration more transparent and efficient. + +* Enables integration with GitHub repositories, displaying information such as commits, pull requests, and other repository activity, making collaboration more transparent and efficient. 11. **CircleCI**: - - Allows seamless integration with CircleCI for managing CI/CD workflows, giving developers insight into build pipelines, test results, and deployment statuses. + +* Allows seamless integration with CircleCI for managing CI/CD workflows, giving developers insight into build pipelines, test results, and deployment statuses. 12. **Kubernetes**: - - Provides tools to manage Kubernetes clusters, including visualizing pod status, logs, and cluster health, helping teams maintain and troubleshoot their cloud-native applications. + +* Provides tools to manage Kubernetes clusters, including visualizing pod status, logs, and cluster health, helping teams maintain and troubleshoot their cloud-native applications. 13. **Cloud**: - - Includes plugins for integration with cloud providers like AWS and Azure, allowing teams to manage cloud infrastructure, services, and billing directly from Backstage. + +* Includes plugins for integration with cloud providers like AWS and Azure, allowing teams to manage cloud infrastructure, services, and billing directly from Backstage. 14. **OpenTelemetry**: - - Helps with monitoring distributed applications by integrating OpenTelemetry, offering powerful tools to trace requests, detect performance bottlenecks, and ensure application health. + +* Helps with monitoring distributed applications by integrating OpenTelemetry, offering powerful tools to trace requests, detect performance bottlenecks, and ensure application health. 15. **Lighthouse**: - - Integrates Google Lighthouse to analyze web application performance, helping teams identify areas for improvement in metrics like load times, accessibility, and SEO. + +* Integrates Google Lighthouse to analyze web application performance, helping teams identify areas for improvement in metrics like load times, accessibility, and SEO. diff --git a/content/en/docs/solution/tools/Backstage/General Information/_index.md b/content/en/docs/solution/tools/Backstage/General Information/_index.md index 54dabd1..09d2514 100644 --- a/content/en/docs/solution/tools/Backstage/General Information/_index.md +++ b/content/en/docs/solution/tools/Backstage/General Information/_index.md @@ -21,4 +21,4 @@ Backstage supports the concept of "Golden Paths," enabling teams to follow recom Modularity and Extensibility: The platform allows for the creation of plugins, enabling users to customize and extend Backstage's functionality to fit their organization's needs. -Backstage provides developers with centralized and convenient access to essential tools and resources, making it an effective solution for supporting Platform Engineering and developing an internal platform portal. \ No newline at end of file +Backstage provides developers with centralized and convenient access to essential tools and resources, making it an effective solution for supporting Platform Engineering and developing an internal platform portal. diff --git a/content/en/docs/solution/tools/Backstage/Plugin Creation Tutorial/_index.md b/content/en/docs/solution/tools/Backstage/Plugin Creation Tutorial/_index.md index a975456..e83bc96 100644 --- a/content/en/docs/solution/tools/Backstage/Plugin Creation Tutorial/_index.md +++ b/content/en/docs/solution/tools/Backstage/Plugin Creation Tutorial/_index.md @@ -3,6 +3,7 @@ title = "Plugin Creation Tutorial" weight = 4 +++ Backstage plugins and functionality extensions should be writen in TypeScript/Node.js because backstage is written in those languages + ### General Algorithm for Adding a Plugin in Backstage 1. **Create the Plugin** @@ -33,6 +34,7 @@ Backstage plugins and functionality extensions should be writen in TypeScript/No Run the Backstage development server using `yarn dev` and navigate to your plugin’s route via the sidebar or directly through its URL. Ensure that the plugin’s functionality works as expected. ### Example + All steps will be demonstrated using a simple example plugin, which will request JSON files from the API of jsonplaceholder.typicode.com and display them on a page. 1. Creating test-plugin: @@ -121,8 +123,9 @@ All steps will be demonstrated using a simple example plugin, which will request }; ``` - + 3. Setup routs in plugins/{plugin_id}/src/routs.ts + ```javascript import { createRouteRef } from '@backstage/core-plugin-api'; @@ -133,11 +136,13 @@ All steps will be demonstrated using a simple example plugin, which will request 4. Register the plugin in `packages/app/src/App.tsx` in routes Import of the plugin: + ```javascript import { TestPluginPage } from '@internal/backstage-plugin-test-plugin'; ``` Adding route: + ```javascript const routes = ( @@ -148,6 +153,7 @@ All steps will be demonstrated using a simple example plugin, which will request ``` 5. Add Item to sidebar menu of the backstage in `packages/app/src/components/Root/Root.tsx`. This should be added in to Root object as another SidebarItem + ```javascript export const Root = ({ children }: PropsWithChildren<{}>) => ( @@ -159,11 +165,12 @@ All steps will be demonstrated using a simple example plugin, which will request ); ``` - + 6. Plugin is ready. Run the application + ```bash yarn dev ``` ![example](example_1.png) -![example](example_2.png) \ No newline at end of file +![example](example_2.png) diff --git a/content/en/docs/solution/tools/CNOE/CNOE-competitors/_index.md b/content/en/docs/solution/tools/CNOE/CNOE-competitors/_index.md index 22a54ea..dfed2d0 100644 --- a/content/en/docs/solution/tools/CNOE/CNOE-competitors/_index.md +++ b/content/en/docs/solution/tools/CNOE/CNOE-competitors/_index.md @@ -9,60 +9,62 @@ description: We compare CNOW - which we see as an orchestrator - with other plat Kratix is a Kubernetes-native framework that helps platform engineering teams automate the provisioning and management of infrastructure and services through custom-defined abstractions called Promises. It allows teams to extend Kubernetes functionality and provide resources in a self-service manner to developers, streamlining the delivery and management of workloads across environments. ### Concepts + Key concepts of Kratix: -- Workload: +* Workload: This is an abstraction representing any application or service that needs to be deployed within the infrastructure. It defines the requirements and dependent resources necessary to execute this task. -- Promise: +* Promise: A "Promise" is a ready-to-use infrastructure or service package. Promises allow developers to request specific resources (such as databases, storage, or computing power) through the standard Kubernetes interface. It’s similar to an operator in Kubernetes but more universal and flexible. Kratix simplifies the development and delivery of applications by automating the provisioning and management of infrastructure and resources through simple Kubernetes APIs. -### Pros of Kratix: -- Resource provisioning automation. Kratix simplifies infrastructure creation for developers through the abstraction of "Promises." This means developers can simply request the necessary resources (like databases, message queues) without dealing with the intricacies of infrastructure management. +### Pros of Kratix +* Resource provisioning automation. Kratix simplifies infrastructure creation for developers through the abstraction of "Promises." This means developers can simply request the necessary resources (like databases, message queues) without dealing with the intricacies of infrastructure management. -- Flexibility and adaptability. Platform teams can customize and adapt Kratix to specific needs by creating custom Promises for various services, allowing the infrastructure to meet the specific requirements of the organization. +* Flexibility and adaptability. Platform teams can customize and adapt Kratix to specific needs by creating custom Promises for various services, allowing the infrastructure to meet the specific requirements of the organization. -- Unified resource request interface. Developers can use a single API (Kubernetes) to request resources, simplifying interaction with infrastructure and reducing complexity when working with different tools and systems. +* Unified resource request interface. Developers can use a single API (Kubernetes) to request resources, simplifying interaction with infrastructure and reducing complexity when working with different tools and systems. -### Cons of Kratix: -- Although Kratix offers great flexibility, it can also lead to more complex setup and platform management processes. Creating custom Promises and configuring their behavior requires time and effort. +### Cons of Kratix +* Although Kratix offers great flexibility, it can also lead to more complex setup and platform management processes. Creating custom Promises and configuring their behavior requires time and effort. -- Kubernetes dependency. Kratix relies on Kubernetes, which makes it less applicable in environments that don’t use Kubernetes or containerization technologies. It might also lead to integration challenges if an organization uses other solutions. +* Kubernetes dependency. Kratix relies on Kubernetes, which makes it less applicable in environments that don’t use Kubernetes or containerization technologies. It might also lead to integration challenges if an organization uses other solutions. -- Limited ecosystem. Kratix doesn’t have as mature an ecosystem as some other infrastructure management solutions (e.g., Terraform, Pulumi). This may limit the availability of ready-made solutions and tools, increasing the amount of manual work when implementing Kratix. +* Limited ecosystem. Kratix doesn’t have as mature an ecosystem as some other infrastructure management solutions (e.g., Terraform, Pulumi). This may limit the availability of ready-made solutions and tools, increasing the amount of manual work when implementing Kratix. ## Humanitec -Humanitec is an Internal Developer Platform (IDP) that helps platform engineering teams automate the provisioning -and management of infrastructure and services through dynamic configuration and environment management. +Humanitec is an Internal Developer Platform (IDP) that helps platform engineering teams automate the provisioning +and management of infrastructure and services through dynamic configuration and environment management. It allows teams to extend their infrastructure capabilities and provide resources in a self-service manner to developers, streamlining the deployment and management of workloads across various environments. ### Concepts + Key concepts of Humanitec: -- Application Definition: +* Application Definition: This is an abstraction where developers define their application, including its services, environments, a dependencies. It abstracts away infrastructure details, allowing developers to focus on building and deploying their applications. -- Dynamic Configuration Management: +* Dynamic Configuration Management: Humanitec automatically manages the configuration of applications and services across multiple environments (e.g., development, staging, production). It ensures consistency and alignment of configurations as applications move through different stages of deployment. -Humanitec simplifies the development and delivery process by providing self-service deployment options while maintaining +Humanitec simplifies the development and delivery process by providing self-service deployment options while maintaining centralized governance and control for platform teams. -### Pros of Humanitec: -- Resource provisioning automation. Humanitec automates infrastructure and environment provisioning, allowing developers to focus on building and deploying applications without worrying about manual configuration. +### Pros of Humanitec +* Resource provisioning automation. Humanitec automates infrastructure and environment provisioning, allowing developers to focus on building and deploying applications without worrying about manual configuration. -- Dynamic environment management. Humanitec manages application configurations across different environments, ensuring consistency and reducing manual configuration errors. +* Dynamic environment management. Humanitec manages application configurations across different environments, ensuring consistency and reducing manual configuration errors. -- Golden Paths. best-practice workflows and processes that guide developers through infrastructure provisioning and application deployment. This ensures consistency and reduces cognitive load by providing a set of recommended practices. +* Golden Paths. best-practice workflows and processes that guide developers through infrastructure provisioning and application deployment. This ensures consistency and reduces cognitive load by providing a set of recommended practices. -- Unified resource management interface. Developers can use Humanitec’s interface to request resources and deploy applications, reducing complexity and improving the development workflow. +* Unified resource management interface. Developers can use Humanitec’s interface to request resources and deploy applications, reducing complexity and improving the development workflow. -### Cons of Humanitec: -- Humanitec is commercially licensed software +### Cons of Humanitec +* Humanitec is commercially licensed software -- Integration challenges. Humanitec’s dependency on specific cloud-native environments can create challenges for organizations with diverse infrastructures or those using legacy systems. +* Integration challenges. Humanitec’s dependency on specific cloud-native environments can create challenges for organizations with diverse infrastructures or those using legacy systems. -- Cost. Depending on usage, Humanitec might introduce additional costs related to the implementation of an Internal Developer Platform, especially for smaller teams. +* Cost. Depending on usage, Humanitec might introduce additional costs related to the implementation of an Internal Developer Platform, especially for smaller teams. -- Harder to customise +* Harder to customise diff --git a/content/en/docs/solution/tools/CNOE/idpbuilder/installation/_index.md b/content/en/docs/solution/tools/CNOE/idpbuilder/installation/_index.md index d919ab5..fbb475d 100644 --- a/content/en/docs/solution/tools/CNOE/idpbuilder/installation/_index.md +++ b/content/en/docs/solution/tools/CNOE/idpbuilder/installation/_index.md @@ -11,10 +11,10 @@ Windows and Mac users already utilize a virtual machine for the Docker Linux env ### Prerequisites -- Docker Engine -- Go -- kubectl -- kind +* Docker Engine +* Go +* kubectl +* kind ### Build process @@ -76,28 +76,28 @@ idpbuilder delete cluster CNOE provides two implementations of an IDP: -- Amazon AWS implementation -- KIND implementation +* Amazon AWS implementation +* KIND implementation Both are not useable to run on bare metal or an OSC instance. The Amazon implementation is complex and makes use of Terraform which is currently not supported by either base metal or OSC. Therefore the KIND implementation is used and customized to support the idpbuilder installation. The idpbuilder is also doing some network magic which needs to be replicated. Several prerequisites have to be provided to support the idpbuilder on bare metal or the OSC: -- Kubernetes dependencies -- Network dependencies -- Changes to the idpbuilder - +* Kubernetes dependencies +* Network dependencies +* Changes to the idpbuilder + ### Prerequisites Talos Linux is choosen for a bare metal Kubernetes instance. -- talosctl -- Go -- Docker Engine -- kubectl -- kustomize -- helm -- nginx +* talosctl +* Go +* Docker Engine +* kubectl +* kustomize +* helm +* nginx As soon as the idpbuilder works correctly on bare metal, the next step is to apply it to an OSC instance. @@ -338,14 +338,14 @@ talosctl cluster destroy Required: -- Add *.cnoe.localtest.me to the Talos cluster DNS, pointing to the host device IP address, which runs nginx. +* Add *.cnoe.localtest.me to the Talos cluster DNS, pointing to the host device IP address, which runs nginx. -- Create a SSL certificate with `cnoe.localtest.me` as common name. Edit the nginx config to load this certificate. Configure idpbuilder to distribute this certificate instead of the one idpbuilder distributes by idefault. +* Create a SSL certificate with `cnoe.localtest.me` as common name. Edit the nginx config to load this certificate. Configure idpbuilder to distribute this certificate instead of the one idpbuilder distributes by idefault. Optimizations: -- Implement an idpbuilder uninstall. This is specially important when working on the OSC instance. +* Implement an idpbuilder uninstall. This is specially important when working on the OSC instance. -- Remove or configure gitea.cnoe.localtest.me, it seems not to work even in the idpbuilder local installation with KIND. +* Remove or configure gitea.cnoe.localtest.me, it seems not to work even in the idpbuilder local installation with KIND. -- Improvements to the idpbuilder to support Kubernetes instances other then KIND. This can either be done by parametrization or by utilizing Terraform / OpenTOFU or Crossplane. \ No newline at end of file +* Improvements to the idpbuilder to support Kubernetes instances other then KIND. This can either be done by parametrization or by utilizing Terraform / OpenTOFU or Crossplane. diff --git a/content/en/docs/solution/tools/CNOE/included-backstage-templates/basic-argo-workflow/_index.md b/content/en/docs/solution/tools/CNOE/included-backstage-templates/basic-argo-workflow/_index.md index 068c65e..110bb03 100644 --- a/content/en/docs/solution/tools/CNOE/included-backstage-templates/basic-argo-workflow/_index.md +++ b/content/en/docs/solution/tools/CNOE/included-backstage-templates/basic-argo-workflow/_index.md @@ -11,9 +11,9 @@ This Backstage template YAML automates the creation of an Argo Workflow for Kube This template is designed for teams that need a streamlined approach to deploy and manage data processing or machine learning jobs using Spark within an Argo Workflow environment. It simplifies the deployment process and integrates the application with a CI/CD pipeline. The template performs the following: -- **Workflow and Spark Job Setup**: Defines a basic Argo Workflow and configures a Spark job using the provided application file path, ideal for data processing tasks. -- **Repository Setup**: Publishes the workflow configuration to a Gitea repository, enabling version control and easy updates to the job configuration. -- **ArgoCD Integration**: Creates an ArgoCD application to manage the Spark job deployment, ensuring continuous delivery and synchronization with Kubernetes. -- **Backstage Registration**: Registers the application in Backstage, making it easily discoverable and manageable through the Backstage catalog. +* **Workflow and Spark Job Setup**: Defines a basic Argo Workflow and configures a Spark job using the provided application file path, ideal for data processing tasks. +* **Repository Setup**: Publishes the workflow configuration to a Gitea repository, enabling version control and easy updates to the job configuration. +* **ArgoCD Integration**: Creates an ArgoCD application to manage the Spark job deployment, ensuring continuous delivery and synchronization with Kubernetes. +* **Backstage Registration**: Registers the application in Backstage, making it easily discoverable and manageable through the Backstage catalog. This template boosts productivity by automating steps required for setting up Argo Workflows and Spark jobs, integrating version control, and enabling centralized management and visibility, making it ideal for projects requiring efficient deployment and scalable data processing solutions. diff --git a/content/en/docs/solution/tools/CNOE/included-backstage-templates/basic-kubernetes-deployment/_idex.md b/content/en/docs/solution/tools/CNOE/included-backstage-templates/basic-kubernetes-deployment/_idex.md index 98acba3..80e668c 100644 --- a/content/en/docs/solution/tools/CNOE/included-backstage-templates/basic-kubernetes-deployment/_idex.md +++ b/content/en/docs/solution/tools/CNOE/included-backstage-templates/basic-kubernetes-deployment/_idex.md @@ -11,9 +11,9 @@ This Backstage template YAML automates the creation of a basic Kubernetes Deploy The template is designed for teams needing a streamlined approach to deploy applications in Kubernetes while automatically configuring their CI/CD pipelines. It performs the following: -- **Deployment Creation**: A Kubernetes Deployment YAML is generated based on the provided application name, specifying a basic setup with an Nginx container. -- **Repository Setup**: Publishes the deployment code in a Gitea repository, allowing for version control and future updates. -- **ArgoCD Integration**: Automatically creates an ArgoCD application for the deployment, facilitating continuous delivery and synchronization with Kubernetes. -- **Backstage Registration**: Registers the application in Backstage to make it discoverable and manageable via the Backstage catalog. +* **Deployment Creation**: A Kubernetes Deployment YAML is generated based on the provided application name, specifying a basic setup with an Nginx container. +* **Repository Setup**: Publishes the deployment code in a Gitea repository, allowing for version control and future updates. +* **ArgoCD Integration**: Automatically creates an ArgoCD application for the deployment, facilitating continuous delivery and synchronization with Kubernetes. +* **Backstage Registration**: Registers the application in Backstage to make it discoverable and manageable via the Backstage catalog. This template enhances productivity by automating several steps required for deployment, version control, and registration, making it ideal for projects where fast, consistent deployment and centralized management are required. diff --git a/content/en/docs/solution/tools/CNOE/verification.md b/content/en/docs/solution/tools/CNOE/verification.md index af36de9..4f60e77 100644 --- a/content/en/docs/solution/tools/CNOE/verification.md +++ b/content/en/docs/solution/tools/CNOE/verification.md @@ -14,17 +14,17 @@ most part they adhere to the general definition: Examples: -- Form validation before processing the data -- Compiler checking syntax -- Rust's borrow checker +* Form validation before processing the data +* Compiler checking syntax +* Rust's borrow checker > Verification describes testing if your 'thing' complies with your spec Examples: -- Unit tests -- Testing availability (ping, curl health check) -- Checking a ZKP of some computation +* Unit tests +* Testing availability (ping, curl health check) +* Checking a ZKP of some computation --- diff --git a/content/en/docs/solution/tools/Crossplane/provider-kind/_index.md b/content/en/docs/solution/tools/Crossplane/provider-kind/_index.md index c90fc5c..7370f44 100644 --- a/content/en/docs/solution/tools/Crossplane/provider-kind/_index.md +++ b/content/en/docs/solution/tools/Crossplane/provider-kind/_index.md @@ -14,10 +14,10 @@ The provider config takes the credentials to log into the cloud provider and pro The implementations of the cloud resources reflect each type of cloud resource, typical resources are: -- S3 Bucket -- Nodepool -- VPC -- GkeCluster +* S3 Bucket +* Nodepool +* VPC +* GkeCluster ## Architecture of provider-kind @@ -57,16 +57,16 @@ object is a secret. The need for the following inputs arise when developing a provider-kind: -- kindserver password as a kubernetes secret -- endpoint, the IP address of the kindserver as a detail of `ProviderConfig` -- kindConfig, the kind configuration file as a detail of `KindCluster` +* kindserver password as a kubernetes secret +* endpoint, the IP address of the kindserver as a detail of `ProviderConfig` +* kindConfig, the kind configuration file as a detail of `KindCluster` The following outputs arise: -- kubernetesVersion, kubernetes version of a created kind cluster as a detail of `KindCluster` -- internalIP, IP address of a created kind cluster as a detail of `KindCluster` -- readiness as a detail of `KindCluster` -- kube config of a created kind cluster as a kubernetes secret reference of `KindCluster` +* kubernetesVersion, kubernetes version of a created kind cluster as a detail of `KindCluster` +* internalIP, IP address of a created kind cluster as a detail of `KindCluster` +* readiness as a detail of `KindCluster` +* kube config of a created kind cluster as a kubernetes secret reference of `KindCluster` ### Inputs @@ -210,7 +210,7 @@ Internally, the Connect function get's triggered in the kindcluster controller ` first, to setup the provider and configure it with the kindserver password and IP address of the kindserver. After that the provider-kind has been configured with the kindserver secret and it's `ProviderConfig`, the provider is ready to -be activated by applying a `KindCluster` manifest to kubernetes. +be activated by applying a `KindCluster` manifest to kubernetes. When the user applies a new `KindCluster` manifest, a observe loop is started. The provider regulary triggers the `Observe` function of the controller. As there has yet been created nothing yet, the controller will return @@ -296,7 +296,7 @@ The official way for creating crossplane providers is to use the provider-templa a new provider. First, clone the provider-template. The commit ID when this howto has been written is 2e0b022c22eb50a8f32de2e09e832f17161d7596. -Rename the new folder after cloning. +Rename the new folder after cloning. ``` git clone https://github.com/crossplane/provider-template.git @@ -320,7 +320,7 @@ sed -i "s/mytype/${type,,}/g" internal/controller/${provider_name,,}.go ``` Patch the Makefile: - + ``` dev: $(KIND) $(KUBECTL) @$(INFO) Creating kind cluster @@ -346,8 +346,8 @@ make dev Now it's time to add the required fields (internalIP, endpoint, etc.) to the spec fields in go api sources found in: -- apis/container/v1alpha1/kindcluster_types.go -- apis/v1alpha1/providerconfig_types.go +* apis/container/v1alpha1/kindcluster_types.go +* apis/v1alpha1/providerconfig_types.go The file `apis/kind.go` may also be modified. The word `sample` can be replaces with `container` in our case. @@ -427,9 +427,9 @@ the ability to deploy helm and kubernetes objects in the newly created cluster. A composition is realized as a custom resource definition (CRD) considting of three parts: -- A definition -- A composition -- One or more deplyoments of the composition +* A definition +* A composition +* One or more deplyoments of the composition ### definition.yaml @@ -757,8 +757,8 @@ Open the composition in VS Code: examples/composition_deprecated/composition.yam Currently missing is the third and final part, the imperative steps which need to be processed: -- creation of TLS certificates and giteaAdmin password -- creation of a Forgejo repository for the stacks -- uploading the stacks in the Forgejo repository +* creation of TLS certificates and giteaAdmin password +* creation of a Forgejo repository for the stacks +* uploading the stacks in the Forgejo repository -Connecting the definition field (ArgoCD repo URL) and composition interconnects (function-patch-and-transform) are also missing. \ No newline at end of file +Connecting the definition field (ArgoCD repo URL) and composition interconnects (function-patch-and-transform) are also missing. diff --git a/content/en/docs/solution/tools/Kube-prometheus-stack/_index.md b/content/en/docs/solution/tools/Kube-prometheus-stack/_index.md index 2bbf352..9b5512a 100644 --- a/content/en/docs/solution/tools/Kube-prometheus-stack/_index.md +++ b/content/en/docs/solution/tools/Kube-prometheus-stack/_index.md @@ -19,10 +19,12 @@ grafana.sidecar.dashboards contains necessary configurations so additional user grafana.grafana.ini.server contains configuration details that are necessary, so the ingress points to the correct url. ### Start + Once Grafana is running it is accessible under https://cnoe.localtest.me/grafana. Many preconfigured dashboards can be used by klicking the menu option Dashboards. ### Adding your own dashboards + The application edfbuilder/kind/stacks/core/kube-prometheus.yaml is used to import new Loki dashboards. Examples for imported dashboards can be found in the folder edfbuilder/kind/stacks/core/kube-prometheus/dashboards. It is possible to add your own dashboards: Dashboards must be in JSON format. To add your own dashboard create a new ConfigMap in YAML format using onw of the examples as a blueprint. The new dashboard in JSON format has to be added as the value for data.k8s-dashboard-[...].json like in the examples. (It is important to use a unique name for data.k8s-dashboard-[...].json for each dashboard.) diff --git a/content/en/docs/solution/tools/Loki/_index.md b/content/en/docs/solution/tools/Loki/_index.md index 91945b3..4c51070 100644 --- a/content/en/docs/solution/tools/Loki/_index.md +++ b/content/en/docs/solution/tools/Loki/_index.md @@ -5,6 +5,6 @@ description: Grafana Loki is a scalable open-source log aggregation system ## Loki Overview -The application Grafana Loki is started in edfbuilder/kind/stacks/core/loki.yaml. +The application Grafana Loki is started in edfbuilder/kind/stacks/core/loki.yaml. Loki is started in microservices mode and contains the components ingester, distributor, querier, and query-frontend. The Helm values file edfbuilder/kind/stacks/core/loki/values.yaml contains configuration values. diff --git a/content/en/docs/solution/tools/Promtail/_index.md b/content/en/docs/solution/tools/Promtail/_index.md index a5a1a81..b675162 100644 --- a/content/en/docs/solution/tools/Promtail/_index.md +++ b/content/en/docs/solution/tools/Promtail/_index.md @@ -5,5 +5,5 @@ description: Grafana Promtail is an agent that ships logs to a Grafan Loki insta ## Promtail Overview -The application Grafana Promtail is started in edfbuilder/kind/stacks/core/promtail.yaml. +The application Grafana Promtail is started in edfbuilder/kind/stacks/core/promtail.yaml. The Helm values file edfbuilder/kind/stacks/core/promtail/values.yaml contains configuration values. diff --git a/content/en/docs/solution/tools/kyverno integration/_index.md b/content/en/docs/solution/tools/kyverno integration/_index.md index 12ca83e..d9aab2e 100644 --- a/content/en/docs/solution/tools/kyverno integration/_index.md +++ b/content/en/docs/solution/tools/kyverno integration/_index.md @@ -17,14 +17,17 @@ Kyverno is a policy engine for Kubernetes designed to enforce, validate, and mut Kyverno simplifies governance and compliance in Kubernetes environments by automating policy management and ensuring best practices are followed. ## Prerequisites + Same as for idpbuilder installation -- Docker Engine -- Go -- kubectl -- kind +* Docker Engine +* Go +* kubectl +* kind ## Installation + ### Build process + For building idpbuilder the source code needs to be downloaded and compiled: ``` From acbdf33fac2e702e475138638b11cdcfada641b3 Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Thu, 23 Oct 2025 14:30:35 +0200 Subject: [PATCH 14/80] chore: configure markdownlint VS Code extension Install and configure markdownlint extension for in-editor linting with visual feedback (squiggly lines, Problems panel, quick fixes). Changes: - Install davidanson.vscode-markdownlint extension - Configure .vscode/settings.json to use .markdownlint.json - Enable immediate visual feedback for markdown style issues Benefits: - Real-time markdown linting while editing - Quick fixes via lightbulb (Ctrl+.) - Problems panel integration (Ctrl+Shift+M) - Consistent with CLI linting configuration --- .vscode/settings.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.vscode/settings.json b/.vscode/settings.json index 6212e98..f3ced70 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -18,5 +18,9 @@ "titleBar.activeForeground": "#15202b", "titleBar.inactiveBackground": "#61dafb99", "titleBar.inactiveForeground": "#15202b99" + }, + // Markdown linting + "markdownlint.config": { + "extends": ".markdownlint.json" } } \ No newline at end of file From 43cbd69c9c9221761d96d69902639e2737c9dd8f Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Thu, 23 Oct 2025 14:54:08 +0200 Subject: [PATCH 15/80] refactor(docs): migrate existing content to v1 legacy structure - Move all existing docs content (concepts, project, solution) to /docs/v1/ - Add legacy banner component to warn users about archived documentation - Create v1 index page with legacy notice and redirect guidance - Implement automatic banner display for all v1 paths - Preserve all original content for reference during migration This enables incremental content migration while maintaining access to original documentation. --- .markdownlint.json | 23 +++--------------- .vscode/settings.json | 4 --- content/en/docs/v1/_index.md | 13 ++++++++++ .../1_software-and-workloads/_index.md | 0 .../concepts/2_engineering-people/_index.md | 0 .../{ => v1}/concepts/3_use-cases/_index.md | 0 .../3_use-cases/fibonacci-app_cpu-spike.png | Bin .../{ => v1}/concepts/3_use-cases/image.png | Bin .../3_use-cases/platforms-def.drawio.png | Bin .../concepts/4_digital-platforms/_index.md | 0 .../7b748ff4-image2-1024x580.png | Bin .../platform-components/_index.md | 0 .../cicd-pipeline/_index.md | 0 .../cicd-pipeline/cicd.drawio.png | Bin .../cicd-pipeline/review-stl.md | 0 .../developer-portals/_index.md | 0 .../orchestrator/_index.md | 0 .../platform-components/references/_index.md | 0 .../Viktor-restaurant.png | Bin .../platform-engineering/_index.md | 0 .../platform-engineering/cortex-use-cases.png | Bin .../platform-engineering/idp.webp | Bin .../reference-architecture/_index.md | 0 .../concepts/5_platforms/CNOE/_index.md | 0 .../concepts/5_platforms/CNOE/cnoe.png | Bin .../5_platforms/CNOE/local-argocd.png | Bin .../5_platforms/CNOE/local-backstage.png | Bin .../concepts/5_platforms/Humanitec/_index.md | 0 .../{ => v1}/concepts/5_platforms/_index.md | 0 content/en/docs/{ => v1}/concepts/_index.md | 0 .../en/docs/{ => v1}/project/MVP-12-OTC.md | 0 content/en/docs/{ => v1}/project/_index.md | 0 .../{ => v1}/project/bootstrapping/_index.md | 0 .../project/bootstrapping/backup/_index.md | 0 .../conceptual-onboarding/1_intro/_index.md | 0 .../2_edge-developer-framework/_index.md | 0 .../3_platforming/_index.md | 0 .../3_platforming/humanitec-history.png | Bin .../3_platforming/platform-self-services.webp | Bin .../3_platforming/platforms-def.drawio.png | Bin .../3_platforming/teams.png | Bin .../4_orchestrators/_index.md | 0 .../platform-architectures.webp | Bin ...tooling-humanitec-platform-report-2024.PNG | Bin .../vendor-neutral-idp-final.gif | Bin .../conceptual-onboarding/5_cnoe/_index.md | 0 .../5_cnoe/cnoe-architecture.png | Bin .../5_cnoe/cnoe-capabilities.png | Bin .../5_cnoe/cnoe-stacks.png | Bin .../6_cnoe-showtime/_index.md | 0 .../6_cnoe-showtime/image-1.png | Bin .../6_cnoe-showtime/image-10.png | Bin .../6_cnoe-showtime/image-11.png | Bin .../6_cnoe-showtime/image-12.png | Bin .../6_cnoe-showtime/image-13.png | Bin .../6_cnoe-showtime/image-14.png | Bin .../6_cnoe-showtime/image-15.png | Bin .../6_cnoe-showtime/image-16.png | Bin .../6_cnoe-showtime/image-2.png | Bin .../6_cnoe-showtime/image-3.png | Bin .../6_cnoe-showtime/image-4.png | Bin .../6_cnoe-showtime/image-5.png | Bin .../6_cnoe-showtime/image-6.png | Bin .../6_cnoe-showtime/image-7.png | Bin .../6_cnoe-showtime/image-8.png | Bin .../6_cnoe-showtime/image-9.png | Bin .../6_cnoe-showtime/image.png | Bin .../7_conclusio/README.md | 0 .../7_conclusio/_index.md | 0 .../7_conclusio/domain-architecture.c4 | 0 .../images/layers-and-framework-engineer.png | Bin .../images/layers-and-platform-engineer.png | Bin .../7_conclusio/images/layers.png | Bin .../7_conclusio/images/modern.png | Bin .../project/conceptual-onboarding/_index.md | 0 .../conceptual-onboarding/storyline.md | 0 .../DevOps-Lifecycle-1.jpg | Bin .../DevOps-Lifecycle.jpg | Bin .../intro-stakeholder-workshop/_index.md | 0 .../intro-stakeholder-workshop/devops.png | Bin .../intro-stakeholder-workshop/image.png | Bin .../{ => v1}/project/plan-in-2024/_index.md | 0 .../plan-in-2024/image-2024-8-14_10-50-27.png | Bin .../{ => v1}/project/plan-in-2024/planes.png | Bin .../plan-in-2024/poc/_assets/image-1.png | Bin .../plan-in-2024/poc/_assets/image.png | Bin .../project/plan-in-2024/poc/_index.md | 0 .../project/plan-in-2024/streams/_index.md | 0 .../plan-in-2024/streams/deployment/_index.md | 0 .../streams/deployment/deployment.drawio.png | Bin .../streams/deployment/forgejo/_index.md | 0 .../streams/fundamentals/_index.md | 0 .../fundamentals/cicd-definition/_index.md | 0 .../streams/fundamentals/image.png | Bin .../platform-definition/_index.md | 0 .../plan-in-2024/streams/pocs/_index.md | 0 .../plan-in-2024/streams/pocs/cnoe/_index.md | 0 .../streams/pocs/kratix/_index.md | 0 .../streams/pocs/sia-asset/_index.md | 0 .../project/team-process/_assets/P1.png | Bin .../project/team-process/_assets/P2.png | Bin .../project/team-process/_assets/P3.png | Bin .../project/team-process/_assets/P4.png | Bin .../project/team-process/_assets/P5.png | Bin .../project/team-process/_assets/P6.png | Bin .../project/team-process/_assets/P7.png | Bin .../project/team-process/_assets/P8.png | Bin .../project/team-process/_assets/image.png | Bin .../{ => v1}/project/team-process/_index.md | 0 content/en/docs/{ => v1}/solution/_index.md | 0 .../docs/{ => v1}/solution/design/_index.md | 0 .../design/architectural-documentation.md | 0 .../design/architectural-work-structure.md | 0 .../design/crossplane-vs-terraform.md | 0 .../decision-iam-and-edf-self-containment.md | 0 .../solution/design/platform-component.md | 0 .../design/proposal-local-deployment.md | 0 .../design/proposal-stack-hydration.md | 0 .../{ => v1}/solution/scenarios/_index.md | 0 .../solution/scenarios/gitops/_index.md | 0 .../solution/scenarios/gitops/image.png | Bin .../scenarios/orchestration/_index.md | 0 .../scenarios/orchestration/image-1.png | Bin .../scenarios/orchestration/image.png | Bin .../Backstage setup tutorial/_index.md | 0 .../Backstage/Exsisting Plugins/_index.md | 0 .../Backstage/General Information/_index.md | 0 .../Plugin Creation Tutorial/_index.md | 0 .../Plugin Creation Tutorial/example_1.png | Bin .../Plugin Creation Tutorial/example_2.png | Bin .../solution/tools/Backstage/_index.md | 0 .../tools/CNOE/CNOE-competitors/_index.md | 0 .../{ => v1}/solution/tools/CNOE/_index.md | 0 .../solution/tools/CNOE/argocd/_index.md | 0 .../CNOE/argocd/argocd-core-components.webp | Bin .../CNOE/argocd/argocd_architecture.webp | Bin .../solution/tools/CNOE/idpbuilder/_index.md | 0 .../idpbuilder/hostname-routing-proxy.png | Bin .../CNOE/idpbuilder/hostname-routing.png | Bin .../tools/CNOE/idpbuilder/http-routing.md | 0 .../CNOE/idpbuilder/installation/_index.md | 0 .../tools/CNOE/idpbuilder/path-routing.png | Bin .../included-backstage-templates/_index.md | 0 .../basic-argo-workflow/_index.md | 0 .../basic-kubernetes-deployment/_idex.md | 0 .../solution/tools/CNOE/verification.md | 0 .../solution/tools/Crossplane/_index.md | 0 .../tools/Crossplane/provider-kind/_index.md | 0 .../provider-kind/composition.drawio | 0 .../Crossplane/provider-kind/composition.png | Bin .../provider-kind/kindserver_interface.drawio | 0 .../provider-kind/kindserver_interface.png | Bin .../kindserver_provider-kind.drawio | 0 .../kindserver_provider-kind.png | Bin .../provider-kind_providerconfig.drawio | 0 .../provider-kind_providerconfig.png | Bin .../tools/Kube-prometheus-stack/_index.md | 0 .../{ => v1}/solution/tools/Loki/_index.md | 0 .../solution/tools/Promtail/_index.md | 0 .../en/docs/{ => v1}/solution/tools/_index.md | 0 .../tools/kyverno integration/_index.md | 0 .../tools/kyverno integration/kyverno.png | Bin layouts/docs/single.html | 17 +++++++++++++ layouts/partials/legacy-banner.html | 13 ++++++++++ 164 files changed, 46 insertions(+), 24 deletions(-) create mode 100644 content/en/docs/v1/_index.md rename content/en/docs/{ => v1}/concepts/1_software-and-workloads/_index.md (100%) rename content/en/docs/{ => v1}/concepts/2_engineering-people/_index.md (100%) rename content/en/docs/{ => v1}/concepts/3_use-cases/_index.md (100%) rename content/en/docs/{ => v1}/concepts/3_use-cases/fibonacci-app_cpu-spike.png (100%) rename content/en/docs/{ => v1}/concepts/3_use-cases/image.png (100%) rename content/en/docs/{ => v1}/concepts/3_use-cases/platforms-def.drawio.png (100%) rename content/en/docs/{ => v1}/concepts/4_digital-platforms/_index.md (100%) rename content/en/docs/{ => v1}/concepts/4_digital-platforms/platform-components/7b748ff4-image2-1024x580.png (100%) rename content/en/docs/{ => v1}/concepts/4_digital-platforms/platform-components/_index.md (100%) rename content/en/docs/{ => v1}/concepts/4_digital-platforms/platform-components/cicd-pipeline/_index.md (100%) rename content/en/docs/{ => v1}/concepts/4_digital-platforms/platform-components/cicd-pipeline/cicd.drawio.png (100%) rename content/en/docs/{ => v1}/concepts/4_digital-platforms/platform-components/cicd-pipeline/review-stl.md (100%) rename content/en/docs/{ => v1}/concepts/4_digital-platforms/platform-components/developer-portals/_index.md (100%) rename content/en/docs/{ => v1}/concepts/4_digital-platforms/platform-components/orchestrator/_index.md (100%) rename content/en/docs/{ => v1}/concepts/4_digital-platforms/platform-components/references/_index.md (100%) rename content/en/docs/{ => v1}/concepts/4_digital-platforms/platform-engineering/Viktor-restaurant.png (100%) rename content/en/docs/{ => v1}/concepts/4_digital-platforms/platform-engineering/_index.md (100%) rename content/en/docs/{ => v1}/concepts/4_digital-platforms/platform-engineering/cortex-use-cases.png (100%) rename content/en/docs/{ => v1}/concepts/4_digital-platforms/platform-engineering/idp.webp (100%) rename content/en/docs/{ => v1}/concepts/4_digital-platforms/platform-engineering/reference-architecture/_index.md (100%) rename content/en/docs/{ => v1}/concepts/5_platforms/CNOE/_index.md (100%) rename content/en/docs/{ => v1}/concepts/5_platforms/CNOE/cnoe.png (100%) rename content/en/docs/{ => v1}/concepts/5_platforms/CNOE/local-argocd.png (100%) rename content/en/docs/{ => v1}/concepts/5_platforms/CNOE/local-backstage.png (100%) rename content/en/docs/{ => v1}/concepts/5_platforms/Humanitec/_index.md (100%) rename content/en/docs/{ => v1}/concepts/5_platforms/_index.md (100%) rename content/en/docs/{ => v1}/concepts/_index.md (100%) rename content/en/docs/{ => v1}/project/MVP-12-OTC.md (100%) rename content/en/docs/{ => v1}/project/_index.md (100%) rename content/en/docs/{ => v1}/project/bootstrapping/_index.md (100%) rename content/en/docs/{ => v1}/project/bootstrapping/backup/_index.md (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/1_intro/_index.md (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/2_edge-developer-framework/_index.md (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/3_platforming/_index.md (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/3_platforming/humanitec-history.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/3_platforming/platform-self-services.webp (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/3_platforming/platforms-def.drawio.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/3_platforming/teams.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/4_orchestrators/_index.md (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/4_orchestrators/platform-architectures.webp (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/4_orchestrators/platform-tooling-humanitec-platform-report-2024.PNG (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/4_orchestrators/vendor-neutral-idp-final.gif (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/5_cnoe/_index.md (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/5_cnoe/cnoe-architecture.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/5_cnoe/cnoe-capabilities.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/5_cnoe/cnoe-stacks.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/6_cnoe-showtime/_index.md (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/6_cnoe-showtime/image-1.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/6_cnoe-showtime/image-10.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/6_cnoe-showtime/image-11.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/6_cnoe-showtime/image-12.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/6_cnoe-showtime/image-13.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/6_cnoe-showtime/image-14.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/6_cnoe-showtime/image-15.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/6_cnoe-showtime/image-16.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/6_cnoe-showtime/image-2.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/6_cnoe-showtime/image-3.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/6_cnoe-showtime/image-4.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/6_cnoe-showtime/image-5.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/6_cnoe-showtime/image-6.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/6_cnoe-showtime/image-7.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/6_cnoe-showtime/image-8.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/6_cnoe-showtime/image-9.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/6_cnoe-showtime/image.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/7_conclusio/README.md (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/7_conclusio/_index.md (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/7_conclusio/domain-architecture.c4 (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/7_conclusio/images/layers-and-framework-engineer.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/7_conclusio/images/layers-and-platform-engineer.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/7_conclusio/images/layers.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/7_conclusio/images/modern.png (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/_index.md (100%) rename content/en/docs/{ => v1}/project/conceptual-onboarding/storyline.md (100%) rename content/en/docs/{ => v1}/project/intro-stakeholder-workshop/DevOps-Lifecycle-1.jpg (100%) rename content/en/docs/{ => v1}/project/intro-stakeholder-workshop/DevOps-Lifecycle.jpg (100%) rename content/en/docs/{ => v1}/project/intro-stakeholder-workshop/_index.md (100%) rename content/en/docs/{ => v1}/project/intro-stakeholder-workshop/devops.png (100%) rename content/en/docs/{ => v1}/project/intro-stakeholder-workshop/image.png (100%) rename content/en/docs/{ => v1}/project/plan-in-2024/_index.md (100%) rename content/en/docs/{ => v1}/project/plan-in-2024/image-2024-8-14_10-50-27.png (100%) rename content/en/docs/{ => v1}/project/plan-in-2024/planes.png (100%) rename content/en/docs/{ => v1}/project/plan-in-2024/poc/_assets/image-1.png (100%) rename content/en/docs/{ => v1}/project/plan-in-2024/poc/_assets/image.png (100%) rename content/en/docs/{ => v1}/project/plan-in-2024/poc/_index.md (100%) rename content/en/docs/{ => v1}/project/plan-in-2024/streams/_index.md (100%) rename content/en/docs/{ => v1}/project/plan-in-2024/streams/deployment/_index.md (100%) rename content/en/docs/{ => v1}/project/plan-in-2024/streams/deployment/deployment.drawio.png (100%) rename content/en/docs/{ => v1}/project/plan-in-2024/streams/deployment/forgejo/_index.md (100%) rename content/en/docs/{ => v1}/project/plan-in-2024/streams/fundamentals/_index.md (100%) rename content/en/docs/{ => v1}/project/plan-in-2024/streams/fundamentals/cicd-definition/_index.md (100%) rename content/en/docs/{ => v1}/project/plan-in-2024/streams/fundamentals/image.png (100%) rename content/en/docs/{ => v1}/project/plan-in-2024/streams/fundamentals/platform-definition/_index.md (100%) rename content/en/docs/{ => v1}/project/plan-in-2024/streams/pocs/_index.md (100%) rename content/en/docs/{ => v1}/project/plan-in-2024/streams/pocs/cnoe/_index.md (100%) rename content/en/docs/{ => v1}/project/plan-in-2024/streams/pocs/kratix/_index.md (100%) rename content/en/docs/{ => v1}/project/plan-in-2024/streams/pocs/sia-asset/_index.md (100%) rename content/en/docs/{ => v1}/project/team-process/_assets/P1.png (100%) rename content/en/docs/{ => v1}/project/team-process/_assets/P2.png (100%) rename content/en/docs/{ => v1}/project/team-process/_assets/P3.png (100%) rename content/en/docs/{ => v1}/project/team-process/_assets/P4.png (100%) rename content/en/docs/{ => v1}/project/team-process/_assets/P5.png (100%) rename content/en/docs/{ => v1}/project/team-process/_assets/P6.png (100%) rename content/en/docs/{ => v1}/project/team-process/_assets/P7.png (100%) rename content/en/docs/{ => v1}/project/team-process/_assets/P8.png (100%) rename content/en/docs/{ => v1}/project/team-process/_assets/image.png (100%) rename content/en/docs/{ => v1}/project/team-process/_index.md (100%) rename content/en/docs/{ => v1}/solution/_index.md (100%) rename content/en/docs/{ => v1}/solution/design/_index.md (100%) rename content/en/docs/{ => v1}/solution/design/architectural-documentation.md (100%) rename content/en/docs/{ => v1}/solution/design/architectural-work-structure.md (100%) rename content/en/docs/{ => v1}/solution/design/crossplane-vs-terraform.md (100%) rename content/en/docs/{ => v1}/solution/design/decision-iam-and-edf-self-containment.md (100%) rename content/en/docs/{ => v1}/solution/design/platform-component.md (100%) rename content/en/docs/{ => v1}/solution/design/proposal-local-deployment.md (100%) rename content/en/docs/{ => v1}/solution/design/proposal-stack-hydration.md (100%) rename content/en/docs/{ => v1}/solution/scenarios/_index.md (100%) rename content/en/docs/{ => v1}/solution/scenarios/gitops/_index.md (100%) rename content/en/docs/{ => v1}/solution/scenarios/gitops/image.png (100%) rename content/en/docs/{ => v1}/solution/scenarios/orchestration/_index.md (100%) rename content/en/docs/{ => v1}/solution/scenarios/orchestration/image-1.png (100%) rename content/en/docs/{ => v1}/solution/scenarios/orchestration/image.png (100%) rename content/en/docs/{ => v1}/solution/tools/Backstage/Backstage setup tutorial/_index.md (100%) rename content/en/docs/{ => v1}/solution/tools/Backstage/Exsisting Plugins/_index.md (100%) rename content/en/docs/{ => v1}/solution/tools/Backstage/General Information/_index.md (100%) rename content/en/docs/{ => v1}/solution/tools/Backstage/Plugin Creation Tutorial/_index.md (100%) rename content/en/docs/{ => v1}/solution/tools/Backstage/Plugin Creation Tutorial/example_1.png (100%) rename content/en/docs/{ => v1}/solution/tools/Backstage/Plugin Creation Tutorial/example_2.png (100%) rename content/en/docs/{ => v1}/solution/tools/Backstage/_index.md (100%) rename content/en/docs/{ => v1}/solution/tools/CNOE/CNOE-competitors/_index.md (100%) rename content/en/docs/{ => v1}/solution/tools/CNOE/_index.md (100%) rename content/en/docs/{ => v1}/solution/tools/CNOE/argocd/_index.md (100%) rename content/en/docs/{ => v1}/solution/tools/CNOE/argocd/argocd-core-components.webp (100%) rename content/en/docs/{ => v1}/solution/tools/CNOE/argocd/argocd_architecture.webp (100%) rename content/en/docs/{ => v1}/solution/tools/CNOE/idpbuilder/_index.md (100%) rename content/en/docs/{ => v1}/solution/tools/CNOE/idpbuilder/hostname-routing-proxy.png (100%) rename content/en/docs/{ => v1}/solution/tools/CNOE/idpbuilder/hostname-routing.png (100%) rename content/en/docs/{ => v1}/solution/tools/CNOE/idpbuilder/http-routing.md (100%) rename content/en/docs/{ => v1}/solution/tools/CNOE/idpbuilder/installation/_index.md (100%) rename content/en/docs/{ => v1}/solution/tools/CNOE/idpbuilder/path-routing.png (100%) rename content/en/docs/{ => v1}/solution/tools/CNOE/included-backstage-templates/_index.md (100%) rename content/en/docs/{ => v1}/solution/tools/CNOE/included-backstage-templates/basic-argo-workflow/_index.md (100%) rename content/en/docs/{ => v1}/solution/tools/CNOE/included-backstage-templates/basic-kubernetes-deployment/_idex.md (100%) rename content/en/docs/{ => v1}/solution/tools/CNOE/verification.md (100%) rename content/en/docs/{ => v1}/solution/tools/Crossplane/_index.md (100%) rename content/en/docs/{ => v1}/solution/tools/Crossplane/provider-kind/_index.md (100%) rename content/en/docs/{ => v1}/solution/tools/Crossplane/provider-kind/composition.drawio (100%) rename content/en/docs/{ => v1}/solution/tools/Crossplane/provider-kind/composition.png (100%) rename content/en/docs/{ => v1}/solution/tools/Crossplane/provider-kind/kindserver_interface.drawio (100%) rename content/en/docs/{ => v1}/solution/tools/Crossplane/provider-kind/kindserver_interface.png (100%) rename content/en/docs/{ => v1}/solution/tools/Crossplane/provider-kind/kindserver_provider-kind.drawio (100%) rename content/en/docs/{ => v1}/solution/tools/Crossplane/provider-kind/kindserver_provider-kind.png (100%) rename content/en/docs/{ => v1}/solution/tools/Crossplane/provider-kind/provider-kind_providerconfig.drawio (100%) rename content/en/docs/{ => v1}/solution/tools/Crossplane/provider-kind/provider-kind_providerconfig.png (100%) rename content/en/docs/{ => v1}/solution/tools/Kube-prometheus-stack/_index.md (100%) rename content/en/docs/{ => v1}/solution/tools/Loki/_index.md (100%) rename content/en/docs/{ => v1}/solution/tools/Promtail/_index.md (100%) rename content/en/docs/{ => v1}/solution/tools/_index.md (100%) rename content/en/docs/{ => v1}/solution/tools/kyverno integration/_index.md (100%) rename content/en/docs/{ => v1}/solution/tools/kyverno integration/kyverno.png (100%) create mode 100644 layouts/docs/single.html create mode 100644 layouts/partials/legacy-banner.html diff --git a/.markdownlint.json b/.markdownlint.json index 52b45af..8c37aec 100644 --- a/.markdownlint.json +++ b/.markdownlint.json @@ -1,25 +1,8 @@ { - "$schema": "https://raw.githubusercontent.com/DavidAnson/markdownlint/main/schema/markdownlint-config-schema.json", "default": true, - "MD001": true, - "MD003": { "style": "atx" }, - "MD004": { "style": "asterisk" }, - "MD007": { "indent": 2 }, - "MD009": { "br_spaces": 2 }, - "MD010": { "code_blocks": false }, - "MD012": { "maximum": 2 }, "MD013": false, - "MD022": { "lines_above": 1, "lines_below": 1 }, - "MD024": { "siblings_only": true }, - "MD025": { "front_matter_title": "" }, - "MD026": { "punctuation": ".,;:" }, - "MD029": { "style": "ordered" }, - "MD031": { "list_items": false }, - "MD032": true, - "MD033": { "allowed_elements": ["div", "span", "a", "img", "br", "details", "summary"] }, - "MD034": false, - "MD040": false, + "MD033": false, "MD041": false, - "MD045": false, - "MD047": true + "MD024": { "siblings_only": true }, + "MD025": { "front_matter_title": "" } } diff --git a/.vscode/settings.json b/.vscode/settings.json index f3ced70..6212e98 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -18,9 +18,5 @@ "titleBar.activeForeground": "#15202b", "titleBar.inactiveBackground": "#61dafb99", "titleBar.inactiveForeground": "#15202b99" - }, - // Markdown linting - "markdownlint.config": { - "extends": ".markdownlint.json" } } \ No newline at end of file diff --git a/content/en/docs/v1/_index.md b/content/en/docs/v1/_index.md new file mode 100644 index 0000000..f694474 --- /dev/null +++ b/content/en/docs/v1/_index.md @@ -0,0 +1,13 @@ +--- +title: "Documentation (v1 - Legacy)" +linkTitle: "v1 (Legacy)" +weight: 100 +description: > + Legacy documentation - archived version of the original content. +--- + +{{% alert title="Note" color="warning" %}} +This is the legacy documentation (v1). For the latest version, please visit the [current documentation](/docs/). +{{% /alert %}} + +This section contains the original documentation that is being migrated to a new structure. diff --git a/content/en/docs/concepts/1_software-and-workloads/_index.md b/content/en/docs/v1/concepts/1_software-and-workloads/_index.md similarity index 100% rename from content/en/docs/concepts/1_software-and-workloads/_index.md rename to content/en/docs/v1/concepts/1_software-and-workloads/_index.md diff --git a/content/en/docs/concepts/2_engineering-people/_index.md b/content/en/docs/v1/concepts/2_engineering-people/_index.md similarity index 100% rename from content/en/docs/concepts/2_engineering-people/_index.md rename to content/en/docs/v1/concepts/2_engineering-people/_index.md diff --git a/content/en/docs/concepts/3_use-cases/_index.md b/content/en/docs/v1/concepts/3_use-cases/_index.md similarity index 100% rename from content/en/docs/concepts/3_use-cases/_index.md rename to content/en/docs/v1/concepts/3_use-cases/_index.md diff --git a/content/en/docs/concepts/3_use-cases/fibonacci-app_cpu-spike.png b/content/en/docs/v1/concepts/3_use-cases/fibonacci-app_cpu-spike.png similarity index 100% rename from content/en/docs/concepts/3_use-cases/fibonacci-app_cpu-spike.png rename to content/en/docs/v1/concepts/3_use-cases/fibonacci-app_cpu-spike.png diff --git a/content/en/docs/concepts/3_use-cases/image.png b/content/en/docs/v1/concepts/3_use-cases/image.png similarity index 100% rename from content/en/docs/concepts/3_use-cases/image.png rename to content/en/docs/v1/concepts/3_use-cases/image.png diff --git a/content/en/docs/concepts/3_use-cases/platforms-def.drawio.png b/content/en/docs/v1/concepts/3_use-cases/platforms-def.drawio.png similarity index 100% rename from content/en/docs/concepts/3_use-cases/platforms-def.drawio.png rename to content/en/docs/v1/concepts/3_use-cases/platforms-def.drawio.png diff --git a/content/en/docs/concepts/4_digital-platforms/_index.md b/content/en/docs/v1/concepts/4_digital-platforms/_index.md similarity index 100% rename from content/en/docs/concepts/4_digital-platforms/_index.md rename to content/en/docs/v1/concepts/4_digital-platforms/_index.md diff --git a/content/en/docs/concepts/4_digital-platforms/platform-components/7b748ff4-image2-1024x580.png b/content/en/docs/v1/concepts/4_digital-platforms/platform-components/7b748ff4-image2-1024x580.png similarity index 100% rename from content/en/docs/concepts/4_digital-platforms/platform-components/7b748ff4-image2-1024x580.png rename to content/en/docs/v1/concepts/4_digital-platforms/platform-components/7b748ff4-image2-1024x580.png diff --git a/content/en/docs/concepts/4_digital-platforms/platform-components/_index.md b/content/en/docs/v1/concepts/4_digital-platforms/platform-components/_index.md similarity index 100% rename from content/en/docs/concepts/4_digital-platforms/platform-components/_index.md rename to content/en/docs/v1/concepts/4_digital-platforms/platform-components/_index.md diff --git a/content/en/docs/concepts/4_digital-platforms/platform-components/cicd-pipeline/_index.md b/content/en/docs/v1/concepts/4_digital-platforms/platform-components/cicd-pipeline/_index.md similarity index 100% rename from content/en/docs/concepts/4_digital-platforms/platform-components/cicd-pipeline/_index.md rename to content/en/docs/v1/concepts/4_digital-platforms/platform-components/cicd-pipeline/_index.md diff --git a/content/en/docs/concepts/4_digital-platforms/platform-components/cicd-pipeline/cicd.drawio.png b/content/en/docs/v1/concepts/4_digital-platforms/platform-components/cicd-pipeline/cicd.drawio.png similarity index 100% rename from content/en/docs/concepts/4_digital-platforms/platform-components/cicd-pipeline/cicd.drawio.png rename to content/en/docs/v1/concepts/4_digital-platforms/platform-components/cicd-pipeline/cicd.drawio.png diff --git a/content/en/docs/concepts/4_digital-platforms/platform-components/cicd-pipeline/review-stl.md b/content/en/docs/v1/concepts/4_digital-platforms/platform-components/cicd-pipeline/review-stl.md similarity index 100% rename from content/en/docs/concepts/4_digital-platforms/platform-components/cicd-pipeline/review-stl.md rename to content/en/docs/v1/concepts/4_digital-platforms/platform-components/cicd-pipeline/review-stl.md diff --git a/content/en/docs/concepts/4_digital-platforms/platform-components/developer-portals/_index.md b/content/en/docs/v1/concepts/4_digital-platforms/platform-components/developer-portals/_index.md similarity index 100% rename from content/en/docs/concepts/4_digital-platforms/platform-components/developer-portals/_index.md rename to content/en/docs/v1/concepts/4_digital-platforms/platform-components/developer-portals/_index.md diff --git a/content/en/docs/concepts/4_digital-platforms/platform-components/orchestrator/_index.md b/content/en/docs/v1/concepts/4_digital-platforms/platform-components/orchestrator/_index.md similarity index 100% rename from content/en/docs/concepts/4_digital-platforms/platform-components/orchestrator/_index.md rename to content/en/docs/v1/concepts/4_digital-platforms/platform-components/orchestrator/_index.md diff --git a/content/en/docs/concepts/4_digital-platforms/platform-components/references/_index.md b/content/en/docs/v1/concepts/4_digital-platforms/platform-components/references/_index.md similarity index 100% rename from content/en/docs/concepts/4_digital-platforms/platform-components/references/_index.md rename to content/en/docs/v1/concepts/4_digital-platforms/platform-components/references/_index.md diff --git a/content/en/docs/concepts/4_digital-platforms/platform-engineering/Viktor-restaurant.png b/content/en/docs/v1/concepts/4_digital-platforms/platform-engineering/Viktor-restaurant.png similarity index 100% rename from content/en/docs/concepts/4_digital-platforms/platform-engineering/Viktor-restaurant.png rename to content/en/docs/v1/concepts/4_digital-platforms/platform-engineering/Viktor-restaurant.png diff --git a/content/en/docs/concepts/4_digital-platforms/platform-engineering/_index.md b/content/en/docs/v1/concepts/4_digital-platforms/platform-engineering/_index.md similarity index 100% rename from content/en/docs/concepts/4_digital-platforms/platform-engineering/_index.md rename to content/en/docs/v1/concepts/4_digital-platforms/platform-engineering/_index.md diff --git a/content/en/docs/concepts/4_digital-platforms/platform-engineering/cortex-use-cases.png b/content/en/docs/v1/concepts/4_digital-platforms/platform-engineering/cortex-use-cases.png similarity index 100% rename from content/en/docs/concepts/4_digital-platforms/platform-engineering/cortex-use-cases.png rename to content/en/docs/v1/concepts/4_digital-platforms/platform-engineering/cortex-use-cases.png diff --git a/content/en/docs/concepts/4_digital-platforms/platform-engineering/idp.webp b/content/en/docs/v1/concepts/4_digital-platforms/platform-engineering/idp.webp similarity index 100% rename from content/en/docs/concepts/4_digital-platforms/platform-engineering/idp.webp rename to content/en/docs/v1/concepts/4_digital-platforms/platform-engineering/idp.webp diff --git a/content/en/docs/concepts/4_digital-platforms/platform-engineering/reference-architecture/_index.md b/content/en/docs/v1/concepts/4_digital-platforms/platform-engineering/reference-architecture/_index.md similarity index 100% rename from content/en/docs/concepts/4_digital-platforms/platform-engineering/reference-architecture/_index.md rename to content/en/docs/v1/concepts/4_digital-platforms/platform-engineering/reference-architecture/_index.md diff --git a/content/en/docs/concepts/5_platforms/CNOE/_index.md b/content/en/docs/v1/concepts/5_platforms/CNOE/_index.md similarity index 100% rename from content/en/docs/concepts/5_platforms/CNOE/_index.md rename to content/en/docs/v1/concepts/5_platforms/CNOE/_index.md diff --git a/content/en/docs/concepts/5_platforms/CNOE/cnoe.png b/content/en/docs/v1/concepts/5_platforms/CNOE/cnoe.png similarity index 100% rename from content/en/docs/concepts/5_platforms/CNOE/cnoe.png rename to content/en/docs/v1/concepts/5_platforms/CNOE/cnoe.png diff --git a/content/en/docs/concepts/5_platforms/CNOE/local-argocd.png b/content/en/docs/v1/concepts/5_platforms/CNOE/local-argocd.png similarity index 100% rename from content/en/docs/concepts/5_platforms/CNOE/local-argocd.png rename to content/en/docs/v1/concepts/5_platforms/CNOE/local-argocd.png diff --git a/content/en/docs/concepts/5_platforms/CNOE/local-backstage.png b/content/en/docs/v1/concepts/5_platforms/CNOE/local-backstage.png similarity index 100% rename from content/en/docs/concepts/5_platforms/CNOE/local-backstage.png rename to content/en/docs/v1/concepts/5_platforms/CNOE/local-backstage.png diff --git a/content/en/docs/concepts/5_platforms/Humanitec/_index.md b/content/en/docs/v1/concepts/5_platforms/Humanitec/_index.md similarity index 100% rename from content/en/docs/concepts/5_platforms/Humanitec/_index.md rename to content/en/docs/v1/concepts/5_platforms/Humanitec/_index.md diff --git a/content/en/docs/concepts/5_platforms/_index.md b/content/en/docs/v1/concepts/5_platforms/_index.md similarity index 100% rename from content/en/docs/concepts/5_platforms/_index.md rename to content/en/docs/v1/concepts/5_platforms/_index.md diff --git a/content/en/docs/concepts/_index.md b/content/en/docs/v1/concepts/_index.md similarity index 100% rename from content/en/docs/concepts/_index.md rename to content/en/docs/v1/concepts/_index.md diff --git a/content/en/docs/project/MVP-12-OTC.md b/content/en/docs/v1/project/MVP-12-OTC.md similarity index 100% rename from content/en/docs/project/MVP-12-OTC.md rename to content/en/docs/v1/project/MVP-12-OTC.md diff --git a/content/en/docs/project/_index.md b/content/en/docs/v1/project/_index.md similarity index 100% rename from content/en/docs/project/_index.md rename to content/en/docs/v1/project/_index.md diff --git a/content/en/docs/project/bootstrapping/_index.md b/content/en/docs/v1/project/bootstrapping/_index.md similarity index 100% rename from content/en/docs/project/bootstrapping/_index.md rename to content/en/docs/v1/project/bootstrapping/_index.md diff --git a/content/en/docs/project/bootstrapping/backup/_index.md b/content/en/docs/v1/project/bootstrapping/backup/_index.md similarity index 100% rename from content/en/docs/project/bootstrapping/backup/_index.md rename to content/en/docs/v1/project/bootstrapping/backup/_index.md diff --git a/content/en/docs/project/conceptual-onboarding/1_intro/_index.md b/content/en/docs/v1/project/conceptual-onboarding/1_intro/_index.md similarity index 100% rename from content/en/docs/project/conceptual-onboarding/1_intro/_index.md rename to content/en/docs/v1/project/conceptual-onboarding/1_intro/_index.md diff --git a/content/en/docs/project/conceptual-onboarding/2_edge-developer-framework/_index.md b/content/en/docs/v1/project/conceptual-onboarding/2_edge-developer-framework/_index.md similarity index 100% rename from content/en/docs/project/conceptual-onboarding/2_edge-developer-framework/_index.md rename to content/en/docs/v1/project/conceptual-onboarding/2_edge-developer-framework/_index.md diff --git a/content/en/docs/project/conceptual-onboarding/3_platforming/_index.md b/content/en/docs/v1/project/conceptual-onboarding/3_platforming/_index.md similarity index 100% rename from content/en/docs/project/conceptual-onboarding/3_platforming/_index.md rename to content/en/docs/v1/project/conceptual-onboarding/3_platforming/_index.md diff --git a/content/en/docs/project/conceptual-onboarding/3_platforming/humanitec-history.png b/content/en/docs/v1/project/conceptual-onboarding/3_platforming/humanitec-history.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/3_platforming/humanitec-history.png rename to content/en/docs/v1/project/conceptual-onboarding/3_platforming/humanitec-history.png diff --git a/content/en/docs/project/conceptual-onboarding/3_platforming/platform-self-services.webp b/content/en/docs/v1/project/conceptual-onboarding/3_platforming/platform-self-services.webp similarity index 100% rename from content/en/docs/project/conceptual-onboarding/3_platforming/platform-self-services.webp rename to content/en/docs/v1/project/conceptual-onboarding/3_platforming/platform-self-services.webp diff --git a/content/en/docs/project/conceptual-onboarding/3_platforming/platforms-def.drawio.png b/content/en/docs/v1/project/conceptual-onboarding/3_platforming/platforms-def.drawio.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/3_platforming/platforms-def.drawio.png rename to content/en/docs/v1/project/conceptual-onboarding/3_platforming/platforms-def.drawio.png diff --git a/content/en/docs/project/conceptual-onboarding/3_platforming/teams.png b/content/en/docs/v1/project/conceptual-onboarding/3_platforming/teams.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/3_platforming/teams.png rename to content/en/docs/v1/project/conceptual-onboarding/3_platforming/teams.png diff --git a/content/en/docs/project/conceptual-onboarding/4_orchestrators/_index.md b/content/en/docs/v1/project/conceptual-onboarding/4_orchestrators/_index.md similarity index 100% rename from content/en/docs/project/conceptual-onboarding/4_orchestrators/_index.md rename to content/en/docs/v1/project/conceptual-onboarding/4_orchestrators/_index.md diff --git a/content/en/docs/project/conceptual-onboarding/4_orchestrators/platform-architectures.webp b/content/en/docs/v1/project/conceptual-onboarding/4_orchestrators/platform-architectures.webp similarity index 100% rename from content/en/docs/project/conceptual-onboarding/4_orchestrators/platform-architectures.webp rename to content/en/docs/v1/project/conceptual-onboarding/4_orchestrators/platform-architectures.webp diff --git a/content/en/docs/project/conceptual-onboarding/4_orchestrators/platform-tooling-humanitec-platform-report-2024.PNG b/content/en/docs/v1/project/conceptual-onboarding/4_orchestrators/platform-tooling-humanitec-platform-report-2024.PNG similarity index 100% rename from content/en/docs/project/conceptual-onboarding/4_orchestrators/platform-tooling-humanitec-platform-report-2024.PNG rename to content/en/docs/v1/project/conceptual-onboarding/4_orchestrators/platform-tooling-humanitec-platform-report-2024.PNG diff --git a/content/en/docs/project/conceptual-onboarding/4_orchestrators/vendor-neutral-idp-final.gif b/content/en/docs/v1/project/conceptual-onboarding/4_orchestrators/vendor-neutral-idp-final.gif similarity index 100% rename from content/en/docs/project/conceptual-onboarding/4_orchestrators/vendor-neutral-idp-final.gif rename to content/en/docs/v1/project/conceptual-onboarding/4_orchestrators/vendor-neutral-idp-final.gif diff --git a/content/en/docs/project/conceptual-onboarding/5_cnoe/_index.md b/content/en/docs/v1/project/conceptual-onboarding/5_cnoe/_index.md similarity index 100% rename from content/en/docs/project/conceptual-onboarding/5_cnoe/_index.md rename to content/en/docs/v1/project/conceptual-onboarding/5_cnoe/_index.md diff --git a/content/en/docs/project/conceptual-onboarding/5_cnoe/cnoe-architecture.png b/content/en/docs/v1/project/conceptual-onboarding/5_cnoe/cnoe-architecture.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/5_cnoe/cnoe-architecture.png rename to content/en/docs/v1/project/conceptual-onboarding/5_cnoe/cnoe-architecture.png diff --git a/content/en/docs/project/conceptual-onboarding/5_cnoe/cnoe-capabilities.png b/content/en/docs/v1/project/conceptual-onboarding/5_cnoe/cnoe-capabilities.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/5_cnoe/cnoe-capabilities.png rename to content/en/docs/v1/project/conceptual-onboarding/5_cnoe/cnoe-capabilities.png diff --git a/content/en/docs/project/conceptual-onboarding/5_cnoe/cnoe-stacks.png b/content/en/docs/v1/project/conceptual-onboarding/5_cnoe/cnoe-stacks.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/5_cnoe/cnoe-stacks.png rename to content/en/docs/v1/project/conceptual-onboarding/5_cnoe/cnoe-stacks.png diff --git a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/_index.md b/content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/_index.md similarity index 100% rename from content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/_index.md rename to content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/_index.md diff --git a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-1.png b/content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-1.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-1.png rename to content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-1.png diff --git a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-10.png b/content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-10.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-10.png rename to content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-10.png diff --git a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-11.png b/content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-11.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-11.png rename to content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-11.png diff --git a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-12.png b/content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-12.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-12.png rename to content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-12.png diff --git a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-13.png b/content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-13.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-13.png rename to content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-13.png diff --git a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-14.png b/content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-14.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-14.png rename to content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-14.png diff --git a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-15.png b/content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-15.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-15.png rename to content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-15.png diff --git a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-16.png b/content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-16.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-16.png rename to content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-16.png diff --git a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-2.png b/content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-2.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-2.png rename to content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-2.png diff --git a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-3.png b/content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-3.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-3.png rename to content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-3.png diff --git a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-4.png b/content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-4.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-4.png rename to content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-4.png diff --git a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-5.png b/content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-5.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-5.png rename to content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-5.png diff --git a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-6.png b/content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-6.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-6.png rename to content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-6.png diff --git a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-7.png b/content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-7.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-7.png rename to content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-7.png diff --git a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-8.png b/content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-8.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-8.png rename to content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-8.png diff --git a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-9.png b/content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-9.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image-9.png rename to content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image-9.png diff --git a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image.png b/content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/image.png rename to content/en/docs/v1/project/conceptual-onboarding/6_cnoe-showtime/image.png diff --git a/content/en/docs/project/conceptual-onboarding/7_conclusio/README.md b/content/en/docs/v1/project/conceptual-onboarding/7_conclusio/README.md similarity index 100% rename from content/en/docs/project/conceptual-onboarding/7_conclusio/README.md rename to content/en/docs/v1/project/conceptual-onboarding/7_conclusio/README.md diff --git a/content/en/docs/project/conceptual-onboarding/7_conclusio/_index.md b/content/en/docs/v1/project/conceptual-onboarding/7_conclusio/_index.md similarity index 100% rename from content/en/docs/project/conceptual-onboarding/7_conclusio/_index.md rename to content/en/docs/v1/project/conceptual-onboarding/7_conclusio/_index.md diff --git a/content/en/docs/project/conceptual-onboarding/7_conclusio/domain-architecture.c4 b/content/en/docs/v1/project/conceptual-onboarding/7_conclusio/domain-architecture.c4 similarity index 100% rename from content/en/docs/project/conceptual-onboarding/7_conclusio/domain-architecture.c4 rename to content/en/docs/v1/project/conceptual-onboarding/7_conclusio/domain-architecture.c4 diff --git a/content/en/docs/project/conceptual-onboarding/7_conclusio/images/layers-and-framework-engineer.png b/content/en/docs/v1/project/conceptual-onboarding/7_conclusio/images/layers-and-framework-engineer.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/7_conclusio/images/layers-and-framework-engineer.png rename to content/en/docs/v1/project/conceptual-onboarding/7_conclusio/images/layers-and-framework-engineer.png diff --git a/content/en/docs/project/conceptual-onboarding/7_conclusio/images/layers-and-platform-engineer.png b/content/en/docs/v1/project/conceptual-onboarding/7_conclusio/images/layers-and-platform-engineer.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/7_conclusio/images/layers-and-platform-engineer.png rename to content/en/docs/v1/project/conceptual-onboarding/7_conclusio/images/layers-and-platform-engineer.png diff --git a/content/en/docs/project/conceptual-onboarding/7_conclusio/images/layers.png b/content/en/docs/v1/project/conceptual-onboarding/7_conclusio/images/layers.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/7_conclusio/images/layers.png rename to content/en/docs/v1/project/conceptual-onboarding/7_conclusio/images/layers.png diff --git a/content/en/docs/project/conceptual-onboarding/7_conclusio/images/modern.png b/content/en/docs/v1/project/conceptual-onboarding/7_conclusio/images/modern.png similarity index 100% rename from content/en/docs/project/conceptual-onboarding/7_conclusio/images/modern.png rename to content/en/docs/v1/project/conceptual-onboarding/7_conclusio/images/modern.png diff --git a/content/en/docs/project/conceptual-onboarding/_index.md b/content/en/docs/v1/project/conceptual-onboarding/_index.md similarity index 100% rename from content/en/docs/project/conceptual-onboarding/_index.md rename to content/en/docs/v1/project/conceptual-onboarding/_index.md diff --git a/content/en/docs/project/conceptual-onboarding/storyline.md b/content/en/docs/v1/project/conceptual-onboarding/storyline.md similarity index 100% rename from content/en/docs/project/conceptual-onboarding/storyline.md rename to content/en/docs/v1/project/conceptual-onboarding/storyline.md diff --git a/content/en/docs/project/intro-stakeholder-workshop/DevOps-Lifecycle-1.jpg b/content/en/docs/v1/project/intro-stakeholder-workshop/DevOps-Lifecycle-1.jpg similarity index 100% rename from content/en/docs/project/intro-stakeholder-workshop/DevOps-Lifecycle-1.jpg rename to content/en/docs/v1/project/intro-stakeholder-workshop/DevOps-Lifecycle-1.jpg diff --git a/content/en/docs/project/intro-stakeholder-workshop/DevOps-Lifecycle.jpg b/content/en/docs/v1/project/intro-stakeholder-workshop/DevOps-Lifecycle.jpg similarity index 100% rename from content/en/docs/project/intro-stakeholder-workshop/DevOps-Lifecycle.jpg rename to content/en/docs/v1/project/intro-stakeholder-workshop/DevOps-Lifecycle.jpg diff --git a/content/en/docs/project/intro-stakeholder-workshop/_index.md b/content/en/docs/v1/project/intro-stakeholder-workshop/_index.md similarity index 100% rename from content/en/docs/project/intro-stakeholder-workshop/_index.md rename to content/en/docs/v1/project/intro-stakeholder-workshop/_index.md diff --git a/content/en/docs/project/intro-stakeholder-workshop/devops.png b/content/en/docs/v1/project/intro-stakeholder-workshop/devops.png similarity index 100% rename from content/en/docs/project/intro-stakeholder-workshop/devops.png rename to content/en/docs/v1/project/intro-stakeholder-workshop/devops.png diff --git a/content/en/docs/project/intro-stakeholder-workshop/image.png b/content/en/docs/v1/project/intro-stakeholder-workshop/image.png similarity index 100% rename from content/en/docs/project/intro-stakeholder-workshop/image.png rename to content/en/docs/v1/project/intro-stakeholder-workshop/image.png diff --git a/content/en/docs/project/plan-in-2024/_index.md b/content/en/docs/v1/project/plan-in-2024/_index.md similarity index 100% rename from content/en/docs/project/plan-in-2024/_index.md rename to content/en/docs/v1/project/plan-in-2024/_index.md diff --git a/content/en/docs/project/plan-in-2024/image-2024-8-14_10-50-27.png b/content/en/docs/v1/project/plan-in-2024/image-2024-8-14_10-50-27.png similarity index 100% rename from content/en/docs/project/plan-in-2024/image-2024-8-14_10-50-27.png rename to content/en/docs/v1/project/plan-in-2024/image-2024-8-14_10-50-27.png diff --git a/content/en/docs/project/plan-in-2024/planes.png b/content/en/docs/v1/project/plan-in-2024/planes.png similarity index 100% rename from content/en/docs/project/plan-in-2024/planes.png rename to content/en/docs/v1/project/plan-in-2024/planes.png diff --git a/content/en/docs/project/plan-in-2024/poc/_assets/image-1.png b/content/en/docs/v1/project/plan-in-2024/poc/_assets/image-1.png similarity index 100% rename from content/en/docs/project/plan-in-2024/poc/_assets/image-1.png rename to content/en/docs/v1/project/plan-in-2024/poc/_assets/image-1.png diff --git a/content/en/docs/project/plan-in-2024/poc/_assets/image.png b/content/en/docs/v1/project/plan-in-2024/poc/_assets/image.png similarity index 100% rename from content/en/docs/project/plan-in-2024/poc/_assets/image.png rename to content/en/docs/v1/project/plan-in-2024/poc/_assets/image.png diff --git a/content/en/docs/project/plan-in-2024/poc/_index.md b/content/en/docs/v1/project/plan-in-2024/poc/_index.md similarity index 100% rename from content/en/docs/project/plan-in-2024/poc/_index.md rename to content/en/docs/v1/project/plan-in-2024/poc/_index.md diff --git a/content/en/docs/project/plan-in-2024/streams/_index.md b/content/en/docs/v1/project/plan-in-2024/streams/_index.md similarity index 100% rename from content/en/docs/project/plan-in-2024/streams/_index.md rename to content/en/docs/v1/project/plan-in-2024/streams/_index.md diff --git a/content/en/docs/project/plan-in-2024/streams/deployment/_index.md b/content/en/docs/v1/project/plan-in-2024/streams/deployment/_index.md similarity index 100% rename from content/en/docs/project/plan-in-2024/streams/deployment/_index.md rename to content/en/docs/v1/project/plan-in-2024/streams/deployment/_index.md diff --git a/content/en/docs/project/plan-in-2024/streams/deployment/deployment.drawio.png b/content/en/docs/v1/project/plan-in-2024/streams/deployment/deployment.drawio.png similarity index 100% rename from content/en/docs/project/plan-in-2024/streams/deployment/deployment.drawio.png rename to content/en/docs/v1/project/plan-in-2024/streams/deployment/deployment.drawio.png diff --git a/content/en/docs/project/plan-in-2024/streams/deployment/forgejo/_index.md b/content/en/docs/v1/project/plan-in-2024/streams/deployment/forgejo/_index.md similarity index 100% rename from content/en/docs/project/plan-in-2024/streams/deployment/forgejo/_index.md rename to content/en/docs/v1/project/plan-in-2024/streams/deployment/forgejo/_index.md diff --git a/content/en/docs/project/plan-in-2024/streams/fundamentals/_index.md b/content/en/docs/v1/project/plan-in-2024/streams/fundamentals/_index.md similarity index 100% rename from content/en/docs/project/plan-in-2024/streams/fundamentals/_index.md rename to content/en/docs/v1/project/plan-in-2024/streams/fundamentals/_index.md diff --git a/content/en/docs/project/plan-in-2024/streams/fundamentals/cicd-definition/_index.md b/content/en/docs/v1/project/plan-in-2024/streams/fundamentals/cicd-definition/_index.md similarity index 100% rename from content/en/docs/project/plan-in-2024/streams/fundamentals/cicd-definition/_index.md rename to content/en/docs/v1/project/plan-in-2024/streams/fundamentals/cicd-definition/_index.md diff --git a/content/en/docs/project/plan-in-2024/streams/fundamentals/image.png b/content/en/docs/v1/project/plan-in-2024/streams/fundamentals/image.png similarity index 100% rename from content/en/docs/project/plan-in-2024/streams/fundamentals/image.png rename to content/en/docs/v1/project/plan-in-2024/streams/fundamentals/image.png diff --git a/content/en/docs/project/plan-in-2024/streams/fundamentals/platform-definition/_index.md b/content/en/docs/v1/project/plan-in-2024/streams/fundamentals/platform-definition/_index.md similarity index 100% rename from content/en/docs/project/plan-in-2024/streams/fundamentals/platform-definition/_index.md rename to content/en/docs/v1/project/plan-in-2024/streams/fundamentals/platform-definition/_index.md diff --git a/content/en/docs/project/plan-in-2024/streams/pocs/_index.md b/content/en/docs/v1/project/plan-in-2024/streams/pocs/_index.md similarity index 100% rename from content/en/docs/project/plan-in-2024/streams/pocs/_index.md rename to content/en/docs/v1/project/plan-in-2024/streams/pocs/_index.md diff --git a/content/en/docs/project/plan-in-2024/streams/pocs/cnoe/_index.md b/content/en/docs/v1/project/plan-in-2024/streams/pocs/cnoe/_index.md similarity index 100% rename from content/en/docs/project/plan-in-2024/streams/pocs/cnoe/_index.md rename to content/en/docs/v1/project/plan-in-2024/streams/pocs/cnoe/_index.md diff --git a/content/en/docs/project/plan-in-2024/streams/pocs/kratix/_index.md b/content/en/docs/v1/project/plan-in-2024/streams/pocs/kratix/_index.md similarity index 100% rename from content/en/docs/project/plan-in-2024/streams/pocs/kratix/_index.md rename to content/en/docs/v1/project/plan-in-2024/streams/pocs/kratix/_index.md diff --git a/content/en/docs/project/plan-in-2024/streams/pocs/sia-asset/_index.md b/content/en/docs/v1/project/plan-in-2024/streams/pocs/sia-asset/_index.md similarity index 100% rename from content/en/docs/project/plan-in-2024/streams/pocs/sia-asset/_index.md rename to content/en/docs/v1/project/plan-in-2024/streams/pocs/sia-asset/_index.md diff --git a/content/en/docs/project/team-process/_assets/P1.png b/content/en/docs/v1/project/team-process/_assets/P1.png similarity index 100% rename from content/en/docs/project/team-process/_assets/P1.png rename to content/en/docs/v1/project/team-process/_assets/P1.png diff --git a/content/en/docs/project/team-process/_assets/P2.png b/content/en/docs/v1/project/team-process/_assets/P2.png similarity index 100% rename from content/en/docs/project/team-process/_assets/P2.png rename to content/en/docs/v1/project/team-process/_assets/P2.png diff --git a/content/en/docs/project/team-process/_assets/P3.png b/content/en/docs/v1/project/team-process/_assets/P3.png similarity index 100% rename from content/en/docs/project/team-process/_assets/P3.png rename to content/en/docs/v1/project/team-process/_assets/P3.png diff --git a/content/en/docs/project/team-process/_assets/P4.png b/content/en/docs/v1/project/team-process/_assets/P4.png similarity index 100% rename from content/en/docs/project/team-process/_assets/P4.png rename to content/en/docs/v1/project/team-process/_assets/P4.png diff --git a/content/en/docs/project/team-process/_assets/P5.png b/content/en/docs/v1/project/team-process/_assets/P5.png similarity index 100% rename from content/en/docs/project/team-process/_assets/P5.png rename to content/en/docs/v1/project/team-process/_assets/P5.png diff --git a/content/en/docs/project/team-process/_assets/P6.png b/content/en/docs/v1/project/team-process/_assets/P6.png similarity index 100% rename from content/en/docs/project/team-process/_assets/P6.png rename to content/en/docs/v1/project/team-process/_assets/P6.png diff --git a/content/en/docs/project/team-process/_assets/P7.png b/content/en/docs/v1/project/team-process/_assets/P7.png similarity index 100% rename from content/en/docs/project/team-process/_assets/P7.png rename to content/en/docs/v1/project/team-process/_assets/P7.png diff --git a/content/en/docs/project/team-process/_assets/P8.png b/content/en/docs/v1/project/team-process/_assets/P8.png similarity index 100% rename from content/en/docs/project/team-process/_assets/P8.png rename to content/en/docs/v1/project/team-process/_assets/P8.png diff --git a/content/en/docs/project/team-process/_assets/image.png b/content/en/docs/v1/project/team-process/_assets/image.png similarity index 100% rename from content/en/docs/project/team-process/_assets/image.png rename to content/en/docs/v1/project/team-process/_assets/image.png diff --git a/content/en/docs/project/team-process/_index.md b/content/en/docs/v1/project/team-process/_index.md similarity index 100% rename from content/en/docs/project/team-process/_index.md rename to content/en/docs/v1/project/team-process/_index.md diff --git a/content/en/docs/solution/_index.md b/content/en/docs/v1/solution/_index.md similarity index 100% rename from content/en/docs/solution/_index.md rename to content/en/docs/v1/solution/_index.md diff --git a/content/en/docs/solution/design/_index.md b/content/en/docs/v1/solution/design/_index.md similarity index 100% rename from content/en/docs/solution/design/_index.md rename to content/en/docs/v1/solution/design/_index.md diff --git a/content/en/docs/solution/design/architectural-documentation.md b/content/en/docs/v1/solution/design/architectural-documentation.md similarity index 100% rename from content/en/docs/solution/design/architectural-documentation.md rename to content/en/docs/v1/solution/design/architectural-documentation.md diff --git a/content/en/docs/solution/design/architectural-work-structure.md b/content/en/docs/v1/solution/design/architectural-work-structure.md similarity index 100% rename from content/en/docs/solution/design/architectural-work-structure.md rename to content/en/docs/v1/solution/design/architectural-work-structure.md diff --git a/content/en/docs/solution/design/crossplane-vs-terraform.md b/content/en/docs/v1/solution/design/crossplane-vs-terraform.md similarity index 100% rename from content/en/docs/solution/design/crossplane-vs-terraform.md rename to content/en/docs/v1/solution/design/crossplane-vs-terraform.md diff --git a/content/en/docs/solution/design/decision-iam-and-edf-self-containment.md b/content/en/docs/v1/solution/design/decision-iam-and-edf-self-containment.md similarity index 100% rename from content/en/docs/solution/design/decision-iam-and-edf-self-containment.md rename to content/en/docs/v1/solution/design/decision-iam-and-edf-self-containment.md diff --git a/content/en/docs/solution/design/platform-component.md b/content/en/docs/v1/solution/design/platform-component.md similarity index 100% rename from content/en/docs/solution/design/platform-component.md rename to content/en/docs/v1/solution/design/platform-component.md diff --git a/content/en/docs/solution/design/proposal-local-deployment.md b/content/en/docs/v1/solution/design/proposal-local-deployment.md similarity index 100% rename from content/en/docs/solution/design/proposal-local-deployment.md rename to content/en/docs/v1/solution/design/proposal-local-deployment.md diff --git a/content/en/docs/solution/design/proposal-stack-hydration.md b/content/en/docs/v1/solution/design/proposal-stack-hydration.md similarity index 100% rename from content/en/docs/solution/design/proposal-stack-hydration.md rename to content/en/docs/v1/solution/design/proposal-stack-hydration.md diff --git a/content/en/docs/solution/scenarios/_index.md b/content/en/docs/v1/solution/scenarios/_index.md similarity index 100% rename from content/en/docs/solution/scenarios/_index.md rename to content/en/docs/v1/solution/scenarios/_index.md diff --git a/content/en/docs/solution/scenarios/gitops/_index.md b/content/en/docs/v1/solution/scenarios/gitops/_index.md similarity index 100% rename from content/en/docs/solution/scenarios/gitops/_index.md rename to content/en/docs/v1/solution/scenarios/gitops/_index.md diff --git a/content/en/docs/solution/scenarios/gitops/image.png b/content/en/docs/v1/solution/scenarios/gitops/image.png similarity index 100% rename from content/en/docs/solution/scenarios/gitops/image.png rename to content/en/docs/v1/solution/scenarios/gitops/image.png diff --git a/content/en/docs/solution/scenarios/orchestration/_index.md b/content/en/docs/v1/solution/scenarios/orchestration/_index.md similarity index 100% rename from content/en/docs/solution/scenarios/orchestration/_index.md rename to content/en/docs/v1/solution/scenarios/orchestration/_index.md diff --git a/content/en/docs/solution/scenarios/orchestration/image-1.png b/content/en/docs/v1/solution/scenarios/orchestration/image-1.png similarity index 100% rename from content/en/docs/solution/scenarios/orchestration/image-1.png rename to content/en/docs/v1/solution/scenarios/orchestration/image-1.png diff --git a/content/en/docs/solution/scenarios/orchestration/image.png b/content/en/docs/v1/solution/scenarios/orchestration/image.png similarity index 100% rename from content/en/docs/solution/scenarios/orchestration/image.png rename to content/en/docs/v1/solution/scenarios/orchestration/image.png diff --git a/content/en/docs/solution/tools/Backstage/Backstage setup tutorial/_index.md b/content/en/docs/v1/solution/tools/Backstage/Backstage setup tutorial/_index.md similarity index 100% rename from content/en/docs/solution/tools/Backstage/Backstage setup tutorial/_index.md rename to content/en/docs/v1/solution/tools/Backstage/Backstage setup tutorial/_index.md diff --git a/content/en/docs/solution/tools/Backstage/Exsisting Plugins/_index.md b/content/en/docs/v1/solution/tools/Backstage/Exsisting Plugins/_index.md similarity index 100% rename from content/en/docs/solution/tools/Backstage/Exsisting Plugins/_index.md rename to content/en/docs/v1/solution/tools/Backstage/Exsisting Plugins/_index.md diff --git a/content/en/docs/solution/tools/Backstage/General Information/_index.md b/content/en/docs/v1/solution/tools/Backstage/General Information/_index.md similarity index 100% rename from content/en/docs/solution/tools/Backstage/General Information/_index.md rename to content/en/docs/v1/solution/tools/Backstage/General Information/_index.md diff --git a/content/en/docs/solution/tools/Backstage/Plugin Creation Tutorial/_index.md b/content/en/docs/v1/solution/tools/Backstage/Plugin Creation Tutorial/_index.md similarity index 100% rename from content/en/docs/solution/tools/Backstage/Plugin Creation Tutorial/_index.md rename to content/en/docs/v1/solution/tools/Backstage/Plugin Creation Tutorial/_index.md diff --git a/content/en/docs/solution/tools/Backstage/Plugin Creation Tutorial/example_1.png b/content/en/docs/v1/solution/tools/Backstage/Plugin Creation Tutorial/example_1.png similarity index 100% rename from content/en/docs/solution/tools/Backstage/Plugin Creation Tutorial/example_1.png rename to content/en/docs/v1/solution/tools/Backstage/Plugin Creation Tutorial/example_1.png diff --git a/content/en/docs/solution/tools/Backstage/Plugin Creation Tutorial/example_2.png b/content/en/docs/v1/solution/tools/Backstage/Plugin Creation Tutorial/example_2.png similarity index 100% rename from content/en/docs/solution/tools/Backstage/Plugin Creation Tutorial/example_2.png rename to content/en/docs/v1/solution/tools/Backstage/Plugin Creation Tutorial/example_2.png diff --git a/content/en/docs/solution/tools/Backstage/_index.md b/content/en/docs/v1/solution/tools/Backstage/_index.md similarity index 100% rename from content/en/docs/solution/tools/Backstage/_index.md rename to content/en/docs/v1/solution/tools/Backstage/_index.md diff --git a/content/en/docs/solution/tools/CNOE/CNOE-competitors/_index.md b/content/en/docs/v1/solution/tools/CNOE/CNOE-competitors/_index.md similarity index 100% rename from content/en/docs/solution/tools/CNOE/CNOE-competitors/_index.md rename to content/en/docs/v1/solution/tools/CNOE/CNOE-competitors/_index.md diff --git a/content/en/docs/solution/tools/CNOE/_index.md b/content/en/docs/v1/solution/tools/CNOE/_index.md similarity index 100% rename from content/en/docs/solution/tools/CNOE/_index.md rename to content/en/docs/v1/solution/tools/CNOE/_index.md diff --git a/content/en/docs/solution/tools/CNOE/argocd/_index.md b/content/en/docs/v1/solution/tools/CNOE/argocd/_index.md similarity index 100% rename from content/en/docs/solution/tools/CNOE/argocd/_index.md rename to content/en/docs/v1/solution/tools/CNOE/argocd/_index.md diff --git a/content/en/docs/solution/tools/CNOE/argocd/argocd-core-components.webp b/content/en/docs/v1/solution/tools/CNOE/argocd/argocd-core-components.webp similarity index 100% rename from content/en/docs/solution/tools/CNOE/argocd/argocd-core-components.webp rename to content/en/docs/v1/solution/tools/CNOE/argocd/argocd-core-components.webp diff --git a/content/en/docs/solution/tools/CNOE/argocd/argocd_architecture.webp b/content/en/docs/v1/solution/tools/CNOE/argocd/argocd_architecture.webp similarity index 100% rename from content/en/docs/solution/tools/CNOE/argocd/argocd_architecture.webp rename to content/en/docs/v1/solution/tools/CNOE/argocd/argocd_architecture.webp diff --git a/content/en/docs/solution/tools/CNOE/idpbuilder/_index.md b/content/en/docs/v1/solution/tools/CNOE/idpbuilder/_index.md similarity index 100% rename from content/en/docs/solution/tools/CNOE/idpbuilder/_index.md rename to content/en/docs/v1/solution/tools/CNOE/idpbuilder/_index.md diff --git a/content/en/docs/solution/tools/CNOE/idpbuilder/hostname-routing-proxy.png b/content/en/docs/v1/solution/tools/CNOE/idpbuilder/hostname-routing-proxy.png similarity index 100% rename from content/en/docs/solution/tools/CNOE/idpbuilder/hostname-routing-proxy.png rename to content/en/docs/v1/solution/tools/CNOE/idpbuilder/hostname-routing-proxy.png diff --git a/content/en/docs/solution/tools/CNOE/idpbuilder/hostname-routing.png b/content/en/docs/v1/solution/tools/CNOE/idpbuilder/hostname-routing.png similarity index 100% rename from content/en/docs/solution/tools/CNOE/idpbuilder/hostname-routing.png rename to content/en/docs/v1/solution/tools/CNOE/idpbuilder/hostname-routing.png diff --git a/content/en/docs/solution/tools/CNOE/idpbuilder/http-routing.md b/content/en/docs/v1/solution/tools/CNOE/idpbuilder/http-routing.md similarity index 100% rename from content/en/docs/solution/tools/CNOE/idpbuilder/http-routing.md rename to content/en/docs/v1/solution/tools/CNOE/idpbuilder/http-routing.md diff --git a/content/en/docs/solution/tools/CNOE/idpbuilder/installation/_index.md b/content/en/docs/v1/solution/tools/CNOE/idpbuilder/installation/_index.md similarity index 100% rename from content/en/docs/solution/tools/CNOE/idpbuilder/installation/_index.md rename to content/en/docs/v1/solution/tools/CNOE/idpbuilder/installation/_index.md diff --git a/content/en/docs/solution/tools/CNOE/idpbuilder/path-routing.png b/content/en/docs/v1/solution/tools/CNOE/idpbuilder/path-routing.png similarity index 100% rename from content/en/docs/solution/tools/CNOE/idpbuilder/path-routing.png rename to content/en/docs/v1/solution/tools/CNOE/idpbuilder/path-routing.png diff --git a/content/en/docs/solution/tools/CNOE/included-backstage-templates/_index.md b/content/en/docs/v1/solution/tools/CNOE/included-backstage-templates/_index.md similarity index 100% rename from content/en/docs/solution/tools/CNOE/included-backstage-templates/_index.md rename to content/en/docs/v1/solution/tools/CNOE/included-backstage-templates/_index.md diff --git a/content/en/docs/solution/tools/CNOE/included-backstage-templates/basic-argo-workflow/_index.md b/content/en/docs/v1/solution/tools/CNOE/included-backstage-templates/basic-argo-workflow/_index.md similarity index 100% rename from content/en/docs/solution/tools/CNOE/included-backstage-templates/basic-argo-workflow/_index.md rename to content/en/docs/v1/solution/tools/CNOE/included-backstage-templates/basic-argo-workflow/_index.md diff --git a/content/en/docs/solution/tools/CNOE/included-backstage-templates/basic-kubernetes-deployment/_idex.md b/content/en/docs/v1/solution/tools/CNOE/included-backstage-templates/basic-kubernetes-deployment/_idex.md similarity index 100% rename from content/en/docs/solution/tools/CNOE/included-backstage-templates/basic-kubernetes-deployment/_idex.md rename to content/en/docs/v1/solution/tools/CNOE/included-backstage-templates/basic-kubernetes-deployment/_idex.md diff --git a/content/en/docs/solution/tools/CNOE/verification.md b/content/en/docs/v1/solution/tools/CNOE/verification.md similarity index 100% rename from content/en/docs/solution/tools/CNOE/verification.md rename to content/en/docs/v1/solution/tools/CNOE/verification.md diff --git a/content/en/docs/solution/tools/Crossplane/_index.md b/content/en/docs/v1/solution/tools/Crossplane/_index.md similarity index 100% rename from content/en/docs/solution/tools/Crossplane/_index.md rename to content/en/docs/v1/solution/tools/Crossplane/_index.md diff --git a/content/en/docs/solution/tools/Crossplane/provider-kind/_index.md b/content/en/docs/v1/solution/tools/Crossplane/provider-kind/_index.md similarity index 100% rename from content/en/docs/solution/tools/Crossplane/provider-kind/_index.md rename to content/en/docs/v1/solution/tools/Crossplane/provider-kind/_index.md diff --git a/content/en/docs/solution/tools/Crossplane/provider-kind/composition.drawio b/content/en/docs/v1/solution/tools/Crossplane/provider-kind/composition.drawio similarity index 100% rename from content/en/docs/solution/tools/Crossplane/provider-kind/composition.drawio rename to content/en/docs/v1/solution/tools/Crossplane/provider-kind/composition.drawio diff --git a/content/en/docs/solution/tools/Crossplane/provider-kind/composition.png b/content/en/docs/v1/solution/tools/Crossplane/provider-kind/composition.png similarity index 100% rename from content/en/docs/solution/tools/Crossplane/provider-kind/composition.png rename to content/en/docs/v1/solution/tools/Crossplane/provider-kind/composition.png diff --git a/content/en/docs/solution/tools/Crossplane/provider-kind/kindserver_interface.drawio b/content/en/docs/v1/solution/tools/Crossplane/provider-kind/kindserver_interface.drawio similarity index 100% rename from content/en/docs/solution/tools/Crossplane/provider-kind/kindserver_interface.drawio rename to content/en/docs/v1/solution/tools/Crossplane/provider-kind/kindserver_interface.drawio diff --git a/content/en/docs/solution/tools/Crossplane/provider-kind/kindserver_interface.png b/content/en/docs/v1/solution/tools/Crossplane/provider-kind/kindserver_interface.png similarity index 100% rename from content/en/docs/solution/tools/Crossplane/provider-kind/kindserver_interface.png rename to content/en/docs/v1/solution/tools/Crossplane/provider-kind/kindserver_interface.png diff --git a/content/en/docs/solution/tools/Crossplane/provider-kind/kindserver_provider-kind.drawio b/content/en/docs/v1/solution/tools/Crossplane/provider-kind/kindserver_provider-kind.drawio similarity index 100% rename from content/en/docs/solution/tools/Crossplane/provider-kind/kindserver_provider-kind.drawio rename to content/en/docs/v1/solution/tools/Crossplane/provider-kind/kindserver_provider-kind.drawio diff --git a/content/en/docs/solution/tools/Crossplane/provider-kind/kindserver_provider-kind.png b/content/en/docs/v1/solution/tools/Crossplane/provider-kind/kindserver_provider-kind.png similarity index 100% rename from content/en/docs/solution/tools/Crossplane/provider-kind/kindserver_provider-kind.png rename to content/en/docs/v1/solution/tools/Crossplane/provider-kind/kindserver_provider-kind.png diff --git a/content/en/docs/solution/tools/Crossplane/provider-kind/provider-kind_providerconfig.drawio b/content/en/docs/v1/solution/tools/Crossplane/provider-kind/provider-kind_providerconfig.drawio similarity index 100% rename from content/en/docs/solution/tools/Crossplane/provider-kind/provider-kind_providerconfig.drawio rename to content/en/docs/v1/solution/tools/Crossplane/provider-kind/provider-kind_providerconfig.drawio diff --git a/content/en/docs/solution/tools/Crossplane/provider-kind/provider-kind_providerconfig.png b/content/en/docs/v1/solution/tools/Crossplane/provider-kind/provider-kind_providerconfig.png similarity index 100% rename from content/en/docs/solution/tools/Crossplane/provider-kind/provider-kind_providerconfig.png rename to content/en/docs/v1/solution/tools/Crossplane/provider-kind/provider-kind_providerconfig.png diff --git a/content/en/docs/solution/tools/Kube-prometheus-stack/_index.md b/content/en/docs/v1/solution/tools/Kube-prometheus-stack/_index.md similarity index 100% rename from content/en/docs/solution/tools/Kube-prometheus-stack/_index.md rename to content/en/docs/v1/solution/tools/Kube-prometheus-stack/_index.md diff --git a/content/en/docs/solution/tools/Loki/_index.md b/content/en/docs/v1/solution/tools/Loki/_index.md similarity index 100% rename from content/en/docs/solution/tools/Loki/_index.md rename to content/en/docs/v1/solution/tools/Loki/_index.md diff --git a/content/en/docs/solution/tools/Promtail/_index.md b/content/en/docs/v1/solution/tools/Promtail/_index.md similarity index 100% rename from content/en/docs/solution/tools/Promtail/_index.md rename to content/en/docs/v1/solution/tools/Promtail/_index.md diff --git a/content/en/docs/solution/tools/_index.md b/content/en/docs/v1/solution/tools/_index.md similarity index 100% rename from content/en/docs/solution/tools/_index.md rename to content/en/docs/v1/solution/tools/_index.md diff --git a/content/en/docs/solution/tools/kyverno integration/_index.md b/content/en/docs/v1/solution/tools/kyverno integration/_index.md similarity index 100% rename from content/en/docs/solution/tools/kyverno integration/_index.md rename to content/en/docs/v1/solution/tools/kyverno integration/_index.md diff --git a/content/en/docs/solution/tools/kyverno integration/kyverno.png b/content/en/docs/v1/solution/tools/kyverno integration/kyverno.png similarity index 100% rename from content/en/docs/solution/tools/kyverno integration/kyverno.png rename to content/en/docs/v1/solution/tools/kyverno integration/kyverno.png diff --git a/layouts/docs/single.html b/layouts/docs/single.html new file mode 100644 index 0000000..9334bdf --- /dev/null +++ b/layouts/docs/single.html @@ -0,0 +1,17 @@ +{{ define "main" }} +{{ partial "legacy-banner.html" . }} +

+

{{ .Title }}

+ {{ with .Params.description }}
{{ . | markdownify }}
{{ end }} + {{ .Content }} + {{ if (and (not .Params.hide_feedback) (.Site.Params.ui.feedback.enable) (.Site.GoogleAnalytics)) }} + {{ partial "feedback.html" .Site.Params.ui.feedback }} +
+ {{ end }} + {{ if (.Site.DisqusShortname) }} +
+ {{ partial "disqus-comment.html" . }} + {{ end }} +
{{ partial "page-meta-lastmod.html" . }}
+
+{{ end }} diff --git a/layouts/partials/legacy-banner.html b/layouts/partials/legacy-banner.html new file mode 100644 index 0000000..045e3e0 --- /dev/null +++ b/layouts/partials/legacy-banner.html @@ -0,0 +1,13 @@ +{{ if or (hasPrefix .RelPermalink "/docs/v1/") (hasPrefix .File.Path "docs/v1/") }} +
+{{ end }} From a1be93920defbb1b2fb80bd48e463e65c0adc4be Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Thu, 23 Oct 2025 15:21:02 +0200 Subject: [PATCH 16/80] feat(theme): implement Telekom design system with magenta color scheme - Add TeleNeo font family with all weights (300-700) - Implement Telekom brand colors (magenta #E20074 as primary) - Add dark mode support with inverted color palette - Style navigation with soft hover states and active indicators - Override Bootstrap/Docsy variables for consistent theming - Fix deprecated Hugo template syntax for Disqus integration - Apply Telekom-inspired styling to all UI components --- assets/fonts/TeleNeoOffice-Bold.a7bb592b.ttf | Bin 0 -> 224276 bytes .../TeleNeoOffice-ExtraBold.fbe9fe42.ttf | Bin 0 -> 223092 bytes .../fonts/TeleNeoOffice-Medium.79fb426d.ttf | Bin 0 -> 224476 bytes .../fonts/TeleNeoOffice-Regular.b0a2cff1.ttf | Bin 0 -> 214572 bytes assets/fonts/TeleNeoOffice-Thin.53627df9.ttf | Bin 0 -> 203064 bytes assets/scss/_variables_project.scss | 433 +++++++++++++++++- layouts/docs/single.html | 2 +- 7 files changed, 432 insertions(+), 3 deletions(-) create mode 100644 assets/fonts/TeleNeoOffice-Bold.a7bb592b.ttf create mode 100644 assets/fonts/TeleNeoOffice-ExtraBold.fbe9fe42.ttf create mode 100644 assets/fonts/TeleNeoOffice-Medium.79fb426d.ttf create mode 100644 assets/fonts/TeleNeoOffice-Regular.b0a2cff1.ttf create mode 100644 assets/fonts/TeleNeoOffice-Thin.53627df9.ttf diff --git a/assets/fonts/TeleNeoOffice-Bold.a7bb592b.ttf b/assets/fonts/TeleNeoOffice-Bold.a7bb592b.ttf new file mode 100644 index 0000000000000000000000000000000000000000..88d13e1a0bba460d3c93d17e5501b2be4e3775f9 GIT binary patch literal 224276 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