From fa5ae9a731b889332a14762cf76eb57e9d1f7d74 Mon Sep 17 00:00:00 2001 From: Kevin Schneider Date: Thu, 18 Jul 2024 17:10:07 +0200 Subject: [PATCH 1/7] use .net 8, update fsdocs, adapt exisiting docs --- .config/dotnet-tools.json | 16 +- FSharp.Stats.sln | 8 +- build/PackageTasks.fs | 5 + build/TestTasks.fs | 18 +- build/build.fsproj | 9 + docs/BasicStats.fsx | 23 +- docs/Clustering.fsx | 30 +- docs/ComparisonMetrics.fsx | 107 +- docs/Correlation.fsx | 10 +- docs/Covariance.fsx | 4 + docs/CrossValidation.fsx | 13 +- docs/Differentiation.fsx | 4 + docs/Distributions.fsx | 22 +- docs/Fitting.fsx | 21 +- docs/GoodnessOfFit.fsx | 11 +- docs/GrowthCurve.fsx | 26 +- docs/Imputation.fsx | 4 + docs/Integration.fsx | 4 + docs/Interpolation.fsx | 15 +- docs/Intervals.fsx | 6 +- docs/Normalization.fsx | 9 +- docs/Optimization.fsx | 9 +- docs/Quantiles.fsx | 14 +- docs/Rank.fsx | 4 + docs/Signal.fsx | 14 +- docs/Testing.fsx | 28 +- docs/_head.html | 25 + docs/_template.html | 83 - docs/content/fsdocs-custom.css | 13636 ------------------------------- docs/content/fsdocs-theme.css | 40 + docs/index.fsx | 4 + docs/reference/_template.html | 82 - global.json | 4 +- 33 files changed, 246 insertions(+), 14062 deletions(-) create mode 100644 docs/_head.html delete mode 100644 docs/_template.html delete mode 100644 docs/content/fsdocs-custom.css create mode 100644 docs/content/fsdocs-theme.css delete mode 100644 docs/reference/_template.html diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index ae432524b..ac5ebfd1f 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -2,17 +2,19 @@ "version": 1, "isRoot": true, "tools": { - "fsdocs-tool": { - "version": "16.1.1", - "commands": [ - "fsdocs" - ] - }, "fantomas": { "version": "6.1.1", "commands": [ "fantomas" - ] + ], + "rollForward": false + }, + "fsdocs-tool": { + "version": "20.0.1", + "commands": [ + "fsdocs" + ], + "rollForward": false } } } \ No newline at end of file diff --git a/FSharp.Stats.sln b/FSharp.Stats.sln index 2c18d0e23..f61a9bb29 100644 --- a/FSharp.Stats.sln +++ b/FSharp.Stats.sln @@ -55,6 +55,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{23F9FB2E-6 docs\Integration.fsx = docs\Integration.fsx docs\Interpolation.fsx = docs\Interpolation.fsx docs\Intervals.fsx = docs\Intervals.fsx + docs\LinearAlgebra.fsx = docs\LinearAlgebra.fsx + docs\Matrix_Vector.fsx = docs\Matrix_Vector.fsx + docs\ML.fsx = docs\ML.fsx docs\Normalization.fsx = docs\Normalization.fsx docs\NuGet.config = docs\NuGet.config docs\Optimization.fsx = docs\Optimization.fsx @@ -62,13 +65,12 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{23F9FB2E-6 docs\Rank.fsx = docs\Rank.fsx docs\Signal.fsx = docs\Signal.fsx docs\Testing.fsx = docs\Testing.fsx - docs\_template.html = docs\_template.html - docs\_template.ipynb = docs\_template.ipynb + docs\_head.html = docs\_head.html EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "content", "content", "{50E3E339-AA4D-4FD2-8791-DEBD2EBF0504}" ProjectSection(SolutionItems) = preProject - docs\content\fsdocs-custom.css = docs\content\fsdocs-custom.css + docs\content\fsdocs-theme.css = docs\content\fsdocs-theme.css EndProjectSection EndProject Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Stats.Interactive", "src\FSharp.Stats.Interactive\FSharp.Stats.Interactive.fsproj", "{D7BCF5C0-9E2B-4170-9390-607B0B65A8CD}" diff --git a/build/PackageTasks.fs b/build/PackageTasks.fs index af6517842..7edc74f81 100644 --- a/build/PackageTasks.fs +++ b/build/PackageTasks.fs @@ -8,6 +8,7 @@ open TestTasks open BlackFox.Fake open Fake.Core +open Fake.DotNet open Fake.IO.Globbing.Operators let pack = BuildTask.create "Pack" [clean; build; runTests] { @@ -23,12 +24,14 @@ let pack = BuildTask.create "Pack" [clean; build; runTests] { "Version",stableVersionTag "PackageReleaseNotes", (release.Notes |> String.concat "\r\n") ] @ p.MSBuildParams.Properties) + DisableInternalBinLog = true } { p with MSBuildParams = msBuildParams OutputPath = Some pkgDir } + |> DotNet.Options.withCustomParams (Some "--no-dependencies -tl") )) else failwith "aborted" } @@ -46,6 +49,7 @@ let packPrerelease = BuildTask.create "PackPrerelease" [setPrereleaseTag; clean; "Version", prereleaseTag "PackageReleaseNotes", (release.Notes |> String.toLines ) ] @ p.MSBuildParams.Properties) + DisableInternalBinLog = true } { p with @@ -53,6 +57,7 @@ let packPrerelease = BuildTask.create "PackPrerelease" [setPrereleaseTag; clean; OutputPath = Some pkgDir MSBuildParams = msBuildParams } + |> DotNet.Options.withCustomParams (Some "--no-dependencies -tl") )) else failwith "aborted" diff --git a/build/TestTasks.fs b/build/TestTasks.fs index d79c6d935..4ddb58cd4 100644 --- a/build/TestTasks.fs +++ b/build/TestTasks.fs @@ -7,16 +7,16 @@ open ProjectInfo open BasicTasks let runTests = BuildTask.create "RunTests" [clean; build] { - testProject - |> Fake.DotNet.DotNet.test (fun testParams -> - { testParams with - Logger = Some "console;verbosity=detailed" - Configuration = DotNet.BuildConfiguration.fromString configuration - NoBuild = true - MSBuildParams = { testParams.MSBuildParams with DisableInternalBinLog = true } + Fake.DotNet.DotNet.test(fun testParams -> + { + testParams with + Logger = Some "console;verbosity=detailed" + Configuration = DotNet.BuildConfiguration.fromString configuration + NoBuild = true + MSBuildParams = { testParams.MSBuildParams with DisableInternalBinLog = true } } |> DotNet.Options.withCustomParams (Some "-tl") - ) + ) testProject } // to do: use this once we have actual tests @@ -27,12 +27,12 @@ let runTestsWithCodeCov = BuildTask.create "RunTestsWithCodeCov" [clean; build] testParams with MSBuildParams = { standardParams with - DisableInternalBinLog = true Properties = [ "AltCover","true" "AltCoverCobertura","../../codeCov.xml" "AltCoverForce","true" ] + DisableInternalBinLog = true }; Logger = Some "console;verbosity=detailed" } diff --git a/build/build.fsproj b/build/build.fsproj index f978756ba..21200ae87 100644 --- a/build/build.fsproj +++ b/build/build.fsproj @@ -33,6 +33,15 @@ + + + + + + + + + diff --git a/docs/BasicStats.fsx b/docs/BasicStats.fsx index e03c4106f..4d3f5a6a2 100644 --- a/docs/BasicStats.fsx +++ b/docs/BasicStats.fsx @@ -10,9 +10,13 @@ categoryindex: 0 (*** hide ***) (*** condition: prepare ***) -#r "../src/FSharp.Stats/bin/Release/netstandard2.0/FSharp.Stats.dll" -#r "nuget: FsMath, 0.0.1" -open FsMath +#r "nuget: FSharpAux.Core, 2.0.0" +#r "nuget: FSharpAux, 2.0.0" +#r "nuget: FSharpAux.IO, 2.0.0" +#r "nuget: OptimizedPriorityQueue, 5.1.0" +#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" +#r "FSharp.Stats.dll" + (*** condition: ipynb ***) #if IPYNB #r "nuget: FSharp.Stats" @@ -27,19 +31,6 @@ open FsMath _Summary:_ this tutorial gives an overview over how to do some of the basic statistical measurements with FSharp.Stats. -### Table of contents - - - [Central tendency](#Central-tendency) - - [Mean](#Mean) - - [Truncated mean](#Truncated-mean) - - [Median](#Median) - - [Harmonic mean](#Harmonic-mean) - - [Geometric mean](#Geometric-mean) - - [Dispersion](#Dispersion) - - [Range](#Range) - - [Variance and Standard Deviation](#Variance-and-standard-deviation) - - [Coefficient of variation](#Coefficient-of-variation) - ## Central tendency A [central tendency](https://en.wikipedia.org/wiki/Central_tendency) (or measure of central tendency) is a central or typical value for a probability distribution. diff --git a/docs/Clustering.fsx b/docs/Clustering.fsx index 4491a7d73..7146b91f9 100644 --- a/docs/Clustering.fsx +++ b/docs/Clustering.fsx @@ -10,25 +10,23 @@ categoryindex: 0 (*** hide ***) (*** condition: prepare ***) +#r "nuget: FSharpAux.Core, 2.0.0" +#r "nuget: FSharpAux, 2.0.0" +#r "nuget: FSharpAux.IO, 2.0.0" +#r "nuget: OptimizedPriorityQueue, 5.1.0" #I "../src/FSharp.Stats/bin/Release/netstandard2.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" -#r "nuget: FSharpAux, 1.0.0" #r "nuget: Cyjs.NET" -#r "nuget: OptimizedPriorityQueue, 5.1.0" -#r "nuget: FsMath, 0.0.1" -open FsMath + Plotly.NET.Defaults.DefaultDisplayOptions <- Plotly.NET.DisplayOptions.init (PlotlyJSReference = Plotly.NET.PlotlyJSReference.NoReference) (*** condition: ipynb ***) #if IPYNB -#r "nuget: Plotly.NET, 4.0.0" -#r "nuget: Plotly.NET.Interactive, 4.0.0" -#r "nuget: OptimizedPriorityQueue, 5.1.0" -#r "nuget: FSharpAux, 1.0.0" #r "nuget: FSharp.Stats" +#r "nuget: Plotly.NET, 4.0.0" #r "nuget: Cyjs.NET" #endif // IPYNB @@ -40,22 +38,6 @@ Plotly.NET.Defaults.DefaultDisplayOptions <- _Summary:_ this tutorial demonstrates several clustering methods in FSharp.Stats and how to visualize the results with Plotly.NET. -### Table of contents - - - [Iterative Clustering](#Iterative-Clustering) - - [k-means clustering](#k-means-clustering) - - [Density based clustering](#Density-based-clustering) - - [DBSCAN](#DBSCAN) - - [Hierarchical clustering](#Hierarchical-Clustering) - - [Distance measures](#Distance-measures) - - [Linkages](#Linkages) - - [Determining the optimal number of clusters](#Determining-the-optimal-number-of-clusters) - - [Rule of thumb](#Rule-of-thumb) - - [Elbow criterion](#Elbow-criterion) - - [AIC](#AIC) - - [Silhouette coefficient](#Silhouette-coefficient) - - [GapStatistics](#GapStatistics) - Clustering methods can be used to group elements of a huge data set based on their similarity. Elements sharing similar properties cluster together and can be reported as coherent group. **Column wise standardization** diff --git a/docs/ComparisonMetrics.fsx b/docs/ComparisonMetrics.fsx index 9920c443f..ebdb93214 100644 --- a/docs/ComparisonMetrics.fsx +++ b/docs/ComparisonMetrics.fsx @@ -10,6 +10,10 @@ categoryindex: 0 (***hide***) (*** condition: prepare ***) +#r "nuget: FSharpAux.Core, 2.0.0" +#r "nuget: FSharpAux, 2.0.0" +#r "nuget: FSharpAux.IO, 2.0.0" +#r "nuget: OptimizedPriorityQueue, 5.1.0" #I "../src/FSharp.Stats/bin/Release/netstandard2.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" @@ -32,20 +36,6 @@ Plotly.NET.Defaults.DefaultDisplayOptions <- [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/fslaborg/FSharp.Stats/gh-pages?urlpath=/tree/home/jovyan/Integration.ipynb) [![Notebook]({{root}}img/badge-notebook.svg)]({{root}}{{fsdocs-source-basename}}.ipynb) -#### Table of contents -- [Confusion matrices](#Confusion-matrices) - - [Binary confusion matrix](#Binary-confusion-matrix) - - [Multi-label confusion matrix](#Multi-label-confusion-matrix) -- [Comparison-Metric](#Comparison-Metrics) - - [ComparisonMetrics for binary comparisons](#ComparisonMetrics-for-binary-comparisons) - - [ComparisonMetrics for multi-label comparisons](#ComparisonMetrics-for-multi-label-comparisons) - - [Macro-averaging metrics](#Macro-averaging-metrics) - - [Micro-averaging metrics](#Micro-averaging-metrics) - - [Creating threshold-dependent metric maps](#Creating-threshold-dependent-metric-maps) - - [For binary predictions](#For-binary-predictions) - - [For multi-label predictions](#For-multi-label-predictions) - - [ROC curve example](#ROC-curve-example) - FSharp.Stats contains a collection for assessing both binary and multi-label comparisons, for example the results of a binary/multi-label classification or the results of a statistical test. Usually, using the functions provided by the `ComparisonMetrics` module should be enough, but for clarity this documentation also introduces the `BinaryConfusionMatrix` and `MultiLabelConfusionMatrix` types that are used to derive the `ComparisonMetrics.` @@ -72,11 +62,11 @@ $$predicted = (1,1,1,0,1,0,0)$$ a binary confusion matrix can be filled by comparing actual and predicted values at their respective indices: -| | | predicted | | -| --- | --- | --- | --- | -| | | True | False | -|actual | True | 3 | 1 | -| | False| 1 | 2 | +| | | **Predicted**| | +| --- | --- | --- | --- | +| | | True | False | +|**Actual** | True | 3 | 1 | +| | False| 1 | 2 | A whole array of prediction/test evaluation metrics can be derived from binary confusion matrices, which are all based on the 4 values of the confusion matrix: @@ -85,11 +75,12 @@ A whole array of prediction/test evaluation metrics can be derived from binary c - FP (False Positives, the actual false labels incorrectly predicted as true) - TP (False Negatives, the actual true labels incorrectly predicted as false) -| | | Predicted | | -| --- | --- | --- | --- | -| | | True | False | -|Actual | True | TP | FN | -| | False| FP | TN | +| | | **Predicted**| | +| --- | --- | --- | --- | +| | | True | False | +|**Actual** | True | TP | FN | +| | False| FP | TN | + These 4 base metrics are in principle what comprises the record type `BinaryConfusionMatrix`. @@ -138,12 +129,12 @@ $$predicted = (A,A,A,B,C,B,B,A,C,C,C,C,A,A)$$ a multi-label confusion matrix can be filled by comparing actual and predicted values at their respective indices: -| | | Predicted | | | -| --- | --- | --- | --- | --- | -| | | Label A | Label B | Label C | -| Actual | Label A | 3 | 1 | 1 | -| | Label B | 1 | 2 | 0 | -| | Label C | 2 | 0 | 4 | +| | | **Predicted** | | | +| --- | --- | --- | --- | --- | +| | | Label A | Label B | Label C | +| **Actual** | Label A | 3 | 1 | 1 | +| | Label B | 1 | 2 | 0 | +| | Label C | 2 | 0 | 4 | A `MultiLabelConfusionMatrix` can be created either @@ -186,11 +177,11 @@ This is done by taking all occurences of the label in the actual labels as posit As an example, the derived binary confusion matrix for `Label A` in above example would be: -| | | Predicted | | -| --- |--- | --- | --- | -| | | is A | is not A | -|Actual | is A | 3 | 2 | -| | is not A | 3 | 6 | +| | | **Predicted** | | +| --- |--- | --- | --- | +| | | is A | is not A | +|**Actual** | is A | 3 | 2 | +| | is not A | 3 | 6 | Programmatically, this can be done via `MultiLabelConfusionMatrix.oneVsRest` *) @@ -214,29 +205,29 @@ mlcm It also provides static methods to perform calculation of individual metrics derived from a BinaryConfusionMatrix via the `ComparisonMetrics.calculate` functions: -| Metric | Formula | API reference | -| --- |--- | --- | -|Sensitivity (TPR) | $TPR = \frac{TP}{TP+TN}$ | [ComparisonMetrics.calculateSensitivity ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateSensitivity ) | -|Specificity (TNR) | $TNR = \frac{TN}{TN+TP}$ | [ComparisonMetrics.calculateSpecificity ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateSpecificity ) | -|Precision (PPV) | $PPV = \frac{TP}{TP+FP}$ | [ComparisonMetrics.calculatePrecision ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculatePrecision ) | -|NegativePredictiveValue (NPV) | $NPV = \frac{TN}{TN+FN}$ | [ComparisonMetrics.calculateNegativePredictiveValue](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateNegativePredictiveValue) | -|Missrate (FNR) | $FNR = \frac{FN}{FN+TP}$ | [ComparisonMetrics.calculateMissrate ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateMissrate ) | -|FallOut (FPR) | $FPR = \frac{FP}{FP+TN}$ | [ComparisonMetrics.calculateFallOut ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateFallOut ) | -|FalseDiscoveryRate (FDR) | $FDR = \frac{FP}{FP+TP}$ | [ComparisonMetrics.calculateFalseDiscoveryRate ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateFalseDiscoveryRate ) | -|FalseOmissionRate (FOR) | $FOR = \frac{FN}{FN+TN}$ | [ComparisonMetrics.calculateFalseOmissionRate ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateFalseOmissionRate ) | -|PositiveLikelihoodRatio (LR+) | $LR+ = \frac{TPR}{FPR}$ | [ComparisonMetrics.calculatePositiveLikelihoodRatio](/reference/fsharp-stats-testing-comparisonmetrics.html#calculatePositiveLikelihoodRatio) | -|NegativeLikelihoodRatio (LR-) | $LR- = \frac{FNR}{TNR}$ | [ComparisonMetrics.calculateNegativeLikelihoodRatio](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateNegativeLikelihoodRatio) | -|PrevalenceThreshold (PT) | $PT = \frac{\sqrt{FPR}}{\sqrt{TPR}+\sqrt{FPR}}$ | [ComparisonMetrics.calculatePrevalenceThreshold ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculatePrevalenceThreshold ) | -|ThreatScore (TS) | $TS = \frac{TP}{TP+FN+FP}$ | [ComparisonMetrics.calculateThreatScore ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateThreatScore ) | -|Prevalence | $Prevalence = \frac{P}{P+N}$ | [ComparisonMetrics.calculatePrevalence ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculatePrevalence ) | -|Accuracy (ACC) | $ACC = \frac{TP+TN}{TP+TN+FP+FN}$ | [ComparisonMetrics.calculateAccuracy ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateAccuracy ) | -|BalancedAccuracy (BA) | $BA = \frac{TPR+TNR}{2}$ | [ComparisonMetrics.calculateBalancedAccuracy ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateBalancedAccuracy ) | -|F1 Score | $F1 = \frac{2TP}{2TP+FP+FN}$ | [ComparisonMetrics.calculateF1 ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateF1 ) | -|PhiCoefficient (MCC) | $MCC = \frac{TP*TN-FP*FN}{\sqrt{(TP+FP)(TP+FN)(TN+FP)(TN+FN)}}$ | [ComparisonMetrics.calculatePhiCoefficient ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculatePhiCoefficient ) | -|FowlkesMallowsIndex (FM) | $FM = \frac{}{}$ | [ComparisonMetrics.calculateFowlkesMallowsIndex ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateFowlkesMallowsIndex ) | -|Informedness (BM) | $BM = \frac{}{}$ | [ComparisonMetrics.calculateInformedness ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateInformedness ) | -|Markedness (MK) | $MK = \frac{}{}$ | [ComparisonMetrics.calculateMarkedness ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateMarkedness ) | -|DiagnosticOddsRatio (DOR) | $DOR = \frac{}{}$ | [ComparisonMetrics.calculateDiagnosticOddsRatio ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateDiagnosticOddsRatio ) | +| Metric | Formula | API reference | +| --- |--- | --- | +|Sensitivity (**TPR**) | $TPR = \frac{TP}{TP+TN}$ | [ComparisonMetrics.calculateSensitivity ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateSensitivity ) | +|Specificity (**TNR**) | $TNR = \frac{TN}{TN+TP}$ | [ComparisonMetrics.calculateSpecificity ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateSpecificity ) | +|Precision (**PPV**) | $PPV = \frac{TP}{TP+FP}$ | [ComparisonMetrics.calculatePrecision ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculatePrecision ) | +|NegativePredictiveValue (**NPV**) | $NPV = \frac{TN}{TN+FN}$ | [ComparisonMetrics.calculateNegativePredictiveValue](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateNegativePredictiveValue) | +|Missrate (**FNR**) | $FNR = \frac{FN}{FN+TP}$ | [ComparisonMetrics.calculateMissrate ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateMissrate ) | +|FallOut (**FPR**) | $FPR = \frac{FP}{FP+TN}$ | [ComparisonMetrics.calculateFallOut ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateFallOut ) | +|FalseDiscoveryRate (**FDR**) | $FDR = \frac{FP}{FP+TP}$ | [ComparisonMetrics.calculateFalseDiscoveryRate ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateFalseDiscoveryRate ) | +|FalseOmissionRate (**FOR**) | $FOR = \frac{FN}{FN+TN}$ | [ComparisonMetrics.calculateFalseOmissionRate ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateFalseOmissionRate ) | +|PositiveLikelihoodRatio (**LR+**) | $LR+ = \frac{TPR}{FPR}$ | [ComparisonMetrics.calculatePositiveLikelihoodRatio](/reference/fsharp-stats-testing-comparisonmetrics.html#calculatePositiveLikelihoodRatio) | +|NegativeLikelihoodRatio (**LR-**) | $LR- = \frac{FNR}{TNR}$ | [ComparisonMetrics.calculateNegativeLikelihoodRatio](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateNegativeLikelihoodRatio) | +|PrevalenceThreshold (**PT**) | $PT = \frac{\sqrt{FPR}}{\sqrt{TPR}+\sqrt{FPR}}$ | [ComparisonMetrics.calculatePrevalenceThreshold ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculatePrevalenceThreshold ) | +|ThreatScore (**TS**) | $TS = \frac{TP}{TP+FN+FP}$ | [ComparisonMetrics.calculateThreatScore ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateThreatScore ) | +|Prevalence | $Prevalence = \frac{P}{P+N}$ | [ComparisonMetrics.calculatePrevalence ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculatePrevalence ) | +|Accuracy (**ACC**) | $ACC = \frac{TP+TN}{TP+TN+FP+FN}$ | [ComparisonMetrics.calculateAccuracy ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateAccuracy ) | +|BalancedAccuracy (**BA**) | $BA = \frac{TPR+TNR}{2}$ | [ComparisonMetrics.calculateBalancedAccuracy ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateBalancedAccuracy ) | +|F1 Score | $F1 = \frac{2TP}{2TP+FP+FN}$ | [ComparisonMetrics.calculateF1 ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateF1 ) | +|PhiCoefficient (**MCC**) | $MCC = \frac{TP*TN-FP*FN}{\sqrt{(TP+FP)(TP+FN)(TN+FP)(TN+FN)}}$ | [ComparisonMetrics.calculatePhiCoefficient ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculatePhiCoefficient ) | +|FowlkesMallowsIndex (**FM**) | $FM = \frac{}{}$ | [ComparisonMetrics.calculateFowlkesMallowsIndex ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateFowlkesMallowsIndex ) | +|Informedness (**BM**) | $BM = \frac{}{}$ | [ComparisonMetrics.calculateInformedness ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateInformedness ) | +|Markedness (**MK**) | $MK = \frac{}{}$ | [ComparisonMetrics.calculateMarkedness ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateMarkedness ) | +|DiagnosticOddsRatio (**DOR**) | $DOR = \frac{}{}$ | [ComparisonMetrics.calculateDiagnosticOddsRatio ](/reference/fsharp-stats-testing-comparisonmetrics.html#calculateDiagnosticOddsRatio ) | ### ComparisonMetrics for binary comparisons diff --git a/docs/Correlation.fsx b/docs/Correlation.fsx index cbaddadd8..a59f6fe24 100644 --- a/docs/Correlation.fsx +++ b/docs/Correlation.fsx @@ -10,6 +10,10 @@ categoryindex: 0 (*** hide ***) (*** condition: prepare ***) +#r "nuget: FSharpAux.Core, 2.0.0" +#r "nuget: FSharpAux, 2.0.0" +#r "nuget: FSharpAux.IO, 2.0.0" +#r "nuget: OptimizedPriorityQueue, 5.1.0" #I "../src/FSharp.Stats/bin/Release/netstandard2.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" @@ -36,12 +40,6 @@ Plotly.NET.Defaults.DefaultDisplayOptions <- _Summary_: This tutorial demonstrates how to calculate correlation coefficients in FSharp.Stats -### Table of contents - - - [Sequence correlations](#Sequence correlations) - - [Matrix correlations](#Matrix correlations) - - [Autocorrelation](#Autocorrelation) - ## Sequence correlations *) diff --git a/docs/Covariance.fsx b/docs/Covariance.fsx index 41b35d0d6..14b6f8b89 100644 --- a/docs/Covariance.fsx +++ b/docs/Covariance.fsx @@ -10,6 +10,10 @@ categoryindex: 0 (*** hide ***) (*** condition: prepare ***) +#r "nuget: FSharpAux.Core, 2.0.0" +#r "nuget: FSharpAux, 2.0.0" +#r "nuget: FSharpAux.IO, 2.0.0" +#r "nuget: OptimizedPriorityQueue, 5.1.0" #I "../src/FSharp.Stats/bin/Release/netstandard2.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" diff --git a/docs/CrossValidation.fsx b/docs/CrossValidation.fsx index f78da9e08..ea59baa63 100644 --- a/docs/CrossValidation.fsx +++ b/docs/CrossValidation.fsx @@ -11,6 +11,10 @@ categoryindex: 0 (*** hide ***) (*** condition: prepare ***) +#r "nuget: FSharpAux.Core, 2.0.0" +#r "nuget: FSharpAux, 2.0.0" +#r "nuget: FSharpAux.IO, 2.0.0" +#r "nuget: OptimizedPriorityQueue, 5.1.0" #I "../src/FSharp.Stats/bin/Release/netstandard2.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" @@ -35,15 +39,6 @@ Plotly.NET.Defaults.DefaultDisplayOptions <- _Summary:_ this tutorial demonstrates how to perform several types of cross validation with FSharp.Stats. -### Table of contents - - - [Leave-one-out cross validation (LOOCV)](#Leave-one-out-cross-validation-LOOCV) - - [Procedure](#Procedure) - - [Polynomial loocv](#Polynomial-loocv) - - [Smoothing spline loocv](#Smoothing-spline-loocv) - - [k fold cross validation](#k-fold-cross-validation) - - [Shuffle and split cross validation](#Shuffle-and-split-cross-validation) - ## Leave-one-out cross validation (LOOCV) When fitting a data set it often comes down to the selection of the optimal fitting parameter(s). diff --git a/docs/Differentiation.fsx b/docs/Differentiation.fsx index 25eda0fb4..3d99734bc 100644 --- a/docs/Differentiation.fsx +++ b/docs/Differentiation.fsx @@ -10,6 +10,10 @@ categoryindex: 0 (*** hide ***) (*** condition: prepare ***) +#r "nuget: FSharpAux.Core, 2.0.0" +#r "nuget: FSharpAux, 2.0.0" +#r "nuget: FSharpAux.IO, 2.0.0" +#r "nuget: OptimizedPriorityQueue, 5.1.0" #I "../src/FSharp.Stats/bin/Release/netstandard2.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" diff --git a/docs/Distributions.fsx b/docs/Distributions.fsx index 5a631acd1..64778c1f8 100644 --- a/docs/Distributions.fsx +++ b/docs/Distributions.fsx @@ -11,6 +11,10 @@ categoryindex: 0 (*** hide ***) (*** condition: prepare ***) +#r "nuget: FSharpAux.Core, 2.0.0" +#r "nuget: FSharpAux, 2.0.0" +#r "nuget: FSharpAux.IO, 2.0.0" +#r "nuget: OptimizedPriorityQueue, 5.1.0" #I "../src/FSharp.Stats/bin/Release/netstandard2.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" @@ -36,24 +40,6 @@ Plotly.NET.Defaults.DefaultDisplayOptions <- _Summary:_ this tutorial shows how to use the various types of probability distributions in FSharp.Stats. -### Table of contents - -- [Continuous](#Continuous) - - [Normal distribution](#Normal-distribution) - - [Multivariate normal distribution](#Multivariate-normal-distribution) - - [F distribution](#F-distribution) -- [Discrete](#Discrete) - - [Bernoulli distribution](#Bernoulli-distribution) - - [Binomial distribution](#Binomial-distribution) - - [Multinomial distribution](#Multinomial-distribution) - - [Hypergerometric distribution](#Hypergerometric-distribution) - - [Poisson distribution](#Poisson-distribution) - - [Gamma distribution](#Gamma-distribution) - - [Negative binomial distribution](#Negative-binomial-distribution) -- [Empirical](#Empirical) -- [Density estimation](#Density-estimation) -- [Distance](#Distance) - FSharp.Stats provides a wide range of probability distributions. Given the distribution parameters they can be used to investigate their statistical properties or to sample non-uniform random numbers. diff --git a/docs/Fitting.fsx b/docs/Fitting.fsx index 666aaf7e2..ee5ca77a5 100644 --- a/docs/Fitting.fsx +++ b/docs/Fitting.fsx @@ -10,10 +10,12 @@ categoryindex: 0 (*** hide ***) (*** condition: prepare ***) -#r "../src/FSharp.Stats/bin/Release/netstandard2.0/FSharp.Stats.dll" -#r "nuget: Newtonsoft.JSON, 13.0.1" -#r "nuget: DynamicObj, 2.0.0" -#r "nuget: Giraffe.ViewEngine, 1.4.0" +#r "nuget: FSharpAux.Core, 2.0.0" +#r "nuget: FSharpAux, 2.0.0" +#r "nuget: FSharpAux.IO, 2.0.0" +#r "nuget: OptimizedPriorityQueue, 5.1.0" +#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" +#r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" #r "nuget: FsMath, 0.0.1" open FsMath @@ -40,17 +42,6 @@ Plotly.NET.Defaults.DefaultDisplayOptions <- _Summary:_ this tutorial will walk through several ways of fitting data with FSharp.Stats. -### Table of contents - - [Linear Regression](#Linear-Regression) - - [Summary](#Summary) - - [Simple Linear Regression](#Simple-Linear-Regression) - - [Univariable](#Univariable) - - [Multivariable](#Multivariable) - - [Polynomial Regression](#Polynomial-Regression) - - [Nonlinear Regression](#Nonlinear-Regression) - - [LevenbergMarquardtConstrained](#LevenbergMarquardtConstrained) - - [Smoothing spline](#Smoothing-spline) - ## Linear Regression In Linear Regression a linear system of equations is generated. The coefficients obtained by the solution to this equation diff --git a/docs/GoodnessOfFit.fsx b/docs/GoodnessOfFit.fsx index 307e2e733..1ffde9059 100644 --- a/docs/GoodnessOfFit.fsx +++ b/docs/GoodnessOfFit.fsx @@ -10,6 +10,10 @@ categoryindex: 0 (*** hide ***) (*** condition: prepare ***) +#r "nuget: FSharpAux.Core, 2.0.0" +#r "nuget: FSharpAux, 2.0.0" +#r "nuget: FSharpAux.IO, 2.0.0" +#r "nuget: OptimizedPriorityQueue, 5.1.0" #I "../src/FSharp.Stats/bin/Release/netstandard2.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" @@ -39,13 +43,6 @@ open Plotly.NET _Summary:_ this tutorial shows how to assess fit quality with FSharp.Stats -### Table of contents - - - [Linear regression report](#Linear-regression-report) - - [Confidence bands](#Confidence-bands) - - [Prediction bands](#Prediction-bands) - - [Cook's distance](#Cook-s-distance) - ## Linear regression report Consider this simple linear regression: diff --git a/docs/GrowthCurve.fsx b/docs/GrowthCurve.fsx index 520fa5dfe..31df001ac 100644 --- a/docs/GrowthCurve.fsx +++ b/docs/GrowthCurve.fsx @@ -10,8 +10,11 @@ categoryindex: 0 (*** hide ***) (*** condition: prepare ***) -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" -#r "FSharp.Stats.dll" +#r "../src/FSharp.Stats/bin/Release/netstandard2.0/FSharp.Stats.dll" +#r "nuget: FSharpAux.Core, 2.0.0" +#r "nuget: FSharpAux, 2.0.0" +#r "nuget: FSharpAux.IO, 2.0.0" +#r "nuget: OptimizedPriorityQueue, 5.1.0" #r "nuget: Plotly.NET, 4.0.0" #r "nuget: FsMath, 0.0.1" open FsMath @@ -37,25 +40,6 @@ open Plotly.NET _Summary:_ this tutorial demonstrates variou way to model growth curves, a commong task in any (micro)biological lab -### Table of contents - - - [Modelling](#Modelling) - - [Manual phase selection](#Manual-phase-selection) - - [Gompertz model](#Gompertz-model) - - [Generation time calculation](#Generation-time-calculation) - - [Other models](#Other-models) - - [Richards curve](#Richards-curve) - - [Weibull](#Weibull) - - [Janoschek](#Janoschek) - - [Exponential](#Exponential) - - [Verhulst](#Verhulst) - - [Morgan-Mercer-Flodin](#Morgan-Mercer-Flodin) - - [von Bertalanffy](#von-Bertalanffy) - - [Comparison between all models](Comparison-between-all-models) - - [Fit function](#Fit-function) - - [Generation time](#Generation-time) - - [Model examples](#Model-examples) - ## Modelling Growth and other physiological parameters like size/weight/length can be modeled as function of time. diff --git a/docs/Imputation.fsx b/docs/Imputation.fsx index 92b646902..e8a123f25 100644 --- a/docs/Imputation.fsx +++ b/docs/Imputation.fsx @@ -10,6 +10,10 @@ categoryindex: 0 (*** hide ***) (*** condition: prepare ***) +#r "nuget: FSharpAux.Core, 2.0.0" +#r "nuget: FSharpAux, 2.0.0" +#r "nuget: FSharpAux.IO, 2.0.0" +#r "nuget: OptimizedPriorityQueue, 5.1.0" #I "../src/FSharp.Stats/bin/Release/netstandard2.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" diff --git a/docs/Integration.fsx b/docs/Integration.fsx index 2e201f0f0..32e31949a 100644 --- a/docs/Integration.fsx +++ b/docs/Integration.fsx @@ -10,6 +10,10 @@ categoryindex: 0 (*** hide ***) (*** condition: prepare ***) +#r "nuget: FSharpAux.Core, 2.0.0" +#r "nuget: FSharpAux, 2.0.0" +#r "nuget: FSharpAux.IO, 2.0.0" +#r "nuget: OptimizedPriorityQueue, 5.1.0" #I "../src/FSharp.Stats/bin/Release/netstandard2.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" diff --git a/docs/Interpolation.fsx b/docs/Interpolation.fsx index ddc4eb368..c00823f32 100644 --- a/docs/Interpolation.fsx +++ b/docs/Interpolation.fsx @@ -10,6 +10,10 @@ categoryindex: 0 (*** hide ***) (*** condition: prepare ***) +#r "nuget: FSharpAux.Core, 2.0.0" +#r "nuget: FSharpAux, 2.0.0" +#r "nuget: FSharpAux.IO, 2.0.0" +#r "nuget: OptimizedPriorityQueue, 5.1.0" #I "../src/FSharp.Stats/bin/Release/netstandard2.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" @@ -37,17 +41,6 @@ open Plotly.NET _Summary:_ This tutorial demonstrates several ways of interpolating with FSharp.Stats -### Table of contents - -- [Summary](#Summary) -- [Polynomial interpolation](#Polynomial-interpolation) -- [Cubic interpolating spline](#Cubic-spline-interpolation) -- [Akima interpolating subspline](#Akima-subspline-interpolation) -- [Hermite interpolation](#Hermite-interpolation) -- [Bezier interpolation](#Bezier-interpolation) -- [Chebyshev function approximation](#Chebyshev-function-approximation) - - ## Summary With the `FSharp.Stats.Interpolation` module you can apply various interpolation methods. While interpolating functions always go through the input points (knots), methods to predict function values diff --git a/docs/Intervals.fsx b/docs/Intervals.fsx index 13e90c87f..a374a000e 100644 --- a/docs/Intervals.fsx +++ b/docs/Intervals.fsx @@ -10,6 +10,10 @@ categoryindex: 0 (*** hide ***) (*** condition: prepare ***) +#r "nuget: FSharpAux.Core, 2.0.0" +#r "nuget: FSharpAux, 2.0.0" +#r "nuget: FSharpAux.IO, 2.0.0" +#r "nuget: OptimizedPriorityQueue, 5.1.0" #I "../src/FSharp.Stats/bin/Release/netstandard2.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" @@ -50,7 +54,7 @@ The interval module enables working with closed intervals. A closed interval inc open FSharp.Stats open Plotly.NET -let myInterval = Interval.CreateLeftOpen (-3.,2.) +let myInterval = Interval.CreateLeftOpen (-3.,2.) let loi = sprintf "myInterval is: %s" (myInterval.ToString()) diff --git a/docs/Normalization.fsx b/docs/Normalization.fsx index 3bd51bfd4..f63b7d095 100644 --- a/docs/Normalization.fsx +++ b/docs/Normalization.fsx @@ -10,6 +10,10 @@ categoryindex: 0 (*** hide ***) (*** condition: prepare ***) +#r "nuget: FSharpAux.Core, 2.0.0" +#r "nuget: FSharpAux, 2.0.0" +#r "nuget: FSharpAux.IO, 2.0.0" +#r "nuget: OptimizedPriorityQueue, 5.1.0" #I "../src/FSharp.Stats/bin/Release/netstandard2.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" @@ -43,11 +47,6 @@ open Plotly.NET.LayoutObjects _Summary:_ this tutorial demonstrates multiple ways of data normalization accross several samples -### Table of contents - - [Introduction](#Introduction) - - [Median of Ratios](#Median-of-ratios) - - [Quantile normalization](#Quantile-normalization) - ## Introduction When you want to compare e.g. intensity measurements of elements between samples, you often have to normalize the samples in order diff --git a/docs/Optimization.fsx b/docs/Optimization.fsx index c175a8f07..1ea8ac936 100644 --- a/docs/Optimization.fsx +++ b/docs/Optimization.fsx @@ -10,6 +10,10 @@ categoryindex: 0 (*** hide ***) (*** condition: prepare ***) +#r "nuget: FSharpAux.Core, 2.0.0" +#r "nuget: FSharpAux, 2.0.0" +#r "nuget: FSharpAux.IO, 2.0.0" +#r "nuget: OptimizedPriorityQueue, 5.1.0" #I "../src/FSharp.Stats/bin/Release/netstandard2.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" @@ -39,13 +43,8 @@ open Plotly.NET _Summary:_ This tutorial teaches how to use optimization methods within FSharp.Stats -### Table of contents - - - [Nelder-Mead](#Nelder-Mead) - ## Nelder-Mead - The Nelder-Mead method (also downhill simplex method) can be used to find the minimum or maximum of an objective function. Please check out Mathias' blog post about the [nelder mead algorithm](https://brandewinder.com/2022/03/31/breaking-down-Nelder-Mead/). diff --git a/docs/Quantiles.fsx b/docs/Quantiles.fsx index 9e2102e77..450f5f468 100644 --- a/docs/Quantiles.fsx +++ b/docs/Quantiles.fsx @@ -10,6 +10,10 @@ categoryindex: 0 (*** hide ***) (*** condition: prepare ***) +#r "nuget: FSharpAux.Core, 2.0.0" +#r "nuget: FSharpAux, 2.0.0" +#r "nuget: FSharpAux.IO, 2.0.0" +#r "nuget: OptimizedPriorityQueue, 5.1.0" #I "../src/FSharp.Stats/bin/Release/netstandard2.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" @@ -37,16 +41,6 @@ Plotly.NET.Defaults.DefaultDisplayOptions <- _Summary:_ this tutorial demonstrates how to handle quantiles and QQ-Plots -### Table of contents - - - [Quantiles](#Quantiles) - - [QQ plot](#QQ-plot) - - [Comparing two sample distributions](#Comparing-two-sample-distributions) - - [Comparing a sample against a distribution](#Comparing-a-sample-against-a-distribution) - - [Normal distribution](#Normal-distribution) - - [Uniform Distribution](#Uniform-Distribution) -- [Quantile normalization](#Quantile-normalization) - ## Quantiles Quantiles are values that divide data into equally spaced groups. Percentiles are just quantiles that divide the data in 100 equally sized groups. diff --git a/docs/Rank.fsx b/docs/Rank.fsx index 7b7af6534..1604451de 100644 --- a/docs/Rank.fsx +++ b/docs/Rank.fsx @@ -10,6 +10,10 @@ categoryindex: 0 (*** hide ***) (*** condition: prepare ***) +#r "nuget: FSharpAux.Core, 2.0.0" +#r "nuget: FSharpAux, 2.0.0" +#r "nuget: FSharpAux.IO, 2.0.0" +#r "nuget: OptimizedPriorityQueue, 5.1.0" #I "../src/FSharp.Stats/bin/Release/netstandard2.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" diff --git a/docs/Signal.fsx b/docs/Signal.fsx index cdf566238..031b8c1aa 100644 --- a/docs/Signal.fsx +++ b/docs/Signal.fsx @@ -10,6 +10,10 @@ categoryindex: 0 (*** hide ***) (*** condition: prepare ***) +#r "nuget: FSharpAux.Core, 2.0.0" +#r "nuget: FSharpAux, 2.0.0" +#r "nuget: FSharpAux.IO, 2.0.0" +#r "nuget: OptimizedPriorityQueue, 5.1.0" #I "../src/FSharp.Stats/bin/Release/netstandard2.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" @@ -43,16 +47,6 @@ open Plotly.NET.LayoutObjects _Summary:_ this tutorial demonstrates multiple ways of signal processing with FSharp.Stats. -### Table of contents - - [Outliers](#Outliers) - - [Tukey's fences](#Tukey-s-fences) - - [Filtering](#Filtering) - - [Padding](#Padding) - - [Wavelet](#Wavelet) - - [Continuous Wavelet](#Continuous-Wavelet) - - [Continuous Wavelet 3D](#Continuous-Wavelet-3D) - - [Fast Fourier transform](#Fast-Fourier-transform) - ## Outliers ### Tukey's fences diff --git a/docs/Testing.fsx b/docs/Testing.fsx index ba709a690..f68b24cbe 100644 --- a/docs/Testing.fsx +++ b/docs/Testing.fsx @@ -10,10 +10,13 @@ categoryindex: 0 (*** hide ***) (*** condition: prepare ***) +#r "nuget: FSharpAux.Core, 2.0.0" +#r "nuget: FSharpAux, 2.0.0" +#r "nuget: FSharpAux.IO, 2.0.0" +#r "nuget: OptimizedPriorityQueue, 5.1.0" #I "../src/FSharp.Stats/bin/Release/netstandard2.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" -#r "nuget: FSharpAux, 1.1.0" #r "nuget: Deedle, 3.0.0" #r "nuget: FsMath, 0.0.1" open FsMath @@ -26,7 +29,6 @@ Plotly.NET.Defaults.DefaultDisplayOptions <- #r "nuget: Plotly.NET, 4.0.0" #r "nuget: Plotly.NET.Interactive, 4.0.0" #r "nuget: FSharp.Stats" -#r "nuget: FSharpAux, 1.1.0" #r "nuget: Deedle, 3.0.0" open Plotly.NET @@ -47,28 +49,6 @@ open Deedle _Summary:_ this tutorial explains how to perform various statistical tests with FSharp.Stats. -### Table of contents - - - [Test Statistics](#Test-Statistics) - - [T-Test](#T-Test) - - [Anova](#Anova) - - [F-Test](#F-Test) - - [H-Test](#H-Test) - - [Friedman-Test](#Friedman-Test) - - [Wilcoxon signed-rank Test](#Wilcoxon-Test) - - [Chi-Squared Test](#Chi-Squared-Test) - - [Bartlett](#Bartlett) - - [PostHoc](#PostHoc) - - [Fisher's LSD](#Fisher-s-LSD) - - [Hays](#Hays) - - [Tukey HSD](#Tukey-HSD) - - [Dunnetts test](#Dunnetts-test) - - [Fisher Hotelling](#Fisher-Hotelling) -- [Multiple testing](#Multiple-testing) - - [Benjamini-Hochberg](#Benjamini-Hochberg) - - [Q Value](#Q-Value) - - [SAM](#SAM) - FSharp.Stats provides hypothesis tests for different applications. A hypothesis test is a statistical test that is used to determine whether there is enough evidence in a sample of data to infer that a certain condition is true for the entire population. diff --git a/docs/_head.html b/docs/_head.html new file mode 100644 index 000000000..b4c501468 --- /dev/null +++ b/docs/_head.html @@ -0,0 +1,25 @@ + +{{fsdocs-page-title}} + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/_template.html b/docs/_template.html deleted file mode 100644 index 9fd0e8331..000000000 --- a/docs/_template.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - {{fsdocs-page-title}} - - - - - - - - - - - - - - - - {{fsdocs-watch-script}} - - - -
-
- -
-
-
-
- {{fsdocs-content}} -
-
-
- {{fsdocs-tooltips}} -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/content/fsdocs-custom.css b/docs/content/fsdocs-custom.css deleted file mode 100644 index f8b2d7df5..000000000 --- a/docs/content/fsdocs-custom.css +++ /dev/null @@ -1,13636 +0,0 @@ -@import url("https://fonts.googleapis.com/css?family=Nunito+Sans:400,700"); -/*! bulma.io v0.9.2 | MIT License | github.com/jgthms/bulma */ -/* Bulma Utilities */ -.pagination-previous, -.pagination-next, -.pagination-link, -.pagination-ellipsis, .file-cta, -.file-name, .select select, .textarea, .input, .button { - -moz-appearance: none; - -webkit-appearance: none; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - border: 1px solid transparent; - border-radius: 4px; - -webkit-box-shadow: none; - box-shadow: none; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - font-size: 1rem; - height: 2.5em; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - line-height: 1.5; - padding-bottom: calc(0.5em - 1px); - padding-left: calc(0.75em - 1px); - padding-right: calc(0.75em - 1px); - padding-top: calc(0.5em - 1px); - position: relative; - vertical-align: top; -} - - .pagination-previous:focus, - .pagination-next:focus, - .pagination-link:focus, - .pagination-ellipsis:focus, .file-cta:focus, - .file-name:focus, .select select:focus, .textarea:focus, .input:focus, .button:focus, .is-focused.pagination-previous, - .is-focused.pagination-next, - .is-focused.pagination-link, - .is-focused.pagination-ellipsis, .is-focused.file-cta, - .is-focused.file-name, .select select.is-focused, .is-focused.textarea, .is-focused.input, .is-focused.button, .pagination-previous:active, - .pagination-next:active, - .pagination-link:active, - .pagination-ellipsis:active, .file-cta:active, - .file-name:active, .select select:active, .textarea:active, .input:active, .button:active, .is-active.pagination-previous, .pagination-previous.active, - .is-active.pagination-next, - .pagination-next.active, - .is-active.pagination-link, - .pagination-link.active, - .is-active.pagination-ellipsis, - .pagination-ellipsis.active, .is-active.file-cta, .file-cta.active, - .is-active.file-name, - .file-name.active, .select select.is-active, .select select.active, .is-active.textarea, .textarea.active, .is-active.input, .input.active, .is-active.button, .button.active { - outline: none; - } - - [disabled].pagination-previous, - [disabled].pagination-next, - [disabled].pagination-link, - [disabled].pagination-ellipsis, [disabled].file-cta, - [disabled].file-name, .select select[disabled], [disabled].textarea, [disabled].input, [disabled].button, fieldset[disabled] .pagination-previous, - fieldset[disabled] .pagination-next, - fieldset[disabled] .pagination-link, - fieldset[disabled] .pagination-ellipsis, fieldset[disabled] .file-cta, - fieldset[disabled] .file-name, fieldset[disabled] .select select, .select fieldset[disabled] select, fieldset[disabled] .textarea, fieldset[disabled] .input, fieldset[disabled] .button { - cursor: not-allowed; - } - -.is-unselectable, .tabs, .pagination-previous, -.pagination-next, -.pagination-link, -.pagination-ellipsis, .breadcrumb, .file, .button { - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.navbar-link:not(.is-arrowless)::after, .select:not(.is-multiple):not(.is-loading)::after { - border: 3px solid transparent; - border-radius: 2px; - border-right: 0; - border-top: 0; - content: " "; - display: block; - height: 0.625em; - margin-top: -0.4375em; - pointer-events: none; - position: absolute; - top: 50%; - -webkit-transform: rotate(-45deg); - -ms-transform: rotate(-45deg); - transform: rotate(-45deg); - -webkit-transform-origin: center; - -ms-transform-origin: center; - transform-origin: center; - width: 0.625em; -} - -.tabs:not(:last-child), .pagination:not(:last-child), .message:not(:last-child), .level:not(:last-child), .breadcrumb:not(:last-child), .highlight:not(:last-child), .block:not(:last-child), .title:not(:last-child), -.subtitle:not(:last-child), .table-container:not(:last-child), .table:not(:last-child), table:not(:last-child), .progress:not(:last-child), .notification:not(:last-child), .content:not(:last-child), .box:not(:last-child) { - margin-bottom: 1.5rem; -} - -.modal-close, .delete { - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -moz-appearance: none; - -webkit-appearance: none; - background-color: rgba(10, 10, 10, 0.2); - border: none; - border-radius: 290486px; - cursor: pointer; - pointer-events: auto; - display: inline-block; - -webkit-box-flex: 0; - -ms-flex-positive: 0; - flex-grow: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - font-size: 0; - height: 20px; - max-height: 20px; - max-width: 20px; - min-height: 20px; - min-width: 20px; - outline: none; - position: relative; - vertical-align: top; - width: 20px; -} - - .modal-close::before, .delete::before, .modal-close::after, .delete::after { - background-color: white; - content: ""; - display: block; - left: 50%; - position: absolute; - top: 50%; - -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg); - -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg); - transform: translateX(-50%) translateY(-50%) rotate(45deg); - -webkit-transform-origin: center center; - -ms-transform-origin: center center; - transform-origin: center center; - } - - .modal-close::before, .delete::before { - height: 2px; - width: 50%; - } - - .modal-close::after, .delete::after { - height: 50%; - width: 2px; - } - - .modal-close:hover, .delete:hover, .modal-close:focus, .delete:focus { - background-color: rgba(10, 10, 10, 0.3); - } - - .modal-close:active, .delete:active { - background-color: rgba(10, 10, 10, 0.4); - } - -.is-small.modal-close, .is-small.delete { - height: 16px; - max-height: 16px; - max-width: 16px; - min-height: 16px; - min-width: 16px; - width: 16px; -} - -.is-medium.modal-close, .is-medium.delete { - height: 24px; - max-height: 24px; - max-width: 24px; - min-height: 24px; - min-width: 24px; - width: 24px; -} - -.is-large.modal-close, .is-large.delete { - height: 32px; - max-height: 32px; - max-width: 32px; - min-height: 32px; - min-width: 32px; - width: 32px; -} - -.control.is-loading::after, .select.is-loading::after, .loader, .button.is-loading::after { - -webkit-animation: spinAround 500ms infinite linear; - animation: spinAround 500ms infinite linear; - border: 2px solid #dbdbdb; - border-radius: 290486px; - border-right-color: transparent; - border-top-color: transparent; - content: ""; - display: block; - height: 1em; - position: relative; - width: 1em; -} - -.hero-video, .is-overlay, .modal-background, .modal, .image.is-square img, -.image.is-square .has-ratio, .image.is-1by1 img, -.image.is-1by1 .has-ratio, .image.is-5by4 img, -.image.is-5by4 .has-ratio, .image.is-4by3 img, -.image.is-4by3 .has-ratio, .image.is-3by2 img, -.image.is-3by2 .has-ratio, .image.is-5by3 img, -.image.is-5by3 .has-ratio, .image.is-16by9 img, -.image.is-16by9 .has-ratio, .image.is-2by1 img, -.image.is-2by1 .has-ratio, .image.is-3by1 img, -.image.is-3by1 .has-ratio, .image.is-4by5 img, -.image.is-4by5 .has-ratio, .image.is-3by4 img, -.image.is-3by4 .has-ratio, .image.is-2by3 img, -.image.is-2by3 .has-ratio, .image.is-3by5 img, -.image.is-3by5 .has-ratio, .image.is-9by16 img, -.image.is-9by16 .has-ratio, .image.is-1by2 img, -.image.is-1by2 .has-ratio, .image.is-1by3 img, -.image.is-1by3 .has-ratio { - bottom: 0; - left: 0; - position: absolute; - right: 0; - top: 0; -} - -/* Bulma Base */ -/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */ -html, -body, -p, -ol, -ul, -li, -dl, -dt, -dd, -blockquote, -figure, -fieldset, -legend, -textarea, -pre, -iframe, -hr, -h1, -h2, -h3, -h4, -h5, -h6 { - margin: 0; - padding: 0; -} - -h1, -h2, -h3, -h4, -h5, -h6 { - font-size: 100%; - font-weight: normal; -} - -ul { - list-style: none; -} - -button, -input, -select, -textarea { - margin: 0; -} - -html { - -webkit-box-sizing: border-box; - box-sizing: border-box; -} - -*, *::before, *::after { - -webkit-box-sizing: inherit; - box-sizing: inherit; -} - -img, -video { - height: auto; - max-width: 100%; -} - -iframe { - border: 0; -} - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} - - td:not([align]), - th:not([align]) { - text-align: inherit; - } - -html { - background-color: white; - font-size: 16px; - -moz-osx-font-smoothing: grayscale; - -webkit-font-smoothing: antialiased; - min-width: 300px; - overflow-x: hidden; - overflow-y: scroll; - text-rendering: optimizeLegibility; - -webkit-text-size-adjust: 100%; - -moz-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; - text-size-adjust: 100%; -} - -article, -aside, -figure, -footer, -header, -hgroup, -section { - display: block; -} - -body, -button, -input, -optgroup, -select, -textarea { - font-family: "Nunito", sans-serif; -} - -code, -pre { - -moz-osx-font-smoothing: auto; - -webkit-font-smoothing: auto; - font-family: monospace; -} - -body { - color: #4a4a4a; - font-size: 1em; - font-weight: 400; - line-height: 1.5; -} - -a { - color: #378BBA; - cursor: pointer; - text-decoration: none; -} - - a strong { - color: currentColor; - } - - a:hover { - color: #A00975; - } - -code { - background-color: whitesmoke; - color: #da1039; - font-size: 0.875em; - font-weight: normal; - padding: 0.25em 0.5em 0.25em; -} - -hr { - background-color: whitesmoke; - border: none; - display: block; - height: 2px; - margin: 1.5rem 0; -} - -img { - height: auto; - max-width: 100%; -} - -input[type="checkbox"], -input[type="radio"] { - vertical-align: baseline; -} - -small { - font-size: 0.875em; -} - -span { - font-style: inherit; - font-weight: inherit; -} - -strong { - color: #363636; - font-weight: 700; -} - -fieldset { - border: none; -} - -pre { - -webkit-overflow-scrolling: touch; - background-color: whitesmoke; - color: #4a4a4a; - font-size: 0.875em; - overflow-x: auto; - padding: 1.25rem 1.5rem; - white-space: pre; - word-wrap: normal; -} - - pre code { - background-color: transparent; - color: currentColor; - font-size: 1em; - padding: 0; - } - -table td, -table th { - vertical-align: top; -} - - table td:not([align]), - table th:not([align]) { - text-align: inherit; - } - -table th { - color: #363636; -} - -@-webkit-keyframes spinAround { - from { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - - to { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} - -@keyframes spinAround { - from { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - - to { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} - -/* Bulma Elements */ -.box { - background-color: white; - border-radius: 6px; - -webkit-box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1), 0 0px 0 1px rgba(10, 10, 10, 0.02); - box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1), 0 0px 0 1px rgba(10, 10, 10, 0.02); - color: #4a4a4a; - display: block; - padding: 1.25rem; -} - -a.box:hover, a.box:focus { - -webkit-box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1), 0 0 0 1px #378BBA; - box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1), 0 0 0 1px #378BBA; -} - -a.box:active { - -webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #378BBA; - box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #378BBA; -} - -.button { - background-color: white; - border-color: #dbdbdb; - border-width: 1px; - color: #363636; - cursor: pointer; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - padding-bottom: calc(0.5em - 1px); - padding-left: 1em; - padding-right: 1em; - padding-top: calc(0.5em - 1px); - text-align: center; - white-space: nowrap; -} - - .button strong { - color: inherit; - } - - .button .icon, .button .icon.is-small, .button .icon.is-medium, .button .icon.is-large { - height: 1.5em; - width: 1.5em; - } - - .button .icon:first-child:not(:last-child) { - margin-left: calc(-0.5em - 1px); - margin-right: 0.25em; - } - - .button .icon:last-child:not(:first-child) { - margin-left: 0.25em; - margin-right: calc(-0.5em - 1px); - } - - .button .icon:first-child:last-child { - margin-left: calc(-0.5em - 1px); - margin-right: calc(-0.5em - 1px); - } - - .button:hover, .button.is-hovered { - border-color: #b5b5b5; - color: #A00975; - } - - .button:focus, .button.is-focused { - border-color: #3273dc; - color: #363636; - } - - .button:focus:not(:active), .button.is-focused:not(:active) { - -webkit-box-shadow: 0 0 0 0.125em rgba(55, 139, 186, 0.25); - box-shadow: 0 0 0 0.125em rgba(55, 139, 186, 0.25); - } - - .button:active, .button.is-active, .button.active { - border-color: #4a4a4a; - color: #363636; - } - - .button.is-text { - background-color: transparent; - border-color: transparent; - color: #4a4a4a; - text-decoration: underline; - } - - .button.is-text:hover, .button.is-text.is-hovered, .button.is-text:focus, .button.is-text.is-focused { - background-color: whitesmoke; - color: #363636; - } - - .button.is-text:active, .button.is-text.is-active, .is-text.active { - background-color: #e8e8e8; - color: #363636; - } - - .button.is-text[disabled], fieldset[disabled] .button.is-text { - background-color: transparent; - border-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - } - - .button.is-ghost { - background: none; - border-color: transparent; - color: #378BBA; - text-decoration: none; - } - - .button.is-ghost:hover, .button.is-ghost.is-hovered { - color: #378BBA; - text-decoration: underline; - } - - .button.is-white { - background-color: white; - border-color: transparent; - color: #0a0a0a; - } - - .button.is-white:hover, .button.is-white.is-hovered { - background-color: #f9f9f9; - border-color: transparent; - color: #0a0a0a; - } - - .button.is-white:focus, .button.is-white.is-focused { - border-color: transparent; - color: #0a0a0a; - } - - .button.is-white:focus:not(:active), .button.is-white.is-focused:not(:active) { - -webkit-box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); - box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); - } - - .button.is-white:active, .button.is-white.is-active, .is-white.active { - background-color: #f2f2f2; - border-color: transparent; - color: #0a0a0a; - } - - .button.is-white[disabled], fieldset[disabled] .button.is-white { - background-color: white; - border-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - } - - .button.is-white.is-inverted { - background-color: #0a0a0a; - color: white; - } - - .button.is-white.is-inverted:hover, .button.is-white.is-inverted.is-hovered { - background-color: black; - } - - .button.is-white.is-inverted[disabled], fieldset[disabled] .button.is-white.is-inverted { - background-color: #0a0a0a; - border-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: white; - } - - .button.is-white.is-loading::after { - border-color: transparent transparent #0a0a0a #0a0a0a !important; - } - - .button.is-white.is-outlined { - background-color: transparent; - border-color: white; - color: white; - } - - .button.is-white.is-outlined:hover, .button.is-white.is-outlined.is-hovered, .button.is-white.is-outlined:focus, .button.is-white.is-outlined.is-focused { - background-color: white; - border-color: white; - color: #0a0a0a; - } - - .button.is-white.is-outlined.is-loading::after { - border-color: transparent transparent white white !important; - } - - .button.is-white.is-outlined.is-loading:hover::after, .button.is-white.is-outlined.is-loading.is-hovered::after, .button.is-white.is-outlined.is-loading:focus::after, .button.is-white.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent #0a0a0a #0a0a0a !important; - } - - .button.is-white.is-outlined[disabled], fieldset[disabled] .button.is-white.is-outlined { - background-color: transparent; - border-color: white; - -webkit-box-shadow: none; - box-shadow: none; - color: white; - } - - .button.is-white.is-inverted.is-outlined { - background-color: transparent; - border-color: #0a0a0a; - color: #0a0a0a; - } - - .button.is-white.is-inverted.is-outlined:hover, .button.is-white.is-inverted.is-outlined.is-hovered, .button.is-white.is-inverted.is-outlined:focus, .button.is-white.is-inverted.is-outlined.is-focused { - background-color: #0a0a0a; - color: white; - } - - .button.is-white.is-inverted.is-outlined.is-loading:hover::after, .button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-white.is-inverted.is-outlined.is-loading:focus::after, .button.is-white.is-inverted.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent white white !important; - } - - .button.is-white.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-white.is-inverted.is-outlined { - background-color: transparent; - border-color: #0a0a0a; - -webkit-box-shadow: none; - box-shadow: none; - color: #0a0a0a; - } - - .button.is-black { - background-color: #0a0a0a; - border-color: transparent; - color: white; - } - - .button.is-black:hover, .button.is-black.is-hovered { - background-color: #040404; - border-color: transparent; - color: white; - } - - .button.is-black:focus, .button.is-black.is-focused { - border-color: transparent; - color: white; - } - - .button.is-black:focus:not(:active), .button.is-black.is-focused:not(:active) { - -webkit-box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); - box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); - } - - .button.is-black:active, .button.is-black.is-active, .is-black.active { - background-color: black; - border-color: transparent; - color: white; - } - - .button.is-black[disabled], fieldset[disabled] .button.is-black { - background-color: #0a0a0a; - border-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - } - - .button.is-black.is-inverted { - background-color: white; - color: #0a0a0a; - } - - .button.is-black.is-inverted:hover, .button.is-black.is-inverted.is-hovered { - background-color: #f2f2f2; - } - - .button.is-black.is-inverted[disabled], fieldset[disabled] .button.is-black.is-inverted { - background-color: white; - border-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: #0a0a0a; - } - - .button.is-black.is-loading::after { - border-color: transparent transparent white white !important; - } - - .button.is-black.is-outlined { - background-color: transparent; - border-color: #0a0a0a; - color: #0a0a0a; - } - - .button.is-black.is-outlined:hover, .button.is-black.is-outlined.is-hovered, .button.is-black.is-outlined:focus, .button.is-black.is-outlined.is-focused { - background-color: #0a0a0a; - border-color: #0a0a0a; - color: white; - } - - .button.is-black.is-outlined.is-loading::after { - border-color: transparent transparent #0a0a0a #0a0a0a !important; - } - - .button.is-black.is-outlined.is-loading:hover::after, .button.is-black.is-outlined.is-loading.is-hovered::after, .button.is-black.is-outlined.is-loading:focus::after, .button.is-black.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent white white !important; - } - - .button.is-black.is-outlined[disabled], fieldset[disabled] .button.is-black.is-outlined { - background-color: transparent; - border-color: #0a0a0a; - -webkit-box-shadow: none; - box-shadow: none; - color: #0a0a0a; - } - - .button.is-black.is-inverted.is-outlined { - background-color: transparent; - border-color: white; - color: white; - } - - .button.is-black.is-inverted.is-outlined:hover, .button.is-black.is-inverted.is-outlined.is-hovered, .button.is-black.is-inverted.is-outlined:focus, .button.is-black.is-inverted.is-outlined.is-focused { - background-color: white; - color: #0a0a0a; - } - - .button.is-black.is-inverted.is-outlined.is-loading:hover::after, .button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-black.is-inverted.is-outlined.is-loading:focus::after, .button.is-black.is-inverted.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent #0a0a0a #0a0a0a !important; - } - - .button.is-black.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-black.is-inverted.is-outlined { - background-color: transparent; - border-color: white; - -webkit-box-shadow: none; - box-shadow: none; - color: white; - } - - .button.is-light { - background-color: whitesmoke; - border-color: transparent; - color: rgba(0, 0, 0, 0.7); - } - - .button.is-light:hover, .button.is-light.is-hovered { - background-color: #eeeeee; - border-color: transparent; - color: rgba(0, 0, 0, 0.7); - } - - .button.is-light:focus, .button.is-light.is-focused { - border-color: transparent; - color: rgba(0, 0, 0, 0.7); - } - - .button.is-light:focus:not(:active), .button.is-light.is-focused:not(:active) { - -webkit-box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); - box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); - } - - .button.is-light:active, .button.is-light.is-active, .is-light.active { - background-color: #e8e8e8; - border-color: transparent; - color: rgba(0, 0, 0, 0.7); - } - - .button.is-light[disabled], fieldset[disabled] .button.is-light { - background-color: whitesmoke; - border-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - } - - .button.is-light.is-inverted { - background-color: rgba(0, 0, 0, 0.7); - color: whitesmoke; - } - - .button.is-light.is-inverted:hover, .button.is-light.is-inverted.is-hovered { - background-color: rgba(0, 0, 0, 0.7); - } - - .button.is-light.is-inverted[disabled], fieldset[disabled] .button.is-light.is-inverted { - background-color: rgba(0, 0, 0, 0.7); - border-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: whitesmoke; - } - - .button.is-light.is-loading::after { - border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; - } - - .button.is-light.is-outlined { - background-color: transparent; - border-color: whitesmoke; - color: whitesmoke; - } - - .button.is-light.is-outlined:hover, .button.is-light.is-outlined.is-hovered, .button.is-light.is-outlined:focus, .button.is-light.is-outlined.is-focused { - background-color: whitesmoke; - border-color: whitesmoke; - color: rgba(0, 0, 0, 0.7); - } - - .button.is-light.is-outlined.is-loading::after { - border-color: transparent transparent whitesmoke whitesmoke !important; - } - - .button.is-light.is-outlined.is-loading:hover::after, .button.is-light.is-outlined.is-loading.is-hovered::after, .button.is-light.is-outlined.is-loading:focus::after, .button.is-light.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; - } - - .button.is-light.is-outlined[disabled], fieldset[disabled] .button.is-light.is-outlined { - background-color: transparent; - border-color: whitesmoke; - -webkit-box-shadow: none; - box-shadow: none; - color: whitesmoke; - } - - .button.is-light.is-inverted.is-outlined { - background-color: transparent; - border-color: rgba(0, 0, 0, 0.7); - color: rgba(0, 0, 0, 0.7); - } - - .button.is-light.is-inverted.is-outlined:hover, .button.is-light.is-inverted.is-outlined.is-hovered, .button.is-light.is-inverted.is-outlined:focus, .button.is-light.is-inverted.is-outlined.is-focused { - background-color: rgba(0, 0, 0, 0.7); - color: whitesmoke; - } - - .button.is-light.is-inverted.is-outlined.is-loading:hover::after, .button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-light.is-inverted.is-outlined.is-loading:focus::after, .button.is-light.is-inverted.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent whitesmoke whitesmoke !important; - } - - .button.is-light.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-light.is-inverted.is-outlined { - background-color: transparent; - border-color: rgba(0, 0, 0, 0.7); - -webkit-box-shadow: none; - box-shadow: none; - color: rgba(0, 0, 0, 0.7); - } - - .button.is-dark { - background-color: #200117; - border-color: transparent; - color: #fff; - } - - .button.is-dark:hover, .button.is-dark.is-hovered { - background-color: #14010e; - border-color: transparent; - color: #fff; - } - - .button.is-dark:focus, .button.is-dark.is-focused { - border-color: transparent; - color: #fff; - } - - .button.is-dark:focus:not(:active), .button.is-dark.is-focused:not(:active) { - -webkit-box-shadow: 0 0 0 0.125em rgba(32, 1, 23, 0.25); - box-shadow: 0 0 0 0.125em rgba(32, 1, 23, 0.25); - } - - .button.is-dark:active, .button.is-dark.is-active, .is-dark.active { - background-color: #070005; - border-color: transparent; - color: #fff; - } - - .button.is-dark[disabled], fieldset[disabled] .button.is-dark { - background-color: #200117; - border-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - } - - .button.is-dark.is-inverted { - background-color: #fff; - color: #200117; - } - - .button.is-dark.is-inverted:hover, .button.is-dark.is-inverted.is-hovered { - background-color: #f2f2f2; - } - - .button.is-dark.is-inverted[disabled], fieldset[disabled] .button.is-dark.is-inverted { - background-color: #fff; - border-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: #200117; - } - - .button.is-dark.is-loading::after { - border-color: transparent transparent #fff #fff !important; - } - - .button.is-dark.is-outlined { - background-color: transparent; - border-color: #200117; - color: #200117; - } - - .button.is-dark.is-outlined:hover, .button.is-dark.is-outlined.is-hovered, .button.is-dark.is-outlined:focus, .button.is-dark.is-outlined.is-focused { - background-color: #200117; - border-color: #200117; - color: #fff; - } - - .button.is-dark.is-outlined.is-loading::after { - border-color: transparent transparent #200117 #200117 !important; - } - - .button.is-dark.is-outlined.is-loading:hover::after, .button.is-dark.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-outlined.is-loading:focus::after, .button.is-dark.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent #fff #fff !important; - } - - .button.is-dark.is-outlined[disabled], fieldset[disabled] .button.is-dark.is-outlined { - background-color: transparent; - border-color: #200117; - -webkit-box-shadow: none; - box-shadow: none; - color: #200117; - } - - .button.is-dark.is-inverted.is-outlined { - background-color: transparent; - border-color: #fff; - color: #fff; - } - - .button.is-dark.is-inverted.is-outlined:hover, .button.is-dark.is-inverted.is-outlined.is-hovered, .button.is-dark.is-inverted.is-outlined:focus, .button.is-dark.is-inverted.is-outlined.is-focused { - background-color: #fff; - color: #200117; - } - - .button.is-dark.is-inverted.is-outlined.is-loading:hover::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-inverted.is-outlined.is-loading:focus::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent #200117 #200117 !important; - } - - .button.is-dark.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-dark.is-inverted.is-outlined { - background-color: transparent; - border-color: #fff; - -webkit-box-shadow: none; - box-shadow: none; - color: #fff; - } - - .button.is-primary { - background-color: #A00975; - border-color: transparent; - color: #fff; - } - - .button.is-primary:hover, .button.is-primary.is-hovered { - background-color: #94086c; - border-color: transparent; - color: #fff; - } - - .button.is-primary:focus, .button.is-primary.is-focused { - border-color: transparent; - color: #fff; - } - - .button.is-primary:focus:not(:active), .button.is-primary.is-focused:not(:active) { - -webkit-box-shadow: 0 0 0 0.125em rgba(160, 9, 117, 0.25); - box-shadow: 0 0 0 0.125em rgba(160, 9, 117, 0.25); - } - - .button.is-primary:active, .button.is-primary.is-active, .is-primary.active { - background-color: #880863; - border-color: transparent; - color: #fff; - } - - .button.is-primary[disabled], fieldset[disabled] .button.is-primary { - background-color: #A00975; - border-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - } - - .button.is-primary.is-inverted { - background-color: #fff; - color: #A00975; - } - - .button.is-primary.is-inverted:hover, .button.is-primary.is-inverted.is-hovered { - background-color: #f2f2f2; - } - - .button.is-primary.is-inverted[disabled], fieldset[disabled] .button.is-primary.is-inverted { - background-color: #fff; - border-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: #A00975; - } - - .button.is-primary.is-loading::after { - border-color: transparent transparent #fff #fff !important; - } - - .button.is-primary.is-outlined { - background-color: transparent; - border-color: #A00975; - color: #A00975; - } - - .button.is-primary.is-outlined:hover, .button.is-primary.is-outlined.is-hovered, .button.is-primary.is-outlined:focus, .button.is-primary.is-outlined.is-focused { - background-color: #A00975; - border-color: #A00975; - color: #fff; - } - - .button.is-primary.is-outlined.is-loading::after { - border-color: transparent transparent #A00975 #A00975 !important; - } - - .button.is-primary.is-outlined.is-loading:hover::after, .button.is-primary.is-outlined.is-loading.is-hovered::after, .button.is-primary.is-outlined.is-loading:focus::after, .button.is-primary.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent #fff #fff !important; - } - - .button.is-primary.is-outlined[disabled], fieldset[disabled] .button.is-primary.is-outlined { - background-color: transparent; - border-color: #A00975; - -webkit-box-shadow: none; - box-shadow: none; - color: #A00975; - } - - .button.is-primary.is-inverted.is-outlined { - background-color: transparent; - border-color: #fff; - color: #fff; - } - - .button.is-primary.is-inverted.is-outlined:hover, .button.is-primary.is-inverted.is-outlined.is-hovered, .button.is-primary.is-inverted.is-outlined:focus, .button.is-primary.is-inverted.is-outlined.is-focused { - background-color: #fff; - color: #A00975; - } - - .button.is-primary.is-inverted.is-outlined.is-loading:hover::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-primary.is-inverted.is-outlined.is-loading:focus::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent #A00975 #A00975 !important; - } - - .button.is-primary.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-primary.is-inverted.is-outlined { - background-color: transparent; - border-color: #fff; - -webkit-box-shadow: none; - box-shadow: none; - color: #fff; - } - - .button.is-primary.is-light { - background-color: #feecf9; - color: #f212b2; - } - - .button.is-primary.is-light:hover, .button.is-primary.is-light.is-hovered { - background-color: #fde0f5; - border-color: transparent; - color: #f212b2; - } - - .button.is-primary.is-light:active, .button.is-primary.is-light.is-active, .is-light.active { - background-color: #fdd4f1; - border-color: transparent; - color: #f212b2; - } - - .button.is-link { - background-color: #378BBA; - border-color: transparent; - color: #fff; - } - - .button.is-link:hover, .button.is-link.is-hovered { - background-color: #3484b0; - border-color: transparent; - color: #fff; - } - - .button.is-link:focus, .button.is-link.is-focused { - border-color: transparent; - color: #fff; - } - - .button.is-link:focus:not(:active), .button.is-link.is-focused:not(:active) { - -webkit-box-shadow: 0 0 0 0.125em rgba(55, 139, 186, 0.25); - box-shadow: 0 0 0 0.125em rgba(55, 139, 186, 0.25); - } - - .button.is-link:active, .button.is-link.is-active, .is-link.active { - background-color: #317ca6; - border-color: transparent; - color: #fff; - } - - .button.is-link[disabled], fieldset[disabled] .button.is-link { - background-color: #378BBA; - border-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - } - - .button.is-link.is-inverted { - background-color: #fff; - color: #378BBA; - } - - .button.is-link.is-inverted:hover, .button.is-link.is-inverted.is-hovered { - background-color: #f2f2f2; - } - - .button.is-link.is-inverted[disabled], fieldset[disabled] .button.is-link.is-inverted { - background-color: #fff; - border-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: #378BBA; - } - - .button.is-link.is-loading::after { - border-color: transparent transparent #fff #fff !important; - } - - .button.is-link.is-outlined { - background-color: transparent; - border-color: #378BBA; - color: #378BBA; - } - - .button.is-link.is-outlined:hover, .button.is-link.is-outlined.is-hovered, .button.is-link.is-outlined:focus, .button.is-link.is-outlined.is-focused { - background-color: #378BBA; - border-color: #378BBA; - color: #fff; - } - - .button.is-link.is-outlined.is-loading::after { - border-color: transparent transparent #378BBA #378BBA !important; - } - - .button.is-link.is-outlined.is-loading:hover::after, .button.is-link.is-outlined.is-loading.is-hovered::after, .button.is-link.is-outlined.is-loading:focus::after, .button.is-link.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent #fff #fff !important; - } - - .button.is-link.is-outlined[disabled], fieldset[disabled] .button.is-link.is-outlined { - background-color: transparent; - border-color: #378BBA; - -webkit-box-shadow: none; - box-shadow: none; - color: #378BBA; - } - - .button.is-link.is-inverted.is-outlined { - background-color: transparent; - border-color: #fff; - color: #fff; - } - - .button.is-link.is-inverted.is-outlined:hover, .button.is-link.is-inverted.is-outlined.is-hovered, .button.is-link.is-inverted.is-outlined:focus, .button.is-link.is-inverted.is-outlined.is-focused { - background-color: #fff; - color: #378BBA; - } - - .button.is-link.is-inverted.is-outlined.is-loading:hover::after, .button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-link.is-inverted.is-outlined.is-loading:focus::after, .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent #378BBA #378BBA !important; - } - - .button.is-link.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-link.is-inverted.is-outlined { - background-color: transparent; - border-color: #fff; - -webkit-box-shadow: none; - box-shadow: none; - color: #fff; - } - - .button.is-link.is-light { - background-color: #eff6fa; - color: #317ca5; - } - - .button.is-link.is-light:hover, .button.is-link.is-light.is-hovered { - background-color: #e5f1f7; - border-color: transparent; - color: #317ca5; - } - - .button.is-link.is-light:active, .button.is-link.is-light.is-active, .is-light.active { - background-color: #dcecf5; - border-color: transparent; - color: #317ca5; - } - - .button.is-info { - background-color: #3298dc; - border-color: transparent; - color: #fff; - } - - .button.is-info:hover, .button.is-info.is-hovered { - background-color: #2793da; - border-color: transparent; - color: #fff; - } - - .button.is-info:focus, .button.is-info.is-focused { - border-color: transparent; - color: #fff; - } - - .button.is-info:focus:not(:active), .button.is-info.is-focused:not(:active) { - -webkit-box-shadow: 0 0 0 0.125em rgba(50, 152, 220, 0.25); - box-shadow: 0 0 0 0.125em rgba(50, 152, 220, 0.25); - } - - .button.is-info:active, .button.is-info.is-active, .is-info.active { - background-color: #238cd1; - border-color: transparent; - color: #fff; - } - - .button.is-info[disabled], fieldset[disabled] .button.is-info { - background-color: #3298dc; - border-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - } - - .button.is-info.is-inverted { - background-color: #fff; - color: #3298dc; - } - - .button.is-info.is-inverted:hover, .button.is-info.is-inverted.is-hovered { - background-color: #f2f2f2; - } - - .button.is-info.is-inverted[disabled], fieldset[disabled] .button.is-info.is-inverted { - background-color: #fff; - border-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: #3298dc; - } - - .button.is-info.is-loading::after { - border-color: transparent transparent #fff #fff !important; - } - - .button.is-info.is-outlined { - background-color: transparent; - border-color: #3298dc; - color: #3298dc; - } - - .button.is-info.is-outlined:hover, .button.is-info.is-outlined.is-hovered, .button.is-info.is-outlined:focus, .button.is-info.is-outlined.is-focused { - background-color: #3298dc; - border-color: #3298dc; - color: #fff; - } - - .button.is-info.is-outlined.is-loading::after { - border-color: transparent transparent #3298dc #3298dc !important; - } - - .button.is-info.is-outlined.is-loading:hover::after, .button.is-info.is-outlined.is-loading.is-hovered::after, .button.is-info.is-outlined.is-loading:focus::after, .button.is-info.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent #fff #fff !important; - } - - .button.is-info.is-outlined[disabled], fieldset[disabled] .button.is-info.is-outlined { - background-color: transparent; - border-color: #3298dc; - -webkit-box-shadow: none; - box-shadow: none; - color: #3298dc; - } - - .button.is-info.is-inverted.is-outlined { - background-color: transparent; - border-color: #fff; - color: #fff; - } - - .button.is-info.is-inverted.is-outlined:hover, .button.is-info.is-inverted.is-outlined.is-hovered, .button.is-info.is-inverted.is-outlined:focus, .button.is-info.is-inverted.is-outlined.is-focused { - background-color: #fff; - color: #3298dc; - } - - .button.is-info.is-inverted.is-outlined.is-loading:hover::after, .button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-info.is-inverted.is-outlined.is-loading:focus::after, .button.is-info.is-inverted.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent #3298dc #3298dc !important; - } - - .button.is-info.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-info.is-inverted.is-outlined { - background-color: transparent; - border-color: #fff; - -webkit-box-shadow: none; - box-shadow: none; - color: #fff; - } - - .button.is-info.is-light { - background-color: #eef6fc; - color: #1d72aa; - } - - .button.is-info.is-light:hover, .button.is-info.is-light.is-hovered { - background-color: #e3f1fa; - border-color: transparent; - color: #1d72aa; - } - - .button.is-info.is-light:active, .button.is-info.is-light.is-active, .is-light.active { - background-color: #d8ebf8; - border-color: transparent; - color: #1d72aa; - } - - .button.is-success { - background-color: #48c774; - border-color: transparent; - color: #fff; - } - - .button.is-success:hover, .button.is-success.is-hovered { - background-color: #3ec46d; - border-color: transparent; - color: #fff; - } - - .button.is-success:focus, .button.is-success.is-focused { - border-color: transparent; - color: #fff; - } - - .button.is-success:focus:not(:active), .button.is-success.is-focused:not(:active) { - -webkit-box-shadow: 0 0 0 0.125em rgba(72, 199, 116, 0.25); - box-shadow: 0 0 0 0.125em rgba(72, 199, 116, 0.25); - } - - .button.is-success:active, .button.is-success.is-active, .is-success.active { - background-color: #3abb67; - border-color: transparent; - color: #fff; - } - - .button.is-success[disabled], fieldset[disabled] .button.is-success { - background-color: #48c774; - border-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - } - - .button.is-success.is-inverted { - background-color: #fff; - color: #48c774; - } - - .button.is-success.is-inverted:hover, .button.is-success.is-inverted.is-hovered { - background-color: #f2f2f2; - } - - .button.is-success.is-inverted[disabled], fieldset[disabled] .button.is-success.is-inverted { - background-color: #fff; - border-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: #48c774; - } - - .button.is-success.is-loading::after { - border-color: transparent transparent #fff #fff !important; - } - - .button.is-success.is-outlined { - background-color: transparent; - border-color: #48c774; - color: #48c774; - } - - .button.is-success.is-outlined:hover, .button.is-success.is-outlined.is-hovered, .button.is-success.is-outlined:focus, .button.is-success.is-outlined.is-focused { - background-color: #48c774; - border-color: #48c774; - color: #fff; - } - - .button.is-success.is-outlined.is-loading::after { - border-color: transparent transparent #48c774 #48c774 !important; - } - - .button.is-success.is-outlined.is-loading:hover::after, .button.is-success.is-outlined.is-loading.is-hovered::after, .button.is-success.is-outlined.is-loading:focus::after, .button.is-success.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent #fff #fff !important; - } - - .button.is-success.is-outlined[disabled], fieldset[disabled] .button.is-success.is-outlined { - background-color: transparent; - border-color: #48c774; - -webkit-box-shadow: none; - box-shadow: none; - color: #48c774; - } - - .button.is-success.is-inverted.is-outlined { - background-color: transparent; - border-color: #fff; - color: #fff; - } - - .button.is-success.is-inverted.is-outlined:hover, .button.is-success.is-inverted.is-outlined.is-hovered, .button.is-success.is-inverted.is-outlined:focus, .button.is-success.is-inverted.is-outlined.is-focused { - background-color: #fff; - color: #48c774; - } - - .button.is-success.is-inverted.is-outlined.is-loading:hover::after, .button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-success.is-inverted.is-outlined.is-loading:focus::after, .button.is-success.is-inverted.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent #48c774 #48c774 !important; - } - - .button.is-success.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-success.is-inverted.is-outlined { - background-color: transparent; - border-color: #fff; - -webkit-box-shadow: none; - box-shadow: none; - color: #fff; - } - - .button.is-success.is-light { - background-color: #effaf3; - color: #257942; - } - - .button.is-success.is-light:hover, .button.is-success.is-light.is-hovered { - background-color: #e6f7ec; - border-color: transparent; - color: #257942; - } - - .button.is-success.is-light:active, .button.is-success.is-light.is-active, .is-light.active { - background-color: #dcf4e4; - border-color: transparent; - color: #257942; - } - - .button.is-warning { - background-color: #ffdd57; - border-color: transparent; - color: rgba(0, 0, 0, 0.7); - } - - .button.is-warning:hover, .button.is-warning.is-hovered { - background-color: #ffdb4a; - border-color: transparent; - color: rgba(0, 0, 0, 0.7); - } - - .button.is-warning:focus, .button.is-warning.is-focused { - border-color: transparent; - color: rgba(0, 0, 0, 0.7); - } - - .button.is-warning:focus:not(:active), .button.is-warning.is-focused:not(:active) { - -webkit-box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); - box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); - } - - .button.is-warning:active, .button.is-warning.is-active, .is-warning.active { - background-color: #ffd83d; - border-color: transparent; - color: rgba(0, 0, 0, 0.7); - } - - .button.is-warning[disabled], fieldset[disabled] .button.is-warning { - background-color: #ffdd57; - border-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - } - - .button.is-warning.is-inverted { - background-color: rgba(0, 0, 0, 0.7); - color: #ffdd57; - } - - .button.is-warning.is-inverted:hover, .button.is-warning.is-inverted.is-hovered { - background-color: rgba(0, 0, 0, 0.7); - } - - .button.is-warning.is-inverted[disabled], fieldset[disabled] .button.is-warning.is-inverted { - background-color: rgba(0, 0, 0, 0.7); - border-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: #ffdd57; - } - - .button.is-warning.is-loading::after { - border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; - } - - .button.is-warning.is-outlined { - background-color: transparent; - border-color: #ffdd57; - color: #ffdd57; - } - - .button.is-warning.is-outlined:hover, .button.is-warning.is-outlined.is-hovered, .button.is-warning.is-outlined:focus, .button.is-warning.is-outlined.is-focused { - background-color: #ffdd57; - border-color: #ffdd57; - color: rgba(0, 0, 0, 0.7); - } - - .button.is-warning.is-outlined.is-loading::after { - border-color: transparent transparent #ffdd57 #ffdd57 !important; - } - - .button.is-warning.is-outlined.is-loading:hover::after, .button.is-warning.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-outlined.is-loading:focus::after, .button.is-warning.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; - } - - .button.is-warning.is-outlined[disabled], fieldset[disabled] .button.is-warning.is-outlined { - background-color: transparent; - border-color: #ffdd57; - -webkit-box-shadow: none; - box-shadow: none; - color: #ffdd57; - } - - .button.is-warning.is-inverted.is-outlined { - background-color: transparent; - border-color: rgba(0, 0, 0, 0.7); - color: rgba(0, 0, 0, 0.7); - } - - .button.is-warning.is-inverted.is-outlined:hover, .button.is-warning.is-inverted.is-outlined.is-hovered, .button.is-warning.is-inverted.is-outlined:focus, .button.is-warning.is-inverted.is-outlined.is-focused { - background-color: rgba(0, 0, 0, 0.7); - color: #ffdd57; - } - - .button.is-warning.is-inverted.is-outlined.is-loading:hover::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-inverted.is-outlined.is-loading:focus::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent #ffdd57 #ffdd57 !important; - } - - .button.is-warning.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-warning.is-inverted.is-outlined { - background-color: transparent; - border-color: rgba(0, 0, 0, 0.7); - -webkit-box-shadow: none; - box-shadow: none; - color: rgba(0, 0, 0, 0.7); - } - - .button.is-warning.is-light { - background-color: #fffbeb; - color: #947600; - } - - .button.is-warning.is-light:hover, .button.is-warning.is-light.is-hovered { - background-color: #fff8de; - border-color: transparent; - color: #947600; - } - - .button.is-warning.is-light:active, .button.is-warning.is-light.is-active, .is-light.active { - background-color: #fff6d1; - border-color: transparent; - color: #947600; - } - - .button.is-danger { - background-color: #f14668; - border-color: transparent; - color: #fff; - } - - .button.is-danger:hover, .button.is-danger.is-hovered { - background-color: #f03a5f; - border-color: transparent; - color: #fff; - } - - .button.is-danger:focus, .button.is-danger.is-focused { - border-color: transparent; - color: #fff; - } - - .button.is-danger:focus:not(:active), .button.is-danger.is-focused:not(:active) { - -webkit-box-shadow: 0 0 0 0.125em rgba(241, 70, 104, 0.25); - box-shadow: 0 0 0 0.125em rgba(241, 70, 104, 0.25); - } - - .button.is-danger:active, .button.is-danger.is-active, .is-danger.active { - background-color: #ef2e55; - border-color: transparent; - color: #fff; - } - - .button.is-danger[disabled], fieldset[disabled] .button.is-danger { - background-color: #f14668; - border-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - } - - .button.is-danger.is-inverted { - background-color: #fff; - color: #f14668; - } - - .button.is-danger.is-inverted:hover, .button.is-danger.is-inverted.is-hovered { - background-color: #f2f2f2; - } - - .button.is-danger.is-inverted[disabled], fieldset[disabled] .button.is-danger.is-inverted { - background-color: #fff; - border-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: #f14668; - } - - .button.is-danger.is-loading::after { - border-color: transparent transparent #fff #fff !important; - } - - .button.is-danger.is-outlined { - background-color: transparent; - border-color: #f14668; - color: #f14668; - } - - .button.is-danger.is-outlined:hover, .button.is-danger.is-outlined.is-hovered, .button.is-danger.is-outlined:focus, .button.is-danger.is-outlined.is-focused { - background-color: #f14668; - border-color: #f14668; - color: #fff; - } - - .button.is-danger.is-outlined.is-loading::after { - border-color: transparent transparent #f14668 #f14668 !important; - } - - .button.is-danger.is-outlined.is-loading:hover::after, .button.is-danger.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-outlined.is-loading:focus::after, .button.is-danger.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent #fff #fff !important; - } - - .button.is-danger.is-outlined[disabled], fieldset[disabled] .button.is-danger.is-outlined { - background-color: transparent; - border-color: #f14668; - -webkit-box-shadow: none; - box-shadow: none; - color: #f14668; - } - - .button.is-danger.is-inverted.is-outlined { - background-color: transparent; - border-color: #fff; - color: #fff; - } - - .button.is-danger.is-inverted.is-outlined:hover, .button.is-danger.is-inverted.is-outlined.is-hovered, .button.is-danger.is-inverted.is-outlined:focus, .button.is-danger.is-inverted.is-outlined.is-focused { - background-color: #fff; - color: #f14668; - } - - .button.is-danger.is-inverted.is-outlined.is-loading:hover::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-inverted.is-outlined.is-loading:focus::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent #f14668 #f14668 !important; - } - - .button.is-danger.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-danger.is-inverted.is-outlined { - background-color: transparent; - border-color: #fff; - -webkit-box-shadow: none; - box-shadow: none; - color: #fff; - } - - .button.is-danger.is-light { - background-color: #feecf0; - color: #cc0f35; - } - - .button.is-danger.is-light:hover, .button.is-danger.is-light.is-hovered { - background-color: #fde0e6; - border-color: transparent; - color: #cc0f35; - } - - .button.is-danger.is-light:active, .button.is-danger.is-light.is-active, .is-light.active { - background-color: #fcd4dc; - border-color: transparent; - color: #cc0f35; - } - - .button.is-small { - font-size: 0.75rem; - } - - .button.is-small:not(.is-rounded) { - border-radius: 2px; - } - - .button.is-normal { - font-size: 1rem; - } - - .button.is-medium { - font-size: 1.25rem; - } - - .button.is-large { - font-size: 1.5rem; - } - - .button[disabled], fieldset[disabled] .button { - background-color: white; - border-color: #dbdbdb; - -webkit-box-shadow: none; - box-shadow: none; - opacity: 0.5; - } - - .button.is-fullwidth { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - width: 100%; - } - - .button.is-loading { - color: transparent !important; - pointer-events: none; - } - - .button.is-loading::after { - position: absolute; - left: calc(50% - (1em / 2)); - top: calc(50% - (1em / 2)); - position: absolute !important; - } - - .button.is-static { - background-color: whitesmoke; - border-color: #dbdbdb; - color: #7a7a7a; - -webkit-box-shadow: none; - box-shadow: none; - pointer-events: none; - } - - .button.is-rounded { - border-radius: 290486px; - padding-left: calc(1em + 0.25em); - padding-right: calc(1em + 0.25em); - } - -.buttons { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; -} - - .buttons .button { - margin-bottom: 0.5rem; - } - - .buttons .button:not(:last-child):not(.is-fullwidth) { - margin-right: 0.5rem; - } - - .buttons:last-child { - margin-bottom: -0.5rem; - } - - .buttons:not(:last-child) { - margin-bottom: 1rem; - } - - .buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large) { - font-size: 0.75rem; - } - - .buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large):not(.is-rounded) { - border-radius: 2px; - } - - .buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large) { - font-size: 1.25rem; - } - - .buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium) { - font-size: 1.5rem; - } - - .buttons.has-addons .button:not(:first-child) { - border-bottom-left-radius: 0; - border-top-left-radius: 0; - } - - .buttons.has-addons .button:not(:last-child) { - border-bottom-right-radius: 0; - border-top-right-radius: 0; - margin-right: -1px; - } - - .buttons.has-addons .button:last-child { - margin-right: 0; - } - - .buttons.has-addons .button:hover, .buttons.has-addons .button.is-hovered { - z-index: 2; - } - - .buttons.has-addons .button:focus, .buttons.has-addons .button.is-focused, .buttons.has-addons .button:active, .buttons.has-addons .button.is-active, .buttons.has-addons .button.active, .buttons.has-addons .button.is-selected { - z-index: 3; - } - - .buttons.has-addons .button:focus:hover, .buttons.has-addons .button.is-focused:hover, .buttons.has-addons .button:active:hover, .buttons.has-addons .button.is-active:hover, .buttons.has-addons .button.active:hover, .buttons.has-addons .button.is-selected:hover { - z-index: 4; - } - - .buttons.has-addons .button.is-expanded { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-negative: 1; - flex-shrink: 1; - } - - .buttons.is-centered { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - } - - .buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth) { - margin-left: 0.25rem; - margin-right: 0.25rem; - } - - .buttons.is-right { - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; - } - - .buttons.is-right:not(.has-addons) .button:not(.is-fullwidth) { - margin-left: 0.25rem; - margin-right: 0.25rem; - } - -.container { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - margin: 0 auto; - position: relative; - width: auto; -} - - .container.is-fluid { - max-width: none !important; - padding-left: 32px; - padding-right: 32px; - width: 100%; - } - -@media screen and (min-width: 1024px) { - .container { - max-width: 960px; - } -} - -@media screen and (max-width: 1215px) { - .container.is-widescreen:not(.is-max-desktop) { - max-width: 1152px; - } -} - -@media screen and (max-width: 1407px) { - .container.is-fullhd:not(.is-max-desktop):not(.is-max-widescreen) { - max-width: 1344px; - } -} - -@media screen and (min-width: 1216px) { - .container:not(.is-max-desktop) { - max-width: 1152px; - } -} - -@media screen and (min-width: 1408px) { - .container:not(.is-max-desktop):not(.is-max-widescreen) { - max-width: 1344px; - } -} - -.content li + li { - margin-top: 0.25em; -} - -.content p:not(:last-child), -.content dl:not(:last-child), -.content ol:not(:last-child), -.content ul:not(:last-child), -.content blockquote:not(:last-child), -.content pre:not(:last-child), -.content table:not(:last-child) { - margin-bottom: 1em; -} - -.content h1, -.content h2, -.content h3, -.content h4, -.content h5, -.content h6 { - color: #363636; - font-weight: 600; - line-height: 1.125; -} - -.content h1 { - font-size: 2em; - margin-bottom: 0.5em; -} - - .content h1:not(:first-child) { - margin-top: 1em; - } - -.content h2 { - font-size: 1.75em; - margin-bottom: 0.5714em; -} - - .content h2:not(:first-child) { - margin-top: 1.1428em; - } - -.content h3 { - font-size: 1.5em; - margin-bottom: 0.6666em; -} - - .content h3:not(:first-child) { - margin-top: 1.3333em; - } - -.content h4 { - font-size: 1.25em; - margin-bottom: 0.8em; -} - -.content h5 { - font-size: 1.125em; - margin-bottom: 0.8888em; -} - -.content h6 { - font-size: 1em; - margin-bottom: 1em; -} - -.content blockquote { - background-color: whitesmoke; - border-left: 5px solid #dbdbdb; - padding: 1.25em 1.5em; -} - -.content ol { - list-style-position: outside; - margin-left: 2em; - margin-top: 1em; -} - - .content ol:not([type]) { - list-style-type: decimal; - } - - .content ol:not([type]).is-lower-alpha { - list-style-type: lower-alpha; - } - - .content ol:not([type]).is-lower-roman { - list-style-type: lower-roman; - } - - .content ol:not([type]).is-upper-alpha { - list-style-type: upper-alpha; - } - - .content ol:not([type]).is-upper-roman { - list-style-type: upper-roman; - } - -.content ul { - list-style: disc outside; - margin-left: 2em; - margin-top: 1em; -} - - .content ul ul { - list-style-type: circle; - margin-top: 0.5em; - } - - .content ul ul ul { - list-style-type: square; - } - -.content dd { - margin-left: 2em; -} - -.content figure { - margin-left: 2em; - margin-right: 2em; - text-align: center; -} - - .content figure:not(:first-child) { - margin-top: 2em; - } - - .content figure:not(:last-child) { - margin-bottom: 2em; - } - - .content figure img { - display: inline-block; - } - - .content figure figcaption { - font-style: italic; - } - -.content pre { - -webkit-overflow-scrolling: touch; - overflow-x: auto; - padding: 1.25em 1.5em; - white-space: pre; - word-wrap: normal; -} - -.content sup, -.content sub { - font-size: 75%; -} - -.content table { - width: 100%; -} - - .content table td, - .content table th { - border: 1px solid #dbdbdb; - border-width: 0 0 1px; - padding: 0.5em 0.75em; - vertical-align: top; - } - - .content table th { - color: #363636; - } - - .content table th:not([align]) { - text-align: inherit; - } - - .content table thead td, - .content table thead th { - border-width: 0 0 2px; - color: #363636; - } - - .content table tfoot td, - .content table tfoot th { - border-width: 2px 0 0; - color: #363636; - } - - .content table tbody tr:last-child td, - .content table tbody tr:last-child th { - border-bottom-width: 0; - } - -.content .tabs li + li { - margin-top: 0; -} - -.content.is-small { - font-size: 0.75rem; -} - -.content.is-medium { - font-size: 1.25rem; -} - -.content.is-large { - font-size: 1.5rem; -} - -.icon { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - height: 1.5rem; - width: 1.5rem; -} - - .icon.is-small { - height: 1rem; - width: 1rem; - } - - .icon.is-medium { - height: 2rem; - width: 2rem; - } - - .icon.is-large { - height: 3rem; - width: 3rem; - } - -.icon-text { - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; - color: inherit; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - line-height: 1.5rem; - vertical-align: top; -} - - .icon-text .icon { - -webkit-box-flex: 0; - -ms-flex-positive: 0; - flex-grow: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - } - - .icon-text .icon:not(:last-child) { - margin-right: 0.25em; - } - - .icon-text .icon:not(:first-child) { - margin-left: 0.25em; - } - -div.icon-text { - display: -webkit-box; - display: -ms-flexbox; - display: flex; -} - -.image { - display: block; - position: relative; -} - - .image img { - display: block; - height: auto; - width: 100%; - } - - .image img.is-rounded { - border-radius: 290486px; - } - - .image.is-fullwidth { - width: 100%; - } - - .image.is-square img, - .image.is-square .has-ratio, .image.is-1by1 img, - .image.is-1by1 .has-ratio, .image.is-5by4 img, - .image.is-5by4 .has-ratio, .image.is-4by3 img, - .image.is-4by3 .has-ratio, .image.is-3by2 img, - .image.is-3by2 .has-ratio, .image.is-5by3 img, - .image.is-5by3 .has-ratio, .image.is-16by9 img, - .image.is-16by9 .has-ratio, .image.is-2by1 img, - .image.is-2by1 .has-ratio, .image.is-3by1 img, - .image.is-3by1 .has-ratio, .image.is-4by5 img, - .image.is-4by5 .has-ratio, .image.is-3by4 img, - .image.is-3by4 .has-ratio, .image.is-2by3 img, - .image.is-2by3 .has-ratio, .image.is-3by5 img, - .image.is-3by5 .has-ratio, .image.is-9by16 img, - .image.is-9by16 .has-ratio, .image.is-1by2 img, - .image.is-1by2 .has-ratio, .image.is-1by3 img, - .image.is-1by3 .has-ratio { - height: 100%; - width: 100%; - } - - .image.is-square, .image.is-1by1 { - padding-top: 100%; - } - - .image.is-5by4 { - padding-top: 80%; - } - - .image.is-4by3 { - padding-top: 75%; - } - - .image.is-3by2 { - padding-top: 66.6666%; - } - - .image.is-5by3 { - padding-top: 60%; - } - - .image.is-16by9 { - padding-top: 56.25%; - } - - .image.is-2by1 { - padding-top: 50%; - } - - .image.is-3by1 { - padding-top: 33.3333%; - } - - .image.is-4by5 { - padding-top: 125%; - } - - .image.is-3by4 { - padding-top: 133.3333%; - } - - .image.is-2by3 { - padding-top: 150%; - } - - .image.is-3by5 { - padding-top: 166.6666%; - } - - .image.is-9by16 { - padding-top: 177.7777%; - } - - .image.is-1by2 { - padding-top: 200%; - } - - .image.is-1by3 { - padding-top: 300%; - } - - .image.is-16x16 { - height: 16px; - width: 16px; - } - - .image.is-24x24 { - height: 24px; - width: 24px; - } - - .image.is-32x32 { - height: 32px; - width: 32px; - } - - .image.is-48x48 { - height: 48px; - width: 48px; - } - - .image.is-64x64 { - height: 64px; - width: 64px; - } - - .image.is-96x96 { - height: 96px; - width: 96px; - } - - .image.is-128x128 { - height: 128px; - width: 128px; - } - -.notification { - background-color: whitesmoke; - border-radius: 4px; - position: relative; - padding: 1.25rem 2.5rem 1.25rem 1.5rem; -} - - .notification a:not(.button):not(.dropdown-item) { - color: currentColor; - text-decoration: underline; - } - - .notification strong { - color: currentColor; - } - - .notification code, - .notification pre { - background: white; - } - - .notification pre code { - background: transparent; - } - - .notification > .delete { - right: 0.5rem; - position: absolute; - top: 0.5rem; - } - - .notification .title, - .notification .subtitle, - .notification .content { - color: currentColor; - } - - .notification.is-white { - background-color: white; - color: #0a0a0a; - } - - .notification.is-black { - background-color: #0a0a0a; - color: white; - } - - .notification.is-light { - background-color: whitesmoke; - color: rgba(0, 0, 0, 0.7); - } - - .notification.is-dark { - background-color: #200117; - color: #fff; - } - - .notification.is-primary { - background-color: #A00975; - color: #fff; - } - - .notification.is-primary.is-light { - background-color: #feecf9; - color: #f212b2; - } - - .notification.is-link { - background-color: #378BBA; - color: #fff; - } - - .notification.is-link.is-light { - background-color: #eff6fa; - color: #317ca5; - } - - .notification.is-info { - background-color: #3298dc; - color: #fff; - } - - .notification.is-info.is-light { - background-color: #eef6fc; - color: #1d72aa; - } - - .notification.is-success { - background-color: #48c774; - color: #fff; - } - - .notification.is-success.is-light { - background-color: #effaf3; - color: #257942; - } - - .notification.is-warning { - background-color: #ffdd57; - color: rgba(0, 0, 0, 0.7); - } - - .notification.is-warning.is-light { - background-color: #fffbeb; - color: #947600; - } - - .notification.is-danger { - background-color: #f14668; - color: #fff; - } - - .notification.is-danger.is-light { - background-color: #feecf0; - color: #cc0f35; - } - -.progress { - -moz-appearance: none; - -webkit-appearance: none; - border: none; - border-radius: 290486px; - display: block; - height: 1rem; - overflow: hidden; - padding: 0; - width: 100%; -} - - .progress::-webkit-progress-bar { - background-color: #ededed; - } - - .progress::-webkit-progress-value { - background-color: #4a4a4a; - } - - .progress::-moz-progress-bar { - background-color: #4a4a4a; - } - - .progress::-ms-fill { - background-color: #4a4a4a; - border: none; - } - - .progress.is-white::-webkit-progress-value { - background-color: white; - } - - .progress.is-white::-moz-progress-bar { - background-color: white; - } - - .progress.is-white::-ms-fill { - background-color: white; - } - - .progress.is-white:indeterminate { - background-image: -webkit-gradient(linear, left top, right top, color-stop(30%, white), color-stop(30%, #ededed)); - background-image: -o-linear-gradient(left, white 30%, #ededed 30%); - background-image: linear-gradient(to right, white 30%, #ededed 30%); - } - - .progress.is-black::-webkit-progress-value { - background-color: #0a0a0a; - } - - .progress.is-black::-moz-progress-bar { - background-color: #0a0a0a; - } - - .progress.is-black::-ms-fill { - background-color: #0a0a0a; - } - - .progress.is-black:indeterminate { - background-image: -webkit-gradient(linear, left top, right top, color-stop(30%, #0a0a0a), color-stop(30%, #ededed)); - background-image: -o-linear-gradient(left, #0a0a0a 30%, #ededed 30%); - background-image: linear-gradient(to right, #0a0a0a 30%, #ededed 30%); - } - - .progress.is-light::-webkit-progress-value { - background-color: whitesmoke; - } - - .progress.is-light::-moz-progress-bar { - background-color: whitesmoke; - } - - .progress.is-light::-ms-fill { - background-color: whitesmoke; - } - - .progress.is-light:indeterminate { - background-image: -webkit-gradient(linear, left top, right top, color-stop(30%, whitesmoke), color-stop(30%, #ededed)); - background-image: -o-linear-gradient(left, whitesmoke 30%, #ededed 30%); - background-image: linear-gradient(to right, whitesmoke 30%, #ededed 30%); - } - - .progress.is-dark::-webkit-progress-value { - background-color: #200117; - } - - .progress.is-dark::-moz-progress-bar { - background-color: #200117; - } - - .progress.is-dark::-ms-fill { - background-color: #200117; - } - - .progress.is-dark:indeterminate { - background-image: -webkit-gradient(linear, left top, right top, color-stop(30%, #200117), color-stop(30%, #ededed)); - background-image: -o-linear-gradient(left, #200117 30%, #ededed 30%); - background-image: linear-gradient(to right, #200117 30%, #ededed 30%); - } - - .progress.is-primary::-webkit-progress-value { - background-color: #A00975; - } - - .progress.is-primary::-moz-progress-bar { - background-color: #A00975; - } - - .progress.is-primary::-ms-fill { - background-color: #A00975; - } - - .progress.is-primary:indeterminate { - background-image: -webkit-gradient(linear, left top, right top, color-stop(30%, #A00975), color-stop(30%, #ededed)); - background-image: -o-linear-gradient(left, #A00975 30%, #ededed 30%); - background-image: linear-gradient(to right, #A00975 30%, #ededed 30%); - } - - .progress.is-link::-webkit-progress-value { - background-color: #378BBA; - } - - .progress.is-link::-moz-progress-bar { - background-color: #378BBA; - } - - .progress.is-link::-ms-fill { - background-color: #378BBA; - } - - .progress.is-link:indeterminate { - background-image: -webkit-gradient(linear, left top, right top, color-stop(30%, #378BBA), color-stop(30%, #ededed)); - background-image: -o-linear-gradient(left, #378BBA 30%, #ededed 30%); - background-image: linear-gradient(to right, #378BBA 30%, #ededed 30%); - } - - .progress.is-info::-webkit-progress-value { - background-color: #3298dc; - } - - .progress.is-info::-moz-progress-bar { - background-color: #3298dc; - } - - .progress.is-info::-ms-fill { - background-color: #3298dc; - } - - .progress.is-info:indeterminate { - background-image: -webkit-gradient(linear, left top, right top, color-stop(30%, #3298dc), color-stop(30%, #ededed)); - background-image: -o-linear-gradient(left, #3298dc 30%, #ededed 30%); - background-image: linear-gradient(to right, #3298dc 30%, #ededed 30%); - } - - .progress.is-success::-webkit-progress-value { - background-color: #48c774; - } - - .progress.is-success::-moz-progress-bar { - background-color: #48c774; - } - - .progress.is-success::-ms-fill { - background-color: #48c774; - } - - .progress.is-success:indeterminate { - background-image: -webkit-gradient(linear, left top, right top, color-stop(30%, #48c774), color-stop(30%, #ededed)); - background-image: -o-linear-gradient(left, #48c774 30%, #ededed 30%); - background-image: linear-gradient(to right, #48c774 30%, #ededed 30%); - } - - .progress.is-warning::-webkit-progress-value { - background-color: #ffdd57; - } - - .progress.is-warning::-moz-progress-bar { - background-color: #ffdd57; - } - - .progress.is-warning::-ms-fill { - background-color: #ffdd57; - } - - .progress.is-warning:indeterminate { - background-image: -webkit-gradient(linear, left top, right top, color-stop(30%, #ffdd57), color-stop(30%, #ededed)); - background-image: -o-linear-gradient(left, #ffdd57 30%, #ededed 30%); - background-image: linear-gradient(to right, #ffdd57 30%, #ededed 30%); - } - - .progress.is-danger::-webkit-progress-value { - background-color: #f14668; - } - - .progress.is-danger::-moz-progress-bar { - background-color: #f14668; - } - - .progress.is-danger::-ms-fill { - background-color: #f14668; - } - - .progress.is-danger:indeterminate { - background-image: -webkit-gradient(linear, left top, right top, color-stop(30%, #f14668), color-stop(30%, #ededed)); - background-image: -o-linear-gradient(left, #f14668 30%, #ededed 30%); - background-image: linear-gradient(to right, #f14668 30%, #ededed 30%); - } - - .progress:indeterminate { - -webkit-animation-duration: 1.5s; - animation-duration: 1.5s; - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; - -webkit-animation-name: moveIndeterminate; - animation-name: moveIndeterminate; - -webkit-animation-timing-function: linear; - animation-timing-function: linear; - background-color: #ededed; - background-image: -webkit-gradient(linear, left top, right top, color-stop(30%, #4a4a4a), color-stop(30%, #ededed)); - background-image: -o-linear-gradient(left, #4a4a4a 30%, #ededed 30%); - background-image: linear-gradient(to right, #4a4a4a 30%, #ededed 30%); - background-position: top left; - background-repeat: no-repeat; - background-size: 150% 150%; - } - - .progress:indeterminate::-webkit-progress-bar { - background-color: transparent; - } - - .progress:indeterminate::-moz-progress-bar { - background-color: transparent; - } - - .progress:indeterminate::-ms-fill { - animation-name: none; - } - - .progress.is-small { - height: 0.75rem; - } - - .progress.is-medium { - height: 1.25rem; - } - - .progress.is-large { - height: 1.5rem; - } - -@-webkit-keyframes moveIndeterminate { - from { - background-position: 200% 0; - } - - to { - background-position: -200% 0; - } -} - -@keyframes moveIndeterminate { - from { - background-position: 200% 0; - } - - to { - background-position: -200% 0; - } -} - -.table, table { - background-color: white; - color: #363636; -} - - .table td, table td, - .table th, - table th { - border: 1px solid #200117; - border-width: 0 0 1px; - padding: 0.5em 0.75em; - vertical-align: top; - } - - .table td.is-white, table td.is-white, - .table th.is-white, - table th.is-white { - background-color: white; - border-color: white; - color: #0a0a0a; - } - - .table td.is-black, table td.is-black, - .table th.is-black, - table th.is-black { - background-color: #0a0a0a; - border-color: #0a0a0a; - color: white; - } - - .table td.is-light, table td.is-light, - .table th.is-light, - table th.is-light { - background-color: whitesmoke; - border-color: whitesmoke; - color: rgba(0, 0, 0, 0.7); - } - - .table td.is-dark, table td.is-dark, - .table th.is-dark, - table th.is-dark { - background-color: #200117; - border-color: #200117; - color: #fff; - } - - .table td.is-primary, table td.is-primary, - .table th.is-primary, - table th.is-primary { - background-color: #A00975; - border-color: #A00975; - color: #fff; - } - - .table td.is-link, table td.is-link, - .table th.is-link, - table th.is-link { - background-color: #378BBA; - border-color: #378BBA; - color: #fff; - } - - .table td.is-info, table td.is-info, - .table th.is-info, - table th.is-info { - background-color: #3298dc; - border-color: #3298dc; - color: #fff; - } - - .table td.is-success, table td.is-success, - .table th.is-success, - table th.is-success { - background-color: #48c774; - border-color: #48c774; - color: #fff; - } - - .table td.is-warning, table td.is-warning, - .table th.is-warning, - table th.is-warning { - background-color: #ffdd57; - border-color: #ffdd57; - color: rgba(0, 0, 0, 0.7); - } - - .table td.is-danger, table td.is-danger, - .table th.is-danger, - table th.is-danger { - background-color: #f14668; - border-color: #f14668; - color: #fff; - } - - .table td.is-narrow, table td.is-narrow, - .table th.is-narrow, - table th.is-narrow { - white-space: nowrap; - width: 1%; - } - - .table td.is-selected, table td.is-selected, - .table th.is-selected, - table th.is-selected { - background-color: #A00975; - color: #fff; - } - - .table td.is-selected a, table td.is-selected a, - .table td.is-selected strong, - table td.is-selected strong, - .table th.is-selected a, - table th.is-selected a, - .table th.is-selected strong, - table th.is-selected strong { - color: currentColor; - } - - .table td.is-vcentered, table td.is-vcentered, - .table th.is-vcentered, - table th.is-vcentered { - vertical-align: middle; - } - - .table th, table th { - color: #A00975; - } - - .table th:not([align]), table th:not([align]) { - text-align: inherit; - } - - .table tr.is-selected, table tr.is-selected { - background-color: #A00975; - color: #fff; - } - - .table tr.is-selected a, table tr.is-selected a, - .table tr.is-selected strong, - table tr.is-selected strong { - color: currentColor; - } - - .table tr.is-selected td, table tr.is-selected td, - .table tr.is-selected th, - table tr.is-selected th { - border-color: #fff; - color: currentColor; - } - - .table thead, table thead { - background-color: transparent; - } - - .table thead td, table thead td, - .table thead th, - table thead th { - border-width: 0 0 2px; - color: #A00975; - } - - .table tfoot, table tfoot { - background-color: transparent; - } - - .table tfoot td, table tfoot td, - .table tfoot th, - table tfoot th { - border-width: 2px 0 0; - color: #363636; - } - - .table tbody, table tbody { - background-color: transparent; - } - - .table tbody tr:last-child td, table tbody tr:last-child td, - .table tbody tr:last-child th, - table tbody tr:last-child th { - border-bottom-width: 0; - } - - .table.is-bordered td, table.is-bordered td, - .table.is-bordered th, - table.is-bordered th { - border-width: 1px; - } - - .table.is-bordered tr:last-child td, table.is-bordered tr:last-child td, - .table.is-bordered tr:last-child th, - table.is-bordered tr:last-child th { - border-bottom-width: 1px; - } - - .table.is-fullwidth, table.is-fullwidth { - width: 100%; - } - - .table.is-hoverable tbody tr:not(.is-selected):hover, table.is-hoverable tbody tr:not(.is-selected):hover { - background-color: #fafafa; - } - - .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover, table.is-hoverable tbody tr:not(.is-selected):hover { - background-color: #fafafa; - } - - .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even), table.is-hoverable tbody tr:not(.is-selected):hover:nth-child(even) { - background-color: whitesmoke; - } - - .table.is-narrow td, table.is-narrow td, - .table.is-narrow th, - table.is-narrow th { - padding: 0.25em 0.5em; - } - - .table.is-striped tbody tr:not(.is-selected):nth-child(even), table tbody tr:not(.is-selected):nth-child(even) { - background-color: #fafafa; - } - -.table-container { - -webkit-overflow-scrolling: touch; - overflow: auto; - overflow-y: hidden; - max-width: 100%; -} - -.tags { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; -} - - .tags .tag { - margin-bottom: 0.5rem; - } - - .tags .tag:not(:last-child) { - margin-right: 0.5rem; - } - - .tags:last-child { - margin-bottom: -0.5rem; - } - - .tags:not(:last-child) { - margin-bottom: 1rem; - } - - .tags.are-medium .tag:not(.is-normal):not(.is-large) { - font-size: 1rem; - } - - .tags.are-large .tag:not(.is-normal):not(.is-medium) { - font-size: 1.25rem; - } - - .tags.is-centered { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - } - - .tags.is-centered .tag { - margin-right: 0.25rem; - margin-left: 0.25rem; - } - - .tags.is-right { - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; - } - - .tags.is-right .tag:not(:first-child) { - margin-left: 0.5rem; - } - - .tags.is-right .tag:not(:last-child) { - margin-right: 0; - } - - .tags.has-addons .tag { - margin-right: 0; - } - - .tags.has-addons .tag:not(:first-child) { - margin-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - } - - .tags.has-addons .tag:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } - -.tag:not(body) { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - background-color: whitesmoke; - border-radius: 4px; - color: #4a4a4a; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - font-size: 0.75rem; - height: 2em; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - line-height: 1.5; - padding-left: 0.75em; - padding-right: 0.75em; - white-space: nowrap; -} - - .tag:not(body) .delete { - margin-left: 0.25rem; - margin-right: -0.375rem; - } - - .tag:not(body).is-white { - background-color: white; - color: #0a0a0a; - } - - .tag:not(body).is-black { - background-color: #0a0a0a; - color: white; - } - - .tag:not(body).is-light { - background-color: whitesmoke; - color: rgba(0, 0, 0, 0.7); - } - - .tag:not(body).is-dark { - background-color: #200117; - color: #fff; - } - - .tag:not(body).is-primary { - background-color: #A00975; - color: #fff; - } - - .tag:not(body).is-primary.is-light { - background-color: #feecf9; - color: #f212b2; - } - - .tag:not(body).is-link { - background-color: #378BBA; - color: #fff; - } - - .tag:not(body).is-link.is-light { - background-color: #eff6fa; - color: #317ca5; - } - - .tag:not(body).is-info { - background-color: #3298dc; - color: #fff; - } - - .tag:not(body).is-info.is-light { - background-color: #eef6fc; - color: #1d72aa; - } - - .tag:not(body).is-success { - background-color: #48c774; - color: #fff; - } - - .tag:not(body).is-success.is-light { - background-color: #effaf3; - color: #257942; - } - - .tag:not(body).is-warning { - background-color: #ffdd57; - color: rgba(0, 0, 0, 0.7); - } - - .tag:not(body).is-warning.is-light { - background-color: #fffbeb; - color: #947600; - } - - .tag:not(body).is-danger { - background-color: #f14668; - color: #fff; - } - - .tag:not(body).is-danger.is-light { - background-color: #feecf0; - color: #cc0f35; - } - - .tag:not(body).is-normal { - font-size: 0.75rem; - } - - .tag:not(body).is-medium { - font-size: 1rem; - } - - .tag:not(body).is-large { - font-size: 1.25rem; - } - - .tag:not(body) .icon:first-child:not(:last-child) { - margin-left: -0.375em; - margin-right: 0.1875em; - } - - .tag:not(body) .icon:last-child:not(:first-child) { - margin-left: 0.1875em; - margin-right: -0.375em; - } - - .tag:not(body) .icon:first-child:last-child { - margin-left: -0.375em; - margin-right: -0.375em; - } - - .tag:not(body).is-delete { - margin-left: 1px; - padding: 0; - position: relative; - width: 2em; - } - - .tag:not(body).is-delete::before, .tag:not(body).is-delete::after { - background-color: currentColor; - content: ""; - display: block; - left: 50%; - position: absolute; - top: 50%; - -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg); - -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg); - transform: translateX(-50%) translateY(-50%) rotate(45deg); - -webkit-transform-origin: center center; - -ms-transform-origin: center center; - transform-origin: center center; - } - - .tag:not(body).is-delete::before { - height: 1px; - width: 50%; - } - - .tag:not(body).is-delete::after { - height: 50%; - width: 1px; - } - - .tag:not(body).is-delete:hover, .tag:not(body).is-delete:focus { - background-color: #e8e8e8; - } - - .tag:not(body).is-delete:active { - background-color: #dbdbdb; - } - - .tag:not(body).is-rounded { - border-radius: 290486px; - } - -a.tag:hover { - text-decoration: underline; -} - -.title, -.subtitle { - word-break: break-word; -} - - .title em, - .title span, - .subtitle em, - .subtitle span { - font-weight: inherit; - } - - .title sub, - .subtitle sub { - font-size: 0.75em; - } - - .title sup, - .subtitle sup { - font-size: 0.75em; - } - - .title .tag, - .subtitle .tag { - vertical-align: middle; - } - -.title { - color: #363636; - font-size: 2rem; - font-weight: 600; - line-height: 1.125; -} - - .title strong { - color: inherit; - font-weight: inherit; - } - - .title + .highlight { - margin-top: -0.75rem; - } - - .title:not(.is-spaced) + .subtitle { - margin-top: -1.25rem; - } - - .title.is-1 { - font-size: 3rem; - } - - .title.is-2 { - font-size: 2.5rem; - } - - .title.is-3 { - font-size: 2rem; - } - - .title.is-4 { - font-size: 1.5rem; - } - - .title.is-5 { - font-size: 1.25rem; - } - - .title.is-6 { - font-size: 1rem; - } - - .title.is-7 { - font-size: 0.75rem; - } - -.subtitle { - color: #4a4a4a; - font-size: 1.25rem; - font-weight: 400; - line-height: 1.25; -} - - .subtitle strong { - color: #363636; - font-weight: 600; - } - - .subtitle:not(.is-spaced) + .title { - margin-top: -1.25rem; - } - - .subtitle.is-1 { - font-size: 3rem; - } - - .subtitle.is-2 { - font-size: 2.5rem; - } - - .subtitle.is-3 { - font-size: 2rem; - } - - .subtitle.is-4 { - font-size: 1.5rem; - } - - .subtitle.is-5 { - font-size: 1.25rem; - } - - .subtitle.is-6 { - font-size: 1rem; - } - - .subtitle.is-7 { - font-size: 0.75rem; - } - -.heading { - display: block; - font-size: 11px; - letter-spacing: 1px; - margin-bottom: 5px; - text-transform: uppercase; -} - -.highlight { - font-weight: 400; - max-width: 100%; - overflow: hidden; - padding: 0; -} - - .highlight pre { - overflow: auto; - max-width: 100%; - } - -.number { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - background-color: whitesmoke; - border-radius: 290486px; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - font-size: 1.25rem; - height: 2em; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - margin-right: 1.5rem; - min-width: 2.5em; - padding: 0.25rem 0.5rem; - text-align: center; - vertical-align: top; -} - -/* Bulma Form */ -.select select, .textarea, .input { - background-color: white; - border-color: #dbdbdb; - border-radius: 4px; - color: #363636; -} - - .select select::-moz-placeholder, .textarea::-moz-placeholder, .input::-moz-placeholder { - color: rgba(54, 54, 54, 0.3); - } - - .select select::-webkit-input-placeholder, .textarea::-webkit-input-placeholder, .input::-webkit-input-placeholder { - color: rgba(54, 54, 54, 0.3); - } - - .select select:-moz-placeholder, .textarea:-moz-placeholder, .input:-moz-placeholder { - color: rgba(54, 54, 54, 0.3); - } - - .select select:-ms-input-placeholder, .textarea:-ms-input-placeholder, .input:-ms-input-placeholder { - color: rgba(54, 54, 54, 0.3); - } - - .select select:hover, .textarea:hover, .input:hover, .select select.is-hovered, .is-hovered.textarea, .is-hovered.input { - border-color: #b5b5b5; - } - - .select select:focus, .textarea:focus, .input:focus, .select select.is-focused, .is-focused.textarea, .is-focused.input, .select select:active, .textarea:active, .input:active, .select select.is-active, .select select.active, .is-active.textarea, .textarea.active, .is-active.input, .input.active { - border-color: #378BBA; - -webkit-box-shadow: 0 0 0 0.125em rgba(55, 139, 186, 0.25); - box-shadow: 0 0 0 0.125em rgba(55, 139, 186, 0.25); - } - - .select select[disabled], [disabled].textarea, [disabled].input, fieldset[disabled] .select select, .select fieldset[disabled] select, fieldset[disabled] .textarea, fieldset[disabled] .input { - background-color: whitesmoke; - border-color: whitesmoke; - -webkit-box-shadow: none; - box-shadow: none; - color: #7a7a7a; - } - - .select select[disabled]::-moz-placeholder, [disabled].textarea::-moz-placeholder, [disabled].input::-moz-placeholder, fieldset[disabled] .select select::-moz-placeholder, .select fieldset[disabled] select::-moz-placeholder, fieldset[disabled] .textarea::-moz-placeholder, fieldset[disabled] .input::-moz-placeholder { - color: rgba(122, 122, 122, 0.3); - } - - .select select[disabled]::-webkit-input-placeholder, [disabled].textarea::-webkit-input-placeholder, [disabled].input::-webkit-input-placeholder, fieldset[disabled] .select select::-webkit-input-placeholder, .select fieldset[disabled] select::-webkit-input-placeholder, fieldset[disabled] .textarea::-webkit-input-placeholder, fieldset[disabled] .input::-webkit-input-placeholder { - color: rgba(122, 122, 122, 0.3); - } - - .select select[disabled]:-moz-placeholder, [disabled].textarea:-moz-placeholder, [disabled].input:-moz-placeholder, fieldset[disabled] .select select:-moz-placeholder, .select fieldset[disabled] select:-moz-placeholder, fieldset[disabled] .textarea:-moz-placeholder, fieldset[disabled] .input:-moz-placeholder { - color: rgba(122, 122, 122, 0.3); - } - - .select select[disabled]:-ms-input-placeholder, [disabled].textarea:-ms-input-placeholder, [disabled].input:-ms-input-placeholder, fieldset[disabled] .select select:-ms-input-placeholder, .select fieldset[disabled] select:-ms-input-placeholder, fieldset[disabled] .textarea:-ms-input-placeholder, fieldset[disabled] .input:-ms-input-placeholder { - color: rgba(122, 122, 122, 0.3); - } - -.textarea, .input { - -webkit-box-shadow: inset 0 0.0625em 0.125em rgba(10, 10, 10, 0.05); - box-shadow: inset 0 0.0625em 0.125em rgba(10, 10, 10, 0.05); - max-width: 100%; - width: 100%; -} - -[readonly].textarea, [readonly].input { - -webkit-box-shadow: none; - box-shadow: none; -} - -.is-white.textarea, .is-white.input { - border-color: white; -} - - .is-white.textarea:focus, .is-white.input:focus, .is-white.is-focused.textarea, .is-white.is-focused.input, .is-white.textarea:active, .is-white.input:active, .is-white.active, .is-white.is-active.textarea, .is-white.is-active.input { - -webkit-box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); - box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); - } - -.is-black.textarea, .is-black.input { - border-color: #0a0a0a; -} - - .is-black.textarea:focus, .is-black.input:focus, .is-black.is-focused.textarea, .is-black.is-focused.input, .is-black.textarea:active, .is-black.input:active, .is-black.active, .is-black.is-active.textarea, .is-black.is-active.input { - -webkit-box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); - box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); - } - -.is-light.textarea, .is-light.input { - border-color: whitesmoke; -} - - .is-light.textarea:focus, .is-light.input:focus, .is-light.is-focused.textarea, .is-light.is-focused.input, .is-light.textarea:active, .is-light.input:active, .is-light.active, .is-light.is-active.textarea, .is-light.is-active.input { - -webkit-box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); - box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); - } - -.is-dark.textarea, .is-dark.input { - border-color: #200117; -} - - .is-dark.textarea:focus, .is-dark.input:focus, .is-dark.is-focused.textarea, .is-dark.is-focused.input, .is-dark.textarea:active, .is-dark.input:active, .is-dark.active, .is-dark.is-active.textarea, .is-dark.is-active.input { - -webkit-box-shadow: 0 0 0 0.125em rgba(32, 1, 23, 0.25); - box-shadow: 0 0 0 0.125em rgba(32, 1, 23, 0.25); - } - -.is-primary.textarea, .is-primary.input { - border-color: #A00975; -} - - .is-primary.textarea:focus, .is-primary.input:focus, .is-primary.is-focused.textarea, .is-primary.is-focused.input, .is-primary.textarea:active, .is-primary.input:active, .is-primary.active, .is-primary.is-active.textarea, .is-primary.is-active.input { - -webkit-box-shadow: 0 0 0 0.125em rgba(160, 9, 117, 0.25); - box-shadow: 0 0 0 0.125em rgba(160, 9, 117, 0.25); - } - -.is-link.textarea, .is-link.input { - border-color: #378BBA; -} - - .is-link.textarea:focus, .is-link.input:focus, .is-link.is-focused.textarea, .is-link.is-focused.input, .is-link.textarea:active, .is-link.input:active, .is-link.active, .is-link.is-active.textarea, .is-link.is-active.input { - -webkit-box-shadow: 0 0 0 0.125em rgba(55, 139, 186, 0.25); - box-shadow: 0 0 0 0.125em rgba(55, 139, 186, 0.25); - } - -.is-info.textarea, .is-info.input { - border-color: #3298dc; -} - - .is-info.textarea:focus, .is-info.input:focus, .is-info.is-focused.textarea, .is-info.is-focused.input, .is-info.textarea:active, .is-info.input:active, .is-info.active, .is-info.is-active.textarea, .is-info.is-active.input { - -webkit-box-shadow: 0 0 0 0.125em rgba(50, 152, 220, 0.25); - box-shadow: 0 0 0 0.125em rgba(50, 152, 220, 0.25); - } - -.is-success.textarea, .is-success.input { - border-color: #48c774; -} - - .is-success.textarea:focus, .is-success.input:focus, .is-success.is-focused.textarea, .is-success.is-focused.input, .is-success.textarea:active, .is-success.input:active, .is-success.active, .is-success.is-active.textarea, .is-success.is-active.input { - -webkit-box-shadow: 0 0 0 0.125em rgba(72, 199, 116, 0.25); - box-shadow: 0 0 0 0.125em rgba(72, 199, 116, 0.25); - } - -.is-warning.textarea, .is-warning.input { - border-color: #ffdd57; -} - - .is-warning.textarea:focus, .is-warning.input:focus, .is-warning.is-focused.textarea, .is-warning.is-focused.input, .is-warning.textarea:active, .is-warning.input:active, .is-warning.active, .is-warning.is-active.textarea, .is-warning.is-active.input { - -webkit-box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); - box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); - } - -.is-danger.textarea, .is-danger.input { - border-color: #f14668; -} - - .is-danger.textarea:focus, .is-danger.input:focus, .is-danger.is-focused.textarea, .is-danger.is-focused.input, .is-danger.textarea:active, .is-danger.input:active, .is-danger.active, .is-danger.is-active.textarea, .is-danger.is-active.input { - -webkit-box-shadow: 0 0 0 0.125em rgba(241, 70, 104, 0.25); - box-shadow: 0 0 0 0.125em rgba(241, 70, 104, 0.25); - } - -.is-small.textarea, .is-small.input { - border-radius: 2px; - font-size: 0.75rem; -} - -.is-medium.textarea, .is-medium.input { - font-size: 1.25rem; -} - -.is-large.textarea, .is-large.input { - font-size: 1.5rem; -} - -.is-fullwidth.textarea, .is-fullwidth.input { - display: block; - width: 100%; -} - -.is-inline.textarea, .is-inline.input { - display: inline; - width: auto; -} - -.input.is-rounded { - border-radius: 290486px; - padding-left: calc(calc(0.75em - 1px) + 0.375em); - padding-right: calc(calc(0.75em - 1px) + 0.375em); -} - -.input.is-static { - background-color: transparent; - border-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - padding-left: 0; - padding-right: 0; -} - -.textarea { - display: block; - max-width: 100%; - min-width: 100%; - padding: calc(0.75em - 1px); - resize: vertical; -} - - .textarea:not([rows]) { - max-height: 40em; - min-height: 8em; - } - - .textarea[rows] { - height: initial; - } - - .textarea.has-fixed-size { - resize: none; - } - -.radio, .checkbox { - cursor: pointer; - display: inline-block; - line-height: 1.25; - position: relative; -} - - .radio input, .checkbox input { - cursor: pointer; - } - - .radio:hover, .checkbox:hover { - color: #363636; - } - - [disabled].radio, [disabled].checkbox, fieldset[disabled] .radio, fieldset[disabled] .checkbox, - .radio input[disabled], - .checkbox input[disabled] { - color: #7a7a7a; - cursor: not-allowed; - } - - .radio + .radio { - margin-left: 0.5em; - } - -.select { - display: inline-block; - max-width: 100%; - position: relative; - vertical-align: top; -} - - .select:not(.is-multiple) { - height: 2.5em; - } - - .select:not(.is-multiple):not(.is-loading)::after { - border-color: #378BBA; - right: 1.125em; - z-index: 4; - } - - .select.is-rounded select { - border-radius: 290486px; - padding-left: 1em; - } - - .select select { - cursor: pointer; - display: block; - font-size: 1em; - max-width: 100%; - outline: none; - } - - .select select::-ms-expand { - display: none; - } - - .select select[disabled]:hover, fieldset[disabled] .select select:hover { - border-color: whitesmoke; - } - - .select select:not([multiple]) { - padding-right: 2.5em; - } - - .select select[multiple] { - height: auto; - padding: 0; - } - - .select select[multiple] option { - padding: 0.5em 1em; - } - - .select:not(.is-multiple):not(.is-loading):hover::after { - border-color: #363636; - } - - .select.is-white:not(:hover)::after { - border-color: white; - } - - .select.is-white select { - border-color: white; - } - - .select.is-white select:hover, .select.is-white select.is-hovered { - border-color: #f2f2f2; - } - - .select.is-white select:focus, .select.is-white select.is-focused, .select.is-white select:active, .select.is-white select.is-active, .select.is-white select.active { - -webkit-box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); - box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); - } - - .select.is-black:not(:hover)::after { - border-color: #0a0a0a; - } - - .select.is-black select { - border-color: #0a0a0a; - } - - .select.is-black select:hover, .select.is-black select.is-hovered { - border-color: black; - } - - .select.is-black select:focus, .select.is-black select.is-focused, .select.is-black select:active, .select.is-black select.is-active, .select.is-black select.active { - -webkit-box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); - box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); - } - - .select.is-light:not(:hover)::after { - border-color: whitesmoke; - } - - .select.is-light select { - border-color: whitesmoke; - } - - .select.is-light select:hover, .select.is-light select.is-hovered { - border-color: #e8e8e8; - } - - .select.is-light select:focus, .select.is-light select.is-focused, .select.is-light select:active, .select.is-light select.is-active, .select.is-light select.active { - -webkit-box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); - box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); - } - - .select.is-dark:not(:hover)::after { - border-color: #200117; - } - - .select.is-dark select { - border-color: #200117; - } - - .select.is-dark select:hover, .select.is-dark select.is-hovered { - border-color: #070005; - } - - .select.is-dark select:focus, .select.is-dark select.is-focused, .select.is-dark select:active, .select.is-dark select.is-active, .select.is-dark select.active { - -webkit-box-shadow: 0 0 0 0.125em rgba(32, 1, 23, 0.25); - box-shadow: 0 0 0 0.125em rgba(32, 1, 23, 0.25); - } - - .select.is-primary:not(:hover)::after { - border-color: #A00975; - } - - .select.is-primary select { - border-color: #A00975; - } - - .select.is-primary select:hover, .select.is-primary select.is-hovered { - border-color: #880863; - } - - .select.is-primary select:focus, .select.is-primary select.is-focused, .select.is-primary select:active, .select.is-primary select.is-active, .select.is-primary select.active { - -webkit-box-shadow: 0 0 0 0.125em rgba(160, 9, 117, 0.25); - box-shadow: 0 0 0 0.125em rgba(160, 9, 117, 0.25); - } - - .select.is-link:not(:hover)::after { - border-color: #378BBA; - } - - .select.is-link select { - border-color: #378BBA; - } - - .select.is-link select:hover, .select.is-link select.is-hovered { - border-color: #317ca6; - } - - .select.is-link select:focus, .select.is-link select.is-focused, .select.is-link select:active, .select.is-link select.is-active, .select.is-link select.active { - -webkit-box-shadow: 0 0 0 0.125em rgba(55, 139, 186, 0.25); - box-shadow: 0 0 0 0.125em rgba(55, 139, 186, 0.25); - } - - .select.is-info:not(:hover)::after { - border-color: #3298dc; - } - - .select.is-info select { - border-color: #3298dc; - } - - .select.is-info select:hover, .select.is-info select.is-hovered { - border-color: #238cd1; - } - - .select.is-info select:focus, .select.is-info select.is-focused, .select.is-info select:active, .select.is-info select.is-active, .select.is-info select.active { - -webkit-box-shadow: 0 0 0 0.125em rgba(50, 152, 220, 0.25); - box-shadow: 0 0 0 0.125em rgba(50, 152, 220, 0.25); - } - - .select.is-success:not(:hover)::after { - border-color: #48c774; - } - - .select.is-success select { - border-color: #48c774; - } - - .select.is-success select:hover, .select.is-success select.is-hovered { - border-color: #3abb67; - } - - .select.is-success select:focus, .select.is-success select.is-focused, .select.is-success select:active, .select.is-success select.is-active, .select.is-success select.active { - -webkit-box-shadow: 0 0 0 0.125em rgba(72, 199, 116, 0.25); - box-shadow: 0 0 0 0.125em rgba(72, 199, 116, 0.25); - } - - .select.is-warning:not(:hover)::after { - border-color: #ffdd57; - } - - .select.is-warning select { - border-color: #ffdd57; - } - - .select.is-warning select:hover, .select.is-warning select.is-hovered { - border-color: #ffd83d; - } - - .select.is-warning select:focus, .select.is-warning select.is-focused, .select.is-warning select:active, .select.is-warning select.is-active, .select.is-warning select.active { - -webkit-box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); - box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); - } - - .select.is-danger:not(:hover)::after { - border-color: #f14668; - } - - .select.is-danger select { - border-color: #f14668; - } - - .select.is-danger select:hover, .select.is-danger select.is-hovered { - border-color: #ef2e55; - } - - .select.is-danger select:focus, .select.is-danger select.is-focused, .select.is-danger select:active, .select.is-danger select.is-active, .select.is-danger select.active { - -webkit-box-shadow: 0 0 0 0.125em rgba(241, 70, 104, 0.25); - box-shadow: 0 0 0 0.125em rgba(241, 70, 104, 0.25); - } - - .select.is-small { - border-radius: 2px; - font-size: 0.75rem; - } - - .select.is-medium { - font-size: 1.25rem; - } - - .select.is-large { - font-size: 1.5rem; - } - - .select.is-disabled::after { - border-color: #7a7a7a; - } - - .select.is-fullwidth { - width: 100%; - } - - .select.is-fullwidth select { - width: 100%; - } - - .select.is-loading::after { - margin-top: 0; - position: absolute; - right: 0.625em; - top: 0.625em; - -webkit-transform: none; - -ms-transform: none; - transform: none; - } - - .select.is-loading.is-small:after { - font-size: 0.75rem; - } - - .select.is-loading.is-medium:after { - font-size: 1.25rem; - } - - .select.is-loading.is-large:after { - font-size: 1.5rem; - } - -.file { - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - position: relative; -} - - .file.is-white .file-cta { - background-color: white; - border-color: transparent; - color: #0a0a0a; - } - - .file.is-white:hover .file-cta, .file.is-white.is-hovered .file-cta { - background-color: #f9f9f9; - border-color: transparent; - color: #0a0a0a; - } - - .file.is-white:focus .file-cta, .file.is-white.is-focused .file-cta { - border-color: transparent; - -webkit-box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25); - box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25); - color: #0a0a0a; - } - - .file.is-white:active .file-cta, .file.is-white.is-active .file-cta, .is-white.active .file-cta { - background-color: #f2f2f2; - border-color: transparent; - color: #0a0a0a; - } - - .file.is-black .file-cta { - background-color: #0a0a0a; - border-color: transparent; - color: white; - } - - .file.is-black:hover .file-cta, .file.is-black.is-hovered .file-cta { - background-color: #040404; - border-color: transparent; - color: white; - } - - .file.is-black:focus .file-cta, .file.is-black.is-focused .file-cta { - border-color: transparent; - -webkit-box-shadow: 0 0 0.5em rgba(10, 10, 10, 0.25); - box-shadow: 0 0 0.5em rgba(10, 10, 10, 0.25); - color: white; - } - - .file.is-black:active .file-cta, .file.is-black.is-active .file-cta, .is-black.active .file-cta { - background-color: black; - border-color: transparent; - color: white; - } - - .file.is-light .file-cta { - background-color: whitesmoke; - border-color: transparent; - color: rgba(0, 0, 0, 0.7); - } - - .file.is-light:hover .file-cta, .file.is-light.is-hovered .file-cta { - background-color: #eeeeee; - border-color: transparent; - color: rgba(0, 0, 0, 0.7); - } - - .file.is-light:focus .file-cta, .file.is-light.is-focused .file-cta { - border-color: transparent; - -webkit-box-shadow: 0 0 0.5em rgba(245, 245, 245, 0.25); - box-shadow: 0 0 0.5em rgba(245, 245, 245, 0.25); - color: rgba(0, 0, 0, 0.7); - } - - .file.is-light:active .file-cta, .file.is-light.is-active .file-cta, .is-light.active .file-cta { - background-color: #e8e8e8; - border-color: transparent; - color: rgba(0, 0, 0, 0.7); - } - - .file.is-dark .file-cta { - background-color: #200117; - border-color: transparent; - color: #fff; - } - - .file.is-dark:hover .file-cta, .file.is-dark.is-hovered .file-cta { - background-color: #14010e; - border-color: transparent; - color: #fff; - } - - .file.is-dark:focus .file-cta, .file.is-dark.is-focused .file-cta { - border-color: transparent; - -webkit-box-shadow: 0 0 0.5em rgba(32, 1, 23, 0.25); - box-shadow: 0 0 0.5em rgba(32, 1, 23, 0.25); - color: #fff; - } - - .file.is-dark:active .file-cta, .file.is-dark.is-active .file-cta, .is-dark.active .file-cta { - background-color: #070005; - border-color: transparent; - color: #fff; - } - - .file.is-primary .file-cta { - background-color: #A00975; - border-color: transparent; - color: #fff; - } - - .file.is-primary:hover .file-cta, .file.is-primary.is-hovered .file-cta { - background-color: #94086c; - border-color: transparent; - color: #fff; - } - - .file.is-primary:focus .file-cta, .file.is-primary.is-focused .file-cta { - border-color: transparent; - -webkit-box-shadow: 0 0 0.5em rgba(160, 9, 117, 0.25); - box-shadow: 0 0 0.5em rgba(160, 9, 117, 0.25); - color: #fff; - } - - .file.is-primary:active .file-cta, .file.is-primary.is-active .file-cta, .is-primary.active .file-cta { - background-color: #880863; - border-color: transparent; - color: #fff; - } - - .file.is-link .file-cta { - background-color: #378BBA; - border-color: transparent; - color: #fff; - } - - .file.is-link:hover .file-cta, .file.is-link.is-hovered .file-cta { - background-color: #3484b0; - border-color: transparent; - color: #fff; - } - - .file.is-link:focus .file-cta, .file.is-link.is-focused .file-cta { - border-color: transparent; - -webkit-box-shadow: 0 0 0.5em rgba(55, 139, 186, 0.25); - box-shadow: 0 0 0.5em rgba(55, 139, 186, 0.25); - color: #fff; - } - - .file.is-link:active .file-cta, .file.is-link.is-active .file-cta, .is-link.active .file-cta { - background-color: #317ca6; - border-color: transparent; - color: #fff; - } - - .file.is-info .file-cta { - background-color: #3298dc; - border-color: transparent; - color: #fff; - } - - .file.is-info:hover .file-cta, .file.is-info.is-hovered .file-cta { - background-color: #2793da; - border-color: transparent; - color: #fff; - } - - .file.is-info:focus .file-cta, .file.is-info.is-focused .file-cta { - border-color: transparent; - -webkit-box-shadow: 0 0 0.5em rgba(50, 152, 220, 0.25); - box-shadow: 0 0 0.5em rgba(50, 152, 220, 0.25); - color: #fff; - } - - .file.is-info:active .file-cta, .file.is-info.is-active .file-cta, .is-info.active .file-cta { - background-color: #238cd1; - border-color: transparent; - color: #fff; - } - - .file.is-success .file-cta { - background-color: #48c774; - border-color: transparent; - color: #fff; - } - - .file.is-success:hover .file-cta, .file.is-success.is-hovered .file-cta { - background-color: #3ec46d; - border-color: transparent; - color: #fff; - } - - .file.is-success:focus .file-cta, .file.is-success.is-focused .file-cta { - border-color: transparent; - -webkit-box-shadow: 0 0 0.5em rgba(72, 199, 116, 0.25); - box-shadow: 0 0 0.5em rgba(72, 199, 116, 0.25); - color: #fff; - } - - .file.is-success:active .file-cta, .file.is-success.is-active .file-cta, .is-success.active .file-cta { - background-color: #3abb67; - border-color: transparent; - color: #fff; - } - - .file.is-warning .file-cta { - background-color: #ffdd57; - border-color: transparent; - color: rgba(0, 0, 0, 0.7); - } - - .file.is-warning:hover .file-cta, .file.is-warning.is-hovered .file-cta { - background-color: #ffdb4a; - border-color: transparent; - color: rgba(0, 0, 0, 0.7); - } - - .file.is-warning:focus .file-cta, .file.is-warning.is-focused .file-cta { - border-color: transparent; - -webkit-box-shadow: 0 0 0.5em rgba(255, 221, 87, 0.25); - box-shadow: 0 0 0.5em rgba(255, 221, 87, 0.25); - color: rgba(0, 0, 0, 0.7); - } - - .file.is-warning:active .file-cta, .file.is-warning.is-active .file-cta, .is-warning.active .file-cta { - background-color: #ffd83d; - border-color: transparent; - color: rgba(0, 0, 0, 0.7); - } - - .file.is-danger .file-cta { - background-color: #f14668; - border-color: transparent; - color: #fff; - } - - .file.is-danger:hover .file-cta, .file.is-danger.is-hovered .file-cta { - background-color: #f03a5f; - border-color: transparent; - color: #fff; - } - - .file.is-danger:focus .file-cta, .file.is-danger.is-focused .file-cta { - border-color: transparent; - -webkit-box-shadow: 0 0 0.5em rgba(241, 70, 104, 0.25); - box-shadow: 0 0 0.5em rgba(241, 70, 104, 0.25); - color: #fff; - } - - .file.is-danger:active .file-cta, .file.is-danger.is-active .file-cta, .is-danger.active .file-cta { - background-color: #ef2e55; - border-color: transparent; - color: #fff; - } - - .file.is-small { - font-size: 0.75rem; - } - - .file.is-medium { - font-size: 1.25rem; - } - - .file.is-medium .file-icon .fa { - font-size: 21px; - } - - .file.is-large { - font-size: 1.5rem; - } - - .file.is-large .file-icon .fa { - font-size: 28px; - } - - .file.has-name .file-cta { - border-bottom-right-radius: 0; - border-top-right-radius: 0; - } - - .file.has-name .file-name { - border-bottom-left-radius: 0; - border-top-left-radius: 0; - } - - .file.has-name.is-empty .file-cta { - border-radius: 4px; - } - - .file.has-name.is-empty .file-name { - display: none; - } - - .file.is-boxed .file-label { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - } - - .file.is-boxed .file-cta { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - height: auto; - padding: 1em 3em; - } - - .file.is-boxed .file-name { - border-width: 0 1px 1px; - } - - .file.is-boxed .file-icon { - height: 1.5em; - width: 1.5em; - } - - .file.is-boxed .file-icon .fa { - font-size: 21px; - } - - .file.is-boxed.is-small .file-icon .fa { - font-size: 14px; - } - - .file.is-boxed.is-medium .file-icon .fa { - font-size: 28px; - } - - .file.is-boxed.is-large .file-icon .fa { - font-size: 35px; - } - - .file.is-boxed.has-name .file-cta { - border-radius: 4px 4px 0 0; - } - - .file.is-boxed.has-name .file-name { - border-radius: 0 0 4px 4px; - border-width: 0 1px 1px; - } - - .file.is-centered { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - } - - .file.is-fullwidth .file-label { - width: 100%; - } - - .file.is-fullwidth .file-name { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: none; - } - - .file.is-right { - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; - } - - .file.is-right .file-cta { - border-radius: 0 4px 4px 0; - } - - .file.is-right .file-name { - border-radius: 4px 0 0 4px; - border-width: 1px 0 1px 1px; - -webkit-box-ordinal-group: 0; - -ms-flex-order: -1; - order: -1; - } - -.file-label { - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - cursor: pointer; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - overflow: hidden; - position: relative; -} - - .file-label:hover .file-cta { - background-color: #eeeeee; - color: #363636; - } - - .file-label:hover .file-name { - border-color: #d5d5d5; - } - - .file-label:active .file-cta { - background-color: #e8e8e8; - color: #363636; - } - - .file-label:active .file-name { - border-color: #cfcfcf; - } - -.file-input { - height: 100%; - left: 0; - opacity: 0; - outline: none; - position: absolute; - top: 0; - width: 100%; -} - -.file-cta, -.file-name { - border-color: #dbdbdb; - border-radius: 4px; - font-size: 1em; - padding-left: 1em; - padding-right: 1em; - white-space: nowrap; -} - -.file-cta { - background-color: whitesmoke; - color: #4a4a4a; -} - -.file-name { - border-color: #dbdbdb; - border-style: solid; - border-width: 1px 1px 1px 0; - display: block; - max-width: 16em; - overflow: hidden; - text-align: inherit; - -o-text-overflow: ellipsis; - text-overflow: ellipsis; -} - -.file-icon { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - height: 1em; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - margin-right: 0.5em; - width: 1em; -} - - .file-icon .fa { - font-size: 14px; - } - -.label { - color: #363636; - display: block; - font-size: 1rem; - font-weight: 700; -} - - .label:not(:last-child) { - margin-bottom: 0.5em; - } - - .label.is-small { - font-size: 0.75rem; - } - - .label.is-medium { - font-size: 1.25rem; - } - - .label.is-large { - font-size: 1.5rem; - } - -.help { - display: block; - font-size: 0.75rem; - margin-top: 0.25rem; -} - - .help.is-white { - color: white; - } - - .help.is-black { - color: #0a0a0a; - } - - .help.is-light { - color: whitesmoke; - } - - .help.is-dark { - color: #200117; - } - - .help.is-primary { - color: #A00975; - } - - .help.is-link { - color: #378BBA; - } - - .help.is-info { - color: #3298dc; - } - - .help.is-success { - color: #48c774; - } - - .help.is-warning { - color: #ffdd57; - } - - .help.is-danger { - color: #f14668; - } - -.field:not(:last-child) { - margin-bottom: 0.75rem; -} - -.field.has-addons { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; -} - - .field.has-addons .control:not(:last-child) { - margin-right: -1px; - } - - .field.has-addons .control:not(:first-child):not(:last-child) .button, - .field.has-addons .control:not(:first-child):not(:last-child) .input, - .field.has-addons .control:not(:first-child):not(:last-child) .select select { - border-radius: 0; - } - - .field.has-addons .control:first-child:not(:only-child) .button, - .field.has-addons .control:first-child:not(:only-child) .input, - .field.has-addons .control:first-child:not(:only-child) .select select { - border-bottom-right-radius: 0; - border-top-right-radius: 0; - } - - .field.has-addons .control:last-child:not(:only-child) .button, - .field.has-addons .control:last-child:not(:only-child) .input, - .field.has-addons .control:last-child:not(:only-child) .select select { - border-bottom-left-radius: 0; - border-top-left-radius: 0; - } - - .field.has-addons .control .button:not([disabled]):hover, .field.has-addons .control .button:not([disabled]).is-hovered, - .field.has-addons .control .input:not([disabled]):hover, - .field.has-addons .control .input:not([disabled]).is-hovered, - .field.has-addons .control .select select:not([disabled]):hover, - .field.has-addons .control .select select:not([disabled]).is-hovered { - z-index: 2; - } - - .field.has-addons .control .button:not([disabled]):focus, .field.has-addons .control .button:not([disabled]).is-focused, .field.has-addons .control .button:not([disabled]):active, .field.has-addons .control .button:not([disabled]).is-active, .field.has-addons .control .active:not([disabled]), - .field.has-addons .control .input:not([disabled]):focus, - .field.has-addons .control .input:not([disabled]).is-focused, - .field.has-addons .control .input:not([disabled]):active, - .field.has-addons .control .input:not([disabled]).is-active, - .field.has-addons .control .select select:not([disabled]):focus, - .field.has-addons .control .select select:not([disabled]).is-focused, - .field.has-addons .control .select select:not([disabled]):active, - .field.has-addons .control .select select:not([disabled]).is-active { - z-index: 3; - } - - .field.has-addons .control .button:not([disabled]):focus:hover, .field.has-addons .control .button:not([disabled]).is-focused:hover, .field.has-addons .control .button:not([disabled]):active:hover, .field.has-addons .control .button:not([disabled]).is-active:hover, .field.has-addons .control .active:not([disabled]):hover, - .field.has-addons .control .input:not([disabled]):focus:hover, - .field.has-addons .control .input:not([disabled]).is-focused:hover, - .field.has-addons .control .input:not([disabled]):active:hover, - .field.has-addons .control .input:not([disabled]).is-active:hover, - .field.has-addons .control .select select:not([disabled]):focus:hover, - .field.has-addons .control .select select:not([disabled]).is-focused:hover, - .field.has-addons .control .select select:not([disabled]):active:hover, - .field.has-addons .control .select select:not([disabled]).is-active:hover { - z-index: 4; - } - - .field.has-addons .control.is-expanded { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-negative: 1; - flex-shrink: 1; - } - - .field.has-addons.has-addons-centered { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - } - - .field.has-addons.has-addons-right { - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; - } - - .field.has-addons.has-addons-fullwidth .control { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-negative: 0; - flex-shrink: 0; - } - -.field.is-grouped { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; -} - - .field.is-grouped > .control { - -ms-flex-negative: 0; - flex-shrink: 0; - } - - .field.is-grouped > .control:not(:last-child) { - margin-bottom: 0; - margin-right: 0.75rem; - } - - .field.is-grouped > .control.is-expanded { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-negative: 1; - flex-shrink: 1; - } - - .field.is-grouped.is-grouped-centered { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - } - - .field.is-grouped.is-grouped-right { - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; - } - - .field.is-grouped.is-grouped-multiline { - -ms-flex-wrap: wrap; - flex-wrap: wrap; - } - - .field.is-grouped.is-grouped-multiline > .control:last-child, .field.is-grouped.is-grouped-multiline > .control:not(:last-child) { - margin-bottom: 0.75rem; - } - - .field.is-grouped.is-grouped-multiline:last-child { - margin-bottom: -0.75rem; - } - - .field.is-grouped.is-grouped-multiline:not(:last-child) { - margin-bottom: 0; - } - -@media screen and (min-width: 769px), print { - .field.is-horizontal { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - } -} - -.field-label .label { - font-size: inherit; -} - -@media screen and (max-width: 768px) { - .field-label { - margin-bottom: 0.5rem; - } -} - -@media screen and (min-width: 769px), print { - .field-label { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-negative: 0; - flex-shrink: 0; - margin-right: 1.5rem; - text-align: right; - } - - .field-label.is-small { - font-size: 0.75rem; - padding-top: 0.375em; - } - - .field-label.is-normal { - padding-top: 0.375em; - } - - .field-label.is-medium { - font-size: 1.25rem; - padding-top: 0.375em; - } - - .field-label.is-large { - font-size: 1.5rem; - padding-top: 0.375em; - } -} - -.field-body .field .field { - margin-bottom: 0; -} - -@media screen and (min-width: 769px), print { - .field-body { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 5; - -ms-flex-positive: 5; - flex-grow: 5; - -ms-flex-negative: 1; - flex-shrink: 1; - } - - .field-body .field { - margin-bottom: 0; - } - - .field-body > .field { - -ms-flex-negative: 1; - flex-shrink: 1; - } - - .field-body > .field:not(.is-narrow) { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - } - - .field-body > .field:not(:last-child) { - margin-right: 0.75rem; - } -} - -.control { - -webkit-box-sizing: border-box; - box-sizing: border-box; - clear: both; - font-size: 1rem; - position: relative; - text-align: inherit; -} - - .control.has-icons-left .input:focus ~ .icon, - .control.has-icons-left .select:focus ~ .icon, .control.has-icons-right .input:focus ~ .icon, - .control.has-icons-right .select:focus ~ .icon { - color: #4a4a4a; - } - - .control.has-icons-left .input.is-small ~ .icon, - .control.has-icons-left .select.is-small ~ .icon, .control.has-icons-right .input.is-small ~ .icon, - .control.has-icons-right .select.is-small ~ .icon { - font-size: 0.75rem; - } - - .control.has-icons-left .input.is-medium ~ .icon, - .control.has-icons-left .select.is-medium ~ .icon, .control.has-icons-right .input.is-medium ~ .icon, - .control.has-icons-right .select.is-medium ~ .icon { - font-size: 1.25rem; - } - - .control.has-icons-left .input.is-large ~ .icon, - .control.has-icons-left .select.is-large ~ .icon, .control.has-icons-right .input.is-large ~ .icon, - .control.has-icons-right .select.is-large ~ .icon { - font-size: 1.5rem; - } - - .control.has-icons-left .icon, .control.has-icons-right .icon { - color: #dbdbdb; - height: 2.5em; - pointer-events: none; - position: absolute; - top: 0; - width: 2.5em; - z-index: 4; - } - - .control.has-icons-left .input, - .control.has-icons-left .select select { - padding-left: 2.5em; - } - - .control.has-icons-left .icon.is-left { - left: 0; - } - - .control.has-icons-right .input, - .control.has-icons-right .select select { - padding-right: 2.5em; - } - - .control.has-icons-right .icon.is-right { - right: 0; - } - - .control.is-loading::after { - position: absolute !important; - right: 0.625em; - top: 0.625em; - z-index: 4; - } - - .control.is-loading.is-small:after { - font-size: 0.75rem; - } - - .control.is-loading.is-medium:after { - font-size: 1.25rem; - } - - .control.is-loading.is-large:after { - font-size: 1.5rem; - } - -/* Bulma Components */ -.breadcrumb { - font-size: 1rem; - white-space: nowrap; -} - - .breadcrumb a { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #378BBA; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - padding: 0 0.75em; - } - - .breadcrumb a:hover { - color: #A00975; - } - - .breadcrumb li { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - } - - .breadcrumb li:first-child a { - padding-left: 0; - } - - .breadcrumb li.is-active a, .breadcrumb li.active a { - color: #363636; - cursor: default; - pointer-events: none; - } - - .breadcrumb li + li::before { - color: #b5b5b5; - content: "\0002f"; - } - - .breadcrumb ul, - .breadcrumb ol { - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - } - - .breadcrumb .icon:first-child { - margin-right: 0.5em; - } - - .breadcrumb .icon:last-child { - margin-left: 0.5em; - } - - .breadcrumb.is-centered ol, - .breadcrumb.is-centered ul { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - } - - .breadcrumb.is-right ol, - .breadcrumb.is-right ul { - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; - } - - .breadcrumb.is-small { - font-size: 0.75rem; - } - - .breadcrumb.is-medium { - font-size: 1.25rem; - } - - .breadcrumb.is-large { - font-size: 1.5rem; - } - - .breadcrumb.has-arrow-separator li + li::before { - content: "\02192"; - } - - .breadcrumb.has-bullet-separator li + li::before { - content: "\02022"; - } - - .breadcrumb.has-dot-separator li + li::before { - content: "\000b7"; - } - - .breadcrumb.has-succeeds-separator li + li::before { - content: "\0227B"; - } - -.card { - background-color: white; - border-radius: 0.25rem; - -webkit-box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1), 0 0px 0 1px rgba(10, 10, 10, 0.02); - box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1), 0 0px 0 1px rgba(10, 10, 10, 0.02); - color: #4a4a4a; - max-width: 100%; - position: relative; -} - -.card-footer:first-child, .card-content:first-child, .card-header:first-child { - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; -} - -.card-footer:last-child, .card-content:last-child, .card-header:last-child { - border-bottom-left-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; -} - -.card-header { - background-color: transparent; - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - -webkit-box-shadow: 0 0.125em 0.25em rgba(10, 10, 10, 0.1); - box-shadow: 0 0.125em 0.25em rgba(10, 10, 10, 0.1); - display: -webkit-box; - display: -ms-flexbox; - display: flex; -} - -.card-header-title { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #363636; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - font-weight: 700; - padding: 0.75rem 1rem; -} - - .card-header-title.is-centered { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - } - -.card-header-icon { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - cursor: pointer; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - padding: 0.75rem 1rem; -} - -.card-image { - display: block; - position: relative; -} - - .card-image:first-child img { - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; - } - - .card-image:last-child img { - border-bottom-left-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; - } - -.card-content { - background-color: transparent; - padding: 1.5rem; -} - -.card-footer { - background-color: transparent; - border-top: 1px solid #ededed; - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - display: -webkit-box; - display: -ms-flexbox; - display: flex; -} - -.card-footer-item { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-negative: 0; - flex-shrink: 0; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - padding: 0.75rem; -} - - .card-footer-item:not(:last-child) { - border-right: 1px solid #ededed; - } - -.card .media:not(:last-child) { - margin-bottom: 1.5rem; -} - -.dropdown { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - position: relative; - vertical-align: top; -} - - .dropdown.is-active .dropdown-menu, .dropdown.active .dropdown-menu, .dropdown.is-hoverable:hover .dropdown-menu { - display: block; - } - - .dropdown.is-right .dropdown-menu { - left: auto; - right: 0; - } - - .dropdown.is-up .dropdown-menu { - bottom: 100%; - padding-bottom: 4px; - padding-top: initial; - top: auto; - } - -.dropdown-menu { - display: none; - left: 0; - min-width: 12rem; - padding-top: 4px; - position: absolute; - top: 100%; - z-index: 20; -} - -.dropdown-content { - background-color: white; - border-radius: 4px; - -webkit-box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1), 0 0px 0 1px rgba(10, 10, 10, 0.02); - box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1), 0 0px 0 1px rgba(10, 10, 10, 0.02); - padding-bottom: 0.5rem; - padding-top: 0.5rem; -} - -.dropdown-item { - color: #4a4a4a; - display: block; - font-size: 0.875rem; - line-height: 1.5; - padding: 0.375rem 1rem; - position: relative; -} - -a.dropdown-item, -button.dropdown-item { - padding-right: 3rem; - text-align: inherit; - white-space: nowrap; - width: 100%; -} - - a.dropdown-item:hover, - button.dropdown-item:hover { - background-color: whitesmoke; - color: #0a0a0a; - } - - a.dropdown-item.is-active, .dropdown-item.active, - button.dropdown-item.is-active { - background-color: #378BBA; - color: #fff; - } - -.dropdown-divider { - background-color: #ededed; - border: none; - display: block; - height: 1px; - margin: 0.5rem 0; -} - -.level { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; -} - - .level code { - border-radius: 4px; - } - - .level img { - display: inline-block; - vertical-align: top; - } - - .level.is-mobile { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - } - - .level.is-mobile .level-left, - .level.is-mobile .level-right { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - } - - .level.is-mobile .level-left + .level-right { - margin-top: 0; - } - - .level.is-mobile .level-item:not(:last-child) { - margin-bottom: 0; - margin-right: 0.75rem; - } - - .level.is-mobile .level-item:not(.is-narrow) { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - } - -@media screen and (min-width: 769px), print { - .level { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - } - - .level > .level-item:not(.is-narrow) { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - } -} - -.level-item { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-preferred-size: auto; - flex-basis: auto; - -webkit-box-flex: 0; - -ms-flex-positive: 0; - flex-grow: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; -} - - .level-item .title, - .level-item .subtitle { - margin-bottom: 0; - } - -@media screen and (max-width: 768px) { - .level-item:not(:last-child) { - margin-bottom: 0.75rem; - } -} - -.level-left, -.level-right { - -ms-flex-preferred-size: auto; - flex-basis: auto; - -webkit-box-flex: 0; - -ms-flex-positive: 0; - flex-grow: 0; - -ms-flex-negative: 0; - flex-shrink: 0; -} - - .level-left .level-item.is-flexible, - .level-right .level-item.is-flexible { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - } - -@media screen and (min-width: 769px), print { - .level-left .level-item:not(:last-child), - .level-right .level-item:not(:last-child) { - margin-right: 0.75rem; - } -} - -.level-left { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; -} - -@media screen and (max-width: 768px) { - .level-left + .level-right { - margin-top: 1.5rem; - } -} - -@media screen and (min-width: 769px), print { - .level-left { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - } -} - -.level-right { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; -} - -@media screen and (min-width: 769px), print { - .level-right { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - } -} - -.media { - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - text-align: inherit; -} - - .media .content:not(:last-child) { - margin-bottom: 0.75rem; - } - - .media .media { - border-top: 1px solid rgba(219, 219, 219, 0.5); - display: -webkit-box; - display: -ms-flexbox; - display: flex; - padding-top: 0.75rem; - } - - .media .media .content:not(:last-child), - .media .media .control:not(:last-child) { - margin-bottom: 0.5rem; - } - - .media .media .media { - padding-top: 0.5rem; - } - - .media .media .media + .media { - margin-top: 0.5rem; - } - - .media + .media { - border-top: 1px solid rgba(219, 219, 219, 0.5); - margin-top: 1rem; - padding-top: 1rem; - } - - .media.is-large + .media { - margin-top: 1.5rem; - padding-top: 1.5rem; - } - -.media-left, -.media-right { - -ms-flex-preferred-size: auto; - flex-basis: auto; - -webkit-box-flex: 0; - -ms-flex-positive: 0; - flex-grow: 0; - -ms-flex-negative: 0; - flex-shrink: 0; -} - -.media-left { - margin-right: 1rem; -} - -.media-right { - margin-left: 1rem; -} - -.media-content { - -ms-flex-preferred-size: auto; - flex-basis: auto; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-negative: 1; - flex-shrink: 1; - text-align: inherit; -} - -@media screen and (max-width: 768px) { - .media-content { - overflow-x: auto; - } -} - -.menu { - font-size: 1rem; -} - - .menu.is-small { - font-size: 0.75rem; - } - - .menu.is-medium { - font-size: 1.25rem; - } - - .menu.is-large { - font-size: 1.5rem; - } - -.menu-list, .navbar-nav { - line-height: 1.25; -} - - .menu-list a, .navbar-nav a { - border-radius: 2px; - color: #4a4a4a; - display: block; - padding: 0.5em 0.75em; - } - - .menu-list a:hover, .navbar-nav a:hover { - background-color: whitesmoke; - color: #363636; - } - - .menu-list a.is-active, .menu-list a.active, .navbar-nav a.is-active, .navbar-nav a.active { - background-color: #378BBA; - color: #fff; - } - - .menu-list li ul, .navbar-nav li ul { - border-left: 1px solid #dbdbdb; - margin: 0.75em; - padding-left: 0.75em; - } - -.menu-label, .nav-header { - color: #7a7a7a; - font-size: 0.75em; - letter-spacing: 0.1em; - text-transform: uppercase; -} - - .menu-label:not(:first-child), .nav-header:not(:first-child) { - margin-top: 1em; - } - - .menu-label:not(:last-child), .nav-header:not(:last-child) { - margin-bottom: 1em; - } - -.message { - background-color: whitesmoke; - border-radius: 4px; - font-size: 1rem; -} - - .message strong { - color: currentColor; - } - - .message a:not(.button):not(.tag):not(.dropdown-item) { - color: currentColor; - text-decoration: underline; - } - - .message.is-small { - font-size: 0.75rem; - } - - .message.is-medium { - font-size: 1.25rem; - } - - .message.is-large { - font-size: 1.5rem; - } - - .message.is-white { - background-color: white; - } - - .message.is-white .message-header { - background-color: white; - color: #0a0a0a; - } - - .message.is-white .message-body { - border-color: white; - } - - .message.is-black { - background-color: #fafafa; - } - - .message.is-black .message-header { - background-color: #0a0a0a; - color: white; - } - - .message.is-black .message-body { - border-color: #0a0a0a; - } - - .message.is-light { - background-color: #fafafa; - } - - .message.is-light .message-header { - background-color: whitesmoke; - color: rgba(0, 0, 0, 0.7); - } - - .message.is-light .message-body { - border-color: whitesmoke; - } - - .message.is-dark { - background-color: #fff5fc; - } - - .message.is-dark .message-header { - background-color: #200117; - color: #fff; - } - - .message.is-dark .message-body { - border-color: #200117; - } - - .message.is-primary { - background-color: #feecf9; - } - - .message.is-primary .message-header { - background-color: #A00975; - color: #fff; - } - - .message.is-primary .message-body { - border-color: #A00975; - color: #f212b2; - } - - .message.is-link { - background-color: #eff6fa; - } - - .message.is-link .message-header { - background-color: #378BBA; - color: #fff; - } - - .message.is-link .message-body { - border-color: #378BBA; - color: #317ca5; - } - - .message.is-info { - background-color: #eef6fc; - } - - .message.is-info .message-header { - background-color: #3298dc; - color: #fff; - } - - .message.is-info .message-body { - border-color: #3298dc; - color: #1d72aa; - } - - .message.is-success { - background-color: #effaf3; - } - - .message.is-success .message-header { - background-color: #48c774; - color: #fff; - } - - .message.is-success .message-body { - border-color: #48c774; - color: #257942; - } - - .message.is-warning { - background-color: #fffbeb; - } - - .message.is-warning .message-header { - background-color: #ffdd57; - color: rgba(0, 0, 0, 0.7); - } - - .message.is-warning .message-body { - border-color: #ffdd57; - color: #947600; - } - - .message.is-danger { - background-color: #feecf0; - } - - .message.is-danger .message-header { - background-color: #f14668; - color: #fff; - } - - .message.is-danger .message-body { - border-color: #f14668; - color: #cc0f35; - } - -.message-header { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - background-color: #4a4a4a; - border-radius: 4px 4px 0 0; - color: #fff; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - font-weight: 700; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - line-height: 1.25; - padding: 0.75em 1em; - position: relative; -} - - .message-header .delete { - -webkit-box-flex: 0; - -ms-flex-positive: 0; - flex-grow: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - margin-left: 0.75em; - } - - .message-header + .message-body { - border-width: 0; - border-top-left-radius: 0; - border-top-right-radius: 0; - } - -.message-body { - border-color: #dbdbdb; - border-radius: 4px; - border-style: solid; - border-width: 0 0 0 4px; - color: #4a4a4a; - padding: 1.25em 1.5em; -} - - .message-body code, - .message-body pre { - background-color: white; - } - - .message-body pre code { - background-color: transparent; - } - -.modal { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: none; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - overflow: hidden; - position: fixed; - z-index: 40; -} - - .modal.is-active, .modal.active { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - } - -.modal-background { - background-color: rgba(10, 10, 10, 0.86); -} - -.modal-content, -.modal-card { - margin: 0 20px; - max-height: calc(100vh - 160px); - overflow: auto; - position: relative; - width: 100%; -} - -@media screen and (min-width: 769px) { - .modal-content, - .modal-card { - margin: 0 auto; - max-height: calc(100vh - 40px); - width: 640px; - } -} - -.modal-close { - background: none; - height: 40px; - position: fixed; - right: 20px; - top: 20px; - width: 40px; -} - -.modal-card { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - max-height: calc(100vh - 40px); - overflow: hidden; - -ms-overflow-y: visible; -} - -.modal-card-head, -.modal-card-foot { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - background-color: whitesmoke; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-negative: 0; - flex-shrink: 0; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - padding: 20px; - position: relative; -} - -.modal-card-head { - border-bottom: 1px solid #dbdbdb; - border-top-left-radius: 6px; - border-top-right-radius: 6px; -} - -.modal-card-title { - color: #363636; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-negative: 0; - flex-shrink: 0; - font-size: 1.5rem; - line-height: 1; -} - -.modal-card-foot { - border-bottom-left-radius: 6px; - border-bottom-right-radius: 6px; - border-top: 1px solid #dbdbdb; -} - - .modal-card-foot .button:not(:last-child) { - margin-right: 0.5em; - } - -.modal-card-body { - -webkit-overflow-scrolling: touch; - background-color: white; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-negative: 1; - flex-shrink: 1; - overflow: auto; - padding: 20px; -} - -.navbar { - background-color: white; - min-height: 3.25rem; - position: relative; - z-index: 30; -} - - .navbar.is-white { - background-color: white; - color: #0a0a0a; - } - - .navbar.is-white .navbar-brand > .navbar-item, - .navbar.is-white .navbar-brand .navbar-link { - color: #0a0a0a; - } - - .navbar.is-white .navbar-brand > a.navbar-item:focus, .navbar.is-white .navbar-brand > a.navbar-item:hover, .navbar.is-white .navbar-brand > a.navbar-item.is-active, .navbar.is-white .navbar-brand > .navbar-item.active, - .navbar.is-white .navbar-brand .navbar-link:focus, - .navbar.is-white .navbar-brand .navbar-link:hover, - .navbar.is-white .navbar-brand .navbar-link.is-active, - .navbar.is-white .navbar-brand .navbar-link.active { - background-color: #f2f2f2; - color: #0a0a0a; - } - - .navbar.is-white .navbar-brand .navbar-link::after { - border-color: #0a0a0a; - } - - .navbar.is-white .navbar-burger { - color: #0a0a0a; - } - -@media screen and (min-width: 1024px) { - .navbar.is-white .navbar-start > .navbar-item, - .navbar.is-white .navbar-start .navbar-link, - .navbar.is-white .navbar-end > .navbar-item, - .navbar.is-white .navbar-end .navbar-link { - color: #0a0a0a; - } - - .navbar.is-white .navbar-start > a.navbar-item:focus, .navbar.is-white .navbar-start > a.navbar-item:hover, .navbar.is-white .navbar-start > a.navbar-item.is-active, .navbar.is-white .navbar-start > .navbar-item.active, - .navbar.is-white .navbar-start .navbar-link:focus, - .navbar.is-white .navbar-start .navbar-link:hover, - .navbar.is-white .navbar-start .navbar-link.is-active, - .navbar.is-white .navbar-start .navbar-link.active, - .navbar.is-white .navbar-end > a.navbar-item:focus, - .navbar.is-white .navbar-end > a.navbar-item:hover, - .navbar.is-white .navbar-end > a.navbar-item.is-active, - .navbar.is-white .navbar-end > .navbar-item.active, - .navbar.is-white .navbar-end .navbar-link:focus, - .navbar.is-white .navbar-end .navbar-link:hover, - .navbar.is-white .navbar-end .navbar-link.is-active, - .navbar.is-white .navbar-end .navbar-link.active { - background-color: #f2f2f2; - color: #0a0a0a; - } - - .navbar.is-white .navbar-start .navbar-link::after, - .navbar.is-white .navbar-end .navbar-link::after { - border-color: #0a0a0a; - } - - .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link, - .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link, - .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link, - .navbar.is-white .has-dropdown.active .navbar-link { - background-color: #f2f2f2; - color: #0a0a0a; - } - - .navbar.is-white .navbar-dropdown a.navbar-item.is-active, .navbar.is-white .navbar-dropdown .navbar-item.active { - background-color: white; - color: #0a0a0a; - } -} - -.navbar.is-black { - background-color: #0a0a0a; - color: white; -} - - .navbar.is-black .navbar-brand > .navbar-item, - .navbar.is-black .navbar-brand .navbar-link { - color: white; - } - - .navbar.is-black .navbar-brand > a.navbar-item:focus, .navbar.is-black .navbar-brand > a.navbar-item:hover, .navbar.is-black .navbar-brand > a.navbar-item.is-active, .navbar.is-black .navbar-brand > .navbar-item.active, - .navbar.is-black .navbar-brand .navbar-link:focus, - .navbar.is-black .navbar-brand .navbar-link:hover, - .navbar.is-black .navbar-brand .navbar-link.is-active, - .navbar.is-black .navbar-brand .navbar-link.active { - background-color: black; - color: white; - } - - .navbar.is-black .navbar-brand .navbar-link::after { - border-color: white; - } - - .navbar.is-black .navbar-burger { - color: white; - } - -@media screen and (min-width: 1024px) { - .navbar.is-black .navbar-start > .navbar-item, - .navbar.is-black .navbar-start .navbar-link, - .navbar.is-black .navbar-end > .navbar-item, - .navbar.is-black .navbar-end .navbar-link { - color: white; - } - - .navbar.is-black .navbar-start > a.navbar-item:focus, .navbar.is-black .navbar-start > a.navbar-item:hover, .navbar.is-black .navbar-start > a.navbar-item.is-active, .navbar.is-black .navbar-start > .navbar-item.active, - .navbar.is-black .navbar-start .navbar-link:focus, - .navbar.is-black .navbar-start .navbar-link:hover, - .navbar.is-black .navbar-start .navbar-link.is-active, - .navbar.is-black .navbar-start .navbar-link.active, - .navbar.is-black .navbar-end > a.navbar-item:focus, - .navbar.is-black .navbar-end > a.navbar-item:hover, - .navbar.is-black .navbar-end > a.navbar-item.is-active, - .navbar.is-black .navbar-end > .navbar-item.active, - .navbar.is-black .navbar-end .navbar-link:focus, - .navbar.is-black .navbar-end .navbar-link:hover, - .navbar.is-black .navbar-end .navbar-link.is-active, - .navbar.is-black .navbar-end .navbar-link.active { - background-color: black; - color: white; - } - - .navbar.is-black .navbar-start .navbar-link::after, - .navbar.is-black .navbar-end .navbar-link::after { - border-color: white; - } - - .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link, - .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link, - .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link, - .navbar.is-black .has-dropdown.active .navbar-link { - background-color: black; - color: white; - } - - .navbar.is-black .navbar-dropdown a.navbar-item.is-active, .navbar.is-black .navbar-dropdown .navbar-item.active { - background-color: #0a0a0a; - color: white; - } -} - -.navbar.is-light { - background-color: whitesmoke; - color: rgba(0, 0, 0, 0.7); -} - - .navbar.is-light .navbar-brand > .navbar-item, - .navbar.is-light .navbar-brand .navbar-link { - color: rgba(0, 0, 0, 0.7); - } - - .navbar.is-light .navbar-brand > a.navbar-item:focus, .navbar.is-light .navbar-brand > a.navbar-item:hover, .navbar.is-light .navbar-brand > a.navbar-item.is-active, .navbar.is-light .navbar-brand > .navbar-item.active, - .navbar.is-light .navbar-brand .navbar-link:focus, - .navbar.is-light .navbar-brand .navbar-link:hover, - .navbar.is-light .navbar-brand .navbar-link.is-active, - .navbar.is-light .navbar-brand .navbar-link.active { - background-color: #e8e8e8; - color: rgba(0, 0, 0, 0.7); - } - - .navbar.is-light .navbar-brand .navbar-link::after { - border-color: rgba(0, 0, 0, 0.7); - } - - .navbar.is-light .navbar-burger { - color: rgba(0, 0, 0, 0.7); - } - -@media screen and (min-width: 1024px) { - .navbar.is-light .navbar-start > .navbar-item, - .navbar.is-light .navbar-start .navbar-link, - .navbar.is-light .navbar-end > .navbar-item, - .navbar.is-light .navbar-end .navbar-link { - color: rgba(0, 0, 0, 0.7); - } - - .navbar.is-light .navbar-start > a.navbar-item:focus, .navbar.is-light .navbar-start > a.navbar-item:hover, .navbar.is-light .navbar-start > a.navbar-item.is-active, .navbar.is-light .navbar-start > .navbar-item.active, - .navbar.is-light .navbar-start .navbar-link:focus, - .navbar.is-light .navbar-start .navbar-link:hover, - .navbar.is-light .navbar-start .navbar-link.is-active, - .navbar.is-light .navbar-start .navbar-link.active, - .navbar.is-light .navbar-end > a.navbar-item:focus, - .navbar.is-light .navbar-end > a.navbar-item:hover, - .navbar.is-light .navbar-end > a.navbar-item.is-active, - .navbar.is-light .navbar-end > .navbar-item.active, - .navbar.is-light .navbar-end .navbar-link:focus, - .navbar.is-light .navbar-end .navbar-link:hover, - .navbar.is-light .navbar-end .navbar-link.is-active, - .navbar.is-light .navbar-end .navbar-link.active { - background-color: #e8e8e8; - color: rgba(0, 0, 0, 0.7); - } - - .navbar.is-light .navbar-start .navbar-link::after, - .navbar.is-light .navbar-end .navbar-link::after { - border-color: rgba(0, 0, 0, 0.7); - } - - .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link, - .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link, - .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link, - .navbar.is-light .has-dropdown.active .navbar-link { - background-color: #e8e8e8; - color: rgba(0, 0, 0, 0.7); - } - - .navbar.is-light .navbar-dropdown a.navbar-item.is-active, .navbar.is-light .navbar-dropdown .navbar-item.active { - background-color: whitesmoke; - color: rgba(0, 0, 0, 0.7); - } -} - -.navbar.is-dark { - background-color: #200117; - color: #fff; -} - - .navbar.is-dark .navbar-brand > .navbar-item, - .navbar.is-dark .navbar-brand .navbar-link { - color: #fff; - } - - .navbar.is-dark .navbar-brand > a.navbar-item:focus, .navbar.is-dark .navbar-brand > a.navbar-item:hover, .navbar.is-dark .navbar-brand > a.navbar-item.is-active, .navbar.is-dark .navbar-brand > .navbar-item.active, - .navbar.is-dark .navbar-brand .navbar-link:focus, - .navbar.is-dark .navbar-brand .navbar-link:hover, - .navbar.is-dark .navbar-brand .navbar-link.is-active, - .navbar.is-dark .navbar-brand .navbar-link.active { - background-color: #070005; - color: #fff; - } - - .navbar.is-dark .navbar-brand .navbar-link::after { - border-color: #fff; - } - - .navbar.is-dark .navbar-burger { - color: #fff; - } - -@media screen and (min-width: 1024px) { - .navbar.is-dark .navbar-start > .navbar-item, - .navbar.is-dark .navbar-start .navbar-link, - .navbar.is-dark .navbar-end > .navbar-item, - .navbar.is-dark .navbar-end .navbar-link { - color: #fff; - } - - .navbar.is-dark .navbar-start > a.navbar-item:focus, .navbar.is-dark .navbar-start > a.navbar-item:hover, .navbar.is-dark .navbar-start > a.navbar-item.is-active, .navbar.is-dark .navbar-start > .navbar-item.active, - .navbar.is-dark .navbar-start .navbar-link:focus, - .navbar.is-dark .navbar-start .navbar-link:hover, - .navbar.is-dark .navbar-start .navbar-link.is-active, - .navbar.is-dark .navbar-start .navbar-link.active, - .navbar.is-dark .navbar-end > a.navbar-item:focus, - .navbar.is-dark .navbar-end > a.navbar-item:hover, - .navbar.is-dark .navbar-end > a.navbar-item.is-active, - .navbar.is-dark .navbar-end > .navbar-item.active, - .navbar.is-dark .navbar-end .navbar-link:focus, - .navbar.is-dark .navbar-end .navbar-link:hover, - .navbar.is-dark .navbar-end .navbar-link.is-active, - .navbar.is-dark .navbar-end .navbar-link.active { - background-color: #070005; - color: #fff; - } - - .navbar.is-dark .navbar-start .navbar-link::after, - .navbar.is-dark .navbar-end .navbar-link::after { - border-color: #fff; - } - - .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link, - .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link, - .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link, - .navbar.is-dark .has-dropdown.active .navbar-link { - background-color: #070005; - color: #fff; - } - - .navbar.is-dark .navbar-dropdown a.navbar-item.is-active, .navbar.is-dark .navbar-dropdown .navbar-item.active { - background-color: #200117; - color: #fff; - } -} - -.navbar.is-primary { - background-color: #A00975; - color: #fff; -} - - .navbar.is-primary .navbar-brand > .navbar-item, - .navbar.is-primary .navbar-brand .navbar-link { - color: #fff; - } - - .navbar.is-primary .navbar-brand > a.navbar-item:focus, .navbar.is-primary .navbar-brand > a.navbar-item:hover, .navbar.is-primary .navbar-brand > a.navbar-item.is-active, .navbar.is-primary .navbar-brand > .navbar-item.active, - .navbar.is-primary .navbar-brand .navbar-link:focus, - .navbar.is-primary .navbar-brand .navbar-link:hover, - .navbar.is-primary .navbar-brand .navbar-link.is-active, - .navbar.is-primary .navbar-brand .navbar-link.active { - background-color: #880863; - color: #fff; - } - - .navbar.is-primary .navbar-brand .navbar-link::after { - border-color: #fff; - } - - .navbar.is-primary .navbar-burger { - color: #fff; - } - -@media screen and (min-width: 1024px) { - .navbar.is-primary .navbar-start > .navbar-item, - .navbar.is-primary .navbar-start .navbar-link, - .navbar.is-primary .navbar-end > .navbar-item, - .navbar.is-primary .navbar-end .navbar-link { - color: #fff; - } - - .navbar.is-primary .navbar-start > a.navbar-item:focus, .navbar.is-primary .navbar-start > a.navbar-item:hover, .navbar.is-primary .navbar-start > a.navbar-item.is-active, .navbar.is-primary .navbar-start > .navbar-item.active, - .navbar.is-primary .navbar-start .navbar-link:focus, - .navbar.is-primary .navbar-start .navbar-link:hover, - .navbar.is-primary .navbar-start .navbar-link.is-active, - .navbar.is-primary .navbar-start .navbar-link.active, - .navbar.is-primary .navbar-end > a.navbar-item:focus, - .navbar.is-primary .navbar-end > a.navbar-item:hover, - .navbar.is-primary .navbar-end > a.navbar-item.is-active, - .navbar.is-primary .navbar-end > .navbar-item.active, - .navbar.is-primary .navbar-end .navbar-link:focus, - .navbar.is-primary .navbar-end .navbar-link:hover, - .navbar.is-primary .navbar-end .navbar-link.is-active, - .navbar.is-primary .navbar-end .navbar-link.active { - background-color: #880863; - color: #fff; - } - - .navbar.is-primary .navbar-start .navbar-link::after, - .navbar.is-primary .navbar-end .navbar-link::after { - border-color: #fff; - } - - .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link, - .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link, - .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link, - .navbar.is-primary .has-dropdown.active .navbar-link { - background-color: #880863; - color: #fff; - } - - .navbar.is-primary .navbar-dropdown a.navbar-item.is-active, .navbar.is-primary .navbar-dropdown .navbar-item.active { - background-color: #A00975; - color: #fff; - } -} - -.navbar.is-link { - background-color: #378BBA; - color: #fff; -} - - .navbar.is-link .navbar-brand > .navbar-item, - .navbar.is-link .navbar-brand .navbar-link { - color: #fff; - } - - .navbar.is-link .navbar-brand > a.navbar-item:focus, .navbar.is-link .navbar-brand > a.navbar-item:hover, .navbar.is-link .navbar-brand > a.navbar-item.is-active, .navbar.is-link .navbar-brand > .navbar-item.active, - .navbar.is-link .navbar-brand .navbar-link:focus, - .navbar.is-link .navbar-brand .navbar-link:hover, - .navbar.is-link .navbar-brand .navbar-link.is-active, - .navbar.is-link .navbar-brand .navbar-link.active { - background-color: #317ca6; - color: #fff; - } - - .navbar.is-link .navbar-brand .navbar-link::after { - border-color: #fff; - } - - .navbar.is-link .navbar-burger { - color: #fff; - } - -@media screen and (min-width: 1024px) { - .navbar.is-link .navbar-start > .navbar-item, - .navbar.is-link .navbar-start .navbar-link, - .navbar.is-link .navbar-end > .navbar-item, - .navbar.is-link .navbar-end .navbar-link { - color: #fff; - } - - .navbar.is-link .navbar-start > a.navbar-item:focus, .navbar.is-link .navbar-start > a.navbar-item:hover, .navbar.is-link .navbar-start > a.navbar-item.is-active, .navbar.is-link .navbar-start > .navbar-item.active, - .navbar.is-link .navbar-start .navbar-link:focus, - .navbar.is-link .navbar-start .navbar-link:hover, - .navbar.is-link .navbar-start .navbar-link.is-active, - .navbar.is-link .navbar-start .navbar-link.active, - .navbar.is-link .navbar-end > a.navbar-item:focus, - .navbar.is-link .navbar-end > a.navbar-item:hover, - .navbar.is-link .navbar-end > a.navbar-item.is-active, - .navbar.is-link .navbar-end > .navbar-item.active, - .navbar.is-link .navbar-end .navbar-link:focus, - .navbar.is-link .navbar-end .navbar-link:hover, - .navbar.is-link .navbar-end .navbar-link.is-active, - .navbar.is-link .navbar-end .navbar-link.active { - background-color: #317ca6; - color: #fff; - } - - .navbar.is-link .navbar-start .navbar-link::after, - .navbar.is-link .navbar-end .navbar-link::after { - border-color: #fff; - } - - .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link, - .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link, - .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link, - .navbar.is-link .has-dropdown.active .navbar-link { - background-color: #317ca6; - color: #fff; - } - - .navbar.is-link .navbar-dropdown a.navbar-item.is-active, .navbar.is-link .navbar-dropdown .navbar-item.active { - background-color: #378BBA; - color: #fff; - } -} - -.navbar.is-info { - background-color: #3298dc; - color: #fff; -} - - .navbar.is-info .navbar-brand > .navbar-item, - .navbar.is-info .navbar-brand .navbar-link { - color: #fff; - } - - .navbar.is-info .navbar-brand > a.navbar-item:focus, .navbar.is-info .navbar-brand > a.navbar-item:hover, .navbar.is-info .navbar-brand > a.navbar-item.is-active, .navbar.is-info .navbar-brand > .navbar-item.active, - .navbar.is-info .navbar-brand .navbar-link:focus, - .navbar.is-info .navbar-brand .navbar-link:hover, - .navbar.is-info .navbar-brand .navbar-link.is-active, - .navbar.is-info .navbar-brand .navbar-link.active { - background-color: #238cd1; - color: #fff; - } - - .navbar.is-info .navbar-brand .navbar-link::after { - border-color: #fff; - } - - .navbar.is-info .navbar-burger { - color: #fff; - } - -@media screen and (min-width: 1024px) { - .navbar.is-info .navbar-start > .navbar-item, - .navbar.is-info .navbar-start .navbar-link, - .navbar.is-info .navbar-end > .navbar-item, - .navbar.is-info .navbar-end .navbar-link { - color: #fff; - } - - .navbar.is-info .navbar-start > a.navbar-item:focus, .navbar.is-info .navbar-start > a.navbar-item:hover, .navbar.is-info .navbar-start > a.navbar-item.is-active, .navbar.is-info .navbar-start > .navbar-item.active, - .navbar.is-info .navbar-start .navbar-link:focus, - .navbar.is-info .navbar-start .navbar-link:hover, - .navbar.is-info .navbar-start .navbar-link.is-active, - .navbar.is-info .navbar-start .navbar-link.active, - .navbar.is-info .navbar-end > a.navbar-item:focus, - .navbar.is-info .navbar-end > a.navbar-item:hover, - .navbar.is-info .navbar-end > a.navbar-item.is-active, - .navbar.is-info .navbar-end > .navbar-item.active, - .navbar.is-info .navbar-end .navbar-link:focus, - .navbar.is-info .navbar-end .navbar-link:hover, - .navbar.is-info .navbar-end .navbar-link.is-active, - .navbar.is-info .navbar-end .navbar-link.active { - background-color: #238cd1; - color: #fff; - } - - .navbar.is-info .navbar-start .navbar-link::after, - .navbar.is-info .navbar-end .navbar-link::after { - border-color: #fff; - } - - .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link, - .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link, - .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link, - .navbar.is-info .has-dropdown.active .navbar-link { - background-color: #238cd1; - color: #fff; - } - - .navbar.is-info .navbar-dropdown a.navbar-item.is-active, .navbar.is-info .navbar-dropdown .navbar-item.active { - background-color: #3298dc; - color: #fff; - } -} - -.navbar.is-success { - background-color: #48c774; - color: #fff; -} - - .navbar.is-success .navbar-brand > .navbar-item, - .navbar.is-success .navbar-brand .navbar-link { - color: #fff; - } - - .navbar.is-success .navbar-brand > a.navbar-item:focus, .navbar.is-success .navbar-brand > a.navbar-item:hover, .navbar.is-success .navbar-brand > a.navbar-item.is-active, .navbar.is-success .navbar-brand > .navbar-item.active, - .navbar.is-success .navbar-brand .navbar-link:focus, - .navbar.is-success .navbar-brand .navbar-link:hover, - .navbar.is-success .navbar-brand .navbar-link.is-active, - .navbar.is-success .navbar-brand .navbar-link.active { - background-color: #3abb67; - color: #fff; - } - - .navbar.is-success .navbar-brand .navbar-link::after { - border-color: #fff; - } - - .navbar.is-success .navbar-burger { - color: #fff; - } - -@media screen and (min-width: 1024px) { - .navbar.is-success .navbar-start > .navbar-item, - .navbar.is-success .navbar-start .navbar-link, - .navbar.is-success .navbar-end > .navbar-item, - .navbar.is-success .navbar-end .navbar-link { - color: #fff; - } - - .navbar.is-success .navbar-start > a.navbar-item:focus, .navbar.is-success .navbar-start > a.navbar-item:hover, .navbar.is-success .navbar-start > a.navbar-item.is-active, .navbar.is-success .navbar-start > .navbar-item.active, - .navbar.is-success .navbar-start .navbar-link:focus, - .navbar.is-success .navbar-start .navbar-link:hover, - .navbar.is-success .navbar-start .navbar-link.is-active, - .navbar.is-success .navbar-start .navbar-link.active, - .navbar.is-success .navbar-end > a.navbar-item:focus, - .navbar.is-success .navbar-end > a.navbar-item:hover, - .navbar.is-success .navbar-end > a.navbar-item.is-active, - .navbar.is-success .navbar-end > .navbar-item.active, - .navbar.is-success .navbar-end .navbar-link:focus, - .navbar.is-success .navbar-end .navbar-link:hover, - .navbar.is-success .navbar-end .navbar-link.is-active, - .navbar.is-success .navbar-end .navbar-link.active { - background-color: #3abb67; - color: #fff; - } - - .navbar.is-success .navbar-start .navbar-link::after, - .navbar.is-success .navbar-end .navbar-link::after { - border-color: #fff; - } - - .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link, - .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link, - .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link, - .navbar.is-success .has-dropdown.active .navbar-link { - background-color: #3abb67; - color: #fff; - } - - .navbar.is-success .navbar-dropdown a.navbar-item.is-active, .navbar.is-success .navbar-dropdown .navbar-item.active { - background-color: #48c774; - color: #fff; - } -} - -.navbar.is-warning { - background-color: #ffdd57; - color: rgba(0, 0, 0, 0.7); -} - - .navbar.is-warning .navbar-brand > .navbar-item, - .navbar.is-warning .navbar-brand .navbar-link { - color: rgba(0, 0, 0, 0.7); - } - - .navbar.is-warning .navbar-brand > a.navbar-item:focus, .navbar.is-warning .navbar-brand > a.navbar-item:hover, .navbar.is-warning .navbar-brand > a.navbar-item.is-active, .navbar.is-warning .navbar-brand > .navbar-item.active, - .navbar.is-warning .navbar-brand .navbar-link:focus, - .navbar.is-warning .navbar-brand .navbar-link:hover, - .navbar.is-warning .navbar-brand .navbar-link.is-active, - .navbar.is-warning .navbar-brand .navbar-link.active { - background-color: #ffd83d; - color: rgba(0, 0, 0, 0.7); - } - - .navbar.is-warning .navbar-brand .navbar-link::after { - border-color: rgba(0, 0, 0, 0.7); - } - - .navbar.is-warning .navbar-burger { - color: rgba(0, 0, 0, 0.7); - } - -@media screen and (min-width: 1024px) { - .navbar.is-warning .navbar-start > .navbar-item, - .navbar.is-warning .navbar-start .navbar-link, - .navbar.is-warning .navbar-end > .navbar-item, - .navbar.is-warning .navbar-end .navbar-link { - color: rgba(0, 0, 0, 0.7); - } - - .navbar.is-warning .navbar-start > a.navbar-item:focus, .navbar.is-warning .navbar-start > a.navbar-item:hover, .navbar.is-warning .navbar-start > a.navbar-item.is-active, .navbar.is-warning .navbar-start > .navbar-item.active, - .navbar.is-warning .navbar-start .navbar-link:focus, - .navbar.is-warning .navbar-start .navbar-link:hover, - .navbar.is-warning .navbar-start .navbar-link.is-active, - .navbar.is-warning .navbar-start .navbar-link.active, - .navbar.is-warning .navbar-end > a.navbar-item:focus, - .navbar.is-warning .navbar-end > a.navbar-item:hover, - .navbar.is-warning .navbar-end > a.navbar-item.is-active, - .navbar.is-warning .navbar-end > .navbar-item.active, - .navbar.is-warning .navbar-end .navbar-link:focus, - .navbar.is-warning .navbar-end .navbar-link:hover, - .navbar.is-warning .navbar-end .navbar-link.is-active, - .navbar.is-warning .navbar-end .navbar-link.active { - background-color: #ffd83d; - color: rgba(0, 0, 0, 0.7); - } - - .navbar.is-warning .navbar-start .navbar-link::after, - .navbar.is-warning .navbar-end .navbar-link::after { - border-color: rgba(0, 0, 0, 0.7); - } - - .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link, - .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link, - .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link, - .navbar.is-warning .has-dropdown.active .navbar-link { - background-color: #ffd83d; - color: rgba(0, 0, 0, 0.7); - } - - .navbar.is-warning .navbar-dropdown a.navbar-item.is-active, .navbar.is-warning .navbar-dropdown .navbar-item.active { - background-color: #ffdd57; - color: rgba(0, 0, 0, 0.7); - } -} - -.navbar.is-danger { - background-color: #f14668; - color: #fff; -} - - .navbar.is-danger .navbar-brand > .navbar-item, - .navbar.is-danger .navbar-brand .navbar-link { - color: #fff; - } - - .navbar.is-danger .navbar-brand > a.navbar-item:focus, .navbar.is-danger .navbar-brand > a.navbar-item:hover, .navbar.is-danger .navbar-brand > a.navbar-item.is-active, .navbar.is-danger .navbar-brand > .navbar-item.active, - .navbar.is-danger .navbar-brand .navbar-link:focus, - .navbar.is-danger .navbar-brand .navbar-link:hover, - .navbar.is-danger .navbar-brand .navbar-link.is-active, - .navbar.is-danger .navbar-brand .navbar-link.active { - background-color: #ef2e55; - color: #fff; - } - - .navbar.is-danger .navbar-brand .navbar-link::after { - border-color: #fff; - } - - .navbar.is-danger .navbar-burger { - color: #fff; - } - -@media screen and (min-width: 1024px) { - .navbar.is-danger .navbar-start > .navbar-item, - .navbar.is-danger .navbar-start .navbar-link, - .navbar.is-danger .navbar-end > .navbar-item, - .navbar.is-danger .navbar-end .navbar-link { - color: #fff; - } - - .navbar.is-danger .navbar-start > a.navbar-item:focus, .navbar.is-danger .navbar-start > a.navbar-item:hover, .navbar.is-danger .navbar-start > a.navbar-item.is-active, .navbar.is-danger .navbar-start > .navbar-item.active, - .navbar.is-danger .navbar-start .navbar-link:focus, - .navbar.is-danger .navbar-start .navbar-link:hover, - .navbar.is-danger .navbar-start .navbar-link.is-active, - .navbar.is-danger .navbar-start .navbar-link.active, - .navbar.is-danger .navbar-end > a.navbar-item:focus, - .navbar.is-danger .navbar-end > a.navbar-item:hover, - .navbar.is-danger .navbar-end > a.navbar-item.is-active, - .navbar.is-danger .navbar-end > .navbar-item.active, - .navbar.is-danger .navbar-end .navbar-link:focus, - .navbar.is-danger .navbar-end .navbar-link:hover, - .navbar.is-danger .navbar-end .navbar-link.is-active, - .navbar.is-danger .navbar-end .navbar-link.active { - background-color: #ef2e55; - color: #fff; - } - - .navbar.is-danger .navbar-start .navbar-link::after, - .navbar.is-danger .navbar-end .navbar-link::after { - border-color: #fff; - } - - .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link, - .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link, - .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link, - .navbar.is-danger .has-dropdown.active .navbar-link { - background-color: #ef2e55; - color: #fff; - } - - .navbar.is-danger .navbar-dropdown a.navbar-item.is-active, .navbar.is-danger .navbar-dropdown .navbar-item.active { - background-color: #f14668; - color: #fff; - } -} - -.navbar > .container { - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - min-height: 3.25rem; - width: 100%; -} - -.navbar.has-shadow { - -webkit-box-shadow: 0 2px 0 0 whitesmoke; - box-shadow: 0 2px 0 0 whitesmoke; -} - -.navbar.is-fixed-bottom, .navbar.is-fixed-top { - left: 0; - position: fixed; - right: 0; - z-index: 30; -} - -.navbar.is-fixed-bottom { - bottom: 0; -} - - .navbar.is-fixed-bottom.has-shadow { - -webkit-box-shadow: 0 -2px 0 0 whitesmoke; - box-shadow: 0 -2px 0 0 whitesmoke; - } - -.navbar.is-fixed-top { - top: 0; -} - -html.has-navbar-fixed-top, -body.has-navbar-fixed-top { - padding-top: 3.25rem; -} - -html.has-navbar-fixed-bottom, -body.has-navbar-fixed-bottom { - padding-bottom: 3.25rem; -} - -.navbar-brand, -.navbar-tabs { - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-negative: 0; - flex-shrink: 0; - min-height: 3.25rem; -} - - .navbar-brand a.navbar-item:focus, .navbar-brand a.navbar-item:hover { - background-color: transparent; - } - -.navbar-tabs { - -webkit-overflow-scrolling: touch; - max-width: 100vw; - overflow-x: auto; - overflow-y: hidden; -} - -.navbar-burger { - color: #4a4a4a; - cursor: pointer; - display: block; - height: 3.25rem; - position: relative; - width: 3.25rem; - margin-left: auto; -} - - .navbar-burger span { - background-color: currentColor; - display: block; - height: 1px; - left: calc(50% - 8px); - position: absolute; - -webkit-transform-origin: center; - -ms-transform-origin: center; - transform-origin: center; - -webkit-transition-duration: 86ms; - -o-transition-duration: 86ms; - transition-duration: 86ms; - -webkit-transition-property: background-color, opacity, -webkit-transform; - transition-property: background-color, opacity, -webkit-transform; - -o-transition-property: background-color, opacity, transform; - transition-property: background-color, opacity, transform; - transition-property: background-color, opacity, transform, -webkit-transform; - -webkit-transition-timing-function: ease-out; - -o-transition-timing-function: ease-out; - transition-timing-function: ease-out; - width: 16px; - } - - .navbar-burger span:nth-child(1) { - top: calc(50% - 6px); - } - - .navbar-burger span:nth-child(2) { - top: calc(50% - 1px); - } - - .navbar-burger span:nth-child(3) { - top: calc(50% + 4px); - } - - .navbar-burger:hover { - background-color: rgba(0, 0, 0, 0.05); - } - - .navbar-burger.is-active span:nth-child(1), .navbar-burger.active span:nth-child(1) { - -webkit-transform: translateY(5px) rotate(45deg); - -ms-transform: translateY(5px) rotate(45deg); - transform: translateY(5px) rotate(45deg); - } - - .navbar-burger.is-active span:nth-child(2), .navbar-burger.active span:nth-child(2) { - opacity: 0; - } - - .navbar-burger.is-active span:nth-child(3), .navbar-burger.active span:nth-child(3) { - -webkit-transform: translateY(-5px) rotate(-45deg); - -ms-transform: translateY(-5px) rotate(-45deg); - transform: translateY(-5px) rotate(-45deg); - } - -.navbar-menu { - display: none; -} - -.navbar-item, -.navbar-link { - color: #4a4a4a; - display: block; - line-height: 1.5; - padding: 0.5rem 0.75rem; - position: relative; -} - - .navbar-item .icon:only-child, - .navbar-link .icon:only-child { - margin-left: -0.25rem; - margin-right: -0.25rem; - } - -a.navbar-item, -.navbar-link { - cursor: pointer; -} - - a.navbar-item:focus, a.navbar-item:focus-within, a.navbar-item:hover, a.navbar-item.is-active, .navbar-item.active, - .navbar-link:focus, - .navbar-link:focus-within, - .navbar-link:hover, - .navbar-link.is-active, - .navbar-link.active { - background-color: #fafafa; - color: #378BBA; - } - -.navbar-item { - -webkit-box-flex: 0; - -ms-flex-positive: 0; - flex-grow: 0; - -ms-flex-negative: 0; - flex-shrink: 0; -} - - .navbar-item img { - max-height: 1.75rem; - } - - .navbar-item.has-dropdown { - padding: 0; - } - - .navbar-item.is-expanded { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-negative: 1; - flex-shrink: 1; - } - - .navbar-item.is-tab { - border-bottom: 1px solid transparent; - min-height: 3.25rem; - padding-bottom: calc(0.5rem - 1px); - } - - .navbar-item.is-tab:focus, .navbar-item.is-tab:hover { - background-color: transparent; - border-bottom-color: #378BBA; - } - - .navbar-item.is-tab.is-active, .is-tab.active { - background-color: transparent; - border-bottom-color: #378BBA; - border-bottom-style: solid; - border-bottom-width: 3px; - color: #378BBA; - padding-bottom: calc(0.5rem - 3px); - } - -.navbar-content { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-negative: 1; - flex-shrink: 1; -} - -.navbar-link:not(.is-arrowless) { - padding-right: 2.5em; -} - - .navbar-link:not(.is-arrowless)::after { - border-color: #378BBA; - margin-top: -0.375em; - right: 1.125em; - } - -.navbar-dropdown { - font-size: 0.875rem; - padding-bottom: 0.5rem; - padding-top: 0.5rem; -} - - .navbar-dropdown .navbar-item { - padding-left: 1.5rem; - padding-right: 1.5rem; - } - -.navbar-divider { - background-color: whitesmoke; - border: none; - display: none; - height: 2px; - margin: 0.5rem 0; -} - -@media screen and (max-width: 1023px) { - .navbar > .container { - display: block; - } - - .navbar-brand .navbar-item, - .navbar-tabs .navbar-item { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - } - - .navbar-link::after { - display: none; - } - - .navbar-menu { - background-color: white; - -webkit-box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1); - box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1); - padding: 0.5rem 0; - } - - .navbar-menu.is-active, .navbar-menu.active { - display: block; - } - - .navbar.is-fixed-bottom-touch, .navbar.is-fixed-top-touch { - left: 0; - position: fixed; - right: 0; - z-index: 30; - } - - .navbar.is-fixed-bottom-touch { - bottom: 0; - } - - .navbar.is-fixed-bottom-touch.has-shadow { - -webkit-box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); - box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); - } - - .navbar.is-fixed-top-touch { - top: 0; - } - - .navbar.is-fixed-top .navbar-menu, .navbar.is-fixed-top-touch .navbar-menu { - -webkit-overflow-scrolling: touch; - max-height: calc(100vh - 3.25rem); - overflow: auto; - } - - html.has-navbar-fixed-top-touch, - body.has-navbar-fixed-top-touch { - padding-top: 3.25rem; - } - - html.has-navbar-fixed-bottom-touch, - body.has-navbar-fixed-bottom-touch { - padding-bottom: 3.25rem; - } -} - -@media screen and (min-width: 1024px) { - .navbar, - .navbar-menu, - .navbar-start, - .navbar-end { - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - } - - .navbar { - min-height: 3.25rem; - } - - .navbar.is-spaced { - padding: 1rem 2rem; - } - - .navbar.is-spaced .navbar-start, - .navbar.is-spaced .navbar-end { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - } - - .navbar.is-spaced a.navbar-item, - .navbar.is-spaced .navbar-link { - border-radius: 4px; - } - - .navbar.is-transparent a.navbar-item:focus, .navbar.is-transparent a.navbar-item:hover, .navbar.is-transparent a.navbar-item.is-active, .navbar.is-transparent .navbar-item.active, - .navbar.is-transparent .navbar-link:focus, - .navbar.is-transparent .navbar-link:hover, - .navbar.is-transparent .navbar-link.is-active, - .navbar.is-transparent .navbar-link.active { - background-color: transparent !important; - } - - .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, .navbar.is-transparent .has-dropdown.active .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link { - background-color: transparent !important; - } - - .navbar.is-transparent .navbar-dropdown a.navbar-item:focus, .navbar.is-transparent .navbar-dropdown a.navbar-item:hover { - background-color: whitesmoke; - color: #0a0a0a; - } - - .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active, .navbar.is-transparent .navbar-dropdown .navbar-item.active { - background-color: whitesmoke; - color: #378BBA; - } - - .navbar-burger { - display: none; - } - - .navbar-item, - .navbar-link { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - } - - .navbar-item.has-dropdown { - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - } - - .navbar-item.has-dropdown-up .navbar-link::after { - -webkit-transform: rotate(135deg) translate(0.25em, -0.25em); - -ms-transform: rotate(135deg) translate(0.25em, -0.25em); - transform: rotate(135deg) translate(0.25em, -0.25em); - } - - .navbar-item.has-dropdown-up .navbar-dropdown { - border-bottom: 2px solid #dbdbdb; - border-radius: 6px 6px 0 0; - border-top: none; - bottom: 100%; - -webkit-box-shadow: 0 -8px 8px rgba(10, 10, 10, 0.1); - box-shadow: 0 -8px 8px rgba(10, 10, 10, 0.1); - top: auto; - } - - .navbar-item.is-active .navbar-dropdown, .navbar-item.active .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown { - display: block; - } - - .navbar.is-spaced .navbar-item.is-active .navbar-dropdown, .navbar.is-spaced .navbar-item.active .navbar-dropdown, .navbar-item.is-active .navbar-dropdown.is-boxed, .navbar-item.active .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed { - opacity: 1; - pointer-events: auto; - -webkit-transform: translateY(0); - -ms-transform: translateY(0); - transform: translateY(0); - } - - .navbar-menu { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-negative: 0; - flex-shrink: 0; - } - - .navbar-start { - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - margin-right: auto; - } - - .navbar-end { - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; - margin-left: auto; - } - - .navbar-dropdown { - background-color: white; - border-bottom-left-radius: 6px; - border-bottom-right-radius: 6px; - border-top: 2px solid #dbdbdb; - -webkit-box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1); - box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1); - display: none; - font-size: 0.875rem; - left: 0; - min-width: 100%; - position: absolute; - top: 100%; - z-index: 20; - } - - .navbar-dropdown .navbar-item { - padding: 0.375rem 1rem; - white-space: nowrap; - } - - .navbar-dropdown a.navbar-item { - padding-right: 3rem; - } - - .navbar-dropdown a.navbar-item:focus, .navbar-dropdown a.navbar-item:hover { - background-color: whitesmoke; - color: #0a0a0a; - } - - .navbar-dropdown a.navbar-item.is-active, .navbar-dropdown .navbar-item.active { - background-color: whitesmoke; - color: #378BBA; - } - - .navbar.is-spaced .navbar-dropdown, .navbar-dropdown.is-boxed { - border-radius: 6px; - border-top: none; - -webkit-box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); - box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); - display: block; - opacity: 0; - pointer-events: none; - top: calc(100% + (-4px)); - -webkit-transform: translateY(-5px); - -ms-transform: translateY(-5px); - transform: translateY(-5px); - -webkit-transition-duration: 86ms; - -o-transition-duration: 86ms; - transition-duration: 86ms; - -webkit-transition-property: opacity, -webkit-transform; - transition-property: opacity, -webkit-transform; - -o-transition-property: opacity, transform; - transition-property: opacity, transform; - transition-property: opacity, transform, -webkit-transform; - } - - .navbar-dropdown.is-right { - left: auto; - right: 0; - } - - .navbar-divider { - display: block; - } - - .navbar > .container .navbar-brand, - .container > .navbar .navbar-brand { - margin-left: -0.75rem; - } - - .navbar > .container .navbar-menu, - .container > .navbar .navbar-menu { - margin-right: -0.75rem; - } - - .navbar.is-fixed-bottom-desktop, .navbar.is-fixed-top-desktop { - left: 0; - position: fixed; - right: 0; - z-index: 30; - } - - .navbar.is-fixed-bottom-desktop { - bottom: 0; - } - - .navbar.is-fixed-bottom-desktop.has-shadow { - -webkit-box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); - box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); - } - - .navbar.is-fixed-top-desktop { - top: 0; - } - - html.has-navbar-fixed-top-desktop, - body.has-navbar-fixed-top-desktop { - padding-top: 3.25rem; - } - - html.has-navbar-fixed-bottom-desktop, - body.has-navbar-fixed-bottom-desktop { - padding-bottom: 3.25rem; - } - - html.has-spaced-navbar-fixed-top, - body.has-spaced-navbar-fixed-top { - padding-top: 5.25rem; - } - - html.has-spaced-navbar-fixed-bottom, - body.has-spaced-navbar-fixed-bottom { - padding-bottom: 5.25rem; - } - - a.navbar-item.is-active, .navbar-item.active, - .navbar-link.is-active, - .navbar-link.active { - color: #0a0a0a; - } - - a.navbar-item.is-active:not(:focus):not(:hover), .navbar-item.active:not(:focus):not(:hover), - .navbar-link.is-active:not(:focus):not(:hover), - .navbar-link.active:not(:focus):not(:hover) { - background-color: transparent; - } - - .navbar-item.has-dropdown:focus .navbar-link, .navbar-item.has-dropdown:hover .navbar-link, .navbar-item.has-dropdown.is-active .navbar-link, .has-dropdown.active .navbar-link { - background-color: #fafafa; - } -} - -.hero.is-fullheight-with-navbar { - min-height: calc(100vh - 3.25rem); -} - -.pagination { - font-size: 1rem; - margin: -0.25rem; -} - - .pagination.is-small { - font-size: 0.75rem; - } - - .pagination.is-medium { - font-size: 1.25rem; - } - - .pagination.is-large { - font-size: 1.5rem; - } - - .pagination.is-rounded .pagination-previous, - .pagination.is-rounded .pagination-next { - padding-left: 1em; - padding-right: 1em; - border-radius: 290486px; - } - - .pagination.is-rounded .pagination-link { - border-radius: 290486px; - } - -.pagination, -.pagination-list { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - text-align: center; -} - -.pagination-previous, -.pagination-next, -.pagination-link, -.pagination-ellipsis { - font-size: 1em; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - margin: 0.25rem; - padding-left: 0.5em; - padding-right: 0.5em; - text-align: center; -} - -.pagination-previous, -.pagination-next, -.pagination-link { - border-color: #dbdbdb; - color: #363636; - min-width: 2.5em; -} - - .pagination-previous:hover, - .pagination-next:hover, - .pagination-link:hover { - border-color: #b5b5b5; - color: #A00975; - } - - .pagination-previous:focus, - .pagination-next:focus, - .pagination-link:focus { - border-color: #3273dc; - } - - .pagination-previous:active, - .pagination-next:active, - .pagination-link:active { - -webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2); - box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2); - } - - .pagination-previous[disabled], - .pagination-next[disabled], - .pagination-link[disabled] { - background-color: #dbdbdb; - border-color: #dbdbdb; - -webkit-box-shadow: none; - box-shadow: none; - color: #7a7a7a; - opacity: 0.5; - } - -.pagination-previous, -.pagination-next { - padding-left: 0.75em; - padding-right: 0.75em; - white-space: nowrap; -} - -.pagination-link.is-current { - background-color: #378BBA; - border-color: #378BBA; - color: #fff; -} - -.pagination-ellipsis { - color: #b5b5b5; - pointer-events: none; -} - -.pagination-list { - -ms-flex-wrap: wrap; - flex-wrap: wrap; -} - - .pagination-list li { - list-style: none; - } - -@media screen and (max-width: 768px) { - .pagination { - -ms-flex-wrap: wrap; - flex-wrap: wrap; - } - - .pagination-previous, - .pagination-next { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-negative: 1; - flex-shrink: 1; - } - - .pagination-list li { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-negative: 1; - flex-shrink: 1; - } -} - -@media screen and (min-width: 769px), print { - .pagination-list { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-negative: 1; - flex-shrink: 1; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-box-ordinal-group: 2; - -ms-flex-order: 1; - order: 1; - } - - .pagination-previous { - -webkit-box-ordinal-group: 3; - -ms-flex-order: 2; - order: 2; - } - - .pagination-next { - -webkit-box-ordinal-group: 4; - -ms-flex-order: 3; - order: 3; - } - - .pagination { - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - } - - .pagination.is-centered .pagination-previous { - -webkit-box-ordinal-group: 2; - -ms-flex-order: 1; - order: 1; - } - - .pagination.is-centered .pagination-list { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-ordinal-group: 3; - -ms-flex-order: 2; - order: 2; - } - - .pagination.is-centered .pagination-next { - -webkit-box-ordinal-group: 4; - -ms-flex-order: 3; - order: 3; - } - - .pagination.is-right .pagination-previous { - -webkit-box-ordinal-group: 2; - -ms-flex-order: 1; - order: 1; - } - - .pagination.is-right .pagination-next { - -webkit-box-ordinal-group: 3; - -ms-flex-order: 2; - order: 2; - } - - .pagination.is-right .pagination-list { - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; - -webkit-box-ordinal-group: 4; - -ms-flex-order: 3; - order: 3; - } -} - -.panel { - border-radius: 6px; - -webkit-box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1), 0 0px 0 1px rgba(10, 10, 10, 0.02); - box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1), 0 0px 0 1px rgba(10, 10, 10, 0.02); - font-size: 1rem; -} - - .panel:not(:last-child) { - margin-bottom: 1.5rem; - } - - .panel.is-white .panel-heading { - background-color: white; - color: #0a0a0a; - } - - .panel.is-white .panel-tabs a.is-active, .panel.is-white .panel-tabs a.active { - border-bottom-color: white; - } - - .panel.is-white .panel-block.is-active .panel-icon, .panel.is-white .panel-block.active .panel-icon { - color: white; - } - - .panel.is-black .panel-heading { - background-color: #0a0a0a; - color: white; - } - - .panel.is-black .panel-tabs a.is-active, .panel.is-black .panel-tabs a.active { - border-bottom-color: #0a0a0a; - } - - .panel.is-black .panel-block.is-active .panel-icon, .panel.is-black .panel-block.active .panel-icon { - color: #0a0a0a; - } - - .panel.is-light .panel-heading { - background-color: whitesmoke; - color: rgba(0, 0, 0, 0.7); - } - - .panel.is-light .panel-tabs a.is-active, .panel.is-light .panel-tabs a.active { - border-bottom-color: whitesmoke; - } - - .panel.is-light .panel-block.is-active .panel-icon, .panel.is-light .panel-block.active .panel-icon { - color: whitesmoke; - } - - .panel.is-dark .panel-heading { - background-color: #200117; - color: #fff; - } - - .panel.is-dark .panel-tabs a.is-active, .panel.is-dark .panel-tabs a.active { - border-bottom-color: #200117; - } - - .panel.is-dark .panel-block.is-active .panel-icon, .panel.is-dark .panel-block.active .panel-icon { - color: #200117; - } - - .panel.is-primary .panel-heading { - background-color: #A00975; - color: #fff; - } - - .panel.is-primary .panel-tabs a.is-active, .panel.is-primary .panel-tabs a.active { - border-bottom-color: #A00975; - } - - .panel.is-primary .panel-block.is-active .panel-icon, .panel.is-primary .panel-block.active .panel-icon { - color: #A00975; - } - - .panel.is-link .panel-heading { - background-color: #378BBA; - color: #fff; - } - - .panel.is-link .panel-tabs a.is-active, .panel.is-link .panel-tabs a.active { - border-bottom-color: #378BBA; - } - - .panel.is-link .panel-block.is-active .panel-icon, .panel.is-link .panel-block.active .panel-icon { - color: #378BBA; - } - - .panel.is-info .panel-heading { - background-color: #3298dc; - color: #fff; - } - - .panel.is-info .panel-tabs a.is-active, .panel.is-info .panel-tabs a.active { - border-bottom-color: #3298dc; - } - - .panel.is-info .panel-block.is-active .panel-icon, .panel.is-info .panel-block.active .panel-icon { - color: #3298dc; - } - - .panel.is-success .panel-heading { - background-color: #48c774; - color: #fff; - } - - .panel.is-success .panel-tabs a.is-active, .panel.is-success .panel-tabs a.active { - border-bottom-color: #48c774; - } - - .panel.is-success .panel-block.is-active .panel-icon, .panel.is-success .panel-block.active .panel-icon { - color: #48c774; - } - - .panel.is-warning .panel-heading { - background-color: #ffdd57; - color: rgba(0, 0, 0, 0.7); - } - - .panel.is-warning .panel-tabs a.is-active, .panel.is-warning .panel-tabs a.active { - border-bottom-color: #ffdd57; - } - - .panel.is-warning .panel-block.is-active .panel-icon, .panel.is-warning .panel-block.active .panel-icon { - color: #ffdd57; - } - - .panel.is-danger .panel-heading { - background-color: #f14668; - color: #fff; - } - - .panel.is-danger .panel-tabs a.is-active, .panel.is-danger .panel-tabs a.active { - border-bottom-color: #f14668; - } - - .panel.is-danger .panel-block.is-active .panel-icon, .panel.is-danger .panel-block.active .panel-icon { - color: #f14668; - } - -.panel-tabs:not(:last-child), -.panel-block:not(:last-child) { - border-bottom: 1px solid #ededed; -} - -.panel-heading { - background-color: #ededed; - border-radius: 6px 6px 0 0; - color: #363636; - font-size: 1.25em; - font-weight: 700; - line-height: 1.25; - padding: 0.75em 1em; -} - -.panel-tabs { - -webkit-box-align: end; - -ms-flex-align: end; - align-items: flex-end; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - font-size: 0.875em; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; -} - - .panel-tabs a { - border-bottom: 1px solid #dbdbdb; - margin-bottom: -1px; - padding: 0.5em; - } - - .panel-tabs a.is-active, .panel-tabs a.active { - border-bottom-color: #4a4a4a; - color: #363636; - } - -.panel-list a { - color: #4a4a4a; -} - - .panel-list a:hover { - color: #378BBA; - } - -.panel-block { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #363636; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - padding: 0.5em 0.75em; -} - - .panel-block input[type="checkbox"] { - margin-right: 0.75em; - } - - .panel-block > .control { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-negative: 1; - flex-shrink: 1; - width: 100%; - } - - .panel-block.is-wrapped { - -ms-flex-wrap: wrap; - flex-wrap: wrap; - } - - .panel-block.is-active, .panel-block.active { - border-left-color: #378BBA; - color: #363636; - } - - .panel-block.is-active .panel-icon, .panel-block.active .panel-icon { - color: #378BBA; - } - - .panel-block:last-child { - border-bottom-left-radius: 6px; - border-bottom-right-radius: 6px; - } - -a.panel-block, -label.panel-block { - cursor: pointer; -} - - a.panel-block:hover, - label.panel-block:hover { - background-color: whitesmoke; - } - -.panel-icon { - display: inline-block; - font-size: 14px; - height: 1em; - line-height: 1em; - text-align: center; - vertical-align: top; - width: 1em; - color: #7a7a7a; - margin-right: 0.75em; -} - - .panel-icon .fa { - font-size: inherit; - line-height: inherit; - } - -.tabs { - -webkit-overflow-scrolling: touch; - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - font-size: 1rem; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - overflow: hidden; - overflow-x: auto; - white-space: nowrap; -} - - .tabs a { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - border-bottom-color: #dbdbdb; - border-bottom-style: solid; - border-bottom-width: 1px; - color: #4a4a4a; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - margin-bottom: -1px; - padding: 0.5em 1em; - vertical-align: top; - } - - .tabs a:hover { - border-bottom-color: #363636; - color: #363636; - } - - .tabs li { - display: block; - } - - .tabs li.is-active a, .tabs li.active a { - border-bottom-color: #378BBA; - color: #378BBA; - } - - .tabs ul { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - border-bottom-color: #dbdbdb; - border-bottom-style: solid; - border-bottom-width: 1px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-negative: 0; - flex-shrink: 0; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - } - - .tabs ul.is-left { - padding-right: 0.75em; - } - - .tabs ul.is-center { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - padding-left: 0.75em; - padding-right: 0.75em; - } - - .tabs ul.is-right { - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; - padding-left: 0.75em; - } - - .tabs .icon:first-child { - margin-right: 0.5em; - } - - .tabs .icon:last-child { - margin-left: 0.5em; - } - - .tabs.is-centered ul { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - } - - .tabs.is-right ul { - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; - } - - .tabs.is-boxed a { - border: 1px solid transparent; - border-radius: 4px 4px 0 0; - } - - .tabs.is-boxed a:hover { - background-color: whitesmoke; - border-bottom-color: #dbdbdb; - } - - .tabs.is-boxed li.is-active a, .tabs.is-boxed li.active a { - background-color: white; - border-color: #dbdbdb; - border-bottom-color: transparent !important; - } - - .tabs.is-fullwidth li { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-negative: 0; - flex-shrink: 0; - } - - .tabs.is-toggle a { - border-color: #dbdbdb; - border-style: solid; - border-width: 1px; - margin-bottom: 0; - position: relative; - } - - .tabs.is-toggle a:hover { - background-color: whitesmoke; - border-color: #b5b5b5; - z-index: 2; - } - - .tabs.is-toggle li + li { - margin-left: -1px; - } - - .tabs.is-toggle li:first-child a { - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; - } - - .tabs.is-toggle li:last-child a { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - } - - .tabs.is-toggle li.is-active a, .tabs.is-toggle li.active a { - background-color: #378BBA; - border-color: #378BBA; - color: #fff; - z-index: 1; - } - - .tabs.is-toggle ul { - border-bottom: none; - } - - .tabs.is-toggle.is-toggle-rounded li:first-child a { - border-bottom-left-radius: 290486px; - border-top-left-radius: 290486px; - padding-left: 1.25em; - } - - .tabs.is-toggle.is-toggle-rounded li:last-child a { - border-bottom-right-radius: 290486px; - border-top-right-radius: 290486px; - padding-right: 1.25em; - } - - .tabs.is-small { - font-size: 0.75rem; - } - - .tabs.is-medium { - font-size: 1.25rem; - } - - .tabs.is-large { - font-size: 1.5rem; - } - -/* Bulma Grid */ -.column { - display: block; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-negative: 1; - flex-shrink: 1; - padding: 0.75rem; -} - -.columns.is-mobile > .column.is-narrow { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: unset; -} - -.columns.is-mobile > .column.is-full { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 100%; -} - -.columns.is-mobile > .column.is-three-quarters { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 75%; -} - -.columns.is-mobile > .column.is-two-thirds { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 66.6666%; -} - -.columns.is-mobile > .column.is-half { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 50%; -} - -.columns.is-mobile > .column.is-one-third { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 33.3333%; -} - -.columns.is-mobile > .column.is-one-quarter { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 25%; -} - -.columns.is-mobile > .column.is-one-fifth { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 20%; -} - -.columns.is-mobile > .column.is-two-fifths { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 40%; -} - -.columns.is-mobile > .column.is-three-fifths { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 60%; -} - -.columns.is-mobile > .column.is-four-fifths { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 80%; -} - -.columns.is-mobile > .column.is-offset-three-quarters { - margin-left: 75%; -} - -.columns.is-mobile > .column.is-offset-two-thirds { - margin-left: 66.6666%; -} - -.columns.is-mobile > .column.is-offset-half { - margin-left: 50%; -} - -.columns.is-mobile > .column.is-offset-one-third { - margin-left: 33.3333%; -} - -.columns.is-mobile > .column.is-offset-one-quarter { - margin-left: 25%; -} - -.columns.is-mobile > .column.is-offset-one-fifth { - margin-left: 20%; -} - -.columns.is-mobile > .column.is-offset-two-fifths { - margin-left: 40%; -} - -.columns.is-mobile > .column.is-offset-three-fifths { - margin-left: 60%; -} - -.columns.is-mobile > .column.is-offset-four-fifths { - margin-left: 80%; -} - -.columns.is-mobile > .column.is-0 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 0%; -} - -.columns.is-mobile > .column.is-offset-0 { - margin-left: 0%; -} - -.columns.is-mobile > .column.is-1 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 8.33333%; -} - -.columns.is-mobile > .column.is-offset-1 { - margin-left: 8.33333%; -} - -.columns.is-mobile > .column.is-2 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 16.66667%; -} - -.columns.is-mobile > .column.is-offset-2 { - margin-left: 16.66667%; -} - -.columns.is-mobile > .column.is-3 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 25%; -} - -.columns.is-mobile > .column.is-offset-3 { - margin-left: 25%; -} - -.columns.is-mobile > .column.is-4 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 33.33333%; -} - -.columns.is-mobile > .column.is-offset-4 { - margin-left: 33.33333%; -} - -.columns.is-mobile > .column.is-5 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 41.66667%; -} - -.columns.is-mobile > .column.is-offset-5 { - margin-left: 41.66667%; -} - -.columns.is-mobile > .column.is-6 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 50%; -} - -.columns.is-mobile > .column.is-offset-6 { - margin-left: 50%; -} - -.columns.is-mobile > .column.is-7 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 58.33333%; -} - -.columns.is-mobile > .column.is-offset-7 { - margin-left: 58.33333%; -} - -.columns.is-mobile > .column.is-8 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 66.66667%; -} - -.columns.is-mobile > .column.is-offset-8 { - margin-left: 66.66667%; -} - -.columns.is-mobile > .column.is-9 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 75%; -} - -.columns.is-mobile > .column.is-offset-9 { - margin-left: 75%; -} - -.columns.is-mobile > .column.is-10 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 83.33333%; -} - -.columns.is-mobile > .column.is-offset-10 { - margin-left: 83.33333%; -} - -.columns.is-mobile > .column.is-11 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 91.66667%; -} - -.columns.is-mobile > .column.is-offset-11 { - margin-left: 91.66667%; -} - -.columns.is-mobile > .column.is-12 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 100%; -} - -.columns.is-mobile > .column.is-offset-12 { - margin-left: 100%; -} - -@media screen and (max-width: 768px) { - .column.is-narrow-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: unset; - } - - .column.is-full-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 100%; - } - - .column.is-three-quarters-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 75%; - } - - .column.is-two-thirds-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 66.6666%; - } - - .column.is-half-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 50%; - } - - .column.is-one-third-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 33.3333%; - } - - .column.is-one-quarter-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 25%; - } - - .column.is-one-fifth-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 20%; - } - - .column.is-two-fifths-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 40%; - } - - .column.is-three-fifths-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 60%; - } - - .column.is-four-fifths-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 80%; - } - - .column.is-offset-three-quarters-mobile { - margin-left: 75%; - } - - .column.is-offset-two-thirds-mobile { - margin-left: 66.6666%; - } - - .column.is-offset-half-mobile { - margin-left: 50%; - } - - .column.is-offset-one-third-mobile { - margin-left: 33.3333%; - } - - .column.is-offset-one-quarter-mobile { - margin-left: 25%; - } - - .column.is-offset-one-fifth-mobile { - margin-left: 20%; - } - - .column.is-offset-two-fifths-mobile { - margin-left: 40%; - } - - .column.is-offset-three-fifths-mobile { - margin-left: 60%; - } - - .column.is-offset-four-fifths-mobile { - margin-left: 80%; - } - - .column.is-0-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 0%; - } - - .column.is-offset-0-mobile { - margin-left: 0%; - } - - .column.is-1-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 8.33333%; - } - - .column.is-offset-1-mobile { - margin-left: 8.33333%; - } - - .column.is-2-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 16.66667%; - } - - .column.is-offset-2-mobile { - margin-left: 16.66667%; - } - - .column.is-3-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 25%; - } - - .column.is-offset-3-mobile { - margin-left: 25%; - } - - .column.is-4-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 33.33333%; - } - - .column.is-offset-4-mobile { - margin-left: 33.33333%; - } - - .column.is-5-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 41.66667%; - } - - .column.is-offset-5-mobile { - margin-left: 41.66667%; - } - - .column.is-6-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 50%; - } - - .column.is-offset-6-mobile { - margin-left: 50%; - } - - .column.is-7-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 58.33333%; - } - - .column.is-offset-7-mobile { - margin-left: 58.33333%; - } - - .column.is-8-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 66.66667%; - } - - .column.is-offset-8-mobile { - margin-left: 66.66667%; - } - - .column.is-9-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 75%; - } - - .column.is-offset-9-mobile { - margin-left: 75%; - } - - .column.is-10-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 83.33333%; - } - - .column.is-offset-10-mobile { - margin-left: 83.33333%; - } - - .column.is-11-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 91.66667%; - } - - .column.is-offset-11-mobile { - margin-left: 91.66667%; - } - - .column.is-12-mobile { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 100%; - } - - .column.is-offset-12-mobile { - margin-left: 100%; - } -} - -@media screen and (min-width: 769px), print { - .column.is-narrow, .column.is-narrow-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: unset; - } - - .column.is-full, .column.is-full-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 100%; - } - - .column.is-three-quarters, .column.is-three-quarters-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 75%; - } - - .column.is-two-thirds, .column.is-two-thirds-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 66.6666%; - } - - .column.is-half, .column.is-half-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 50%; - } - - .column.is-one-third, .column.is-one-third-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 33.3333%; - } - - .column.is-one-quarter, .column.is-one-quarter-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 25%; - } - - .column.is-one-fifth, .column.is-one-fifth-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 20%; - } - - .column.is-two-fifths, .column.is-two-fifths-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 40%; - } - - .column.is-three-fifths, .column.is-three-fifths-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 60%; - } - - .column.is-four-fifths, .column.is-four-fifths-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 80%; - } - - .column.is-offset-three-quarters, .column.is-offset-three-quarters-tablet { - margin-left: 75%; - } - - .column.is-offset-two-thirds, .column.is-offset-two-thirds-tablet { - margin-left: 66.6666%; - } - - .column.is-offset-half, .column.is-offset-half-tablet { - margin-left: 50%; - } - - .column.is-offset-one-third, .column.is-offset-one-third-tablet { - margin-left: 33.3333%; - } - - .column.is-offset-one-quarter, .column.is-offset-one-quarter-tablet { - margin-left: 25%; - } - - .column.is-offset-one-fifth, .column.is-offset-one-fifth-tablet { - margin-left: 20%; - } - - .column.is-offset-two-fifths, .column.is-offset-two-fifths-tablet { - margin-left: 40%; - } - - .column.is-offset-three-fifths, .column.is-offset-three-fifths-tablet { - margin-left: 60%; - } - - .column.is-offset-four-fifths, .column.is-offset-four-fifths-tablet { - margin-left: 80%; - } - - .column.is-0, .column.is-0-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 0%; - } - - .column.is-offset-0, .column.is-offset-0-tablet { - margin-left: 0%; - } - - .column.is-1, .column.is-1-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 8.33333%; - } - - .column.is-offset-1, .column.is-offset-1-tablet { - margin-left: 8.33333%; - } - - .column.is-2, .column.is-2-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 16.66667%; - } - - .column.is-offset-2, .column.is-offset-2-tablet { - margin-left: 16.66667%; - } - - .column.is-3, .column.is-3-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 25%; - } - - .column.is-offset-3, .column.is-offset-3-tablet { - margin-left: 25%; - } - - .column.is-4, .column.is-4-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 33.33333%; - } - - .column.is-offset-4, .column.is-offset-4-tablet { - margin-left: 33.33333%; - } - - .column.is-5, .column.is-5-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 41.66667%; - } - - .column.is-offset-5, .column.is-offset-5-tablet { - margin-left: 41.66667%; - } - - .column.is-6, .column.is-6-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 50%; - } - - .column.is-offset-6, .column.is-offset-6-tablet { - margin-left: 50%; - } - - .column.is-7, .column.is-7-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 58.33333%; - } - - .column.is-offset-7, .column.is-offset-7-tablet { - margin-left: 58.33333%; - } - - .column.is-8, .column.is-8-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 66.66667%; - } - - .column.is-offset-8, .column.is-offset-8-tablet { - margin-left: 66.66667%; - } - - .column.is-9, .column.is-9-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 75%; - } - - .column.is-offset-9, .column.is-offset-9-tablet { - margin-left: 75%; - } - - .column.is-10, .column.is-10-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 83.33333%; - } - - .column.is-offset-10, .column.is-offset-10-tablet { - margin-left: 83.33333%; - } - - .column.is-11, .column.is-11-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 91.66667%; - } - - .column.is-offset-11, .column.is-offset-11-tablet { - margin-left: 91.66667%; - } - - .column.is-12, .column.is-12-tablet { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 100%; - } - - .column.is-offset-12, .column.is-offset-12-tablet { - margin-left: 100%; - } -} - -@media screen and (max-width: 1023px) { - .column.is-narrow-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: unset; - } - - .column.is-full-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 100%; - } - - .column.is-three-quarters-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 75%; - } - - .column.is-two-thirds-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 66.6666%; - } - - .column.is-half-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 50%; - } - - .column.is-one-third-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 33.3333%; - } - - .column.is-one-quarter-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 25%; - } - - .column.is-one-fifth-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 20%; - } - - .column.is-two-fifths-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 40%; - } - - .column.is-three-fifths-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 60%; - } - - .column.is-four-fifths-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 80%; - } - - .column.is-offset-three-quarters-touch { - margin-left: 75%; - } - - .column.is-offset-two-thirds-touch { - margin-left: 66.6666%; - } - - .column.is-offset-half-touch { - margin-left: 50%; - } - - .column.is-offset-one-third-touch { - margin-left: 33.3333%; - } - - .column.is-offset-one-quarter-touch { - margin-left: 25%; - } - - .column.is-offset-one-fifth-touch { - margin-left: 20%; - } - - .column.is-offset-two-fifths-touch { - margin-left: 40%; - } - - .column.is-offset-three-fifths-touch { - margin-left: 60%; - } - - .column.is-offset-four-fifths-touch { - margin-left: 80%; - } - - .column.is-0-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 0%; - } - - .column.is-offset-0-touch { - margin-left: 0%; - } - - .column.is-1-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 8.33333%; - } - - .column.is-offset-1-touch { - margin-left: 8.33333%; - } - - .column.is-2-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 16.66667%; - } - - .column.is-offset-2-touch { - margin-left: 16.66667%; - } - - .column.is-3-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 25%; - } - - .column.is-offset-3-touch { - margin-left: 25%; - } - - .column.is-4-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 33.33333%; - } - - .column.is-offset-4-touch { - margin-left: 33.33333%; - } - - .column.is-5-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 41.66667%; - } - - .column.is-offset-5-touch { - margin-left: 41.66667%; - } - - .column.is-6-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 50%; - } - - .column.is-offset-6-touch { - margin-left: 50%; - } - - .column.is-7-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 58.33333%; - } - - .column.is-offset-7-touch { - margin-left: 58.33333%; - } - - .column.is-8-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 66.66667%; - } - - .column.is-offset-8-touch { - margin-left: 66.66667%; - } - - .column.is-9-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 75%; - } - - .column.is-offset-9-touch { - margin-left: 75%; - } - - .column.is-10-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 83.33333%; - } - - .column.is-offset-10-touch { - margin-left: 83.33333%; - } - - .column.is-11-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 91.66667%; - } - - .column.is-offset-11-touch { - margin-left: 91.66667%; - } - - .column.is-12-touch { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 100%; - } - - .column.is-offset-12-touch { - margin-left: 100%; - } -} - -@media screen and (min-width: 1024px) { - .column.is-narrow-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: unset; - } - - .column.is-full-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 100%; - } - - .column.is-three-quarters-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 75%; - } - - .column.is-two-thirds-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 66.6666%; - } - - .column.is-half-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 50%; - } - - .column.is-one-third-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 33.3333%; - } - - .column.is-one-quarter-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 25%; - } - - .column.is-one-fifth-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 20%; - } - - .column.is-two-fifths-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 40%; - } - - .column.is-three-fifths-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 60%; - } - - .column.is-four-fifths-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 80%; - } - - .column.is-offset-three-quarters-desktop { - margin-left: 75%; - } - - .column.is-offset-two-thirds-desktop { - margin-left: 66.6666%; - } - - .column.is-offset-half-desktop { - margin-left: 50%; - } - - .column.is-offset-one-third-desktop { - margin-left: 33.3333%; - } - - .column.is-offset-one-quarter-desktop { - margin-left: 25%; - } - - .column.is-offset-one-fifth-desktop { - margin-left: 20%; - } - - .column.is-offset-two-fifths-desktop { - margin-left: 40%; - } - - .column.is-offset-three-fifths-desktop { - margin-left: 60%; - } - - .column.is-offset-four-fifths-desktop { - margin-left: 80%; - } - - .column.is-0-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 0%; - } - - .column.is-offset-0-desktop { - margin-left: 0%; - } - - .column.is-1-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 8.33333%; - } - - .column.is-offset-1-desktop { - margin-left: 8.33333%; - } - - .column.is-2-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 16.66667%; - } - - .column.is-offset-2-desktop { - margin-left: 16.66667%; - } - - .column.is-3-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 25%; - } - - .column.is-offset-3-desktop { - margin-left: 25%; - } - - .column.is-4-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 33.33333%; - } - - .column.is-offset-4-desktop { - margin-left: 33.33333%; - } - - .column.is-5-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 41.66667%; - } - - .column.is-offset-5-desktop { - margin-left: 41.66667%; - } - - .column.is-6-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 50%; - } - - .column.is-offset-6-desktop { - margin-left: 50%; - } - - .column.is-7-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 58.33333%; - } - - .column.is-offset-7-desktop { - margin-left: 58.33333%; - } - - .column.is-8-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 66.66667%; - } - - .column.is-offset-8-desktop { - margin-left: 66.66667%; - } - - .column.is-9-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 75%; - } - - .column.is-offset-9-desktop { - margin-left: 75%; - } - - .column.is-10-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 83.33333%; - } - - .column.is-offset-10-desktop { - margin-left: 83.33333%; - } - - .column.is-11-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 91.66667%; - } - - .column.is-offset-11-desktop { - margin-left: 91.66667%; - } - - .column.is-12-desktop { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 100%; - } - - .column.is-offset-12-desktop { - margin-left: 100%; - } -} - -@media screen and (min-width: 1216px) { - .column.is-narrow-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: unset; - } - - .column.is-full-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 100%; - } - - .column.is-three-quarters-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 75%; - } - - .column.is-two-thirds-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 66.6666%; - } - - .column.is-half-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 50%; - } - - .column.is-one-third-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 33.3333%; - } - - .column.is-one-quarter-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 25%; - } - - .column.is-one-fifth-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 20%; - } - - .column.is-two-fifths-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 40%; - } - - .column.is-three-fifths-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 60%; - } - - .column.is-four-fifths-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 80%; - } - - .column.is-offset-three-quarters-widescreen { - margin-left: 75%; - } - - .column.is-offset-two-thirds-widescreen { - margin-left: 66.6666%; - } - - .column.is-offset-half-widescreen { - margin-left: 50%; - } - - .column.is-offset-one-third-widescreen { - margin-left: 33.3333%; - } - - .column.is-offset-one-quarter-widescreen { - margin-left: 25%; - } - - .column.is-offset-one-fifth-widescreen { - margin-left: 20%; - } - - .column.is-offset-two-fifths-widescreen { - margin-left: 40%; - } - - .column.is-offset-three-fifths-widescreen { - margin-left: 60%; - } - - .column.is-offset-four-fifths-widescreen { - margin-left: 80%; - } - - .column.is-0-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 0%; - } - - .column.is-offset-0-widescreen { - margin-left: 0%; - } - - .column.is-1-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 8.33333%; - } - - .column.is-offset-1-widescreen { - margin-left: 8.33333%; - } - - .column.is-2-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 16.66667%; - } - - .column.is-offset-2-widescreen { - margin-left: 16.66667%; - } - - .column.is-3-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 25%; - } - - .column.is-offset-3-widescreen { - margin-left: 25%; - } - - .column.is-4-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 33.33333%; - } - - .column.is-offset-4-widescreen { - margin-left: 33.33333%; - } - - .column.is-5-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 41.66667%; - } - - .column.is-offset-5-widescreen { - margin-left: 41.66667%; - } - - .column.is-6-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 50%; - } - - .column.is-offset-6-widescreen { - margin-left: 50%; - } - - .column.is-7-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 58.33333%; - } - - .column.is-offset-7-widescreen { - margin-left: 58.33333%; - } - - .column.is-8-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 66.66667%; - } - - .column.is-offset-8-widescreen { - margin-left: 66.66667%; - } - - .column.is-9-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 75%; - } - - .column.is-offset-9-widescreen { - margin-left: 75%; - } - - .column.is-10-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 83.33333%; - } - - .column.is-offset-10-widescreen { - margin-left: 83.33333%; - } - - .column.is-11-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 91.66667%; - } - - .column.is-offset-11-widescreen { - margin-left: 91.66667%; - } - - .column.is-12-widescreen { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 100%; - } - - .column.is-offset-12-widescreen { - margin-left: 100%; - } -} - -@media screen and (min-width: 1408px) { - .column.is-narrow-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: unset; - } - - .column.is-full-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 100%; - } - - .column.is-three-quarters-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 75%; - } - - .column.is-two-thirds-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 66.6666%; - } - - .column.is-half-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 50%; - } - - .column.is-one-third-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 33.3333%; - } - - .column.is-one-quarter-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 25%; - } - - .column.is-one-fifth-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 20%; - } - - .column.is-two-fifths-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 40%; - } - - .column.is-three-fifths-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 60%; - } - - .column.is-four-fifths-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 80%; - } - - .column.is-offset-three-quarters-fullhd { - margin-left: 75%; - } - - .column.is-offset-two-thirds-fullhd { - margin-left: 66.6666%; - } - - .column.is-offset-half-fullhd { - margin-left: 50%; - } - - .column.is-offset-one-third-fullhd { - margin-left: 33.3333%; - } - - .column.is-offset-one-quarter-fullhd { - margin-left: 25%; - } - - .column.is-offset-one-fifth-fullhd { - margin-left: 20%; - } - - .column.is-offset-two-fifths-fullhd { - margin-left: 40%; - } - - .column.is-offset-three-fifths-fullhd { - margin-left: 60%; - } - - .column.is-offset-four-fifths-fullhd { - margin-left: 80%; - } - - .column.is-0-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 0%; - } - - .column.is-offset-0-fullhd { - margin-left: 0%; - } - - .column.is-1-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 8.33333%; - } - - .column.is-offset-1-fullhd { - margin-left: 8.33333%; - } - - .column.is-2-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 16.66667%; - } - - .column.is-offset-2-fullhd { - margin-left: 16.66667%; - } - - .column.is-3-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 25%; - } - - .column.is-offset-3-fullhd { - margin-left: 25%; - } - - .column.is-4-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 33.33333%; - } - - .column.is-offset-4-fullhd { - margin-left: 33.33333%; - } - - .column.is-5-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 41.66667%; - } - - .column.is-offset-5-fullhd { - margin-left: 41.66667%; - } - - .column.is-6-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 50%; - } - - .column.is-offset-6-fullhd { - margin-left: 50%; - } - - .column.is-7-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 58.33333%; - } - - .column.is-offset-7-fullhd { - margin-left: 58.33333%; - } - - .column.is-8-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 66.66667%; - } - - .column.is-offset-8-fullhd { - margin-left: 66.66667%; - } - - .column.is-9-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 75%; - } - - .column.is-offset-9-fullhd { - margin-left: 75%; - } - - .column.is-10-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 83.33333%; - } - - .column.is-offset-10-fullhd { - margin-left: 83.33333%; - } - - .column.is-11-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 91.66667%; - } - - .column.is-offset-11-fullhd { - margin-left: 91.66667%; - } - - .column.is-12-fullhd { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 100%; - } - - .column.is-offset-12-fullhd { - margin-left: 100%; - } -} - -.columns { - margin-left: -0.75rem; - margin-right: -0.75rem; - margin-top: -0.75rem; -} - - .columns:last-child { - margin-bottom: -0.75rem; - } - - .columns:not(:last-child) { - margin-bottom: calc(1.5rem - 0.75rem); - } - - .columns.is-centered { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - } - - .columns.is-gapless { - margin-left: 0; - margin-right: 0; - margin-top: 0; - } - - .columns.is-gapless > .column { - margin: 0; - padding: 0 !important; - } - - .columns.is-gapless:not(:last-child) { - margin-bottom: 1.5rem; - } - - .columns.is-gapless:last-child { - margin-bottom: 0; - } - - .columns.is-mobile { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - } - - .columns.is-multiline { - -ms-flex-wrap: wrap; - flex-wrap: wrap; - } - - .columns.is-vcentered { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - } - -@media screen and (min-width: 769px), print { - .columns:not(.is-desktop) { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - } -} - -@media screen and (min-width: 1024px) { - .columns.is-desktop { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - } -} - -.columns.is-variable { - --columnGap: 0.75rem; - margin-left: calc(-1 * var(--columnGap)); - margin-right: calc(-1 * var(--columnGap)); -} - - .columns.is-variable > .column { - padding-left: var(--columnGap); - padding-right: var(--columnGap); - } - - .columns.is-variable.is-0 { - --columnGap: 0rem; - } - -@media screen and (max-width: 768px) { - .columns.is-variable.is-0-mobile { - --columnGap: 0rem; - } -} - -@media screen and (min-width: 769px), print { - .columns.is-variable.is-0-tablet { - --columnGap: 0rem; - } -} - -@media screen and (min-width: 769px) and (max-width: 1023px) { - .columns.is-variable.is-0-tablet-only { - --columnGap: 0rem; - } -} - -@media screen and (max-width: 1023px) { - .columns.is-variable.is-0-touch { - --columnGap: 0rem; - } -} - -@media screen and (min-width: 1024px) { - .columns.is-variable.is-0-desktop { - --columnGap: 0rem; - } -} - -@media screen and (min-width: 1024px) and (max-width: 1215px) { - .columns.is-variable.is-0-desktop-only { - --columnGap: 0rem; - } -} - -@media screen and (min-width: 1216px) { - .columns.is-variable.is-0-widescreen { - --columnGap: 0rem; - } -} - -@media screen and (min-width: 1216px) and (max-width: 1407px) { - .columns.is-variable.is-0-widescreen-only { - --columnGap: 0rem; - } -} - -@media screen and (min-width: 1408px) { - .columns.is-variable.is-0-fullhd { - --columnGap: 0rem; - } -} - -.columns.is-variable.is-1 { - --columnGap: 0.25rem; -} - -@media screen and (max-width: 768px) { - .columns.is-variable.is-1-mobile { - --columnGap: 0.25rem; - } -} - -@media screen and (min-width: 769px), print { - .columns.is-variable.is-1-tablet { - --columnGap: 0.25rem; - } -} - -@media screen and (min-width: 769px) and (max-width: 1023px) { - .columns.is-variable.is-1-tablet-only { - --columnGap: 0.25rem; - } -} - -@media screen and (max-width: 1023px) { - .columns.is-variable.is-1-touch { - --columnGap: 0.25rem; - } -} - -@media screen and (min-width: 1024px) { - .columns.is-variable.is-1-desktop { - --columnGap: 0.25rem; - } -} - -@media screen and (min-width: 1024px) and (max-width: 1215px) { - .columns.is-variable.is-1-desktop-only { - --columnGap: 0.25rem; - } -} - -@media screen and (min-width: 1216px) { - .columns.is-variable.is-1-widescreen { - --columnGap: 0.25rem; - } -} - -@media screen and (min-width: 1216px) and (max-width: 1407px) { - .columns.is-variable.is-1-widescreen-only { - --columnGap: 0.25rem; - } -} - -@media screen and (min-width: 1408px) { - .columns.is-variable.is-1-fullhd { - --columnGap: 0.25rem; - } -} - -.columns.is-variable.is-2 { - --columnGap: 0.5rem; -} - -@media screen and (max-width: 768px) { - .columns.is-variable.is-2-mobile { - --columnGap: 0.5rem; - } -} - -@media screen and (min-width: 769px), print { - .columns.is-variable.is-2-tablet { - --columnGap: 0.5rem; - } -} - -@media screen and (min-width: 769px) and (max-width: 1023px) { - .columns.is-variable.is-2-tablet-only { - --columnGap: 0.5rem; - } -} - -@media screen and (max-width: 1023px) { - .columns.is-variable.is-2-touch { - --columnGap: 0.5rem; - } -} - -@media screen and (min-width: 1024px) { - .columns.is-variable.is-2-desktop { - --columnGap: 0.5rem; - } -} - -@media screen and (min-width: 1024px) and (max-width: 1215px) { - .columns.is-variable.is-2-desktop-only { - --columnGap: 0.5rem; - } -} - -@media screen and (min-width: 1216px) { - .columns.is-variable.is-2-widescreen { - --columnGap: 0.5rem; - } -} - -@media screen and (min-width: 1216px) and (max-width: 1407px) { - .columns.is-variable.is-2-widescreen-only { - --columnGap: 0.5rem; - } -} - -@media screen and (min-width: 1408px) { - .columns.is-variable.is-2-fullhd { - --columnGap: 0.5rem; - } -} - -.columns.is-variable.is-3 { - --columnGap: 0.75rem; -} - -@media screen and (max-width: 768px) { - .columns.is-variable.is-3-mobile { - --columnGap: 0.75rem; - } -} - -@media screen and (min-width: 769px), print { - .columns.is-variable.is-3-tablet { - --columnGap: 0.75rem; - } -} - -@media screen and (min-width: 769px) and (max-width: 1023px) { - .columns.is-variable.is-3-tablet-only { - --columnGap: 0.75rem; - } -} - -@media screen and (max-width: 1023px) { - .columns.is-variable.is-3-touch { - --columnGap: 0.75rem; - } -} - -@media screen and (min-width: 1024px) { - .columns.is-variable.is-3-desktop { - --columnGap: 0.75rem; - } -} - -@media screen and (min-width: 1024px) and (max-width: 1215px) { - .columns.is-variable.is-3-desktop-only { - --columnGap: 0.75rem; - } -} - -@media screen and (min-width: 1216px) { - .columns.is-variable.is-3-widescreen { - --columnGap: 0.75rem; - } -} - -@media screen and (min-width: 1216px) and (max-width: 1407px) { - .columns.is-variable.is-3-widescreen-only { - --columnGap: 0.75rem; - } -} - -@media screen and (min-width: 1408px) { - .columns.is-variable.is-3-fullhd { - --columnGap: 0.75rem; - } -} - -.columns.is-variable.is-4 { - --columnGap: 1rem; -} - -@media screen and (max-width: 768px) { - .columns.is-variable.is-4-mobile { - --columnGap: 1rem; - } -} - -@media screen and (min-width: 769px), print { - .columns.is-variable.is-4-tablet { - --columnGap: 1rem; - } -} - -@media screen and (min-width: 769px) and (max-width: 1023px) { - .columns.is-variable.is-4-tablet-only { - --columnGap: 1rem; - } -} - -@media screen and (max-width: 1023px) { - .columns.is-variable.is-4-touch { - --columnGap: 1rem; - } -} - -@media screen and (min-width: 1024px) { - .columns.is-variable.is-4-desktop { - --columnGap: 1rem; - } -} - -@media screen and (min-width: 1024px) and (max-width: 1215px) { - .columns.is-variable.is-4-desktop-only { - --columnGap: 1rem; - } -} - -@media screen and (min-width: 1216px) { - .columns.is-variable.is-4-widescreen { - --columnGap: 1rem; - } -} - -@media screen and (min-width: 1216px) and (max-width: 1407px) { - .columns.is-variable.is-4-widescreen-only { - --columnGap: 1rem; - } -} - -@media screen and (min-width: 1408px) { - .columns.is-variable.is-4-fullhd { - --columnGap: 1rem; - } -} - -.columns.is-variable.is-5 { - --columnGap: 1.25rem; -} - -@media screen and (max-width: 768px) { - .columns.is-variable.is-5-mobile { - --columnGap: 1.25rem; - } -} - -@media screen and (min-width: 769px), print { - .columns.is-variable.is-5-tablet { - --columnGap: 1.25rem; - } -} - -@media screen and (min-width: 769px) and (max-width: 1023px) { - .columns.is-variable.is-5-tablet-only { - --columnGap: 1.25rem; - } -} - -@media screen and (max-width: 1023px) { - .columns.is-variable.is-5-touch { - --columnGap: 1.25rem; - } -} - -@media screen and (min-width: 1024px) { - .columns.is-variable.is-5-desktop { - --columnGap: 1.25rem; - } -} - -@media screen and (min-width: 1024px) and (max-width: 1215px) { - .columns.is-variable.is-5-desktop-only { - --columnGap: 1.25rem; - } -} - -@media screen and (min-width: 1216px) { - .columns.is-variable.is-5-widescreen { - --columnGap: 1.25rem; - } -} - -@media screen and (min-width: 1216px) and (max-width: 1407px) { - .columns.is-variable.is-5-widescreen-only { - --columnGap: 1.25rem; - } -} - -@media screen and (min-width: 1408px) { - .columns.is-variable.is-5-fullhd { - --columnGap: 1.25rem; - } -} - -.columns.is-variable.is-6 { - --columnGap: 1.5rem; -} - -@media screen and (max-width: 768px) { - .columns.is-variable.is-6-mobile { - --columnGap: 1.5rem; - } -} - -@media screen and (min-width: 769px), print { - .columns.is-variable.is-6-tablet { - --columnGap: 1.5rem; - } -} - -@media screen and (min-width: 769px) and (max-width: 1023px) { - .columns.is-variable.is-6-tablet-only { - --columnGap: 1.5rem; - } -} - -@media screen and (max-width: 1023px) { - .columns.is-variable.is-6-touch { - --columnGap: 1.5rem; - } -} - -@media screen and (min-width: 1024px) { - .columns.is-variable.is-6-desktop { - --columnGap: 1.5rem; - } -} - -@media screen and (min-width: 1024px) and (max-width: 1215px) { - .columns.is-variable.is-6-desktop-only { - --columnGap: 1.5rem; - } -} - -@media screen and (min-width: 1216px) { - .columns.is-variable.is-6-widescreen { - --columnGap: 1.5rem; - } -} - -@media screen and (min-width: 1216px) and (max-width: 1407px) { - .columns.is-variable.is-6-widescreen-only { - --columnGap: 1.5rem; - } -} - -@media screen and (min-width: 1408px) { - .columns.is-variable.is-6-fullhd { - --columnGap: 1.5rem; - } -} - -.columns.is-variable.is-7 { - --columnGap: 1.75rem; -} - -@media screen and (max-width: 768px) { - .columns.is-variable.is-7-mobile { - --columnGap: 1.75rem; - } -} - -@media screen and (min-width: 769px), print { - .columns.is-variable.is-7-tablet { - --columnGap: 1.75rem; - } -} - -@media screen and (min-width: 769px) and (max-width: 1023px) { - .columns.is-variable.is-7-tablet-only { - --columnGap: 1.75rem; - } -} - -@media screen and (max-width: 1023px) { - .columns.is-variable.is-7-touch { - --columnGap: 1.75rem; - } -} - -@media screen and (min-width: 1024px) { - .columns.is-variable.is-7-desktop { - --columnGap: 1.75rem; - } -} - -@media screen and (min-width: 1024px) and (max-width: 1215px) { - .columns.is-variable.is-7-desktop-only { - --columnGap: 1.75rem; - } -} - -@media screen and (min-width: 1216px) { - .columns.is-variable.is-7-widescreen { - --columnGap: 1.75rem; - } -} - -@media screen and (min-width: 1216px) and (max-width: 1407px) { - .columns.is-variable.is-7-widescreen-only { - --columnGap: 1.75rem; - } -} - -@media screen and (min-width: 1408px) { - .columns.is-variable.is-7-fullhd { - --columnGap: 1.75rem; - } -} - -.columns.is-variable.is-8 { - --columnGap: 2rem; -} - -@media screen and (max-width: 768px) { - .columns.is-variable.is-8-mobile { - --columnGap: 2rem; - } -} - -@media screen and (min-width: 769px), print { - .columns.is-variable.is-8-tablet { - --columnGap: 2rem; - } -} - -@media screen and (min-width: 769px) and (max-width: 1023px) { - .columns.is-variable.is-8-tablet-only { - --columnGap: 2rem; - } -} - -@media screen and (max-width: 1023px) { - .columns.is-variable.is-8-touch { - --columnGap: 2rem; - } -} - -@media screen and (min-width: 1024px) { - .columns.is-variable.is-8-desktop { - --columnGap: 2rem; - } -} - -@media screen and (min-width: 1024px) and (max-width: 1215px) { - .columns.is-variable.is-8-desktop-only { - --columnGap: 2rem; - } -} - -@media screen and (min-width: 1216px) { - .columns.is-variable.is-8-widescreen { - --columnGap: 2rem; - } -} - -@media screen and (min-width: 1216px) and (max-width: 1407px) { - .columns.is-variable.is-8-widescreen-only { - --columnGap: 2rem; - } -} - -@media screen and (min-width: 1408px) { - .columns.is-variable.is-8-fullhd { - --columnGap: 2rem; - } -} - -.tile { - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - display: block; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-negative: 1; - flex-shrink: 1; - min-height: -webkit-min-content; - min-height: -moz-min-content; - min-height: min-content; -} - - .tile.is-ancestor { - margin-left: -0.75rem; - margin-right: -0.75rem; - margin-top: -0.75rem; - } - - .tile.is-ancestor:last-child { - margin-bottom: -0.75rem; - } - - .tile.is-ancestor:not(:last-child) { - margin-bottom: 0.75rem; - } - - .tile.is-child { - margin: 0 !important; - } - - .tile.is-parent { - padding: 0.75rem; - } - - .tile.is-vertical { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - } - - .tile.is-vertical > .tile.is-child:not(:last-child) { - margin-bottom: 1.5rem !important; - } - -@media screen and (min-width: 769px), print { - .tile:not(.is-child) { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - } - - .tile.is-1 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 8.33333%; - } - - .tile.is-2 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 16.66667%; - } - - .tile.is-3 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 25%; - } - - .tile.is-4 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 33.33333%; - } - - .tile.is-5 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 41.66667%; - } - - .tile.is-6 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 50%; - } - - .tile.is-7 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 58.33333%; - } - - .tile.is-8 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 66.66667%; - } - - .tile.is-9 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 75%; - } - - .tile.is-10 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 83.33333%; - } - - .tile.is-11 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 91.66667%; - } - - .tile.is-12 { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - width: 100%; - } -} -/* Bulma Helpers */ -.has-text-white { - color: white !important; -} - -a.has-text-white:hover, a.has-text-white:focus { - color: #e6e6e6 !important; -} - -.has-background-white { - background-color: white !important; -} - -.has-text-black { - color: #0a0a0a !important; -} - -a.has-text-black:hover, a.has-text-black:focus { - color: black !important; -} - -.has-background-black { - background-color: #0a0a0a !important; -} - -.has-text-light { - color: whitesmoke !important; -} - -a.has-text-light:hover, a.has-text-light:focus { - color: #dbdbdb !important; -} - -.has-background-light { - background-color: whitesmoke !important; -} - -.has-text-dark { - color: #200117 !important; -} - -a.has-text-dark:hover, a.has-text-dark:focus { - color: black !important; -} - -.has-background-dark { - background-color: #200117 !important; -} - -.has-text-primary { - color: #A00975 !important; -} - -a.has-text-primary:hover, a.has-text-primary:focus { - color: #700652 !important; -} - -.has-background-primary { - background-color: #A00975 !important; -} - -.has-text-primary-light { - color: #feecf9 !important; -} - -a.has-text-primary-light:hover, a.has-text-primary-light:focus { - color: #fbbbe9 !important; -} - -.has-background-primary-light { - background-color: #feecf9 !important; -} - -.has-text-primary-dark { - color: #f212b2 !important; -} - -a.has-text-primary-dark:hover, a.has-text-primary-dark:focus { - color: #f443c2 !important; -} - -.has-background-primary-dark { - background-color: #f212b2 !important; -} - -.has-text-link { - color: #378BBA !important; -} - -a.has-text-link:hover, a.has-text-link:focus { - color: #2b6e93 !important; -} - -.has-background-link { - background-color: #378BBA !important; -} - -.has-text-link-light { - color: #eff6fa !important; -} - -a.has-text-link-light:hover, a.has-text-link-light:focus { - color: #c8e1ef !important; -} - -.has-background-link-light { - background-color: #eff6fa !important; -} - -.has-text-link-dark { - color: #317ca5 !important; -} - -a.has-text-link-dark:hover, a.has-text-link-dark:focus { - color: #4297c7 !important; -} - -.has-background-link-dark { - background-color: #317ca5 !important; -} - -.has-text-info { - color: #3298dc !important; -} - -a.has-text-info:hover, a.has-text-info:focus { - color: #207dbc !important; -} - -.has-background-info { - background-color: #3298dc !important; -} - -.has-text-info-light { - color: #eef6fc !important; -} - -a.has-text-info-light:hover, a.has-text-info-light:focus { - color: #c2e0f5 !important; -} - -.has-background-info-light { - background-color: #eef6fc !important; -} - -.has-text-info-dark { - color: #1d72aa !important; -} - -a.has-text-info-dark:hover, a.has-text-info-dark:focus { - color: #248fd6 !important; -} - -.has-background-info-dark { - background-color: #1d72aa !important; -} - -.has-text-success { - color: #48c774 !important; -} - -a.has-text-success:hover, a.has-text-success:focus { - color: #34a85c !important; -} - -.has-background-success { - background-color: #48c774 !important; -} - -.has-text-success-light { - color: #effaf3 !important; -} - -a.has-text-success-light:hover, a.has-text-success-light:focus { - color: #c8eed6 !important; -} - -.has-background-success-light { - background-color: #effaf3 !important; -} - -.has-text-success-dark { - color: #257942 !important; -} - -a.has-text-success-dark:hover, a.has-text-success-dark:focus { - color: #31a058 !important; -} - -.has-background-success-dark { - background-color: #257942 !important; -} - -.has-text-warning { - color: #ffdd57 !important; -} - -a.has-text-warning:hover, a.has-text-warning:focus { - color: #ffd324 !important; -} - -.has-background-warning { - background-color: #ffdd57 !important; -} - -.has-text-warning-light { - color: #fffbeb !important; -} - -a.has-text-warning-light:hover, a.has-text-warning-light:focus { - color: #fff1b8 !important; -} - -.has-background-warning-light { - background-color: #fffbeb !important; -} - -.has-text-warning-dark { - color: #947600 !important; -} - -a.has-text-warning-dark:hover, a.has-text-warning-dark:focus { - color: #c79f00 !important; -} - -.has-background-warning-dark { - background-color: #947600 !important; -} - -.has-text-danger { - color: #f14668 !important; -} - -a.has-text-danger:hover, a.has-text-danger:focus { - color: #ee1742 !important; -} - -.has-background-danger { - background-color: #f14668 !important; -} - -.has-text-danger-light { - color: #feecf0 !important; -} - -a.has-text-danger-light:hover, a.has-text-danger-light:focus { - color: #fabdc9 !important; -} - -.has-background-danger-light { - background-color: #feecf0 !important; -} - -.has-text-danger-dark { - color: #cc0f35 !important; -} - -a.has-text-danger-dark:hover, a.has-text-danger-dark:focus { - color: #ee2049 !important; -} - -.has-background-danger-dark { - background-color: #cc0f35 !important; -} - -.has-text-black-bis { - color: #121212 !important; -} - -.has-background-black-bis { - background-color: #121212 !important; -} - -.has-text-black-ter { - color: #242424 !important; -} - -.has-background-black-ter { - background-color: #242424 !important; -} - -.has-text-grey-darker { - color: #363636 !important; -} - -.has-background-grey-darker { - background-color: #363636 !important; -} - -.has-text-grey-dark { - color: #4a4a4a !important; -} - -.has-background-grey-dark { - background-color: #4a4a4a !important; -} - -.has-text-grey { - color: #7a7a7a !important; -} - -.has-background-grey { - background-color: #7a7a7a !important; -} - -.has-text-grey-light { - color: #b5b5b5 !important; -} - -.has-background-grey-light { - background-color: #b5b5b5 !important; -} - -.has-text-grey-lighter { - color: #dbdbdb !important; -} - -.has-background-grey-lighter { - background-color: #dbdbdb !important; -} - -.has-text-white-ter { - color: whitesmoke !important; -} - -.has-background-white-ter { - background-color: whitesmoke !important; -} - -.has-text-white-bis { - color: #fafafa !important; -} - -.has-background-white-bis { - background-color: #fafafa !important; -} - -.is-flex-direction-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: row !important; - flex-direction: row !important; -} - -.is-flex-direction-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; -} - -.is-flex-direction-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: column !important; - flex-direction: column !important; -} - -.is-flex-direction-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; -} - -.is-flex-wrap-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; -} - -.is-flex-wrap-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; -} - -.is-flex-wrap-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; -} - -.is-justify-content-flex-start { - -webkit-box-pack: start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; -} - -.is-justify-content-flex-end { - -webkit-box-pack: end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; -} - -.is-justify-content-center { - -webkit-box-pack: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; -} - -.is-justify-content-space-between { - -webkit-box-pack: justify !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; -} - -.is-justify-content-space-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; -} - -.is-justify-content-space-evenly { - -webkit-box-pack: space-evenly !important; - -ms-flex-pack: space-evenly !important; - justify-content: space-evenly !important; -} - -.is-justify-content-start { - -webkit-box-pack: start !important; - -ms-flex-pack: start !important; - justify-content: start !important; -} - -.is-justify-content-end { - -webkit-box-pack: end !important; - -ms-flex-pack: end !important; - justify-content: end !important; -} - -.is-justify-content-left { - -webkit-box-pack: left !important; - -ms-flex-pack: left !important; - justify-content: left !important; -} - -.is-justify-content-right { - -webkit-box-pack: right !important; - -ms-flex-pack: right !important; - justify-content: right !important; -} - -.is-align-content-flex-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; -} - -.is-align-content-flex-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; -} - -.is-align-content-center { - -ms-flex-line-pack: center !important; - align-content: center !important; -} - -.is-align-content-space-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; -} - -.is-align-content-space-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; -} - -.is-align-content-space-evenly { - -ms-flex-line-pack: space-evenly !important; - align-content: space-evenly !important; -} - -.is-align-content-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; -} - -.is-align-content-start { - -ms-flex-line-pack: start !important; - align-content: start !important; -} - -.is-align-content-end { - -ms-flex-line-pack: end !important; - align-content: end !important; -} - -.is-align-content-baseline { - -ms-flex-line-pack: baseline !important; - align-content: baseline !important; -} - -.is-align-items-stretch { - -webkit-box-align: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; -} - -.is-align-items-flex-start { - -webkit-box-align: start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; -} - -.is-align-items-flex-end { - -webkit-box-align: end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; -} - -.is-align-items-center { - -webkit-box-align: center !important; - -ms-flex-align: center !important; - align-items: center !important; -} - -.is-align-items-baseline { - -webkit-box-align: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; -} - -.is-align-items-start { - -webkit-box-align: start !important; - -ms-flex-align: start !important; - align-items: start !important; -} - -.is-align-items-end { - -webkit-box-align: end !important; - -ms-flex-align: end !important; - align-items: end !important; -} - -.is-align-items-self-start { - -webkit-box-align: self-start !important; - -ms-flex-align: self-start !important; - align-items: self-start !important; -} - -.is-align-items-self-end { - -webkit-box-align: self-end !important; - -ms-flex-align: self-end !important; - align-items: self-end !important; -} - -.is-align-self-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; -} - -.is-align-self-flex-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; -} - -.is-align-self-flex-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; -} - -.is-align-self-center { - -ms-flex-item-align: center !important; - align-self: center !important; -} - -.is-align-self-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; -} - -.is-align-self-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; -} - -.is-flex-grow-0 { - -webkit-box-flex: 0 !important; - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; -} - -.is-flex-grow-1 { - -webkit-box-flex: 1 !important; - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; -} - -.is-flex-grow-2 { - -webkit-box-flex: 2 !important; - -ms-flex-positive: 2 !important; - flex-grow: 2 !important; -} - -.is-flex-grow-3 { - -webkit-box-flex: 3 !important; - -ms-flex-positive: 3 !important; - flex-grow: 3 !important; -} - -.is-flex-grow-4 { - -webkit-box-flex: 4 !important; - -ms-flex-positive: 4 !important; - flex-grow: 4 !important; -} - -.is-flex-grow-5 { - -webkit-box-flex: 5 !important; - -ms-flex-positive: 5 !important; - flex-grow: 5 !important; -} - -.is-flex-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; -} - -.is-flex-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; -} - -.is-flex-shrink-2 { - -ms-flex-negative: 2 !important; - flex-shrink: 2 !important; -} - -.is-flex-shrink-3 { - -ms-flex-negative: 3 !important; - flex-shrink: 3 !important; -} - -.is-flex-shrink-4 { - -ms-flex-negative: 4 !important; - flex-shrink: 4 !important; -} - -.is-flex-shrink-5 { - -ms-flex-negative: 5 !important; - flex-shrink: 5 !important; -} - -.is-clearfix::after { - clear: both; - content: " "; - display: table; -} - -.is-pulled-left { - float: left !important; -} - -.is-pulled-right { - float: right !important; -} - -.is-radiusless { - border-radius: 0 !important; -} - -.is-shadowless { - -webkit-box-shadow: none !important; - box-shadow: none !important; -} - -.is-clickable { - cursor: pointer !important; - pointer-events: all !important; -} - -.is-clipped { - overflow: hidden !important; -} - -.is-relative { - position: relative !important; -} - -.is-marginless { - margin: 0 !important; -} - -.is-paddingless { - padding: 0 !important; -} - -.m-0 { - margin: 0 !important; -} - -.mt-0 { - margin-top: 0 !important; -} - -.mr-0 { - margin-right: 0 !important; -} - -.mb-0 { - margin-bottom: 0 !important; -} - -.ml-0 { - margin-left: 0 !important; -} - -.mx-0 { - margin-left: 0 !important; - margin-right: 0 !important; -} - -.my-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; -} - -.m-1 { - margin: 0.25rem !important; -} - -.mt-1 { - margin-top: 0.25rem !important; -} - -.mr-1 { - margin-right: 0.25rem !important; -} - -.mb-1 { - margin-bottom: 0.25rem !important; -} - -.ml-1 { - margin-left: 0.25rem !important; -} - -.mx-1 { - margin-left: 0.25rem !important; - margin-right: 0.25rem !important; -} - -.my-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; -} - -.m-2 { - margin: 0.5rem !important; -} - -.mt-2 { - margin-top: 0.5rem !important; -} - -.mr-2 { - margin-right: 0.5rem !important; -} - -.mb-2 { - margin-bottom: 0.5rem !important; -} - -.ml-2 { - margin-left: 0.5rem !important; -} - -.mx-2 { - margin-left: 0.5rem !important; - margin-right: 0.5rem !important; -} - -.my-2, #fsdocs-content p { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; -} - -.m-3 { - margin: 0.75rem !important; -} - -.mt-3 { - margin-top: 0.75rem !important; -} - -.mr-3 { - margin-right: 0.75rem !important; -} - -.mb-3 { - margin-bottom: 0.75rem !important; -} - -.ml-3 { - margin-left: 0.75rem !important; -} - -.mx-3 { - margin-left: 0.75rem !important; - margin-right: 0.75rem !important; -} - -.my-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; -} - -.m-4 { - margin: 1rem !important; -} - -.mt-4 { - margin-top: 1rem !important; -} - -.mr-4 { - margin-right: 1rem !important; -} - -.mb-4 { - margin-bottom: 1rem !important; -} - -.ml-4 { - margin-left: 1rem !important; -} - -.mx-4 { - margin-left: 1rem !important; - margin-right: 1rem !important; -} - -.my-4 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; -} - -.m-5 { - margin: 1.5rem !important; -} - -.mt-5 { - margin-top: 1.5rem !important; -} - -.mr-5 { - margin-right: 1.5rem !important; -} - -.mb-5 { - margin-bottom: 1.5rem !important; -} - -.ml-5 { - margin-left: 1.5rem !important; -} - -.mx-5 { - margin-left: 1.5rem !important; - margin-right: 1.5rem !important; -} - -.my-5 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; -} - -.m-6 { - margin: 3rem !important; -} - -.mt-6 { - margin-top: 3rem !important; -} - -.mr-6 { - margin-right: 3rem !important; -} - -.mb-6 { - margin-bottom: 3rem !important; -} - -.ml-6 { - margin-left: 3rem !important; -} - -.mx-6 { - margin-left: 3rem !important; - margin-right: 3rem !important; -} - -.my-6 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; -} - -.p-0 { - padding: 0 !important; -} - -.pt-0 { - padding-top: 0 !important; -} - -.pr-0 { - padding-right: 0 !important; -} - -.pb-0 { - padding-bottom: 0 !important; -} - -.pl-0 { - padding-left: 0 !important; -} - -.px-0 { - padding-left: 0 !important; - padding-right: 0 !important; -} - -.py-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; -} - -.p-1 { - padding: 0.25rem !important; -} - -.pt-1 { - padding-top: 0.25rem !important; -} - -.pr-1 { - padding-right: 0.25rem !important; -} - -.pb-1 { - padding-bottom: 0.25rem !important; -} - -.pl-1 { - padding-left: 0.25rem !important; -} - -.px-1 { - padding-left: 0.25rem !important; - padding-right: 0.25rem !important; -} - -.py-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; -} - -.p-2 { - padding: 0.5rem !important; -} - -.pt-2 { - padding-top: 0.5rem !important; -} - -.pr-2 { - padding-right: 0.5rem !important; -} - -.pb-2 { - padding-bottom: 0.5rem !important; -} - -.pl-2 { - padding-left: 0.5rem !important; -} - -.px-2 { - padding-left: 0.5rem !important; - padding-right: 0.5rem !important; -} - -.py-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; -} - -.p-3 { - padding: 0.75rem !important; -} - -.pt-3 { - padding-top: 0.75rem !important; -} - -.pr-3 { - padding-right: 0.75rem !important; -} - -.pb-3 { - padding-bottom: 0.75rem !important; -} - -.pl-3 { - padding-left: 0.75rem !important; -} - -.px-3 { - padding-left: 0.75rem !important; - padding-right: 0.75rem !important; -} - -.py-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; -} - -.p-4, #fsdocs-content blockquote { - padding: 1rem !important; -} - -.pt-4 { - padding-top: 1rem !important; -} - -.pr-4 { - padding-right: 1rem !important; -} - -.pb-4 { - padding-bottom: 1rem !important; -} - -.pl-4 { - padding-left: 1rem !important; -} - -.px-4 { - padding-left: 1rem !important; - padding-right: 1rem !important; -} - -.py-4 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; -} - -.p-5 { - padding: 1.5rem !important; -} - -.pt-5 { - padding-top: 1.5rem !important; -} - -.pr-5 { - padding-right: 1.5rem !important; -} - -.pb-5 { - padding-bottom: 1.5rem !important; -} - -.pl-5 { - padding-left: 1.5rem !important; -} - -.px-5 { - padding-left: 1.5rem !important; - padding-right: 1.5rem !important; -} - -.py-5 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; -} - -.p-6 { - padding: 3rem !important; -} - -.pt-6 { - padding-top: 3rem !important; -} - -.pr-6 { - padding-right: 3rem !important; -} - -.pb-6 { - padding-bottom: 3rem !important; -} - -.pl-6 { - padding-left: 3rem !important; -} - -.px-6 { - padding-left: 3rem !important; - padding-right: 3rem !important; -} - -.py-6 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; -} - -.is-size-1 { - font-size: 3rem !important; -} - -.is-size-2 { - font-size: 2.5rem !important; -} - -.is-size-3 { - font-size: 2rem !important; -} - -.is-size-4 { - font-size: 1.5rem !important; -} - -.is-size-5 { - font-size: 1.25rem !important; -} - -.is-size-6 { - font-size: 1rem !important; -} - -.is-size-7 { - font-size: 0.75rem !important; -} - -@media screen and (max-width: 768px) { - .is-size-1-mobile { - font-size: 3rem !important; - } - - .is-size-2-mobile { - font-size: 2.5rem !important; - } - - .is-size-3-mobile { - font-size: 2rem !important; - } - - .is-size-4-mobile { - font-size: 1.5rem !important; - } - - .is-size-5-mobile { - font-size: 1.25rem !important; - } - - .is-size-6-mobile { - font-size: 1rem !important; - } - - .is-size-7-mobile { - font-size: 0.75rem !important; - } -} - -@media screen and (min-width: 769px), print { - .is-size-1-tablet { - font-size: 3rem !important; - } - - .is-size-2-tablet { - font-size: 2.5rem !important; - } - - .is-size-3-tablet { - font-size: 2rem !important; - } - - .is-size-4-tablet { - font-size: 1.5rem !important; - } - - .is-size-5-tablet { - font-size: 1.25rem !important; - } - - .is-size-6-tablet { - font-size: 1rem !important; - } - - .is-size-7-tablet { - font-size: 0.75rem !important; - } -} - -@media screen and (max-width: 1023px) { - .is-size-1-touch { - font-size: 3rem !important; - } - - .is-size-2-touch { - font-size: 2.5rem !important; - } - - .is-size-3-touch { - font-size: 2rem !important; - } - - .is-size-4-touch { - font-size: 1.5rem !important; - } - - .is-size-5-touch { - font-size: 1.25rem !important; - } - - .is-size-6-touch { - font-size: 1rem !important; - } - - .is-size-7-touch { - font-size: 0.75rem !important; - } -} - -@media screen and (min-width: 1024px) { - .is-size-1-desktop { - font-size: 3rem !important; - } - - .is-size-2-desktop { - font-size: 2.5rem !important; - } - - .is-size-3-desktop { - font-size: 2rem !important; - } - - .is-size-4-desktop { - font-size: 1.5rem !important; - } - - .is-size-5-desktop { - font-size: 1.25rem !important; - } - - .is-size-6-desktop { - font-size: 1rem !important; - } - - .is-size-7-desktop { - font-size: 0.75rem !important; - } -} - -@media screen and (min-width: 1216px) { - .is-size-1-widescreen { - font-size: 3rem !important; - } - - .is-size-2-widescreen { - font-size: 2.5rem !important; - } - - .is-size-3-widescreen { - font-size: 2rem !important; - } - - .is-size-4-widescreen { - font-size: 1.5rem !important; - } - - .is-size-5-widescreen { - font-size: 1.25rem !important; - } - - .is-size-6-widescreen { - font-size: 1rem !important; - } - - .is-size-7-widescreen { - font-size: 0.75rem !important; - } -} - -@media screen and (min-width: 1408px) { - .is-size-1-fullhd { - font-size: 3rem !important; - } - - .is-size-2-fullhd { - font-size: 2.5rem !important; - } - - .is-size-3-fullhd { - font-size: 2rem !important; - } - - .is-size-4-fullhd { - font-size: 1.5rem !important; - } - - .is-size-5-fullhd { - font-size: 1.25rem !important; - } - - .is-size-6-fullhd { - font-size: 1rem !important; - } - - .is-size-7-fullhd { - font-size: 0.75rem !important; - } -} - -.has-text-centered { - text-align: center !important; -} - -.has-text-justified { - text-align: justify !important; -} - -.has-text-left { - text-align: left !important; -} - -.has-text-right { - text-align: right !important; -} - -@media screen and (max-width: 768px) { - .has-text-centered-mobile { - text-align: center !important; - } -} - -@media screen and (min-width: 769px), print { - .has-text-centered-tablet { - text-align: center !important; - } -} - -@media screen and (min-width: 769px) and (max-width: 1023px) { - .has-text-centered-tablet-only { - text-align: center !important; - } -} - -@media screen and (max-width: 1023px) { - .has-text-centered-touch { - text-align: center !important; - } -} - -@media screen and (min-width: 1024px) { - .has-text-centered-desktop { - text-align: center !important; - } -} - -@media screen and (min-width: 1024px) and (max-width: 1215px) { - .has-text-centered-desktop-only { - text-align: center !important; - } -} - -@media screen and (min-width: 1216px) { - .has-text-centered-widescreen { - text-align: center !important; - } -} - -@media screen and (min-width: 1216px) and (max-width: 1407px) { - .has-text-centered-widescreen-only { - text-align: center !important; - } -} - -@media screen and (min-width: 1408px) { - .has-text-centered-fullhd { - text-align: center !important; - } -} - -@media screen and (max-width: 768px) { - .has-text-justified-mobile { - text-align: justify !important; - } -} - -@media screen and (min-width: 769px), print { - .has-text-justified-tablet { - text-align: justify !important; - } -} - -@media screen and (min-width: 769px) and (max-width: 1023px) { - .has-text-justified-tablet-only { - text-align: justify !important; - } -} - -@media screen and (max-width: 1023px) { - .has-text-justified-touch { - text-align: justify !important; - } -} - -@media screen and (min-width: 1024px) { - .has-text-justified-desktop { - text-align: justify !important; - } -} - -@media screen and (min-width: 1024px) and (max-width: 1215px) { - .has-text-justified-desktop-only { - text-align: justify !important; - } -} - -@media screen and (min-width: 1216px) { - .has-text-justified-widescreen { - text-align: justify !important; - } -} - -@media screen and (min-width: 1216px) and (max-width: 1407px) { - .has-text-justified-widescreen-only { - text-align: justify !important; - } -} - -@media screen and (min-width: 1408px) { - .has-text-justified-fullhd { - text-align: justify !important; - } -} - -@media screen and (max-width: 768px) { - .has-text-left-mobile { - text-align: left !important; - } -} - -@media screen and (min-width: 769px), print { - .has-text-left-tablet { - text-align: left !important; - } -} - -@media screen and (min-width: 769px) and (max-width: 1023px) { - .has-text-left-tablet-only { - text-align: left !important; - } -} - -@media screen and (max-width: 1023px) { - .has-text-left-touch { - text-align: left !important; - } -} - -@media screen and (min-width: 1024px) { - .has-text-left-desktop { - text-align: left !important; - } -} - -@media screen and (min-width: 1024px) and (max-width: 1215px) { - .has-text-left-desktop-only { - text-align: left !important; - } -} - -@media screen and (min-width: 1216px) { - .has-text-left-widescreen { - text-align: left !important; - } -} - -@media screen and (min-width: 1216px) and (max-width: 1407px) { - .has-text-left-widescreen-only { - text-align: left !important; - } -} - -@media screen and (min-width: 1408px) { - .has-text-left-fullhd { - text-align: left !important; - } -} - -@media screen and (max-width: 768px) { - .has-text-right-mobile { - text-align: right !important; - } -} - -@media screen and (min-width: 769px), print { - .has-text-right-tablet { - text-align: right !important; - } -} - -@media screen and (min-width: 769px) and (max-width: 1023px) { - .has-text-right-tablet-only { - text-align: right !important; - } -} - -@media screen and (max-width: 1023px) { - .has-text-right-touch { - text-align: right !important; - } -} - -@media screen and (min-width: 1024px) { - .has-text-right-desktop { - text-align: right !important; - } -} - -@media screen and (min-width: 1024px) and (max-width: 1215px) { - .has-text-right-desktop-only { - text-align: right !important; - } -} - -@media screen and (min-width: 1216px) { - .has-text-right-widescreen { - text-align: right !important; - } -} - -@media screen and (min-width: 1216px) and (max-width: 1407px) { - .has-text-right-widescreen-only { - text-align: right !important; - } -} - -@media screen and (min-width: 1408px) { - .has-text-right-fullhd { - text-align: right !important; - } -} - -.is-capitalized { - text-transform: capitalize !important; -} - -.is-lowercase { - text-transform: lowercase !important; -} - -.is-uppercase { - text-transform: uppercase !important; -} - -.is-italic { - font-style: italic !important; -} - -.has-text-weight-light { - font-weight: 300 !important; -} - -.has-text-weight-normal { - font-weight: 400 !important; -} - -.has-text-weight-medium { - font-weight: 500 !important; -} - -.has-text-weight-semibold { - font-weight: 600 !important; -} - -.has-text-weight-bold { - font-weight: 700 !important; -} - -.is-family-primary { - font-family: "Nunito", sans-serif !important; -} - -.is-family-secondary { - font-family: "Nunito", sans-serif !important; -} - -.is-family-sans-serif { - font-family: "Nunito", sans-serif !important; -} - -.is-family-monospace { - font-family: monospace !important; -} - -.is-family-code { - font-family: monospace !important; -} - -.is-block { - display: block !important; -} - -@media screen and (max-width: 768px) { - .is-block-mobile { - display: block !important; - } -} - -@media screen and (min-width: 769px), print { - .is-block-tablet { - display: block !important; - } -} - -@media screen and (min-width: 769px) and (max-width: 1023px) { - .is-block-tablet-only { - display: block !important; - } -} - -@media screen and (max-width: 1023px) { - .is-block-touch { - display: block !important; - } -} - -@media screen and (min-width: 1024px) { - .is-block-desktop { - display: block !important; - } -} - -@media screen and (min-width: 1024px) and (max-width: 1215px) { - .is-block-desktop-only { - display: block !important; - } -} - -@media screen and (min-width: 1216px) { - .is-block-widescreen { - display: block !important; - } -} - -@media screen and (min-width: 1216px) and (max-width: 1407px) { - .is-block-widescreen-only { - display: block !important; - } -} - -@media screen and (min-width: 1408px) { - .is-block-fullhd { - display: block !important; - } -} - -.is-flex { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; -} - -@media screen and (max-width: 768px) { - .is-flex-mobile { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - } -} - -@media screen and (min-width: 769px), print { - .is-flex-tablet { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - } -} - -@media screen and (min-width: 769px) and (max-width: 1023px) { - .is-flex-tablet-only { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - } -} - -@media screen and (max-width: 1023px) { - .is-flex-touch { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - } -} - -@media screen and (min-width: 1024px) { - .is-flex-desktop { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - } -} - -@media screen and (min-width: 1024px) and (max-width: 1215px) { - .is-flex-desktop-only { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - } -} - -@media screen and (min-width: 1216px) { - .is-flex-widescreen { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - } -} - -@media screen and (min-width: 1216px) and (max-width: 1407px) { - .is-flex-widescreen-only { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - } -} - -@media screen and (min-width: 1408px) { - .is-flex-fullhd { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - } -} - -.is-inline { - display: inline !important; -} - -@media screen and (max-width: 768px) { - .is-inline-mobile { - display: inline !important; - } -} - -@media screen and (min-width: 769px), print { - .is-inline-tablet { - display: inline !important; - } -} - -@media screen and (min-width: 769px) and (max-width: 1023px) { - .is-inline-tablet-only { - display: inline !important; - } -} - -@media screen and (max-width: 1023px) { - .is-inline-touch { - display: inline !important; - } -} - -@media screen and (min-width: 1024px) { - .is-inline-desktop { - display: inline !important; - } -} - -@media screen and (min-width: 1024px) and (max-width: 1215px) { - .is-inline-desktop-only { - display: inline !important; - } -} - -@media screen and (min-width: 1216px) { - .is-inline-widescreen { - display: inline !important; - } -} - -@media screen and (min-width: 1216px) and (max-width: 1407px) { - .is-inline-widescreen-only { - display: inline !important; - } -} - -@media screen and (min-width: 1408px) { - .is-inline-fullhd { - display: inline !important; - } -} - -.is-inline-block { - display: inline-block !important; -} - -@media screen and (max-width: 768px) { - .is-inline-block-mobile { - display: inline-block !important; - } -} - -@media screen and (min-width: 769px), print { - .is-inline-block-tablet { - display: inline-block !important; - } -} - -@media screen and (min-width: 769px) and (max-width: 1023px) { - .is-inline-block-tablet-only { - display: inline-block !important; - } -} - -@media screen and (max-width: 1023px) { - .is-inline-block-touch { - display: inline-block !important; - } -} - -@media screen and (min-width: 1024px) { - .is-inline-block-desktop { - display: inline-block !important; - } -} - -@media screen and (min-width: 1024px) and (max-width: 1215px) { - .is-inline-block-desktop-only { - display: inline-block !important; - } -} - -@media screen and (min-width: 1216px) { - .is-inline-block-widescreen { - display: inline-block !important; - } -} - -@media screen and (min-width: 1216px) and (max-width: 1407px) { - .is-inline-block-widescreen-only { - display: inline-block !important; - } -} - -@media screen and (min-width: 1408px) { - .is-inline-block-fullhd { - display: inline-block !important; - } -} - -.is-inline-flex { - display: -webkit-inline-box !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; -} - -@media screen and (max-width: 768px) { - .is-inline-flex-mobile { - display: -webkit-inline-box !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media screen and (min-width: 769px), print { - .is-inline-flex-tablet { - display: -webkit-inline-box !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media screen and (min-width: 769px) and (max-width: 1023px) { - .is-inline-flex-tablet-only { - display: -webkit-inline-box !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media screen and (max-width: 1023px) { - .is-inline-flex-touch { - display: -webkit-inline-box !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media screen and (min-width: 1024px) { - .is-inline-flex-desktop { - display: -webkit-inline-box !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media screen and (min-width: 1024px) and (max-width: 1215px) { - .is-inline-flex-desktop-only { - display: -webkit-inline-box !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media screen and (min-width: 1216px) { - .is-inline-flex-widescreen { - display: -webkit-inline-box !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media screen and (min-width: 1216px) and (max-width: 1407px) { - .is-inline-flex-widescreen-only { - display: -webkit-inline-box !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media screen and (min-width: 1408px) { - .is-inline-flex-fullhd { - display: -webkit-inline-box !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -.is-hidden { - display: none !important; -} - -.is-sr-only { - border: none !important; - clip: rect(0, 0, 0, 0) !important; - height: 0.01em !important; - overflow: hidden !important; - padding: 0 !important; - position: absolute !important; - white-space: nowrap !important; - width: 0.01em !important; -} - -@media screen and (max-width: 768px) { - .is-hidden-mobile { - display: none !important; - } -} - -@media screen and (min-width: 769px), print { - .is-hidden-tablet { - display: none !important; - } -} - -@media screen and (min-width: 769px) and (max-width: 1023px) { - .is-hidden-tablet-only { - display: none !important; - } -} - -@media screen and (max-width: 1023px) { - .is-hidden-touch { - display: none !important; - } -} - -@media screen and (min-width: 1024px) { - .is-hidden-desktop { - display: none !important; - } -} - -@media screen and (min-width: 1024px) and (max-width: 1215px) { - .is-hidden-desktop-only { - display: none !important; - } -} - -@media screen and (min-width: 1216px) { - .is-hidden-widescreen { - display: none !important; - } -} - -@media screen and (min-width: 1216px) and (max-width: 1407px) { - .is-hidden-widescreen-only { - display: none !important; - } -} - -@media screen and (min-width: 1408px) { - .is-hidden-fullhd { - display: none !important; - } -} - -.is-invisible { - visibility: hidden !important; -} - -@media screen and (max-width: 768px) { - .is-invisible-mobile { - visibility: hidden !important; - } -} - -@media screen and (min-width: 769px), print { - .is-invisible-tablet { - visibility: hidden !important; - } -} - -@media screen and (min-width: 769px) and (max-width: 1023px) { - .is-invisible-tablet-only { - visibility: hidden !important; - } -} - -@media screen and (max-width: 1023px) { - .is-invisible-touch { - visibility: hidden !important; - } -} - -@media screen and (min-width: 1024px) { - .is-invisible-desktop { - visibility: hidden !important; - } -} - -@media screen and (min-width: 1024px) and (max-width: 1215px) { - .is-invisible-desktop-only { - visibility: hidden !important; - } -} - -@media screen and (min-width: 1216px) { - .is-invisible-widescreen { - visibility: hidden !important; - } -} - -@media screen and (min-width: 1216px) and (max-width: 1407px) { - .is-invisible-widescreen-only { - visibility: hidden !important; - } -} - -@media screen and (min-width: 1408px) { - .is-invisible-fullhd { - visibility: hidden !important; - } -} - -/* Bulma Layout */ -.hero { - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; -} - - .hero .navbar { - background: none; - } - - .hero .tabs ul { - border-bottom: none; - } - - .hero.is-white { - background-color: white; - color: #0a0a0a; - } - - .hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), - .hero.is-white strong { - color: inherit; - } - - .hero.is-white .title { - color: #0a0a0a; - } - - .hero.is-white .subtitle { - color: rgba(10, 10, 10, 0.9); - } - - .hero.is-white .subtitle a:not(.button), - .hero.is-white .subtitle strong { - color: #0a0a0a; - } - -@media screen and (max-width: 1023px) { - .hero.is-white .navbar-menu { - background-color: white; - } -} - -.hero.is-white .navbar-item, -.hero.is-white .navbar-link { - color: rgba(10, 10, 10, 0.7); -} - - .hero.is-white a.navbar-item:hover, .hero.is-white a.navbar-item.is-active, .hero.is-white .navbar-item.active, - .hero.is-white .navbar-link:hover, - .hero.is-white .navbar-link.is-active, - .hero.is-white .navbar-link.active { - background-color: #f2f2f2; - color: #0a0a0a; - } - -.hero.is-white .tabs a { - color: #0a0a0a; - opacity: 0.9; -} - - .hero.is-white .tabs a:hover { - opacity: 1; - } - -.hero.is-white .tabs li.is-active a, .hero.is-white .tabs li.active a { - opacity: 1; -} - -.hero.is-white .tabs.is-boxed a, .hero.is-white .tabs.is-toggle a { - color: #0a0a0a; -} - - .hero.is-white .tabs.is-boxed a:hover, .hero.is-white .tabs.is-toggle a:hover { - background-color: rgba(10, 10, 10, 0.1); - } - -.hero.is-white .tabs.is-boxed li.is-active a, .hero.is-white .tabs.is-boxed li.active a, .hero.is-white .tabs.is-boxed li.is-active a:hover, .hero.is-white .tabs.is-toggle li.is-active a, .hero.is-white .tabs.is-toggle li.active a, .hero.is-white .tabs.is-toggle li.is-active a:hover { - background-color: #0a0a0a; - border-color: #0a0a0a; - color: white; -} - -.hero.is-white.is-bold { - background-image: -o-linear-gradient(309deg, #e8e3e4 0%, white 71%, white 100%); - background-image: linear-gradient(141deg, #e8e3e4 0%, white 71%, white 100%); -} - -@media screen and (max-width: 768px) { - .hero.is-white.is-bold .navbar-menu { - background-image: -o-linear-gradient(309deg, #e8e3e4 0%, white 71%, white 100%); - background-image: linear-gradient(141deg, #e8e3e4 0%, white 71%, white 100%); - } -} - -.hero.is-black { - background-color: #0a0a0a; - color: white; -} - - .hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), - .hero.is-black strong { - color: inherit; - } - - .hero.is-black .title { - color: white; - } - - .hero.is-black .subtitle { - color: rgba(255, 255, 255, 0.9); - } - - .hero.is-black .subtitle a:not(.button), - .hero.is-black .subtitle strong { - color: white; - } - -@media screen and (max-width: 1023px) { - .hero.is-black .navbar-menu { - background-color: #0a0a0a; - } -} - -.hero.is-black .navbar-item, -.hero.is-black .navbar-link { - color: rgba(255, 255, 255, 0.7); -} - - .hero.is-black a.navbar-item:hover, .hero.is-black a.navbar-item.is-active, .hero.is-black .navbar-item.active, - .hero.is-black .navbar-link:hover, - .hero.is-black .navbar-link.is-active, - .hero.is-black .navbar-link.active { - background-color: black; - color: white; - } - -.hero.is-black .tabs a { - color: white; - opacity: 0.9; -} - - .hero.is-black .tabs a:hover { - opacity: 1; - } - -.hero.is-black .tabs li.is-active a, .hero.is-black .tabs li.active a { - opacity: 1; -} - -.hero.is-black .tabs.is-boxed a, .hero.is-black .tabs.is-toggle a { - color: white; -} - - .hero.is-black .tabs.is-boxed a:hover, .hero.is-black .tabs.is-toggle a:hover { - background-color: rgba(10, 10, 10, 0.1); - } - -.hero.is-black .tabs.is-boxed li.is-active a, .hero.is-black .tabs.is-boxed li.active a, .hero.is-black .tabs.is-boxed li.is-active a:hover, .hero.is-black .tabs.is-toggle li.is-active a, .hero.is-black .tabs.is-toggle li.active a, .hero.is-black .tabs.is-toggle li.is-active a:hover { - background-color: white; - border-color: white; - color: #0a0a0a; -} - -.hero.is-black.is-bold { - background-image: -o-linear-gradient(309deg, black 0%, #0a0a0a 71%, #181616 100%); - background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); -} - -@media screen and (max-width: 768px) { - .hero.is-black.is-bold .navbar-menu { - background-image: -o-linear-gradient(309deg, black 0%, #0a0a0a 71%, #181616 100%); - background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); - } -} - -.hero.is-light { - background-color: whitesmoke; - color: rgba(0, 0, 0, 0.7); -} - - .hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), - .hero.is-light strong { - color: inherit; - } - - .hero.is-light .title { - color: rgba(0, 0, 0, 0.7); - } - - .hero.is-light .subtitle { - color: rgba(0, 0, 0, 0.9); - } - - .hero.is-light .subtitle a:not(.button), - .hero.is-light .subtitle strong { - color: rgba(0, 0, 0, 0.7); - } - -@media screen and (max-width: 1023px) { - .hero.is-light .navbar-menu { - background-color: whitesmoke; - } -} - -.hero.is-light .navbar-item, -.hero.is-light .navbar-link { - color: rgba(0, 0, 0, 0.7); -} - - .hero.is-light a.navbar-item:hover, .hero.is-light a.navbar-item.is-active, .hero.is-light .navbar-item.active, - .hero.is-light .navbar-link:hover, - .hero.is-light .navbar-link.is-active, - .hero.is-light .navbar-link.active { - background-color: #e8e8e8; - color: rgba(0, 0, 0, 0.7); - } - -.hero.is-light .tabs a { - color: rgba(0, 0, 0, 0.7); - opacity: 0.9; -} - - .hero.is-light .tabs a:hover { - opacity: 1; - } - -.hero.is-light .tabs li.is-active a, .hero.is-light .tabs li.active a { - opacity: 1; -} - -.hero.is-light .tabs.is-boxed a, .hero.is-light .tabs.is-toggle a { - color: rgba(0, 0, 0, 0.7); -} - - .hero.is-light .tabs.is-boxed a:hover, .hero.is-light .tabs.is-toggle a:hover { - background-color: rgba(10, 10, 10, 0.1); - } - -.hero.is-light .tabs.is-boxed li.is-active a, .hero.is-light .tabs.is-boxed li.active a, .hero.is-light .tabs.is-boxed li.is-active a:hover, .hero.is-light .tabs.is-toggle li.is-active a, .hero.is-light .tabs.is-toggle li.active a, .hero.is-light .tabs.is-toggle li.is-active a:hover { - background-color: rgba(0, 0, 0, 0.7); - border-color: rgba(0, 0, 0, 0.7); - color: whitesmoke; -} - -.hero.is-light.is-bold { - background-image: -o-linear-gradient(309deg, #dfd8d9 0%, whitesmoke 71%, white 100%); - background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%); -} - -@media screen and (max-width: 768px) { - .hero.is-light.is-bold .navbar-menu { - background-image: -o-linear-gradient(309deg, #dfd8d9 0%, whitesmoke 71%, white 100%); - background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%); - } -} - -.hero.is-dark { - background-color: #200117; - color: #fff; -} - - .hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), - .hero.is-dark strong { - color: inherit; - } - - .hero.is-dark .title { - color: #fff; - } - - .hero.is-dark .subtitle { - color: rgba(255, 255, 255, 0.9); - } - - .hero.is-dark .subtitle a:not(.button), - .hero.is-dark .subtitle strong { - color: #fff; - } - -@media screen and (max-width: 1023px) { - .hero.is-dark .navbar-menu { - background-color: #200117; - } -} - -.hero.is-dark .navbar-item, -.hero.is-dark .navbar-link { - color: rgba(255, 255, 255, 0.7); -} - - .hero.is-dark a.navbar-item:hover, .hero.is-dark a.navbar-item.is-active, .hero.is-dark .navbar-item.active, - .hero.is-dark .navbar-link:hover, - .hero.is-dark .navbar-link.is-active, - .hero.is-dark .navbar-link.active { - background-color: #070005; - color: #fff; - } - -.hero.is-dark .tabs a { - color: #fff; - opacity: 0.9; -} - - .hero.is-dark .tabs a:hover { - opacity: 1; - } - -.hero.is-dark .tabs li.is-active a, .hero.is-dark .tabs li.active a { - opacity: 1; -} - -.hero.is-dark .tabs.is-boxed a, .hero.is-dark .tabs.is-toggle a { - color: #fff; -} - - .hero.is-dark .tabs.is-boxed a:hover, .hero.is-dark .tabs.is-toggle a:hover { - background-color: rgba(10, 10, 10, 0.1); - } - -.hero.is-dark .tabs.is-boxed li.is-active a, .hero.is-dark .tabs.is-boxed li.active a, .hero.is-dark .tabs.is-boxed li.is-active a:hover, .hero.is-dark .tabs.is-toggle li.is-active a, .hero.is-dark .tabs.is-toggle li.active a, .hero.is-dark .tabs.is-toggle li.is-active a:hover { - background-color: #fff; - border-color: #fff; - color: #200117; -} - -.hero.is-dark.is-bold { - background-image: -o-linear-gradient(309deg, black 0%, #200117 71%, #3a0020 100%); - background-image: linear-gradient(141deg, black 0%, #200117 71%, #3a0020 100%); -} - -@media screen and (max-width: 768px) { - .hero.is-dark.is-bold .navbar-menu { - background-image: -o-linear-gradient(309deg, black 0%, #200117 71%, #3a0020 100%); - background-image: linear-gradient(141deg, black 0%, #200117 71%, #3a0020 100%); - } -} - -.hero.is-primary { - background-color: #A00975; - color: #fff; -} - - .hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), - .hero.is-primary strong { - color: inherit; - } - - .hero.is-primary .title { - color: #fff; - } - - .hero.is-primary .subtitle { - color: rgba(255, 255, 255, 0.9); - } - - .hero.is-primary .subtitle a:not(.button), - .hero.is-primary .subtitle strong { - color: #fff; - } - -@media screen and (max-width: 1023px) { - .hero.is-primary .navbar-menu { - background-color: #A00975; - } -} - -.hero.is-primary .navbar-item, -.hero.is-primary .navbar-link { - color: rgba(255, 255, 255, 0.7); -} - - .hero.is-primary a.navbar-item:hover, .hero.is-primary a.navbar-item.is-active, .hero.is-primary .navbar-item.active, - .hero.is-primary .navbar-link:hover, - .hero.is-primary .navbar-link.is-active, - .hero.is-primary .navbar-link.active { - background-color: #880863; - color: #fff; - } - -.hero.is-primary .tabs a { - color: #fff; - opacity: 0.9; -} - - .hero.is-primary .tabs a:hover { - opacity: 1; - } - -.hero.is-primary .tabs li.is-active a, .hero.is-primary .tabs li.active a { - opacity: 1; -} - -.hero.is-primary .tabs.is-boxed a, .hero.is-primary .tabs.is-toggle a { - color: #fff; -} - - .hero.is-primary .tabs.is-boxed a:hover, .hero.is-primary .tabs.is-toggle a:hover { - background-color: rgba(10, 10, 10, 0.1); - } - -.hero.is-primary .tabs.is-boxed li.is-active a, .hero.is-primary .tabs.is-boxed li.active a, .hero.is-primary .tabs.is-boxed li.is-active a:hover, .hero.is-primary .tabs.is-toggle li.is-active a, .hero.is-primary .tabs.is-toggle li.active a, .hero.is-primary .tabs.is-toggle li.is-active a:hover { - background-color: #fff; - border-color: #fff; - color: #A00975; -} - -.hero.is-primary.is-bold { - background-image: -o-linear-gradient(309deg, #760068 0%, #A00975 71%, #bd056a 100%); - background-image: linear-gradient(141deg, #760068 0%, #A00975 71%, #bd056a 100%); -} - -@media screen and (max-width: 768px) { - .hero.is-primary.is-bold .navbar-menu { - background-image: -o-linear-gradient(309deg, #760068 0%, #A00975 71%, #bd056a 100%); - background-image: linear-gradient(141deg, #760068 0%, #A00975 71%, #bd056a 100%); - } -} - -.hero.is-link { - background-color: #378BBA; - color: #fff; -} - - .hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), - .hero.is-link strong { - color: inherit; - } - - .hero.is-link .title { - color: #fff; - } - - .hero.is-link .subtitle { - color: rgba(255, 255, 255, 0.9); - } - - .hero.is-link .subtitle a:not(.button), - .hero.is-link .subtitle strong { - color: #fff; - } - -@media screen and (max-width: 1023px) { - .hero.is-link .navbar-menu { - background-color: #378BBA; - } -} - -.hero.is-link .navbar-item, -.hero.is-link .navbar-link { - color: rgba(255, 255, 255, 0.7); -} - - .hero.is-link a.navbar-item:hover, .hero.is-link a.navbar-item.is-active, .hero.is-link .navbar-item.active, - .hero.is-link .navbar-link:hover, - .hero.is-link .navbar-link.is-active, - .hero.is-link .navbar-link.active { - background-color: #317ca6; - color: #fff; - } - -.hero.is-link .tabs a { - color: #fff; - opacity: 0.9; -} - - .hero.is-link .tabs a:hover { - opacity: 1; - } - -.hero.is-link .tabs li.is-active a, .hero.is-link .tabs li.active a { - opacity: 1; -} - -.hero.is-link .tabs.is-boxed a, .hero.is-link .tabs.is-toggle a { - color: #fff; -} - - .hero.is-link .tabs.is-boxed a:hover, .hero.is-link .tabs.is-toggle a:hover { - background-color: rgba(10, 10, 10, 0.1); - } - -.hero.is-link .tabs.is-boxed li.is-active a, .hero.is-link .tabs.is-boxed li.active a, .hero.is-link .tabs.is-boxed li.is-active a:hover, .hero.is-link .tabs.is-toggle li.is-active a, .hero.is-link .tabs.is-toggle li.active a, .hero.is-link .tabs.is-toggle li.is-active a:hover { - background-color: #fff; - border-color: #fff; - color: #378BBA; -} - -.hero.is-link.is-bold { - background-image: -o-linear-gradient(309deg, #22859c 0%, #378BBA 71%, #3d82ce 100%); - background-image: linear-gradient(141deg, #22859c 0%, #378BBA 71%, #3d82ce 100%); -} - -@media screen and (max-width: 768px) { - .hero.is-link.is-bold .navbar-menu { - background-image: -o-linear-gradient(309deg, #22859c 0%, #378BBA 71%, #3d82ce 100%); - background-image: linear-gradient(141deg, #22859c 0%, #378BBA 71%, #3d82ce 100%); - } -} - -.hero.is-info { - background-color: #3298dc; - color: #fff; -} - - .hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), - .hero.is-info strong { - color: inherit; - } - - .hero.is-info .title { - color: #fff; - } - - .hero.is-info .subtitle { - color: rgba(255, 255, 255, 0.9); - } - - .hero.is-info .subtitle a:not(.button), - .hero.is-info .subtitle strong { - color: #fff; - } - -@media screen and (max-width: 1023px) { - .hero.is-info .navbar-menu { - background-color: #3298dc; - } -} - -.hero.is-info .navbar-item, -.hero.is-info .navbar-link { - color: rgba(255, 255, 255, 0.7); -} - - .hero.is-info a.navbar-item:hover, .hero.is-info a.navbar-item.is-active, .hero.is-info .navbar-item.active, - .hero.is-info .navbar-link:hover, - .hero.is-info .navbar-link.is-active, - .hero.is-info .navbar-link.active { - background-color: #238cd1; - color: #fff; - } - -.hero.is-info .tabs a { - color: #fff; - opacity: 0.9; -} - - .hero.is-info .tabs a:hover { - opacity: 1; - } - -.hero.is-info .tabs li.is-active a, .hero.is-info .tabs li.active a { - opacity: 1; -} - -.hero.is-info .tabs.is-boxed a, .hero.is-info .tabs.is-toggle a { - color: #fff; -} - - .hero.is-info .tabs.is-boxed a:hover, .hero.is-info .tabs.is-toggle a:hover { - background-color: rgba(10, 10, 10, 0.1); - } - -.hero.is-info .tabs.is-boxed li.is-active a, .hero.is-info .tabs.is-boxed li.active a, .hero.is-info .tabs.is-boxed li.is-active a:hover, .hero.is-info .tabs.is-toggle li.is-active a, .hero.is-info .tabs.is-toggle li.active a, .hero.is-info .tabs.is-toggle li.is-active a:hover { - background-color: #fff; - border-color: #fff; - color: #3298dc; -} - -.hero.is-info.is-bold { - background-image: -o-linear-gradient(309deg, #159dc6 0%, #3298dc 71%, #4389e5 100%); - background-image: linear-gradient(141deg, #159dc6 0%, #3298dc 71%, #4389e5 100%); -} - -@media screen and (max-width: 768px) { - .hero.is-info.is-bold .navbar-menu { - background-image: -o-linear-gradient(309deg, #159dc6 0%, #3298dc 71%, #4389e5 100%); - background-image: linear-gradient(141deg, #159dc6 0%, #3298dc 71%, #4389e5 100%); - } -} - -.hero.is-success { - background-color: #48c774; - color: #fff; -} - - .hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), - .hero.is-success strong { - color: inherit; - } - - .hero.is-success .title { - color: #fff; - } - - .hero.is-success .subtitle { - color: rgba(255, 255, 255, 0.9); - } - - .hero.is-success .subtitle a:not(.button), - .hero.is-success .subtitle strong { - color: #fff; - } - -@media screen and (max-width: 1023px) { - .hero.is-success .navbar-menu { - background-color: #48c774; - } -} - -.hero.is-success .navbar-item, -.hero.is-success .navbar-link { - color: rgba(255, 255, 255, 0.7); -} - - .hero.is-success a.navbar-item:hover, .hero.is-success a.navbar-item.is-active, .hero.is-success .navbar-item.active, - .hero.is-success .navbar-link:hover, - .hero.is-success .navbar-link.is-active, - .hero.is-success .navbar-link.active { - background-color: #3abb67; - color: #fff; - } - -.hero.is-success .tabs a { - color: #fff; - opacity: 0.9; -} - - .hero.is-success .tabs a:hover { - opacity: 1; - } - -.hero.is-success .tabs li.is-active a, .hero.is-success .tabs li.active a { - opacity: 1; -} - -.hero.is-success .tabs.is-boxed a, .hero.is-success .tabs.is-toggle a { - color: #fff; -} - - .hero.is-success .tabs.is-boxed a:hover, .hero.is-success .tabs.is-toggle a:hover { - background-color: rgba(10, 10, 10, 0.1); - } - -.hero.is-success .tabs.is-boxed li.is-active a, .hero.is-success .tabs.is-boxed li.active a, .hero.is-success .tabs.is-boxed li.is-active a:hover, .hero.is-success .tabs.is-toggle li.is-active a, .hero.is-success .tabs.is-toggle li.active a, .hero.is-success .tabs.is-toggle li.is-active a:hover { - background-color: #fff; - border-color: #fff; - color: #48c774; -} - -.hero.is-success.is-bold { - background-image: -o-linear-gradient(309deg, #29b342 0%, #48c774 71%, #56d296 100%); - background-image: linear-gradient(141deg, #29b342 0%, #48c774 71%, #56d296 100%); -} - -@media screen and (max-width: 768px) { - .hero.is-success.is-bold .navbar-menu { - background-image: -o-linear-gradient(309deg, #29b342 0%, #48c774 71%, #56d296 100%); - background-image: linear-gradient(141deg, #29b342 0%, #48c774 71%, #56d296 100%); - } -} - -.hero.is-warning { - background-color: #ffdd57; - color: rgba(0, 0, 0, 0.7); -} - - .hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), - .hero.is-warning strong { - color: inherit; - } - - .hero.is-warning .title { - color: rgba(0, 0, 0, 0.7); - } - - .hero.is-warning .subtitle { - color: rgba(0, 0, 0, 0.9); - } - - .hero.is-warning .subtitle a:not(.button), - .hero.is-warning .subtitle strong { - color: rgba(0, 0, 0, 0.7); - } - -@media screen and (max-width: 1023px) { - .hero.is-warning .navbar-menu { - background-color: #ffdd57; - } -} - -.hero.is-warning .navbar-item, -.hero.is-warning .navbar-link { - color: rgba(0, 0, 0, 0.7); -} - - .hero.is-warning a.navbar-item:hover, .hero.is-warning a.navbar-item.is-active, .hero.is-warning .navbar-item.active, - .hero.is-warning .navbar-link:hover, - .hero.is-warning .navbar-link.is-active, - .hero.is-warning .navbar-link.active { - background-color: #ffd83d; - color: rgba(0, 0, 0, 0.7); - } - -.hero.is-warning .tabs a { - color: rgba(0, 0, 0, 0.7); - opacity: 0.9; -} - - .hero.is-warning .tabs a:hover { - opacity: 1; - } - -.hero.is-warning .tabs li.is-active a, .hero.is-warning .tabs li.active a { - opacity: 1; -} - -.hero.is-warning .tabs.is-boxed a, .hero.is-warning .tabs.is-toggle a { - color: rgba(0, 0, 0, 0.7); -} - - .hero.is-warning .tabs.is-boxed a:hover, .hero.is-warning .tabs.is-toggle a:hover { - background-color: rgba(10, 10, 10, 0.1); - } - -.hero.is-warning .tabs.is-boxed li.is-active a, .hero.is-warning .tabs.is-boxed li.active a, .hero.is-warning .tabs.is-boxed li.is-active a:hover, .hero.is-warning .tabs.is-toggle li.is-active a, .hero.is-warning .tabs.is-toggle li.active a, .hero.is-warning .tabs.is-toggle li.is-active a:hover { - background-color: rgba(0, 0, 0, 0.7); - border-color: rgba(0, 0, 0, 0.7); - color: #ffdd57; -} - -.hero.is-warning.is-bold { - background-image: -o-linear-gradient(309deg, #ffaf24 0%, #ffdd57 71%, #fffa70 100%); - background-image: linear-gradient(141deg, #ffaf24 0%, #ffdd57 71%, #fffa70 100%); -} - -@media screen and (max-width: 768px) { - .hero.is-warning.is-bold .navbar-menu { - background-image: -o-linear-gradient(309deg, #ffaf24 0%, #ffdd57 71%, #fffa70 100%); - background-image: linear-gradient(141deg, #ffaf24 0%, #ffdd57 71%, #fffa70 100%); - } -} - -.hero.is-danger { - background-color: #f14668; - color: #fff; -} - - .hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), - .hero.is-danger strong { - color: inherit; - } - - .hero.is-danger .title { - color: #fff; - } - - .hero.is-danger .subtitle { - color: rgba(255, 255, 255, 0.9); - } - - .hero.is-danger .subtitle a:not(.button), - .hero.is-danger .subtitle strong { - color: #fff; - } - -@media screen and (max-width: 1023px) { - .hero.is-danger .navbar-menu { - background-color: #f14668; - } -} - -.hero.is-danger .navbar-item, -.hero.is-danger .navbar-link { - color: rgba(255, 255, 255, 0.7); -} - - .hero.is-danger a.navbar-item:hover, .hero.is-danger a.navbar-item.is-active, .hero.is-danger .navbar-item.active, - .hero.is-danger .navbar-link:hover, - .hero.is-danger .navbar-link.is-active, - .hero.is-danger .navbar-link.active { - background-color: #ef2e55; - color: #fff; - } - -.hero.is-danger .tabs a { - color: #fff; - opacity: 0.9; -} - - .hero.is-danger .tabs a:hover { - opacity: 1; - } - -.hero.is-danger .tabs li.is-active a, .hero.is-danger .tabs li.active a { - opacity: 1; -} - -.hero.is-danger .tabs.is-boxed a, .hero.is-danger .tabs.is-toggle a { - color: #fff; -} - - .hero.is-danger .tabs.is-boxed a:hover, .hero.is-danger .tabs.is-toggle a:hover { - background-color: rgba(10, 10, 10, 0.1); - } - -.hero.is-danger .tabs.is-boxed li.is-active a, .hero.is-danger .tabs.is-boxed li.active a, .hero.is-danger .tabs.is-boxed li.is-active a:hover, .hero.is-danger .tabs.is-toggle li.is-active a, .hero.is-danger .tabs.is-toggle li.active a, .hero.is-danger .tabs.is-toggle li.is-active a:hover { - background-color: #fff; - border-color: #fff; - color: #f14668; -} - -.hero.is-danger.is-bold { - background-image: -o-linear-gradient(309deg, #fa0a62 0%, #f14668 71%, #f7595f 100%); - background-image: linear-gradient(141deg, #fa0a62 0%, #f14668 71%, #f7595f 100%); -} - -@media screen and (max-width: 768px) { - .hero.is-danger.is-bold .navbar-menu { - background-image: -o-linear-gradient(309deg, #fa0a62 0%, #f14668 71%, #f7595f 100%); - background-image: linear-gradient(141deg, #fa0a62 0%, #f14668 71%, #f7595f 100%); - } -} - -.hero.is-small .hero-body { - padding: 1.5rem; -} - -@media screen and (min-width: 769px), print { - .hero.is-medium .hero-body { - padding: 9rem 1.5rem; - } -} - -@media screen and (min-width: 769px), print { - .hero.is-large .hero-body { - padding: 18rem 1.5rem; - } -} - -.hero.is-halfheight .hero-body, .hero.is-fullheight .hero-body, .hero.is-fullheight-with-navbar .hero-body { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -ms-flexbox; - display: flex; -} - - .hero.is-halfheight .hero-body > .container, .hero.is-fullheight .hero-body > .container, .hero.is-fullheight-with-navbar .hero-body > .container { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-negative: 1; - flex-shrink: 1; - } - -.hero.is-halfheight { - min-height: 50vh; -} - -.hero.is-fullheight { - min-height: 100vh; -} - -.hero-video { - overflow: hidden; -} - - .hero-video video { - left: 50%; - min-height: 100%; - min-width: 100%; - position: absolute; - top: 50%; - -webkit-transform: translate3d(-50%, -50%, 0); - transform: translate3d(-50%, -50%, 0); - } - - .hero-video.is-transparent { - opacity: 0.3; - } - -@media screen and (max-width: 768px) { - .hero-video { - display: none; - } -} - -.hero-buttons { - margin-top: 1.5rem; -} - -@media screen and (max-width: 768px) { - .hero-buttons .button { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - } - - .hero-buttons .button:not(:last-child) { - margin-bottom: 0.75rem; - } -} - -@media screen and (min-width: 769px), print { - .hero-buttons { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - } - - .hero-buttons .button:not(:last-child) { - margin-right: 1.5rem; - } -} - -.hero-head, -.hero-foot { - -webkit-box-flex: 0; - -ms-flex-positive: 0; - flex-grow: 0; - -ms-flex-negative: 0; - flex-shrink: 0; -} - -.hero-body { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-negative: 0; - flex-shrink: 0; - padding: 3rem 1.5rem; -} - -.section { - padding: 3rem 1.5rem; -} - -@media screen and (min-width: 1024px) { - .section.is-medium { - padding: 9rem 1.5rem; - } - - .section.is-large { - padding: 18rem 1.5rem; - } -} - -.footer { - background-color: #fafafa; - padding: 3rem 1.5rem 6rem; -} - -#fsdocs-searchbox { - margin: 0 auto; -} - -@media screen and (min-width: 768px) { - #fsdocs-menu { - border-right: 1px solid #200117; - position: sticky; - display: inline-block; - vertical-align: top; - height: 100vh; - top: 0; - bottom: 0; - overflow-y: auto; - background-color: whitesmoke; - } -} - -@media screen and (max-width: 768px) { - #fsdocs-menu { - background-color: #ededed; - } - - #fsdocs-menu #fsdocs-menu { - border: none; - } -} - -.nav-header { - border-bottom: 1px dashed #A00975; - list-style: none; - color: #A00975; -} - -#fsdocs-content h1 a, #fsdocs-content h1 a:hover, #fsdocs-content h1 a:focus, -#fsdocs-content h2 a, #fsdocs-content h2 a:hover, #fsdocs-content h2 a:focus, -#fsdocs-content h3 a, #fsdocs-content h3 a:hover, #fsdocs-content h3 a:focus, -#fsdocs-content h4 a, #fsdocs-content h4 a:hover, #fsdocs-content h4 a:focus, -#fsdocs-content h5 a, #fsdocs-content h5 a:hover, #fsdocs-content h5 a:focus, -#fsdocs-content h6 a, #fsdocs-content h6 a:hover, #fsdocs-content h6 a:focus { - color: #A00975; -} - -#fsdocs-content h1 a { - border-bottom: 8px solid #200117; -} - -#fsdocs-content h2 a { - border-bottom: 5px solid #200117; -} - -#fsdocs-content h3 a, -#fsdocs-content h4 a { - border-bottom: 2px solid #200117; -} - -#fsdocs-content h5 a, -#fsdocs-content h6 a { - border-bottom: 1px solid #200117; -} - -#fsdocs-content li { - margin: initial; -} - -strong { - border-bottom: 2px solid #A00975; -} - -em { - color: #A00975; -} - -#fsdocs-content ul { - -webkit-padding-start: 40px; - padding-inline-start: 40px; - list-style-type: disc; -} - -#fsdocs-content ol { - -webkit-padding-start: 40px; - padding-inline-start: 40px; - list-style-type: decimal; -} - -#fsdocs-content blockquote { - display: block; - -webkit-margin-before: 1em; - margin-block-start: 1em; - -webkit-margin-after: 1em; - margin-block-end: 1em; - -webkit-margin-start: 40px; - margin-inline-start: 40px; - -webkit-margin-end: 40px; - margin-inline-end: 40px; - background-color: whitesmoke; - border-left: 4px solid #A00975; -} - -#fsdocs-content table.pre, #fsdocs-content pre.fssnip, #fsdocs-content pre { - background-color: #200117 !important; - color: #fafafa !important; - overflow-x: auto; - display: block; - font-weight: initial; -} - - #fsdocs-content pre.fssnip code { - font: 0.85rem 'Roboto Mono', monospace; - font-weight: initial; - } - -#fsdocs-menu::-webkit-scrollbar { - width: 1px; -} - -#fsdocs-menu::-webkit-scrollbar-thumb { - border-radius: 5px; - background-color: #200117; -} - -#fsdocs-content table.pre::-webkit-scrollbar-track, -#fsdocs-content pre.fssnip ::-webkit-scrollbar-track, -#fsdocs-content pre ::-webkit-scrollbar-track { - box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); - -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); - border-radius: 5px; - background-color: #200117; -} - -#fsdocs-content table.pre::-webkit-scrollbar, -#fsdocs-content pre.fssnip ::-webkit-scrollbar, -#fsdocs-content pre ::-webkit-scrollbar { - height: 8px; - background-color: #200117; - border-radius: 5px; -} - -#fsdocs-content table.pre::-webkit-scrollbar-thumb, -#fsdocs-content pre.fssnip ::-webkit-scrollbar-thumb, -#fsdocs-content pre ::-webkit-scrollbar-thumb { - border-radius: 5px; - box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); - -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); - background-color: #A00975; -} - -/*-------------------------------------------------------------------------- - Formatting for F# code snippets -/*--------------------------------------------------------------------------*/ -.fsdocs-param-name, -.fsdocs-return-name, -.fsdocs-param { - font-weight: 900; - font-size: 0.85rem; - font-family: 'Roboto Mono', monospace; -} - -/* strings --- and stlyes for other string related formats */ -#fsdocs-content span.s { - color: #d59a1b; -} - -/* printf formatters */ -#fsdocs-content span.pf { - color: #A00975; -} - -/* escaped chars */ -#fsdocs-content span.e { - color: #d59a1b; -} - -/* identifiers --- and styles for more specific identifier types */ -#fsdocs-content span.id { - color: #fafafa; -} - -/* module */ -#fsdocs-content span.m { - color: #44d57f; -} - -/* reference type */ -#fsdocs-content span.rt { - color: #44d57f; -} - -/* value type */ -#fsdocs-content span.vt { - color: #44d57f; -} - -/* interface */ -#fsdocs-content span.if { - color: #44d57f; -} - -/* type argument */ -#fsdocs-content span.ta { - color: #44d57f; -} - -/* disposable */ -#fsdocs-content span.d { - color: #c6ffdd; -} - -/* property */ -#fsdocs-content span.prop { - color: #fafafa; -} - -/* punctuation */ -#fsdocs-content span.p { - color: #fafafa; -} - -#fsdocs-content span.pn { - color: #fafafa; -} - -#fsdocs-content span.f { - color: #fafafa; -} - -#fsdocs-content span.fn { - color: #d2c572; -} - -/* active pattern */ -#fsdocs-content span.pat { - color: #438AFE; -} - -/* union case */ -#fsdocs-content span.u { - color: #44d57f; -} - -/* enumeration */ -#fsdocs-content span.e { - color: #44d57f; -} - -/* keywords */ -#fsdocs-content span.k { - color: #F99BDE; -} - -/* comment */ -#fsdocs-content span.c { - color: #6A9955; -} - -#fsdocs-content span.o { - color: #D12F67; -} - -/* numbers */ -#fsdocs-content span.n { - color: #c6ffdd; -} - -/* line number */ -#fsdocs-content span.l { - color: #fafafa; -} - -/* mutable var or ref cell */ -#fsdocs-content span.v { - color: #d2c572; - font-weight: bold; -} - -/* inactive code */ -#fsdocs-content span.inactive { - color: #808080; -} - -/* preprocessor */ -#fsdocs-content span.prep { - color: #ff9b9b; -} - -/* fsi output */ -#fsdocs-content span.fsi { - color: #fafafa; -} - -/* tool tip */ -div.fsdocs-tip { - background: #475b5f; - border-radius: 4px; - font: 11pt 'Droid Sans', arial, sans-serif; - padding: 6px 8px 6px 8px; - display: none; - color: #d1d1d1; - pointer-events: none; -} - - div.fsdocs-tip code { - color: #d1d1d1; - font: 11pt 'Droid Sans', arial, sans-serif; - } - - div.fsdocs-tip em { - color: #6A9955; - } - -/*# sourceMappingURL=C:\Users\schne\source\repos\fslaborg\docs-template\Content\docs\content\fsdocs-custom.css.map */ diff --git a/docs/content/fsdocs-theme.css b/docs/content/fsdocs-theme.css new file mode 100644 index 000000000..ff15d1a6e --- /dev/null +++ b/docs/content/fsdocs-theme.css @@ -0,0 +1,40 @@ +:root { + /* fslab colors */ + --fslab-magenta: #A00975; + --fslab-magenta-light: #F99BDE; + --fslab-magenta-dark: #3D1244; + --fslab-magenta-darkest: #200117; + --fslab-blue: #438AFE; + --fslab-yellow: #FABC2A; + /* theme customization */ + --heading-color: var(--fslab-magenta-dark); + --link-color: var(--fslab-blue); + --link-hover: var(--fslab-magenta); + /* dark theme */ +} + +[data-theme=dark] { + --heading-color: var(--fslab-magenta-light); +} + +table { + border-collapse: collapse; + border-spacing: 0; + min-width: 50%; +} + +thead { + background-color: var(--code-background); +} + +tr:nth-child(even) { + background-color: var(--code-background); +} + +td { + text-align: center; +} + +svg { + display: unset +} \ No newline at end of file diff --git a/docs/index.fsx b/docs/index.fsx index f53b10a9e..937cd4856 100644 --- a/docs/index.fsx +++ b/docs/index.fsx @@ -1,6 +1,10 @@ (*** hide ***) (*** condition: prepare ***) +#r "nuget: FSharpAux.Core, 2.0.0" +#r "nuget: FSharpAux, 2.0.0" +#r "nuget: FSharpAux.IO, 2.0.0" +#r "nuget: OptimizedPriorityQueue, 5.1.0" #I "../src/FSharp.Stats/bin/Release/netstandard2.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" diff --git a/docs/reference/_template.html b/docs/reference/_template.html deleted file mode 100644 index 287a6ac74..000000000 --- a/docs/reference/_template.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - {{fsdocs-page-title}} - - - - - - - - - - - - - - - - {{fsdocs-watch-script}} - - - -
-
- -
-
-
-
- {{fsdocs-content}} -
-
-
- {{fsdocs-tooltips}} -
- - - - - - - - - - - \ No newline at end of file diff --git a/global.json b/global.json index f15a95928..501e79a87 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "9.0.100", - "rollForward": "latestMinor" + "version": "8.0.100", + "rollForward": "latestFeature" } } \ No newline at end of file From 72ca9589170d2e0907e9cbe3348146fd7d73b357 Mon Sep 17 00:00:00 2001 From: Kevin Schneider Date: Thu, 18 Jul 2024 17:18:59 +0200 Subject: [PATCH 2/7] setup .net 8 in ci --- .github/workflows/build-and-test.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index ce45285cf..6a8a6dee0 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -13,10 +13,10 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Setup .NET - uses: actions/setup-dotnet@v1 + - name: Setup .NET 8 + uses: actions/setup-dotnet@v4 with: - dotnet-version: '9.x.x' + dotnet-version: '8.x.x' - name: Restore local tools run: dotnet tool restore - name: make script executable @@ -30,11 +30,11 @@ jobs: runs-on: windows-latest steps: - - uses: actions/checkout@v2 - - name: Setup .NET - uses: actions/setup-dotnet@v1 + - uses: actions/checkout@v4 + - name: Setup .NET 8 + uses: actions/setup-dotnet@v4 with: - dotnet-version: '9.x.x' + dotnet-version: '8.x.x' - name: Restore local tools run: dotnet tool restore - name: Build and test From b16911ff5c4cf2911cfb574f6b1be1107c5bfd6c Mon Sep 17 00:00:00 2001 From: Kevin Schneider Date: Sat, 9 Aug 2025 14:07:43 +0200 Subject: [PATCH 3/7] fix docs references --- build/BasicTasks.fs | 12 +++++++++++- build/PackageTasks.fs | 2 -- build/build.fsproj | 13 ------------- docs/BasicStats.fsx | 4 ++-- docs/Clustering.fsx | 3 ++- docs/ComparisonMetrics.fsx | 4 ++-- docs/Correlation.fsx | 3 ++- docs/Covariance.fsx | 4 ++-- docs/CrossValidation.fsx | 4 ++-- docs/Differentiation.fsx | 4 ++-- docs/Distributions.fsx | 6 +++--- docs/Fitting.fsx | 4 ++-- docs/GoodnessOfFit.fsx | 4 ++-- docs/GrowthCurve.fsx | 5 +++-- docs/Imputation.fsx | 4 ++-- docs/Integration.fsx | 4 ++-- docs/Interpolation.fsx | 4 ++-- docs/Intervals.fsx | 4 ++-- docs/Normalization.fsx | 4 ++-- docs/NuGet.config | 14 -------------- docs/Optimization.fsx | 4 ++-- docs/Quantiles.fsx | 4 ++-- docs/Rank.fsx | 4 ++-- docs/Signal.fsx | 4 ++-- docs/Testing.fsx | 4 ++-- docs/index.fsx | 7 ++----- 26 files changed, 57 insertions(+), 76 deletions(-) delete mode 100644 docs/NuGet.config diff --git a/build/BasicTasks.fs b/build/BasicTasks.fs index 65cb69bf2..c1d6c05f0 100644 --- a/build/BasicTasks.fs +++ b/build/BasicTasks.fs @@ -28,7 +28,17 @@ let clean = BuildTask.create "Clean" [] { let build = BuildTask.create "Build" [clean] { solutionFile |> DotNet.build (fun p -> - { p with MSBuildParams = { p.MSBuildParams with DisableInternalBinLog = true }} + let msBuildParams = + {p.MSBuildParams with + Properties = ([ + "warnon", "3390" + ]) + DisableInternalBinLog = true + } + { + p with + MSBuildParams = msBuildParams + } |> DotNet.Options.withCustomParams (Some "-tl") ) } \ No newline at end of file diff --git a/build/PackageTasks.fs b/build/PackageTasks.fs index 7edc74f81..db16ad2c6 100644 --- a/build/PackageTasks.fs +++ b/build/PackageTasks.fs @@ -19,7 +19,6 @@ let pack = BuildTask.create "Pack" [clean; build; runTests] { |> Seq.iter (Fake.DotNet.DotNet.pack (fun p -> let msBuildParams = {p.MSBuildParams with - DisableInternalBinLog = true Properties = ([ "Version",stableVersionTag "PackageReleaseNotes", (release.Notes |> String.concat "\r\n") @@ -44,7 +43,6 @@ let packPrerelease = BuildTask.create "PackPrerelease" [setPrereleaseTag; clean; |> Seq.iter (Fake.DotNet.DotNet.pack (fun p -> let msBuildParams = {p.MSBuildParams with - DisableInternalBinLog = true Properties = ([ "Version", prereleaseTag "PackageReleaseNotes", (release.Notes |> String.toLines ) diff --git a/build/build.fsproj b/build/build.fsproj index 21200ae87..b3f0ebf49 100644 --- a/build/build.fsproj +++ b/build/build.fsproj @@ -31,17 +31,4 @@ - - - - - - - - - - - - - diff --git a/docs/BasicStats.fsx b/docs/BasicStats.fsx index 4d3f5a6a2..fe1a11be8 100644 --- a/docs/BasicStats.fsx +++ b/docs/BasicStats.fsx @@ -14,9 +14,9 @@ categoryindex: 0 #r "nuget: FSharpAux, 2.0.0" #r "nuget: FSharpAux.IO, 2.0.0" #r "nuget: OptimizedPriorityQueue, 5.1.0" -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" +#r "nuget: FsMath, 0.0.1" +#I "../src/FSharp.Stats/bin/Release/.net8.0/" #r "FSharp.Stats.dll" - (*** condition: ipynb ***) #if IPYNB #r "nuget: FSharp.Stats" diff --git a/docs/Clustering.fsx b/docs/Clustering.fsx index 7146b91f9..d846b6c65 100644 --- a/docs/Clustering.fsx +++ b/docs/Clustering.fsx @@ -14,7 +14,8 @@ categoryindex: 0 #r "nuget: FSharpAux, 2.0.0" #r "nuget: FSharpAux.IO, 2.0.0" #r "nuget: OptimizedPriorityQueue, 5.1.0" -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" +#r "nuget: FsMath, 0.0.1" +#I "../src/FSharp.Stats/bin/Release/.net8.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" #r "nuget: Cyjs.NET" diff --git a/docs/ComparisonMetrics.fsx b/docs/ComparisonMetrics.fsx index ebdb93214..8eac4a019 100644 --- a/docs/ComparisonMetrics.fsx +++ b/docs/ComparisonMetrics.fsx @@ -14,10 +14,10 @@ categoryindex: 0 #r "nuget: FSharpAux, 2.0.0" #r "nuget: FSharpAux.IO, 2.0.0" #r "nuget: OptimizedPriorityQueue, 5.1.0" -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" +#r "nuget: FsMath, 0.0.1" +#I "../src/FSharp.Stats/bin/Release/.net8.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" -#r "nuget: FsMath, 0.0.1" open FsMath Plotly.NET.Defaults.DefaultDisplayOptions <- diff --git a/docs/Correlation.fsx b/docs/Correlation.fsx index a59f6fe24..3280468aa 100644 --- a/docs/Correlation.fsx +++ b/docs/Correlation.fsx @@ -14,7 +14,8 @@ categoryindex: 0 #r "nuget: FSharpAux, 2.0.0" #r "nuget: FSharpAux.IO, 2.0.0" #r "nuget: OptimizedPriorityQueue, 5.1.0" -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" +#r "nuget: FsMath, 0.0.1" +#I "../src/FSharp.Stats/bin/Release/.net8.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" #r "nuget: FsMath, 0.0.1" diff --git a/docs/Covariance.fsx b/docs/Covariance.fsx index 14b6f8b89..f80728d3d 100644 --- a/docs/Covariance.fsx +++ b/docs/Covariance.fsx @@ -14,10 +14,10 @@ categoryindex: 0 #r "nuget: FSharpAux, 2.0.0" #r "nuget: FSharpAux.IO, 2.0.0" #r "nuget: OptimizedPriorityQueue, 5.1.0" -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" +#r "nuget: FsMath, 0.0.1" +#I "../src/FSharp.Stats/bin/Release/.net8.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" -#r "nuget: FsMath, 0.0.1" open FsMath Plotly.NET.Defaults.DefaultDisplayOptions <- diff --git a/docs/CrossValidation.fsx b/docs/CrossValidation.fsx index ea59baa63..6b6001c7a 100644 --- a/docs/CrossValidation.fsx +++ b/docs/CrossValidation.fsx @@ -15,10 +15,10 @@ categoryindex: 0 #r "nuget: FSharpAux, 2.0.0" #r "nuget: FSharpAux.IO, 2.0.0" #r "nuget: OptimizedPriorityQueue, 5.1.0" -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" +#r "nuget: FsMath, 0.0.1" +#I "../src/FSharp.Stats/bin/Release/.net8.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" -#r "nuget: FsMath, 0.0.1" open FsMath Plotly.NET.Defaults.DefaultDisplayOptions <- diff --git a/docs/Differentiation.fsx b/docs/Differentiation.fsx index 3d99734bc..6484e9a45 100644 --- a/docs/Differentiation.fsx +++ b/docs/Differentiation.fsx @@ -14,10 +14,10 @@ categoryindex: 0 #r "nuget: FSharpAux, 2.0.0" #r "nuget: FSharpAux.IO, 2.0.0" #r "nuget: OptimizedPriorityQueue, 5.1.0" -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" +#r "nuget: FsMath, 0.0.1" +#I "../src/FSharp.Stats/bin/Release/.net8.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" -#r "nuget: FsMath, 0.0.1" open FsMath Plotly.NET.Defaults.DefaultDisplayOptions <- diff --git a/docs/Distributions.fsx b/docs/Distributions.fsx index 64778c1f8..b3282ced5 100644 --- a/docs/Distributions.fsx +++ b/docs/Distributions.fsx @@ -15,10 +15,10 @@ categoryindex: 0 #r "nuget: FSharpAux, 2.0.0" #r "nuget: FSharpAux.IO, 2.0.0" #r "nuget: OptimizedPriorityQueue, 5.1.0" -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" -#r "FSharp.Stats.dll" -#r "nuget: Plotly.NET, 4.0.0" #r "nuget: FsMath, 0.0.1" +#r "nuget: Plotly.NET, 4.0.0" +#I "../src/FSharp.Stats/bin/Release/.net8.0/" +#r "FSharp.Stats.dll" open FsMath Plotly.NET.Defaults.DefaultDisplayOptions <- diff --git a/docs/Fitting.fsx b/docs/Fitting.fsx index ee5ca77a5..9b2495417 100644 --- a/docs/Fitting.fsx +++ b/docs/Fitting.fsx @@ -14,10 +14,10 @@ categoryindex: 0 #r "nuget: FSharpAux, 2.0.0" #r "nuget: FSharpAux.IO, 2.0.0" #r "nuget: OptimizedPriorityQueue, 5.1.0" -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" +#r "nuget: FsMath, 0.0.1" +#I "../src/FSharp.Stats/bin/Release/.net8.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" -#r "nuget: FsMath, 0.0.1" open FsMath Plotly.NET.Defaults.DefaultDisplayOptions <- diff --git a/docs/GoodnessOfFit.fsx b/docs/GoodnessOfFit.fsx index 1ffde9059..bcfb23238 100644 --- a/docs/GoodnessOfFit.fsx +++ b/docs/GoodnessOfFit.fsx @@ -14,10 +14,10 @@ categoryindex: 0 #r "nuget: FSharpAux, 2.0.0" #r "nuget: FSharpAux.IO, 2.0.0" #r "nuget: OptimizedPriorityQueue, 5.1.0" -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" +#r "nuget: FsMath, 0.0.1" +#I "../src/FSharp.Stats/bin/Release/.net8.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" -#r "nuget: FsMath, 0.0.1" open FsMath Plotly.NET.Defaults.DefaultDisplayOptions <- diff --git a/docs/GrowthCurve.fsx b/docs/GrowthCurve.fsx index 31df001ac..a8a6d3cc5 100644 --- a/docs/GrowthCurve.fsx +++ b/docs/GrowthCurve.fsx @@ -10,13 +10,14 @@ categoryindex: 0 (*** hide ***) (*** condition: prepare ***) -#r "../src/FSharp.Stats/bin/Release/netstandard2.0/FSharp.Stats.dll" #r "nuget: FSharpAux.Core, 2.0.0" #r "nuget: FSharpAux, 2.0.0" #r "nuget: FSharpAux.IO, 2.0.0" #r "nuget: OptimizedPriorityQueue, 5.1.0" -#r "nuget: Plotly.NET, 4.0.0" #r "nuget: FsMath, 0.0.1" +#I "../src/FSharp.Stats/bin/Release/.net8.0/" +#r "FSharp.Stats.dll" +#r "nuget: Plotly.NET, 4.0.0" open FsMath Plotly.NET.Defaults.DefaultDisplayOptions <- diff --git a/docs/Imputation.fsx b/docs/Imputation.fsx index e8a123f25..528f065e8 100644 --- a/docs/Imputation.fsx +++ b/docs/Imputation.fsx @@ -14,10 +14,10 @@ categoryindex: 0 #r "nuget: FSharpAux, 2.0.0" #r "nuget: FSharpAux.IO, 2.0.0" #r "nuget: OptimizedPriorityQueue, 5.1.0" -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" +#r "nuget: FsMath, 0.0.1" +#I "../src/FSharp.Stats/bin/Release/.net8.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" -#r "nuget: FsMath, 0.0.1" open FsMath Plotly.NET.Defaults.DefaultDisplayOptions <- diff --git a/docs/Integration.fsx b/docs/Integration.fsx index 32e31949a..78523e311 100644 --- a/docs/Integration.fsx +++ b/docs/Integration.fsx @@ -14,10 +14,10 @@ categoryindex: 0 #r "nuget: FSharpAux, 2.0.0" #r "nuget: FSharpAux.IO, 2.0.0" #r "nuget: OptimizedPriorityQueue, 5.1.0" -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" +#r "nuget: FsMath, 0.0.1" +#I "../src/FSharp.Stats/bin/Release/.net8.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" -#r "nuget: FsMath, 0.0.1" open FsMath Plotly.NET.Defaults.DefaultDisplayOptions <- diff --git a/docs/Interpolation.fsx b/docs/Interpolation.fsx index c00823f32..0431b2e49 100644 --- a/docs/Interpolation.fsx +++ b/docs/Interpolation.fsx @@ -14,10 +14,10 @@ categoryindex: 0 #r "nuget: FSharpAux, 2.0.0" #r "nuget: FSharpAux.IO, 2.0.0" #r "nuget: OptimizedPriorityQueue, 5.1.0" -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" +#r "nuget: FsMath, 0.0.1" +#I "../src/FSharp.Stats/bin/Release/.net8.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" -#r "nuget: FsMath, 0.0.1" open FsMath Plotly.NET.Defaults.DefaultDisplayOptions <- diff --git a/docs/Intervals.fsx b/docs/Intervals.fsx index a374a000e..51c2b1ca5 100644 --- a/docs/Intervals.fsx +++ b/docs/Intervals.fsx @@ -14,10 +14,10 @@ categoryindex: 0 #r "nuget: FSharpAux, 2.0.0" #r "nuget: FSharpAux.IO, 2.0.0" #r "nuget: OptimizedPriorityQueue, 5.1.0" -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" +#r "nuget: FsMath, 0.0.1" +#I "../src/FSharp.Stats/bin/Release/.net8.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" -#r "nuget: FsMath, 0.0.1" open FsMath Plotly.NET.Defaults.DefaultDisplayOptions <- diff --git a/docs/Normalization.fsx b/docs/Normalization.fsx index f63b7d095..fd38656ae 100644 --- a/docs/Normalization.fsx +++ b/docs/Normalization.fsx @@ -14,10 +14,10 @@ categoryindex: 0 #r "nuget: FSharpAux, 2.0.0" #r "nuget: FSharpAux.IO, 2.0.0" #r "nuget: OptimizedPriorityQueue, 5.1.0" -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" +#r "nuget: FsMath, 0.0.1" +#I "../src/FSharp.Stats/bin/Release/.net8.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" -#r "nuget: FsMath, 0.0.1" open FsMath Plotly.NET.Defaults.DefaultDisplayOptions <- diff --git a/docs/NuGet.config b/docs/NuGet.config deleted file mode 100644 index cf1ace51a..000000000 --- a/docs/NuGet.config +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/Optimization.fsx b/docs/Optimization.fsx index 1ea8ac936..82539e69a 100644 --- a/docs/Optimization.fsx +++ b/docs/Optimization.fsx @@ -14,10 +14,10 @@ categoryindex: 0 #r "nuget: FSharpAux, 2.0.0" #r "nuget: FSharpAux.IO, 2.0.0" #r "nuget: OptimizedPriorityQueue, 5.1.0" -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" +#r "nuget: FsMath, 0.0.1" +#I "../src/FSharp.Stats/bin/Release/.net8.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" -#r "nuget: FsMath, 0.0.1" open FsMath Plotly.NET.Defaults.DefaultDisplayOptions <- diff --git a/docs/Quantiles.fsx b/docs/Quantiles.fsx index 450f5f468..a175be6d1 100644 --- a/docs/Quantiles.fsx +++ b/docs/Quantiles.fsx @@ -14,10 +14,10 @@ categoryindex: 0 #r "nuget: FSharpAux, 2.0.0" #r "nuget: FSharpAux.IO, 2.0.0" #r "nuget: OptimizedPriorityQueue, 5.1.0" -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" +#r "nuget: FsMath, 0.0.1" +#I "../src/FSharp.Stats/bin/Release/.net8.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" -#r "nuget: FsMath, 0.0.1" open FsMath Plotly.NET.Defaults.DefaultDisplayOptions <- diff --git a/docs/Rank.fsx b/docs/Rank.fsx index 1604451de..63ee06197 100644 --- a/docs/Rank.fsx +++ b/docs/Rank.fsx @@ -14,10 +14,10 @@ categoryindex: 0 #r "nuget: FSharpAux, 2.0.0" #r "nuget: FSharpAux.IO, 2.0.0" #r "nuget: OptimizedPriorityQueue, 5.1.0" -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" +#r "nuget: FsMath, 0.0.1" +#I "../src/FSharp.Stats/bin/Release/.net8.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" -#r "nuget: FsMath, 0.0.1" open FsMath Plotly.NET.Defaults.DefaultDisplayOptions <- diff --git a/docs/Signal.fsx b/docs/Signal.fsx index 031b8c1aa..ce3e7f2d5 100644 --- a/docs/Signal.fsx +++ b/docs/Signal.fsx @@ -14,10 +14,10 @@ categoryindex: 0 #r "nuget: FSharpAux, 2.0.0" #r "nuget: FSharpAux.IO, 2.0.0" #r "nuget: OptimizedPriorityQueue, 5.1.0" -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" +#r "nuget: FsMath, 0.0.1" +#I "../src/FSharp.Stats/bin/Release/.net8.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" -#r "nuget: FsMath, 0.0.1" open FsMath Plotly.NET.Defaults.DefaultDisplayOptions <- diff --git a/docs/Testing.fsx b/docs/Testing.fsx index f68b24cbe..2e33df7d0 100644 --- a/docs/Testing.fsx +++ b/docs/Testing.fsx @@ -14,11 +14,11 @@ categoryindex: 0 #r "nuget: FSharpAux, 2.0.0" #r "nuget: FSharpAux.IO, 2.0.0" #r "nuget: OptimizedPriorityQueue, 5.1.0" -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" +#r "nuget: FsMath, 0.0.1" +#I "../src/FSharp.Stats/bin/Release/.net8.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" #r "nuget: Deedle, 3.0.0" -#r "nuget: FsMath, 0.0.1" open FsMath Plotly.NET.Defaults.DefaultDisplayOptions <- diff --git a/docs/index.fsx b/docs/index.fsx index 937cd4856..5b6146af2 100644 --- a/docs/index.fsx +++ b/docs/index.fsx @@ -5,10 +5,10 @@ #r "nuget: FSharpAux, 2.0.0" #r "nuget: FSharpAux.IO, 2.0.0" #r "nuget: OptimizedPriorityQueue, 5.1.0" -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" +#r "nuget: FsMath, 0.0.1" +#I "../src/FSharp.Stats/bin/Release/.net8.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" -#r "nuget: FsMath, 0.0.1" open FsMath Plotly.NET.Defaults.DefaultDisplayOptions <- @@ -111,9 +111,6 @@ let vecB = vector [19.;11.;35.] // create a matrix let matA = matrix [[3.;4.;0.];[1.;2.;2.];[5.;0.;5.]] -// solve the linear system of equations -let vecX = FSharp.Stats.Algebra.LinearAlgebra.SolveLinearSystem matA vecB - (*** include-value:vecX ***) (** From 2a4cc636a0eb9b50df4dd1ac642c3822125bbba7 Mon Sep 17 00:00:00 2001 From: Kevin Schneider Date: Sat, 9 Aug 2025 14:07:53 +0200 Subject: [PATCH 4/7] fix some xml docs --- FSharp.Stats.sln | 4 ---- src/FSharp.Stats/Array.fs | 4 ++-- src/FSharp.Stats/Ops.fs | 6 +++--- src/FSharp.Stats/SummaryStats.fs | 9 +++++---- 4 files changed, 10 insertions(+), 13 deletions(-) diff --git a/FSharp.Stats.sln b/FSharp.Stats.sln index f61a9bb29..d1b9bdc5c 100644 --- a/FSharp.Stats.sln +++ b/FSharp.Stats.sln @@ -55,11 +55,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{23F9FB2E-6 docs\Integration.fsx = docs\Integration.fsx docs\Interpolation.fsx = docs\Interpolation.fsx docs\Intervals.fsx = docs\Intervals.fsx - docs\LinearAlgebra.fsx = docs\LinearAlgebra.fsx - docs\Matrix_Vector.fsx = docs\Matrix_Vector.fsx - docs\ML.fsx = docs\ML.fsx docs\Normalization.fsx = docs\Normalization.fsx - docs\NuGet.config = docs\NuGet.config docs\Optimization.fsx = docs\Optimization.fsx docs\Quantiles.fsx = docs\Quantiles.fsx docs\Rank.fsx = docs\Rank.fsx diff --git a/src/FSharp.Stats/Array.fs b/src/FSharp.Stats/Array.fs index ebaed80db..e7c7e1f1c 100644 --- a/src/FSharp.Stats/Array.fs +++ b/src/FSharp.Stats/Array.fs @@ -645,7 +645,7 @@ module ArrayExtension = /// /// start value (is included) /// end value (by default is included ) - /// sets the number of elements in the array. If not set, stepsize = 1. + /// sets the number of elements in the array. If not set, stepsize = 1. /// If false, the array does not contain the stop value static member linspace(start:float,stop:float,num:int,?IncludeEndpoint:bool) : float [] = @@ -658,7 +658,7 @@ module ArrayExtension = /// /// start value (is included) /// end value (by default is included) - /// sets the number of elements in the array. Defaults to 50. + /// sets the number of elements in the array. Defaults to 50. /// If false, the array does not contain the stop value. Defaults to true. static member geomspace(start:float,stop:float,num:int,?IncludeEndpoint:bool) : float array = let includeEndpoint = defaultArg IncludeEndpoint true diff --git a/src/FSharp.Stats/Ops.fs b/src/FSharp.Stats/Ops.fs index c7ba5b903..4a0516712 100644 --- a/src/FSharp.Stats/Ops.fs +++ b/src/FSharp.Stats/Ops.fs @@ -59,7 +59,7 @@ module Ops = /// Returs true if x is infinity (generics) /// - /// + /// /// /// /// @@ -71,7 +71,7 @@ module Ops = /// Returs true if x is positive infinity (generics) /// - /// + /// /// /// /// @@ -83,7 +83,7 @@ module Ops = /// Returs true if x is positive infinity (generics) /// - /// + /// /// /// /// diff --git a/src/FSharp.Stats/SummaryStats.fs b/src/FSharp.Stats/SummaryStats.fs index 315eb5389..e82183c08 100644 --- a/src/FSharp.Stats/SummaryStats.fs +++ b/src/FSharp.Stats/SummaryStats.fs @@ -31,11 +31,11 @@ module SummaryStats = /// /// Creates a SummaryStats record from the given fields. /// - /// The number of observed data points. + /// The number of observed data points. /// The running mean of the data points. - /// The sum of squared deviations fom the mean - /// The minimum observed value. - /// The maximum observed value. + /// The sum of squared deviations fom the mean + /// The minimum observed value. + /// The maximum observed value. /// A new SummaryStats record. let createSummaryStats n mean sos min max = {N=n;Mean=mean;SumSqrdDevations=sos;Min=min;Max=max} @@ -110,6 +110,7 @@ module SummaryStats = /// A sequence of numeric data. /// /// A SummaryStats record containing the final count, mean, sum of squares, min, and max. + /// let inline ofSeq (items: seq<'T>) = use e = items.GetEnumerator() let zero = LanguagePrimitives.GenericZero<'T> From 908ce3f309fb77dd806770642cc894add21b43a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20M=C3=BChlhaus?= Date: Sun, 10 Aug 2025 11:31:38 +0200 Subject: [PATCH 5/7] Update Normalizaiton module towards using FsMath --- src/FSharp.Stats/FSharp.Stats.fsproj | 1 + src/FSharp.Stats/Signal/Normalization.fs | 241 ++++++++++++----------- src/FSharp.Stats/Vector.fs | 240 ++++++++++++++++++++++ 3 files changed, 368 insertions(+), 114 deletions(-) create mode 100644 src/FSharp.Stats/Vector.fs diff --git a/src/FSharp.Stats/FSharp.Stats.fsproj b/src/FSharp.Stats/FSharp.Stats.fsproj index bc175d2b9..c7dc2ee1f 100644 --- a/src/FSharp.Stats/FSharp.Stats.fsproj +++ b/src/FSharp.Stats/FSharp.Stats.fsproj @@ -40,6 +40,7 @@ + diff --git a/src/FSharp.Stats/Signal/Normalization.fs b/src/FSharp.Stats/Signal/Normalization.fs index de46e6568..bfa942699 100644 --- a/src/FSharp.Stats/Signal/Normalization.fs +++ b/src/FSharp.Stats/Signal/Normalization.fs @@ -46,122 +46,135 @@ module Normalization = NormFunction : Matrix -> Matrix } with static member Create cf nd f = {CorrFactors=cf;NormedData=nd;NormFunction=f} - ///// - ///// Median of ratios normalization As used by Deseq2, see: https://github.com/hbctraining/DGE_workshop/blob/master/lessons/02_DGE_count_normalization.md . - ///// Rows are genes, columns are samples - ///// - ///// The transformation function is applied on all values of the matrix before calculating the normalization factors. - ///// data matrix with columns as features (samples,time points) and rows as measured entities (genes,proteins). - ///// Normalized data matrix with correction factors and normalization function. - ///// - ///// - ///// // raw data with proteins as rows and samples as columns - ///// let myData = Matrix.init 500 5 (fun _ _ -> rnd.NextDouble()) - ///// let normedData = Normalization.medianOfRatiosBy (fun x -> ln (x+1)) myData - ///// - ///// - //let medianOfRatiosBy (f: float -> float) (data: Matrix) = - // let sampleWiseCorrectionFactors = - // data - // |> Matrix.mapiRows (fun _ v -> - // let v = Array.map f v - // let geometricMean = Seq.meanGeometric v - // Array.map (fun s -> s / geometricMean) v - // ) - // |> Matrix.mapiCols (fun _ (v:Vector) -> Seq.median v) - // let normData m = - // m - // |> Matrix.mapi (fun r c v -> - // v / sampleWiseCorrectionFactors.[c] - // ) - // MorResult.Create sampleWiseCorrectionFactors (normData data) normData + /// + /// Median of ratios normalization As used by Deseq2, see: https://github.com/hbctraining/DGE_workshop/blob/master/lessons/02_DGE_count_normalization.md . + /// Rows are genes, columns are samples + /// + /// The transformation function is applied on all values of the matrix before calculating the normalization factors. + /// data matrix with columns as features (samples,time points) and rows as measured entities (genes,proteins). + /// Normalized data matrix with correction factors and normalization function. + /// + /// + /// // raw data with proteins as rows and samples as columns + /// let myData = Matrix.init 500 5 (fun _ _ -> rnd.NextDouble()) + /// let normedData = Normalization.medianOfRatiosBy (fun x -> ln (x+1)) myData + /// + /// + let medianOfRatiosBy (f: float -> float) (data: Matrix) = + let sampleWiseCorrectionFactors = + data + |> Matrix.mapiRows (fun _ v -> + let v = Array.map f v + let geometricMean = Seq.meanGeometric v + Array.map (fun s -> s / geometricMean) v + ) + |> Matrix.getCols + |> Array.map (fun (v:Vector) -> Vector.median v) + + let normData m = + m + |> Matrix.mapi (fun r c v -> + v / sampleWiseCorrectionFactors.[c] + ) + MorResult.Create sampleWiseCorrectionFactors (normData data) normData - ///// - ///// Median of ratios normalization As used by Deseq2, see: https://github.com/hbctraining/DGE_workshop/blob/master/lessons/02_DGE_count_normalization.md . - ///// Rows are genes, columns are samples - ///// - ///// data matrix with columns as features (samples,time points) and rows as measured entities (genes,proteins). - ///// Normalized data matrix with correction factors and normalization function. - ///// - ///// - ///// // raw data with proteins as rows and samples as columns - ///// let myData = Matrix.init 500 5 (fun _ _ -> rnd.NextDouble()) - ///// let normedData = Normalization.medianOfRatios myData - ///// - ///// - //let medianOfRatios (data:Matrix) = - // medianOfRatiosBy id data + /// + /// Median of ratios normalization As used by Deseq2, see: https://github.com/hbctraining/DGE_workshop/blob/master/lessons/02_DGE_count_normalization.md . + /// Rows are genes, columns are samples + /// + /// data matrix with columns as features (samples,time points) and rows as measured entities (genes,proteins). + /// Normalized data matrix with correction factors and normalization function. + /// + /// + /// // raw data with proteins as rows and samples as columns + /// let myData = Matrix.init 500 5 (fun _ _ -> rnd.NextDouble()) + /// let normedData = Normalization.medianOfRatios myData + /// + /// + let medianOfRatios (data:Matrix) = + medianOfRatiosBy id data - ///// - ///// Median of ratios normalization As used by Deseq2, see: https://github.com/hbctraining/DGE_workshop/blob/master/lessons/02_DGE_count_normalization.md . - ///// Columns are genes, rows are samples - ///// - ///// The transformation function is applied on all values of the matrix before calculating the normalization factors. - ///// data matrix with columns as measured entities and rows as features (samples,time points) (genes,proteins). - ///// Normalized data matrix with correction factors and normalization function. - ///// - ///// - ///// // raw data with proteins as columns and samples as rows - ///// let myData = Matrix.init 5 500 (fun _ _ -> rnd.NextDouble()) - ///// let normedData = Normalization.medianOfRatiosWideBy (fun x -> ln (x+1)) myData - ///// - ///// - //let medianOfRatiosWideBy (f: float -> float) (data:Matrix) = - // let sampleWiseCorrectionFactors = - // data - // |> Matrix.mapiCols (fun _ v -> - // let v = Vector.map f v - // let geometricMean = Seq.meanGeometric v - // Vector.map (fun s -> s / geometricMean) v - // ) - // |> Matrix.ofCols - // |> Matrix.mapiRows (fun _ v -> Seq.median v) - // let normData m = - // m - // |> Matrix.mapi (fun r c v -> - // v / sampleWiseCorrectionFactors.[r] - // ) - // MorResult.Create sampleWiseCorrectionFactors (normData data) normData + /// + /// Median of ratios normalization As used by Deseq2, see: https://github.com/hbctraining/DGE_workshop/blob/master/lessons/02_DGE_count_normalization.md . + /// Columns are genes, rows are samples + /// + /// The transformation function is applied on all values of the matrix before calculating the normalization factors. + /// data matrix with columns as measured entities and rows as features (samples,time points) (genes,proteins). + /// Normalized data matrix with correction factors and normalization function. + /// + /// + /// // raw data with proteins as columns and samples as rows + /// let myData = Matrix.init 5 500 (fun _ _ -> rnd.NextDouble()) + /// let normedData = Normalization.medianOfRatiosWideBy (fun x -> ln (x+1)) myData + /// + /// + let medianOfRatiosWideBy (f: float -> float) (data:Matrix) = + let sampleWiseCorrectionFactors = + data + |> Matrix.mapiCols (fun _ v -> + let v = Array.map f v + let geometricMean = Seq.meanGeometric v + Array.map (fun s -> s / geometricMean) v + ) + |> Matrix.getCols + |> Array.map (fun v -> Vector.median v) + let normData m = + m + |> Matrix.mapi (fun r c v -> + v / sampleWiseCorrectionFactors.[r] + ) + MorResult.Create sampleWiseCorrectionFactors (normData data) normData - ///// - ///// Median of ratios normalization As used by Deseq2, see: https://github.com/hbctraining/DGE_workshop/blob/master/lessons/02_DGE_count_normalization.md . - ///// Columns are genes, rows are samples - ///// - ///// data matrix with columns as measured entities and rows as features (samples,time points) (genes,proteins). - ///// Normalized data matrix with correction factors and normalization function. - ///// - ///// - ///// // raw data with proteins as columns and samples as rows - ///// let myData = Matrix.init 5 500 (fun _ _ -> rnd.NextDouble()) - ///// let normedData = Normalization.medianOfRatiosWide myData - ///// - ///// - //let medianOfRatiosWide (data:Matrix) = - // medianOfRatiosWideBy id data + /// + /// Median of ratios normalization As used by Deseq2, see: https://github.com/hbctraining/DGE_workshop/blob/master/lessons/02_DGE_count_normalization.md . + /// Columns are genes, rows are samples + /// + /// data matrix with columns as measured entities and rows as features (samples,time points) (genes,proteins). + /// Normalized data matrix with correction factors and normalization function. + /// + /// + /// // raw data with proteins as columns and samples as rows + /// let myData = Matrix.init 5 500 (fun _ _ -> rnd.NextDouble()) + /// let normedData = Normalization.medianOfRatiosWide myData + /// + /// + let medianOfRatiosWide (data:Matrix) = + medianOfRatiosWideBy id data - ///// - ///// Quantile normalization with equal number of elements (rows) for each sample (column). - ///// Column mean and column standard deviation are qual after normalization. - ///// Rows are genes, columns are samples. - ///// - ///// data matrix with columns as measured entities and rows as features (samples,time points) (genes,proteins). - ///// Normalized data matrix. - ///// - ///// - ///// // raw data with proteins as rows and samples as columns - ///// let myData = Matrix.init 500 5 (fun _ _ -> rnd.NextDouble()) - ///// let normedData = Normalization.quantile myData - ///// - ///// - //let quantile (data:Matrix) = - // data - // |> Matrix.mapCols (Seq.indexed >> Seq.sortBy snd) - // |> Matrix.Generic.ofColSeq - // |> Matrix.Generic.mapRows (fun row -> - // let avg = Seq.meanBy snd row - // row |> RowVector.Generic.map (fun (i,_) -> i,avg) - // ) - // |> Matrix.Generic.ofSeq - // |> Matrix.Generic.mapCols (Seq.sortBy fst >> Seq.map snd >> vector) - // |> Matrix.ofCols + /// + /// Quantile normalization with equal number of elements (rows) for each sample (column). + /// Column mean and column standard deviation are qual after normalization. + /// Rows are genes, columns are samples. + /// + /// data matrix with columns as measured entities and rows as features (samples,time points) (genes,proteins). + /// Normalized data matrix. + /// + /// + /// // raw data with proteins as rows and samples as columns + /// let myData = Matrix.init 500 5 (fun _ _ -> rnd.NextDouble()) + /// let normedData = Normalization.quantile myData + /// + /// + let quantile (data:Matrix) = + data + |> Matrix.getCols + |> Array.map (fun v -> + v |> Seq.indexed |> Seq.sortBy snd |> Array.ofSeq + ) + |> JaggedArray.transpose + |> Array.map (fun row -> + + let avg = Seq.meanBy snd row + row |> Array.map (fun (i,_) -> i,avg) + ) + |> JaggedArray.transpose + |> Array.map (Seq.sortBy fst >> Seq.map snd >> Vector.ofSeq) + |> Matrix.ofCols + //|> Matrix.Generic.mapRows (fun row -> + // let avg = Seq.meanBy snd row + // row |> RowVector.Generic.map (fun (i,_) -> i,avg) + // ) + //|> Matrix.Generic.ofSeq + //|> Matrix.Generic.mapCols (Seq.sortBy fst >> Seq.map snd >> vector) + //|> Matrix.ofCols diff --git a/src/FSharp.Stats/Vector.fs b/src/FSharp.Stats/Vector.fs new file mode 100644 index 000000000..8026d1acc --- /dev/null +++ b/src/FSharp.Stats/Vector.fs @@ -0,0 +1,240 @@ +namespace FSharp.Stats + +open FsMath +open System + +[] +module Vector = + + + //---------------------------------------------------------------------------- + // Stats + //---------------------------------------------------------------------------- + + + /// Creates a vector from a sequence + let interval (items:Vector<'T>) = + let rec loop index (minimum) (maximum) = + if index < items.Length then + let current = items.[index] + loop (index+1) (min current minimum) (max current maximum) + else + Interval.CreateClosed<_> (minimum,maximum) + //Init by fist value + if items.Length > 1 then + loop 1 items.[0] items.[0] + else + Interval.Empty + + ///// Computes the population mean (Normalized by N) + ///// + ///// + ///// + ///// + ///// + ///// + ///// + //let inline mean (items:Vector<'T>) = + // Vector.mean items + + + /// Computes the sample median + /// + /// + /// + /// + /// + /// + /// + let inline median (items:Vector) = + items |> Array.median + + /// Median absolute deviation (MAD) + /// + /// + /// + /// + /// + /// + /// + let medianAbsoluteDev (items:Vector) = + items |> Array.medianAbsoluteDev + + + /// Returns SummaryStats of vector with N, mean, sum-of-squares, minimum and maximum + /// + /// + /// + /// + /// + /// + /// + let inline stats (items:Vector<'T>) = + let zero = LanguagePrimitives.GenericZero< 'T > + let one = LanguagePrimitives.GenericOne< 'T > + + let rec loop index n (minimum) (maximum) m1 m2 = + if index < items.Length then + let current = items.[index] + let delta = current - m1 + let deltaN = (delta / n) + //let delta_n2 = deltaN * deltaN + let m1' = m1 + deltaN + let m2' = m2 + delta * deltaN * (n-one) + loop (index+1) (n + one) (min current minimum) (max current maximum) m1' m2' + else + SummaryStats.createSummaryStats (n-one) m1 m2 minimum maximum + //Init by fist value + if items.Length > 1 then + loop 0 one items.[0] items.[0] zero zero + else + let uNan = zero / zero + SummaryStats.createSummaryStats zero uNan uNan uNan uNan + + + /// Returns an estimator of the population covariance of two random variables v1 and v2 + /// + /// + /// + /// + /// + /// + /// + /// + let covPopulation (v1:Vector) (v2:Vector) = + Seq.covPopulation v1 v2 + + /// Returns the sample covariance of two random variables v1 and v2. (Bessel's correction by N-1) + /// + /// + /// + /// + /// + /// + /// + /// + let cov (v1:Vector) (v2:Vector) = + Seq.cov v1 v2 + + /// calculates the sample means with a given number of replicates present in the sequence + /// + /// + /// + /// + /// + /// + /// + /// + let getMeanOfReplicates rep (data:Vector) = + Seq.getMeanOfReplicates rep data + |> Vector.ofSeq + + /// calculates the sample standard deviations with a given number of replicates present in the sequence + /// + /// + /// + /// + /// + /// + /// + /// + let getStDevOfReplicates rep (data:Vector) = + Seq.getStDevOfReplicates rep data + |> Vector.ofSeq + + /// calculates the coefficient of variation based on the sample standard deviations with a given number of replicates present in the sequence + /// + /// + /// + /// + /// + /// + /// + /// + let getCvOfReplicates rep (data:Vector) = + Seq.getCvOfReplicates rep data + |> Vector.ofSeq + + ///// Splits a vector according to given indices. Returns (vector including values according to indices, rest) + ///// + ///// + ///// + ///// + ///// + ///// + ///// + ///// + //let splitVector (indices:int[]) (v:Vector<_>) = + // let len = v.Length + // //let nv = Vector.Generic.zero (len-indices.Length) + // //let nvi = Vector.Generic.zero indices.Length + // let nv = VG.zeroCreate (len-indices.Length) + // let nvi = VG.zeroCreate indices.Length + // indices |> Array.sortInPlace + // let rec loop ni nii i = + // match i with + // | i when i < 0 -> nvi,nv + // | i when nii >= 0 && i = indices.[nii] -> + // nvi.[nii] <- v.[i] + // loop (ni) (nii-1) (i-1) + // | _ -> + // nv.[ni] <- v.[i] + // loop (ni-1) (nii) (i-1) + + // loop (len-1-indices.Length) (indices.Length-1) (len-1) + + + /// Module to compute common statistical measure on + module SummaryStats = + + /// Returns SummaryStats of vector with N, mean, sum-of-squares, minimum and maximum + /// + /// + /// + /// + /// + /// + /// + let ofVector (a:Vector<'a>) = stats a + + + + + + + + + +//[] +//module VectorExtension = + +// type Vector<'T when 'T :> Numerics.INumber<'T>> with +// member x.Norm = Vector.Generic.norm x +// member x.Copy () = Vector.Generic.copy x + +// /// +// /// Creates an vector with values between a given interval +// /// +// /// start value (is included) +// /// end value (by default is included) +// /// sets the number of elements in the vector. If not set, stepsize = 1. +// /// If false, the vector does not contain the stop value +// static member linspace(start:float,stop:float,num:int,?IncludeEndpoint:bool) : vector = + +// let includeEndpoint = defaultArg IncludeEndpoint true + +// Seq.linspace(start,stop,num,includeEndpoint) |> Vector.ofSeq + +// /// +// /// Creates a geometric vector of floats with values between a given interval. +// /// +// /// start value (is included) +// /// end value (by default is included) +// /// sets the number of elements in the vector. Defaults to 50. +// /// If false, the vector does not contain the stop value. Defaults to true. +// static member geomspace(start:float,stop:float,num:int,?IncludeEndpoint:bool) : vector = +// let includeEndpoint = defaultArg IncludeEndpoint true + +// Seq.geomspace (start, stop ,num, includeEndpoint) +// |> Vector.ofSeq + From bd10bfe2b286372f48dd232cc7914743799fe499 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20M=C3=BChlhaus?= Date: Sun, 10 Aug 2025 11:31:59 +0200 Subject: [PATCH 6/7] Update docs using FsMath --- FSharp.Stats.sln | 6 +- docs/ComparisonMetrics.fsx | 4 +- docs/Correlation.fsx | 9 +- docs/Covariance.fsx | 2 +- docs/CrossValidation.fsx | 34 ++-- docs/Distributions.fsx | 4 +- docs/Fitting.fsx | 7 +- docs/GeneralisedLinearModels.fsx | 312 ------------------------------- docs/GoodnessOfFit.fsx | 9 +- docs/GrowthCurve.fsx | 16 +- docs/Interpolation.fsx | 6 +- docs/Normalization.fsx | 15 +- docs/Optimization.fsx | 8 +- 13 files changed, 63 insertions(+), 369 deletions(-) delete mode 100644 docs/GeneralisedLinearModels.fsx diff --git a/FSharp.Stats.sln b/FSharp.Stats.sln index d1b9bdc5c..2c18d0e23 100644 --- a/FSharp.Stats.sln +++ b/FSharp.Stats.sln @@ -56,17 +56,19 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{23F9FB2E-6 docs\Interpolation.fsx = docs\Interpolation.fsx docs\Intervals.fsx = docs\Intervals.fsx docs\Normalization.fsx = docs\Normalization.fsx + docs\NuGet.config = docs\NuGet.config docs\Optimization.fsx = docs\Optimization.fsx docs\Quantiles.fsx = docs\Quantiles.fsx docs\Rank.fsx = docs\Rank.fsx docs\Signal.fsx = docs\Signal.fsx docs\Testing.fsx = docs\Testing.fsx - docs\_head.html = docs\_head.html + docs\_template.html = docs\_template.html + docs\_template.ipynb = docs\_template.ipynb EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "content", "content", "{50E3E339-AA4D-4FD2-8791-DEBD2EBF0504}" ProjectSection(SolutionItems) = preProject - docs\content\fsdocs-theme.css = docs\content\fsdocs-theme.css + docs\content\fsdocs-custom.css = docs\content\fsdocs-custom.css EndProjectSection EndProject Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Stats.Interactive", "src\FSharp.Stats.Interactive\FSharp.Stats.Interactive.fsproj", "{D7BCF5C0-9E2B-4170-9390-607B0B65A8CD}" diff --git a/docs/ComparisonMetrics.fsx b/docs/ComparisonMetrics.fsx index 8eac4a019..b4a141aeb 100644 --- a/docs/ComparisonMetrics.fsx +++ b/docs/ComparisonMetrics.fsx @@ -18,7 +18,7 @@ categoryindex: 0 #I "../src/FSharp.Stats/bin/Release/.net8.0/" #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" -open FsMath + Plotly.NET.Defaults.DefaultDisplayOptions <- Plotly.NET.DisplayOptions.init (PlotlyJSReference = Plotly.NET.PlotlyJSReference.NoReference) @@ -27,6 +27,7 @@ Plotly.NET.Defaults.DefaultDisplayOptions <- #if IPYNB #r "nuget: Plotly.NET, 4.0.0" #r "nuget: Plotly.NET.Interactive, 4.0.0" +#r "nuget: FsMath, 0.0.1" #r "nuget: FSharp.Stats" #endif // IPYNB @@ -91,6 +92,7 @@ A BinaryConfusionMatrix can be created in various ways : let actual = [1;1;1;1;0;0;0] let predicted = [1;1;1;0;1;0;0] +open FsMath open FSharp.Stats.Testing BinaryConfusionMatrix.ofPredictions(1,actual,predicted) diff --git a/docs/Correlation.fsx b/docs/Correlation.fsx index 3280468aa..22442c855 100644 --- a/docs/Correlation.fsx +++ b/docs/Correlation.fsx @@ -19,7 +19,7 @@ categoryindex: 0 #r "FSharp.Stats.dll" #r "nuget: Plotly.NET, 4.0.0" #r "nuget: FsMath, 0.0.1" -open FsMath + Plotly.NET.Defaults.DefaultDisplayOptions <- Plotly.NET.DisplayOptions.init (PlotlyJSReference = Plotly.NET.PlotlyJSReference.NoReference) @@ -29,7 +29,7 @@ Plotly.NET.Defaults.DefaultDisplayOptions <- #r "nuget: Plotly.NET, 4.0.0" #r "nuget: Plotly.NET.Interactive, 4.0.0" #r "nuget: FSharp.Stats" - +#r "nuget: FsMath, 0.0.1" #endif // IPYNB (** @@ -45,6 +45,7 @@ _Summary_: This tutorial demonstrates how to calculate correlation coefficients *) open Plotly.NET +open FsMath open FSharp.Stats open FSharp.Stats.Correlation @@ -175,7 +176,7 @@ let table2 = let proportion = int (255. * (value - min) / (max - min)) Color.fromARGB 1 (255 - proportion) 255 proportion pearsonCorrelationMatrix - |> Matrix.toJaggedArray + |> fun m -> m.toJaggedArray() |> JaggedArray.map (mapColor -1. 1.) |> JaggedArray.transpose |> Array.map Color.fromColors @@ -183,7 +184,7 @@ let table2 = let values = pearsonCorrelationMatrix - |> Matrix.toJaggedArray + |> fun m -> m.toJaggedArray() |> JaggedArray.map (sprintf "%.3f") Chart.Table(["colindex 0";"colindex 1";"colindex 2";"colindex 3"],values,CellsFillColor=cellcolors) diff --git a/docs/Covariance.fsx b/docs/Covariance.fsx index f80728d3d..7d14e30c8 100644 --- a/docs/Covariance.fsx +++ b/docs/Covariance.fsx @@ -51,7 +51,7 @@ let error() = rnd.Next(11) let sampleA = Vector.init 50 (fun x -> float x) let sampleB = Vector.init 50 (fun x -> float (x + error())) -let sampleBHigh = sampleB |> Vector.map (fun x -> 200. + x) +let sampleBHigh = sampleB |> Array.map (fun x -> 200. + x) let sampleC = Vector.init 50 (fun x -> 100. - float (x + 3 * error())) let sampleD = Vector.init 50 (fun x -> 100. + float (10 * error())) diff --git a/docs/CrossValidation.fsx b/docs/CrossValidation.fsx index 6b6001c7a..c97a5e2b5 100644 --- a/docs/CrossValidation.fsx +++ b/docs/CrossValidation.fsx @@ -66,8 +66,8 @@ let xV = vector [1. .. 10.] let yV = vector [1.;20.;51.;40.;37.;6.;-10.;-5.;0.;10.] // the fitting function fits a polynomial of order 'order' to the training data set (xTrain and yTrain) and applies it to xTest -let getFitFuncPolynomial xTrain yTrain (xTest:RowVector) order = - let xDat = xTrain |> Matrix.toVector +let getFitFuncPolynomial (xTrain:Matrix) yTrain (xTest:Vector) order = + let xDat = xTrain.Data // |> Matrix.toVector let coeffs = Polynomial.fit order xDat yTrain let predictFunction = Polynomial.predict coeffs (xTest.[0]) predictFunction @@ -113,8 +113,8 @@ let error (f1:float) f2 = pown (f1 - f2) 2 /// Leave-one-out cross validation. Returns the mean squared error of each leave-out at the /// specific polynomial order. Minimize for model selection. let loocvPolynomial (xData:Vector) (yData:Vector) order = - let xDataMat = Matrix.ofVector xData - let getFitFuncPol xTrain yTrain (xTest:RowVector) = + let xDataMat = Matrix.ofCols [|xData|] + let getFitFuncPol xTrain yTrain (xTest:Vector) = getFitFuncPolynomial xTrain yTrain xTest order let meanSquaredError = CrossValidation.loocv xDataMat yData getFitFuncPol error @@ -158,11 +158,11 @@ let's first create some smoothing splines to cross validate: *) // the fitting function fits a smoothing spline with smoothing factor lambda to the training data set (xTrain and yTrain) and applies it to xTest -let getFitFuncSpline xDat yDat (xDatTrain: RowVector) lambda = - let xDatVec = xDat |> Matrix.toVector +let getFitFuncSpline (xDat:Matrix) (yDat:Vector) (xDatTrain: Vector) lambda = + let xDatVec = xDat.Data // |> Matrix.toVector let zippedData = Seq.zip xDatVec yDat |> Array.ofSeq let xValTest = xDatTrain.[0] - Spline.smoothingSpline zippedData (xDat |> Array.ofSeq) lambda xValTest + Spline.smoothingSpline zippedData (xDat.Data) lambda xValTest /// in loocv the border points are chosen so that the support range of the training data set does not cover the test point. /// if splines are used, that are not defined outside the border points use the following: @@ -210,8 +210,8 @@ let errorSpl (f1:float) f2 = /// Leave-one-out cross validation. Returns the mean squared error of each leave-out at the /// specific regularization parameter (lambda). Minimize the (MSE) for model selection. let loocvSmoothingSpline (xData:Vector) (yData:Vector) lambda = - let xDataMat = Matrix.ofVector xData - let getFitFuncSpl xDat yDat (xDatTrain: RowVector) = + let xDataMat = Matrix.ofCols [|xData|] + let getFitFuncSpl xDat yDat (xDatTrain: Vector) = getFitFuncSpline xDat yDat xDatTrain lambda CrossValidation.loocv xDataMat yData getFitFuncSpl errorSpl @@ -260,9 +260,9 @@ The output contains the average error together with the standardDeviation comput //repeated k fold cross validation for polynomials let repeatedKFoldPolynomial k (xData: Vector) (yData: Vector) order = - let xDataMat = xData |> Matrix.Generic.ofVector + let xDataMat = [|xData|] |> Matrix.ofCols - let getFitFuncPol xTrain yTrain (xTest:RowVector) = + let getFitFuncPol xTrain yTrain (xTest:Vector) = getFitFuncPolynomial xTrain yTrain xTest order CrossValidation.repeatedKFold k 10 xDataMat yData getFitFuncPol error Seq.stDev @@ -272,9 +272,9 @@ let kfPolynomial order = repeatedKFoldPolynomial 5 xV yV order //repeated k fold cross validation for smoothing splines let repeatedKFoldSpline k (xData: Vector) (yData: Vector) lambda = - let xDataMat = xData |> Matrix.ofVector + let xDataMat = [|xData|] |> Matrix.ofCols - let getFitFuncSpl xDat yDat (xDatTrain: RowVector) = + let getFitFuncSpl xDat yDat (xDatTrain: Vector) = getFitFuncSpline xDat yDat xDatTrain lambda CrossValidation.repeatedKFold k 10 xDataMat yData getFitFuncSpl errorSpl Seq.stDev @@ -352,9 +352,9 @@ The output contains the average error together with the standardDeviation comput *) let shuffleAndSplitPolynomial p iterations (xData: Vector) (yData: Vector) order = - let xDataMat = xData |> Matrix.ofVector + let xDataMat = [|xData|] |> Matrix.ofCols - let getFitFuncPol xTrain yTrain (xTest:RowVector) = + let getFitFuncPol xTrain yTrain (xTest:Vector) = getFitFuncPolynomial xTrain yTrain xTest order CrossValidation.shuffelAndSplit p iterations xDataMat yData getFitFuncPol error Seq.stDev @@ -363,9 +363,9 @@ let shuffleAndSplitPolynomial p iterations (xData: Vector) (yData: Vector let sasPolynomial order = shuffleAndSplitPolynomial 0.2 5 xV yV order let shuffleAndSplitSpline p iterations (xData: Vector) (yData: Vector) lambda = - let xDataMat = xData |> Matrix.ofVector + let xDataMat = [|xData|] |> Matrix.ofCols - let getFitFuncSpl xDat yDat (xDatTrain: RowVector) = + let getFitFuncSpl xDat yDat (xDatTrain: Vector) = getFitFuncSpline xDat yDat xDatTrain lambda CrossValidation.shuffelAndSplit p iterations xDataMat yData getFitFuncSpl errorSpl Seq.stDev diff --git a/docs/Distributions.fsx b/docs/Distributions.fsx index b3282ced5..3f769378a 100644 --- a/docs/Distributions.fsx +++ b/docs/Distributions.fsx @@ -711,7 +711,7 @@ _1 from town B_, and _3 from town C_? The individual success probabilities can b let multiNomProb = vector [(3./30.); (7./30.); (20./30.)] // the success combination that is of interest -let multiNomKs = Vector.Generic.ofList [1; 1; 3] +let multiNomKs = vector [1; 1; 3] // gives the probability of obtaining exactly the pattern 1,1,3 let mNom = Discrete.Multinomial.PMF multiNomProb multiNomKs @@ -731,7 +731,7 @@ multinomial distribution you have to give the corresponding anto-probability: *) let mNom_bin_A = (Discrete.Binomial.PMF 0.123 200 20) -let mNom_bin_B = Discrete.Multinomial.PMF (vector [|0.123; 0.877|]) (Vector.Generic.ofArray [|20; 180|]) +let mNom_bin_B = Discrete.Multinomial.PMF ([|0.123; 0.877|]) ([|20; 180|]) mNom_bin_A //0.0556956956889893 mNom_bin_B //0.0556956956889898 diff --git a/docs/Fitting.fsx b/docs/Fitting.fsx index 9b2495417..fcf5c6bb2 100644 --- a/docs/Fitting.fsx +++ b/docs/Fitting.fsx @@ -203,12 +203,13 @@ let xVectorMulti = [5.; 4. ;18. ] [6.; 3. ;22. ] ] - |> Matrix.ofJaggedSeq + |> matrix let yVectorMulti = let transformX (x:Matrix) = x - |> Matrix.mapiRows (fun _ v -> 100. + (v.[0] * 2.5) + (v.[1] * 4.) + (v.[2] * 0.5)) + |> Matrix.getRows + |> Array.map (fun v -> 100. + (v.[0] * 2.5) + (v.[1] * 4.) + (v.[2] * 0.5)) xVectorMulti |> transformX |> vector @@ -249,7 +250,7 @@ let predictionFunctionPol x = let orderP = 3 //define the weighting vector -let weights = yDataP |> Vector.map (fun y -> 1. / y) +let weights = yDataP |> Array.map (fun y -> 1. / y) let coefficientsPolW = OLS.Polynomial.fitWithWeighting orderP weights xDataP yDataP let predictionFunctionPolW x = diff --git a/docs/GeneralisedLinearModels.fsx b/docs/GeneralisedLinearModels.fsx deleted file mode 100644 index b8955ceb5..000000000 --- a/docs/GeneralisedLinearModels.fsx +++ /dev/null @@ -1,312 +0,0 @@ - -(** ---- -title: GLM Documentation -index: 24 -category: Documentation -categoryindex: 0 ---- -*) - -(*** hide ***) - - -(*** condition: prepare ***) -#I "../src/FSharp.Stats/bin/Release/netstandard2.0/" -#r "nuget: Deedle" -#r "FSharp.Stats.dll" -#r "nuget: Plotly.NET, 4.0.0" - -Plotly.NET.Defaults.DefaultDisplayOptions <- - Plotly.NET.DisplayOptions.init (PlotlyJSReference = Plotly.NET.PlotlyJSReference.NoReference) - -(*** condition: ipynb ***) -#if IPYNB -#r "nuget: Plotly.NET, 4.0.0" -#r "nuget: Plotly.NET.Interactive, 4.0.0" -#r "nuget: FSharp.Stats" - -open Plotly.NET -open FSharp.Stats -open Deedle -#endif // IPYNB - - -(** -# General linear models (GLMs) - -_Summary:_ This document provides an overview of fitting a Generalized Linear Model (GLM) using FSharp.Stats. - -General linear models (GLMs) are a broad class of statistical models that are used to analyze the relationship between a dependent variable and one or more independent variables. GLMs are a flexible framework that encompasses various statistical techniques, including ANOVA (Analysis of Variance). - -Like ANOVA, GLMs are used to examine the effects of different factors or variables on an outcome of interest. They allow us to determine if there are significant differences between groups or if there is a relationship between the independent variables and the dependent variable. - -GLMs extend the concept of ANOVA by allowing for more complex modeling scenarios. While ANOVA is primarily used for comparing the means of different groups, GLMs can handle a wider range of data types and relationships. For example, GLMs can handle continuous, categorical, and count data, as well as non-linear relationships between variables. - -GLMs also provide a flexible framework for incorporating multiple independent variables, interactions between variables, and controlling for confounding factors. This allows for more nuanced relationships and better understand the factors that influence the outcome variable. - -In terms of similarities, both ANOVA and GLMs involve partitioning the total variation in the data into different components. ANOVA partitions the variation into between-group and within-group components, while GLMs partition the variation into systematic (explained) and residual (unexplained) components. Both ANOVA and GLMs also calculate statistics (such as F-statistic in ANOVA and t-statistic in GLMs) to assess the significance of the relationships or differences. - -Overall, GLMs provide a more flexible and powerful framework for analyzing data compared to ANOVA. They allow for more complex modeling scenarios and can handle a wider range of data types. However, ANOVA remains a useful and widely used technique, particularly when comparing the means of multiple groups. - -In this notebook we will discuss how to design your GLMs and how to use them in F#. - -# Designing a GLM -To design a General Linear Model (GLM), you need to consider the following components: - -1. Dependent Variable: This is the variable you want to predict or explain. It should be continuous or categorical. - -2. Independent Variables: These are the variables that you believe have an impact on the dependent variable. They can be continuous or categorical. - -3. Link Function: The link function relates the linear predictor to the expected value of the dependent variable. It transforms the linear combination of the independent variables into the appropriate scale for the dependent variable. The choice of link function depends on the distribution of the dependent variable. - -4. Distribution: The distribution of the dependent variable determines the appropriate probability distribution to model the data. The choice of distribution depends on the nature of the dependent variable (continuous, binary, count, etc.) and the assumptions about the data. - -The formula for a GLM is typically written as: - -``` -Y = β₀ + β₁X₁ + β₂X₂ + ... + βₚXₚ -``` -This model is used in statistics to predict the outcome of a dependent variable (Y) based on the values of multiple independent variables (X₁, X₂, ..., Xₚ). - -Let's break down the equation: - -- `Y` is the dependent variable, also known as the response or outcome variable. This is what we're trying to predict or estimate. -- `β₀` is the y-intercept of the model. It represents the predicted value of Y when all the independent variables (X's) are 0. -- `β₁, β₂, ..., βₚ` are the coefficients of the independent variables (X₁, X₂, ..., Xₚ). These values quantify the impact of each corresponding independent variable on the dependent variable. For example, `β₁` is the change in the predicted value of Y for a one-unit change in X₁, assuming all other variables are held constant. -- `X₁, X₂, ..., Xₚ` are the independent variables, also known as predictors or explanatory variables. These are the variables that we use to predict Y. - -In the context of programming, this equation could be implemented in a variety of ways depending on the language and libraries used. For instance, in Python, you might use the `statsmodels` or `scikit-learn` libraries to create a GLM, but in F# we can utilise `FSharp.Stats`. - - -## Loading the Dataset -First, let's read some data to learn how to utilize Generalized Linear Models (GLMs). Below is the code to read the cheeseDataset, which is sourced from David S. Moore and George P. McCabe's "Introduction to the Practice of Statistics" (1993), second edition, published by W. H. Freeman and Company, available on the [Statlib database](https://dasl.datadescription.com). It contains information on the taste and concentration of various chemical components in 30 matured cheddar cheeses from the LaTrobe Valley in Victoria, Australia. The final Taste score is an aggregate of the scores given by several tasters. -*) - -open Deedle -open Plotly.NET -open FSharp.Stats - -let cheeseDataset :Frame= - Frame.ReadCsv $"{__SOURCE_DIRECTORY__}/data/cheese.csv" - |> Frame.indexRows "Column1" - -(***include-value:cheeseDataset***) - -(** -## Creating Histograms - -Step two involves visualizing the data using histograms. Histograms are an effective way to understand the distribution and frequency of the data by dividing it into bins and displaying the count of data points in each bin. This visual representation can help identify patterns, trends, and potential outliers in the dataset
-*) - -let histograms = - let histogramTaste = - Chart.Histogram(cheeseDataset?Taste |> Series.values) - |> Chart.withXAxisStyle("Taste") - |> Chart.withYAxisStyle("Frequency") - |> Chart.withTitle "Histogram of Taste" - |> Chart.withTraceInfo("Taste") - let histogramAcetic = - Chart.Histogram(cheeseDataset?Acetic |> Series.values) - |> Chart.withXAxisStyle("Acetic") - |> Chart.withYAxisStyle("Frequency") - |> Chart.withTitle "Histogram of Acetic" - |> Chart.withTraceInfo("Acetic") - let histogramH2S = - Chart.Histogram(cheeseDataset?H2S |> Series.values) - |> Chart.withXAxisStyle("H2S") - |> Chart.withYAxisStyle("Frequency") - |> Chart.withTitle "Histogram of H2S" - |> Chart.withTraceInfo("H2S") - let histogramLactic = - Chart.Histogram(cheeseDataset?Lactic |> Series.values) - |> Chart.withXAxisStyle("Lactic") - |> Chart.withYAxisStyle("Frequency") - |> Chart.withTitle "Histogram of Lactic" - |> Chart.withTraceInfo("Lactic") - Chart.Grid(2,2) [histogramTaste; histogramAcetic; histogramH2S; histogramLactic] - -(***include-value:histograms***) - - -(** -## Preparing Data for GLM -Now we can try to predict the taste of a cheese by its Aciticity, its H2S content and its Lactic acid content: For this we utilise a GLM. To use this we need to get the dependent variable, the given taste from our dataframe, as a vector and the independent variables, Acetic, H2S and Lactic, into a Matrix. -*) - -let dependentVector = - cheeseDataset?Taste - |> Series.values - |> Vector.ofSeq - -let independentMatrix = - cheeseDataset - |> Frame.dropCol "Taste" - |> Frame.toJaggedArray - |> Matrix.ofJaggedArray - -(** -To include the y-intercept (also known as the intercept term) in the GLM, we must add a column of ones to our matrix of independent variables. This column represents the constant term in the model and allows the estimation of the y-intercept when fitting the model. -*) - -let updatedIndependentMatrix = - independentMatrix - |> Matrix.toJaggedArray - |> Array.map (fun row -> Array.append [|1.0|] row) - |> Matrix.ofJaggedArray - -(** -## Fitting the GLM -The next step we need to take is to determine which linker functions to use in our Model. -Generalized Linear Models extend linear models to allow for response variables that have error distribution models other than a normal distribution. The choice of distribution family in a GLM depends on the nature of the response variable (dependent variable). Here is a summary of when to use each GLM distribution family: - -**Normal (Gaussian) Distribution**:
- - **Use when**: The response variable is continuous and normally distributed.
- - **Common applications**: Linear regression, ANOVA, ANCOVA.
- - **Examples**: Heights, weights, test scores. - -**Binomial Distribution**:
- - **Use when**: The response variable is binary (0 or 1) or proportion data.
- - **Common applications**: Logistic regression, probit regression.
- - **Examples**: Yes/No outcomes, success/failure data. - -**Poisson Distribution**:
- - **Use when**: The response variable represents count data, especially counts of rare events.
- - **Common applications**: Poisson regression.
- - **Examples**: Number of customer complaints, number of accidents. - -**Negative Binomial Distribution**:
- - **Use when**: The response variable is count data with overdispersion (variance greater than the mean).
- - **Common applications**: Negative binomial regression.
- - **Examples**: Number of insurance claims, number of hospital visits. - -**Gamma Distribution**:
- - **Use when**: The response variable is continuous and positive, often for skewed distributions.
- - **Common applications**: Gamma regression.
- - **Examples**: Insurance claims costs, time until an event occurs. - -**Inverse Gaussian Distribution**:
- - **Use when**: The response variable is continuous and positive, and particularly when the data has a long right tail.
- - **Common applications**: Inverse Gaussian regression.
- - **Examples**: Reaction times, survival times. - - -**Multinomial Distribution**:
- - **Use when**: The response variable represents categorical data with more than two categories.
- - **Common applications**: Multinomial logistic regression.
- - **Examples**: Survey responses with multiple choices, type of disease diagnosis. - -Each distribution family has a corresponding link function that relates the linear predictor to the mean of the distribution. The choice of link function can also be tailored to better fit the specific characteristics of the data. Common link functions include the identity link, log link, logit link, and inverse link, among others. - -Understanding the characteristics of your data and the nature of the response variable is crucial in selecting the appropriate distribution family for a GLM. -*) - -// Matrix of independent variables -let A = updatedIndependentMatrix - -// Vector of dependent variable -let b = dependentVector - -// Maximum number of iterations -let maxIter = 100 - -// Distribution family of the dependent variable -let distributionFamily = FSharp.Stats.Fitting.GLM.GlmDistributionFamily.Poisson - -// Tolerance for the convergence of the algorithm, usually 1e-11 or 1e-6 -let mTol = 1e-6 - -// Fit the model -let glm = - FSharp.Stats.Fitting.GLM.SolveGLM.solveQR A b maxIter distributionFamily mTol - -glm -(***include-value:glm***) - -(** -## Getting GLM Predictions - -The results of the GLM are in the GLMReturn format, containing the coefficient vector *mX* and the mean response vector *mu*. The coefficients in the *mx* vector are in the same order as the matrix of independent variables we gave the model. In our case this order is: -1. intercept term -2. Acetic -3. H2S -4. Lactic - -This means we can build a predictor funtion using the result of the GLM that can predict Taste based on Acetic, H2S and Lactic. -Lets turn the predictions into a Map for easy access. For this we use the 'GLMParameterStatistics' for easy acess for each parameter of the predictions. -Using this map we can also access the zScore and Pearson scores of each of the predictors, which tell us how important they are to explain our model. -*) - -let glmPredictions = - FSharp.Stats.Fitting.GLM.GLMStatistics.getGLMParameterStatistics A b glm ["Intercept"; "Acetic"; "H2S"; "Lactic"] - |> Map.ofSeq - -(***include-value:glmPredictions***) - - -(** -## Cheese Taste Predictor Function - -This function returned a map of the name of the value we assigned to it and their coefficient, standard error, z score and pvalue. - -### Coefficient -The estimated effect size of the predictor variable. It indicates the expected change in the dependent variable for a one-unit change in the predictor variable, holding all other variables constant. - -### Standard Error -Measures the accuracy of the coefficient's estimate. It is the standard deviation of the sampling distribution of the coefficient. A smaller standard error indicates a more precise estimate. - -### Z Score -Calculated as the coefficient divided by its standard error. It tests the null hypothesis that the coefficient is zero. A larger absolute value indicates stronger evidence against the null hypothesis. - -### p-value -Indicates the probability of observing a test statistic as extreme as the observed value under the null hypothesis. A smaller p-value suggests stronger evidence against the null hypothesis. Typically, a p-value less than 0.05 is considered statistically significant. - -Lets use these values to create a function to predict the taste based of the coefficients. - -*) - -/// Predicts the taste of cheese based on the given input variables. -/// -/// Parameters: -/// acetic - The acetic acid level in the cheese. -/// h2s - The hydrogen sulfide level in the cheese. -/// lactic - The lactic acid level in the cheese. -/// -/// Returns: -/// The predicted taste of the cheese. -let cheeseTastePredictor acetic h2s lactic = - // Extract the intercept term from the GLM coefficients - let intercept = glmPredictions.Item "Intercept" |> fun x -> x.Coefficient - - // Extract the coefficient for the acetic acid predictor from the GLM coefficients - let aceticCoefficient = glmPredictions.Item "Acetic" |> fun x -> x.Coefficient - - // Extract the coefficient for the hydrogen sulfide (H2S) predictor from the GLM coefficients - let H2SCoefficient = glmPredictions.Item "H2S" |> fun x -> x.Coefficient - - // Extract the coefficient for the lactic acid predictor from the GLM coefficients - let LacticCoefficient = glmPredictions.Item "Lactic" |> fun x -> x.Coefficient - - // Calculate and return the predicted cheese taste - // The prediction is the sum of the intercept and the products of each coefficient with its corresponding predictor value - intercept + aceticCoefficient * acetic + H2SCoefficient * h2s + LacticCoefficient * lactic - -(** -## Getting GLM Model Statistics - -Lastly, let's examine how well our model fits the data overall. For this, we use the 'GLMModelStatistics', which provide key metrics such as LogLikelihood, Deviance, and PearsonChi2. - -### LogLikelihood -LogLikelihood measures the goodness of fit of the model. It is the logarithm of the likelihood function, which evaluates how likely it is that the observed data would occur under the model parameters. Higher values indicate a better fit of the model to the data. - -### Deviance -Deviance is a measure of the discrepancy between the observed data and the values predicted by the model. It compares the likelihood of the model to the likelihood of a perfect model that predicts the data exactly. Lower deviance indicates a better fit. - -### Pearson Chi-Square (PearsonChi2) -Pearson Chi-Square is another measure of goodness of fit. It assesses how well the observed data match the expected data predicted by the model. Lower values suggest a better fit. It is particularly useful for identifying overdispersion or underdispersion in the model. - -These statistics together give us a comprehensive view of the model's performance and its ability to explain the variability in the data. -*) - -let glmStats = FSharp.Stats.Fitting.GLM.GLMStatistics.getGLMStatisticsModel b glm distributionFamily -(***include-value:glmStats***) diff --git a/docs/GoodnessOfFit.fsx b/docs/GoodnessOfFit.fsx index bcfb23238..2668cbdf9 100644 --- a/docs/GoodnessOfFit.fsx +++ b/docs/GoodnessOfFit.fsx @@ -196,12 +196,11 @@ let fitValues = xData |> Seq.map (fun xi -> xi,(predictionFunction xi)) ///calculate confidence band errors for every x value let confidence = xData - |> Vector.map (calculateConfidenceBandError xData yData 0.95) + |> Array.map (calculateConfidenceBandError xData yData 0.95) ///lower and upper bounds of the 95% confidence band sorted according to x values let (lower,upper) = xData - |> Vector.toArray |> Array.mapi (fun i xi -> (predictionFunction xi) - confidence.[i],(predictionFunction xi) + confidence.[i]) |> Array.unzip @@ -241,12 +240,11 @@ let newXValues = ///calculate confidence band errors for every x value let newConfidence = newXValues - |> Vector.map (calculateConfidenceBandError xData yData 0.95) + |> Array.map (calculateConfidenceBandError xData yData 0.95) ///lower and upper bounds of the 95% confidence band sorted according to x values let (newLower,newUpper) = newXValues - |> Vector.toArray |> Array.mapi (fun i xi -> (predictionFunction xi) - newConfidence.[i],(predictionFunction xi) + newConfidence.[i]) |> Array.unzip @@ -280,12 +278,11 @@ let predictionXValues = vector [|1. .. 0.5 .. 15.|] ///calculate preditcion band errors for every x value let prediction = predictionXValues - |> Vector.map (calculatePredictionBandError xData yData 0.95) + |> Array.map (calculatePredictionBandError xData yData 0.95) ///lower and upper bounds of the 95% prediction band sorted according to x values let (pLower,pUpper) = predictionXValues - |> Vector.toArray |> Array.mapi (fun i xi -> (predictionFunction xi) - prediction.[i],(predictionFunction xi) + prediction.[i]) |> Array.unzip diff --git a/docs/GrowthCurve.fsx b/docs/GrowthCurve.fsx index a8a6d3cc5..e5ad0513a 100644 --- a/docs/GrowthCurve.fsx +++ b/docs/GrowthCurve.fsx @@ -265,10 +265,10 @@ The four parameter Gompertz model allows the determination of generation times f *) -let generationtime (parametervector:vector) (logTransform:float -> float) = +let generationtime (parametervector:Vector) (logTransform:float -> float) = logTransform 2. * Math.E / (parametervector.[1] * parametervector.[2]) -let lag (parametervector:vector) = +let lag (parametervector:Vector) = (parametervector.[3] - 1.) / parametervector.[1] let g = sprintf "The generation time (Gompertz) is: %.1f min" (60. * (generationtime gompertzParams log)) @@ -336,7 +336,7 @@ let fittingFunctionRichards = (**Here is a pre-evaluated version (to save time during the build process, as the solver takes quite some time.)*) -let generationtimeRichards (richardParameters:vector) = +let generationtimeRichards (richardParameters:Vector) = let l = richardParameters.[0] let k = richardParameters.[1] let y = richardParameters.[2] //x value of inflection point @@ -419,7 +419,7 @@ let fittingFunctionWeibull = (**Here is a pre-evaluated version (to save time during the build process, as the solver takes quite some time.)*) -let generationtimeWeibull (weibullParameters:vector) = +let generationtimeWeibull (weibullParameters:Vector) = let b = weibullParameters.[0] let l = weibullParameters.[1] let k = weibullParameters.[2] @@ -505,7 +505,7 @@ let fittingFunctionJanoschek = (**Here is a pre-evaluated version (to save time during the build process, as the solver takes quite some time.)*) -let generationtimeJanoschek (janoschekParameters:vector) = +let generationtimeJanoschek (janoschekParameters:Vector) = let b = janoschekParameters.[0] let l = janoschekParameters.[1] let k = janoschekParameters.[2] @@ -593,7 +593,7 @@ let fittingFunctionExponential = (**Here is a pre-evaluated version (to save time during the build process, as the solver takes quite some time.)*) -let generationtimeExponential (expParameters:vector) = +let generationtimeExponential (expParameters:Vector) = let b = expParameters.[0] let l = expParameters.[1] let k = expParameters.[2] @@ -684,7 +684,7 @@ let fittingFunctionVerhulst() = (**Here is a pre-evaluated version (to save time during the build process, as the solver takes quite some time.)*) -let generationtimeVerhulst (verhulstParameters:vector) = +let generationtimeVerhulst (verhulstParameters:Vector) = let lmax = verhulstParameters.[0] let k = verhulstParameters.[1] let d = verhulstParameters.[2] @@ -768,7 +768,7 @@ let fittingFunctionMMF() = (**Here is a pre-evaluated version (to save time during the build process, as the solver takes quite some time.)*) -let generationtimeMmf (mmfParameters:vector) = +let generationtimeMmf (mmfParameters:Vector) = let b = mmfParameters.[0] let l = mmfParameters.[1] let k = mmfParameters.[2] diff --git a/docs/Interpolation.fsx b/docs/Interpolation.fsx index 0431b2e49..54bedc997 100644 --- a/docs/Interpolation.fsx +++ b/docs/Interpolation.fsx @@ -388,7 +388,7 @@ let bezierInterpolation = let c2 = vector [|6.5;-1.5|] //control point 2 let c3 = vector [|13.5;4.|] //control point 3 let p1 = vector [|10.;5.|] //point 1 that should be traversed - let toPoint (v : vector) = v[0],v[1] + let toPoint (v : Vector) = v[0],v[1] let interpolate = Bezier.interpolate [|p0;c0;c1;c2;c3;p1|] >> toPoint [ @@ -424,7 +424,7 @@ let bezierInterpolation3d = let c0 = vector [|1.5;2.1;2.|] //control point 0 let c1 = vector [|5.8;1.6;1.4|] //control point 1 let p1 = vector [|3.;2.;0.|] //point 1 that should be traversed - let to3Dpoint (v : vector) = v[0],v[1],v[2] + let to3Dpoint (v : Vector) = v[0],v[1],v[2] let interpolate = Bezier.interpolate [|p0;c0;c1;p1|] >> to3Dpoint [ @@ -535,7 +535,7 @@ let xs_cheby = // to get the corresponding y values to the xs_cheby a linear spline is generated that approximates the new y values let ys_cheby = let ls = Interpolation.LinearSpline.interpolate xs ys - xs_cheby |> Vector.map (Interpolation.LinearSpline.predict ls) + xs_cheby |> Array.map (Interpolation.LinearSpline.predict ls) // again polynomial interpolation coefficients are determined, but here with the x and y data that correspond to the chebyshev spacing let coeffs_cheby = Interpolation.Polynomial.interpolate xs_cheby ys_cheby diff --git a/docs/Normalization.fsx b/docs/Normalization.fsx index fd38656ae..4a2229d1d 100644 --- a/docs/Normalization.fsx +++ b/docs/Normalization.fsx @@ -162,8 +162,9 @@ let rawData = // visualization of the raw data let rawDataChart = - rawData.Transpose - |> Matrix.toJaggedArray + rawData + |> Matrix.transpose + |> (fun m -> m.toJaggedArray()) |> Array.mapi (fun sampleID sample -> let sampleIntensities = sample @@ -220,8 +221,9 @@ corrFactors // visualization of the normed data let normedDataChart = - morNormedData.Transpose - |> Matrix.toJaggedArray + morNormedData + |> Matrix.transpose + |> (fun m -> m.toJaggedArray()) |> Array.mapi (fun sampleID sample -> let sampleIntensities = sample @@ -314,8 +316,9 @@ let quantileNorm = // visualization of the normed data let normedDataQuantileChart = - quantileNorm.Transpose - |> Matrix.toJaggedArray + quantileNorm + |> Matrix.transpose + |> (fun m -> m.toJaggedArray()) |> Array.mapi (fun sampleID sample -> let sampleIntensities = sample diff --git a/docs/Optimization.fsx b/docs/Optimization.fsx index 82539e69a..4d6589a29 100644 --- a/docs/Optimization.fsx +++ b/docs/Optimization.fsx @@ -65,7 +65,7 @@ open Plotly.NET open Plotly.NET.TraceObjects -let myFunction (xs: vector) = +let myFunction (xs: Vector) = let x = xs.[0] x**2. + 0.32*x + 0.13 @@ -121,7 +121,7 @@ Lets define the function, and a starting coordinate for the optimization task. // Rosenbrock's valley or Rosenbrock's banana function -let rosenbrock (xs: vector) = +let rosenbrock (xs: Vector) = let x, y = xs.[0], xs.[1] pown (1.0 - x) 2 + 100.0 * pown (y - pown x 2) 2 @@ -232,7 +232,7 @@ The Auckley function has many valleys, with one center and global minimum at $(0 // Auckley function -let auckley (xs: vector) = +let auckley (xs: Vector) = let x, y = xs.[0], xs.[1] -20.*exp(-0.2*sqrt(0.5*(x**2. + y**2))) - exp(0.5*(cos(2. * Math.PI * x) + cos(2. * Math.PI * y))) + @@ -299,7 +299,7 @@ The Nelder-Mead method is able to identiy a local minimum, but misses the global // Beale function function -let beale (xs: vector) = +let beale (xs: Vector) = let x, y = xs.[0], xs.[1] (1.5 - x + x*y)**2. + (2.25 - x + x*y**2)**2. + From 8054b5c29fb77add7e82f7977fdbd3a4ef61e0fd Mon Sep 17 00:00:00 2001 From: Kevin Schneider Date: Sun, 10 Aug 2025 14:52:33 +0200 Subject: [PATCH 7/7] - Fix xml doc errors - Fix typo (VCrossvalidation > shuffelAndSplit -> shuffleAndSplit) --- src/FSharp.Stats/Array.fs | 2 +- src/FSharp.Stats/Correlation.fs | 18 ++++----- src/FSharp.Stats/DistanceMetrics.fs | 16 ++++---- .../Distributions/Continuous/ChiSquared.fs | 2 +- .../Distributions/Discrete/Binomial.fs | 1 - .../Distributions/Discrete/Hypergeometric.fs | 15 +++++--- .../Discrete/NegativeBinomial.fs | 11 ++++-- .../Distributions/Discrete/Poisson.fs | 1 - src/FSharp.Stats/Distributions/Distance.fs | 4 +- src/FSharp.Stats/Distributions/Empirical.fs | 4 +- src/FSharp.Stats/Distributions/Frequency.fs | 4 +- src/FSharp.Stats/Fitting/CrossValidation.fs | 24 ++++++++++-- src/FSharp.Stats/Fitting/LinearRegression.fs | 11 ++---- .../Fitting/LogisticRegression.fs | 2 + .../Fitting/NonLinearRegression.fs | 3 ++ src/FSharp.Stats/Fitting/Spline.fs | 2 +- src/FSharp.Stats/Interpolation.fs | 14 ++----- src/FSharp.Stats/List.fs | 8 ++-- src/FSharp.Stats/Quantile.fs | 2 +- src/FSharp.Stats/Rank.fs | 3 -- src/FSharp.Stats/Signal/Normalization.fs | 16 ++++---- src/FSharp.Stats/Signal/Padding.fs | 1 + src/FSharp.Stats/Signal/PeakDetection.fs | 1 - src/FSharp.Stats/SpecialFunctions/Erf.fs | 2 - src/FSharp.Stats/Testing/TestStatistics.fs | 37 ++++++++----------- 25 files changed, 104 insertions(+), 100 deletions(-) diff --git a/src/FSharp.Stats/Array.fs b/src/FSharp.Stats/Array.fs index e7c7e1f1c..4221def69 100644 --- a/src/FSharp.Stats/Array.fs +++ b/src/FSharp.Stats/Array.fs @@ -645,7 +645,7 @@ module ArrayExtension = /// /// start value (is included) /// end value (by default is included ) - /// sets the number of elements in the array. If not set, stepsize = 1. + /// sets the number of elements in the array. If not set, stepsize = 1. /// If false, the array does not contain the stop value static member linspace(start:float,stop:float,num:int,?IncludeEndpoint:bool) : float [] = diff --git a/src/FSharp.Stats/Correlation.fs b/src/FSharp.Stats/Correlation.fs index 805000d38..5182b213c 100644 --- a/src/FSharp.Stats/Correlation.fs +++ b/src/FSharp.Stats/Correlation.fs @@ -298,19 +298,19 @@ module Correlation = /// /// Tau A - Make no adjustments for ties /// - /// The first array of observations. - /// The second array of observations. + /// The first array of observations. + /// The second array of observations. /// Number of concordant minues the number of discordant pairs. /// n(n-1)/2 or (n choose 2), where n is the number of observations. - /// sum_i(t_i(t_i-1)/2) where t_is is t_i he number of pairs of observations with the same x value. - /// sum_i(u_i(u_i-1)/2) where u_is is u_i he number of pairs of observations with the same y value. + /// sum_i(t_i(t_i-1)/2) where t_is is t_i he number of pairs of observations with the same x value. + /// sum_i(u_i(u_i-1)/2) where u_is is u_i he number of pairs of observations with the same y value. /// The Kendall tau A statistic. let tauA _x _y pq n0 _n1 _n2 = pq / float n0 /// /// Tau B - Adjust for ties. tau_b = pq / sqrt((n0 - n1)(n0 - n2)) /// - /// The first array of observations. - /// The second array of observations. + /// The first array of observations. + /// The second array of observations. /// Number of concordant minues the number of discordant pairs. /// n(n-1)/2 or (n choose 2), where n is the number of observations. /// sum_i(t_i(t_i-1)/2) where t_is is t_i he number of pairs of observations with the same x value. @@ -325,9 +325,9 @@ module Correlation = /// The first array of observations. /// The second array of observations. /// Number of concordant minues the number of discordant pairs. - /// n(n-1)/2 or (n choose 2), where n is the number of observations. - /// sum_i(t_i(t_i-1)/2) where t_is is t_i he number of pairs of observations with the same x value. - /// sum_i(u_i(u_i-1)/2) where u_is is u_i he number of pairs of observations with the same y value. + /// n(n-1)/2 or (n choose 2), where n is the number of observations. + /// sum_i(t_i(t_i-1)/2) where t_is is t_i he number of pairs of observations with the same x value. + /// sum_i(u_i(u_i-1)/2) where u_is is u_i he number of pairs of observations with the same y value. /// The Kendall tau C statistic. let tauC (x : _[]) y pq _n0 _n1 _n2 = let n = x.Length diff --git a/src/FSharp.Stats/DistanceMetrics.fs b/src/FSharp.Stats/DistanceMetrics.fs index aa2f0ff20..5c173c529 100644 --- a/src/FSharp.Stats/DistanceMetrics.fs +++ b/src/FSharp.Stats/DistanceMetrics.fs @@ -124,8 +124,8 @@ module DistanceMetrics = /// The [Minkowski distance](https://en.wikipedia.org/wiki/Minkowski_distance) between two vectors of order `p`. /// The two vectors need not have equal lengths: when one vectors is exhausted any remaining elements in the other vectors are ignored. - /// first vector - /// second vector + /// first vector + /// second vector /// float constrained to `p > 0` /// Minkowski distance between elements of given vectors. Returns NaN if vectors contain NaN. /// @@ -163,8 +163,8 @@ module DistanceMetrics = /// The [Minkowski distance](https://en.wikipedia.org/wiki/Minkowski_distance) between two vectors (ignores NaN) of order `p`. /// Non-regular differences between the sequences are ignored. /// The two vectors need not have equal lengths: when one vectors is exhausted any remaining elements in the other vectors are ignored. - /// first vector - /// second vector + /// first vector + /// second vector /// float constrained to `p > 0` /// Minkowski distance between elements of given vectors. /// @@ -319,8 +319,8 @@ module DistanceMetrics = /// The [Minkowski distance](https://en.wikipedia.org/wiki/Minkowski_distance) between two arrays of order `p`. /// The two arrays need not have equal lengths: when one array is exhausted any remaining elements in the other array are ignored. - /// first array - /// second array + /// first array + /// second array /// float constrained to `p > 0` /// Minkowski distance between elements of given arrays. Returns NaN if arrays contain NaN. /// @@ -358,8 +358,8 @@ module DistanceMetrics = /// The [Minkowski distance](https://en.wikipedia.org/wiki/Minkowski_distance) between two arrays (ignores NaN) of order `p`. /// Non-regular differences between the sequences are ignored. /// The two arrays need not have equal lengths: when one array is exhausted any remaining elements in the other array are ignored. - /// first array - /// second array + /// first array + /// second array /// float constrained to `p > 0` /// Minkowski distance between elements of given arrays. /// diff --git a/src/FSharp.Stats/Distributions/Continuous/ChiSquared.fs b/src/FSharp.Stats/Distributions/Continuous/ChiSquared.fs index 393c70c5d..44aa14ac4 100644 --- a/src/FSharp.Stats/Distributions/Continuous/ChiSquared.fs +++ b/src/FSharp.Stats/Distributions/Continuous/ChiSquared.fs @@ -67,7 +67,7 @@ type ChiSquared = ChiSquared.CheckParam dof sqrt (dof * 2.) - /// Degrees of freedom (must be positive). + /// Degrees of freedom (must be positive). /// A sample from χ²(dof), interpreted as Gamma(dof/2, 2). static member SampleUnchecked (dof: float) : float = let alpha = dof / 2.0 diff --git a/src/FSharp.Stats/Distributions/Discrete/Binomial.fs b/src/FSharp.Stats/Distributions/Discrete/Binomial.fs index b4a292d08..a4f654c40 100644 --- a/src/FSharp.Stats/Distributions/Discrete/Binomial.fs +++ b/src/FSharp.Stats/Distributions/Discrete/Binomial.fs @@ -82,7 +82,6 @@ type Binomial = /// Produces a random sample using the current random number generator (from GetSampleGenerator()).
No parameter checking!
/// - /// /// /// /// diff --git a/src/FSharp.Stats/Distributions/Discrete/Hypergeometric.fs b/src/FSharp.Stats/Distributions/Discrete/Hypergeometric.fs index e71974105..c64319715 100644 --- a/src/FSharp.Stats/Distributions/Discrete/Hypergeometric.fs +++ b/src/FSharp.Stats/Distributions/Discrete/Hypergeometric.fs @@ -100,7 +100,6 @@ type Hypergeometric = /// Produces a random sample using the current random number generator (from GetSampleGenerator()).
No parameter checking!
/// - /// /// /// /// @@ -253,11 +252,17 @@ type Hypergeometric = /// Initializes a hypergeometric distribution. /// - /// The hypergeometric distribution is a discrete probability distribution
that describes the probability of `k` successes (random draws for which the object
drawn has a specified feature) in `n` draws, without replacement, from a finite
population of size `N` that contains exactly `K` objects with that feature,
wherein each draw is either a success (`1.0`) or a failure (`0.0`).

The population size
The number of success states in the population
The number of draws
+ /// + /// The hypergeometric distribution is a discrete probability distribution + /// that describes the probability of `k` successes (random draws for which the object + /// drawn has a specified feature) in `n` draws, without replacement, from a finite + /// population of size `N` that contains exactly `K` objects with that feature, + /// wherein each draw is either a success (`1.0`) or a failure (`0.0`). + /// + /// The population size + /// The number of success states in the population + /// The number of draws /// - /// - /// - /// /// /// /// diff --git a/src/FSharp.Stats/Distributions/Discrete/NegativeBinomial.fs b/src/FSharp.Stats/Distributions/Discrete/NegativeBinomial.fs index 44d1f0a3e..429f6217a 100644 --- a/src/FSharp.Stats/Distributions/Discrete/NegativeBinomial.fs +++ b/src/FSharp.Stats/Distributions/Discrete/NegativeBinomial.fs @@ -1,4 +1,4 @@ -namespace FSharp.Stats.Distributions.Discrete +Fkspace FSharp.Stats.Distributions.Discrete open System open FSharp.Stats @@ -154,10 +154,13 @@ type NegativeBinomial_trials = sprintf "NegativeBinomial_trials(r = %i, p = %f)" r p /// Initializes a negative binomial distribution. - /// The negative binomial distribution is a discrete probability distribution
that models the number of trials needed x to get the rth success in repeated
independent Bernoulli trials with probability p.

The number of success states
The probability of each independent bernoulli trial
The number of trials until the rth success
+ /// The negative binomial distribution is a discrete probability distribution + /// that models the number of trials needed x to get the rth success in repeated + /// independent Bernoulli trials with probability p. + /// + /// The number of success states + /// The probability of each independent bernoulli trial /// - /// - /// /// /// /// diff --git a/src/FSharp.Stats/Distributions/Discrete/Poisson.fs b/src/FSharp.Stats/Distributions/Discrete/Poisson.fs index 7ffd9d580..82c64a1cc 100644 --- a/src/FSharp.Stats/Distributions/Discrete/Poisson.fs +++ b/src/FSharp.Stats/Distributions/Discrete/Poisson.fs @@ -86,7 +86,6 @@ type Poisson = /// Produces a random sample using the current random number generator (from GetSampleGenerator()).
No parameter checking!
/// - /// /// /// /// diff --git a/src/FSharp.Stats/Distributions/Distance.fs b/src/FSharp.Stats/Distributions/Distance.fs index acc97b092..1d1c14f10 100644 --- a/src/FSharp.Stats/Distributions/Distance.fs +++ b/src/FSharp.Stats/Distributions/Distance.fs @@ -201,13 +201,13 @@ module Distance = /// /// /// - /// + /// /// /// /// /// /// - let cdfDistanceWeighted p (xs : float []) (ys : float []) xWeights yWeights = + let cdfDistanceWeighted p (xs : float []) (ys : float []) xWeights yWeights = if xs.Length = 0 then failwith "Given distribtuion xs is empty" if ys.Length = 0 then failwith "Given distribtuion ys is empty" diff --git a/src/FSharp.Stats/Distributions/Empirical.fs b/src/FSharp.Stats/Distributions/Empirical.fs index a37c6af6f..15f40b64e 100644 --- a/src/FSharp.Stats/Distributions/Empirical.fs +++ b/src/FSharp.Stats/Distributions/Empirical.fs @@ -327,8 +327,8 @@ module Empirical = /// Merges two maps into a single map. If a key exists in both maps, the value is determined by f with the first value being from mapA and the second originating from mapB. /// Is the binwidth equal for both distributions? For nominal data set to true. /// Function to transform values if key is present in both histograms. `histA-value → histB-value → newValue` - /// Empirical distribution A - /// Empirical distribution B + /// Empirical distribution A + /// Empirical distribution B /// When applied to continuous data the bandwidths must be equal! /// This function is not commutative! (mergeBy f a b) is not equal to (mergeBy f b a) /// New frequency map that results from merged maps mapA and mapB. Values from keys that are present in both maps are handled by f diff --git a/src/FSharp.Stats/Distributions/Frequency.fs b/src/FSharp.Stats/Distributions/Frequency.fs index 942c63939..086e81e68 100644 --- a/src/FSharp.Stats/Distributions/Frequency.fs +++ b/src/FSharp.Stats/Distributions/Frequency.fs @@ -141,8 +141,8 @@ module Frequency = /// Merges two histograms into a single histogram. If a key exists in both maps, the value is determined by f with the first value being from mapA and the second originating from mapB. /// Is the binwidth equal for both frequencies? For nominal data set to true. /// Function to transform values if key is present in both histograms. `mapA-value → mapB-value → newValue` - /// Frequency map A - /// Frequency map B + /// Frequency map A + /// Frequency map B /// When applied to continuous data the bandwidths must be equal! /// This function is not commutative! (mergeBy f a b) is not equal to (mergeBy f b a) /// New frequency map that results from merged maps mapA and mapB. Values from keys that are present in both maps are handled by f diff --git a/src/FSharp.Stats/Fitting/CrossValidation.fs b/src/FSharp.Stats/Fitting/CrossValidation.fs index 6e724ac76..b7c6a59a9 100644 --- a/src/FSharp.Stats/Fitting/CrossValidation.fs +++ b/src/FSharp.Stats/Fitting/CrossValidation.fs @@ -19,6 +19,7 @@ module CrossValidation = /// Computes sum of squared residuals (SSR) /// /// + /// /// /// /// @@ -31,6 +32,7 @@ module CrossValidation = /// Computes root mean square error (RMSE) /// /// + /// /// /// /// @@ -50,7 +52,13 @@ module CrossValidation = /// Computes a repeated k fold cross-validation,
k: training set size (and number of iterations),
iterations: number of random subset creation,
xData: rowwise x-coordinate matrix,
yData: yData vector
fit: x and y data lead to function that maps a xData row vector to a y-coordinate,
error: defines the error of the fitted y-coordinate and the actual y-coordinate,
getStDev: function that calculates the standard deviation from a seq<^T>. (Seq.stDev)
/// - /// + /// + /// + /// + /// + /// + /// + /// /// /// /// @@ -113,7 +121,10 @@ module CrossValidation = /// Computes a leave one out cross-validation
xData: rowwise x-coordinate matrix,
yData: yData vector
fit: x and y data lead to function that maps an xData row vector to a y-coordinate,
error: defines the error of the fitted y-coordinate and the actual y-coordinate
/// - /// + /// + /// + /// + /// /// /// /// @@ -141,13 +152,18 @@ module CrossValidation = /// Computes a repeated shuffel-and-split cross validation
p: percentage of training set size from original size,
iterations: number of random subset creation,
xData: rowwise x-coordinate matrix,
yData: yData vector
fit: x and y data lead to function that maps a xData row vector to a y-coordinate,
error: defines the error of the fitted y-coordinate and the actual y-coordinate,
getStDev: function that calculates the standard deviation from a seq<^T>. (Seq.stDev)
/// - /// + /// + /// + /// + /// + /// + /// /// /// /// /// /// - let inline shuffelAndSplit + let inline shuffleAndSplit p (iterations: int) (xData:Matrix< ^T >) (yData:Vector< ^T >) (fit: Matrix< ^T > -> Vector< ^T > -> Vector< ^T > -> ^T) (error: ^T -> ^T -> ^T) diff --git a/src/FSharp.Stats/Fitting/LinearRegression.fs b/src/FSharp.Stats/Fitting/LinearRegression.fs index 0d89702c5..27be4c5cc 100644 --- a/src/FSharp.Stats/Fitting/LinearRegression.fs +++ b/src/FSharp.Stats/Fitting/LinearRegression.fs @@ -161,7 +161,7 @@ module LinearRegression = /// /// let mySlope = 17.8 /// - /// // get the f�tting function that fits through the origin + /// // get the fitting function that fits through the origin /// let myF = /// LinearRegression.OLS.Linear.RTO.predictFunc mySlope /// @@ -451,7 +451,7 @@ module LinearRegression = /// Takes linear coefficients and x vector to predict the corresponding y value. /// /// Coefficients from linear regression. - /// x vector for which the y value should be predicted + /// x vector for which the y value should be predicted /// predicted y value with given coefficients at X=x /// /// @@ -620,7 +620,6 @@ module LinearRegression = /// /// Takes polynomial coefficients and x value to predict the corresponding y value. /// - /// order of the polynomial (1 = linear, 2 = quadratic, ... ) /// vector of polynomial coefficients (e.g. determined by Polynomial.coefficients), sorted as [intercept;constant;quadratic;...] /// x value of which the corresponding y value should be predicted /// predicted y value with given polynomial coefficients at X=x @@ -858,14 +857,12 @@ module LinearRegression = /// /// Defines if regression function should pass any specific point. /// -/// float*float coordinate type Constraint<'a> = /// No constraints are given. | Unconstrained /// The regression line must go through the origin (0,0) | RegressionThroughOrigin /// The regression line must go through a specified point, defined as float*float tuple ('xCorrdinate*'yCoordinate) - /// float*float coordinate | RegressionThroughXY of 'a /// @@ -1022,7 +1019,7 @@ type LinearRegression() = /// Creates prediction function for linear regression. /// /// Linear regression coefficients (e.g. from LinearRegression.fit()) - /// x value of which the corresponding y value should be predicted + /// x value of which the corresponding y value should be predicted /// Prediction function that takes an x value and predicts its corresponding y value. /// /// @@ -1046,7 +1043,7 @@ type LinearRegression() = /// Creates prediction function for multivariate linear regression. /// /// Multivariate linear regression coefficients (e.g. from LinearRegression.fit()) - /// x value of which the corresponding y value should be predicted + /// x value of which the corresponding y value should be predicted /// Prediction function that takes an x vector and predicts its corresponding y value. /// /// diff --git a/src/FSharp.Stats/Fitting/LogisticRegression.fs b/src/FSharp.Stats/Fitting/LogisticRegression.fs index 873c1a639..95bf061fc 100644 --- a/src/FSharp.Stats/Fitting/LogisticRegression.fs +++ b/src/FSharp.Stats/Fitting/LogisticRegression.fs @@ -127,6 +127,7 @@ module LogisticRegression = /// Returns the regression function /// /// + /// /// /// /// @@ -204,6 +205,7 @@ module LogisticRegression = /// Returns the regression function /// /// + /// /// /// /// diff --git a/src/FSharp.Stats/Fitting/NonLinearRegression.fs b/src/FSharp.Stats/Fitting/NonLinearRegression.fs index 54c5234ca..68197e269 100644 --- a/src/FSharp.Stats/Fitting/NonLinearRegression.fs +++ b/src/FSharp.Stats/Fitting/NonLinearRegression.fs @@ -376,6 +376,8 @@ module NonLinearRegression = /// Returns an estimate for an initial parameter for the linear least square estimator for a given dataset (xData, yData).
The initial estimation is intended for a logistic function.
The returned parameters are the max y value, the steepness of the curve and the x value in the middle of the slope.
/// /// + /// + /// /// /// /// @@ -535,6 +537,7 @@ module NonLinearRegression = /// Takes the result of the linearization as initialGuessParams /// /// + /// /// /// /// diff --git a/src/FSharp.Stats/Fitting/Spline.fs b/src/FSharp.Stats/Fitting/Spline.fs index 80eaa661c..d26ff3fca 100644 --- a/src/FSharp.Stats/Fitting/Spline.fs +++ b/src/FSharp.Stats/Fitting/Spline.fs @@ -9,7 +9,6 @@ module Spline = /// Some preprocessing of the input data /// - /// /// /// /// @@ -32,6 +31,7 @@ module Spline = /// Creates a smoothing spline through some data. Takes as spline points the x-values given by basispts.
The resulting function takes lambda (regularization parameter) and a x_Value as input.
/// /// + /// /// /// /// diff --git a/src/FSharp.Stats/Interpolation.fs b/src/FSharp.Stats/Interpolation.fs index dfbe59bbe..29f58812b 100644 --- a/src/FSharp.Stats/Interpolation.fs +++ b/src/FSharp.Stats/Interpolation.fs @@ -31,7 +31,6 @@ module Interpolation = /// /// takes x value to predict the corresponding interpolating y value /// - /// x value of which the corresponding y value should be predicted /// predicted y value with given polynomial coefficients at X=x /// /// @@ -355,7 +354,6 @@ module Interpolation = /// /// Predicts the y value at point x. A straight line is fitted between the neighboring x values given. /// - /// X value at which the corresponding y value should be predicted /// Y value corresponding to the given x value. /// /// @@ -598,7 +596,6 @@ module Interpolation = /// /// Predicts the y value at point x. A straight line is fitted between the neighboring x values given. /// - /// X value at which the corresponding y value should be predicted /// Y value corresponding to the given x value. /// /// @@ -772,7 +769,6 @@ module Interpolation = /// /// Returns function that takes x value and predicts the corresponding interpolating y value. /// - /// X value of which the y value should be predicted. /// Function that takes an x value and returns function value. /// /// @@ -1015,7 +1011,7 @@ module Interpolation = /// /// Returns integral from interpolating function from x=xVal1 to x=xVal2. /// - /// Interpolation functions coefficients. + /// Integration function. /// X value from where the integral should be calculated. /// X value up to which the integral should be calculated. /// Integral (area under the curve) from x=xVal1 to x=xVal2 @@ -1061,7 +1057,6 @@ module Interpolation = /// /// Returns function that takes x value (that lies within the range of input x values) and predicts the corresponding interpolating y value. /// - /// X value of which the y value should be predicted. /// Function that takes an x value and returns function value. /// /// @@ -1106,7 +1101,6 @@ module Interpolation = /// /// Returns function that takes x value and predicts the corresponding interpolating y value. /// - /// X value of which the y value should be predicted. /// Function that takes an x value and returns function value. /// /// @@ -1767,7 +1761,6 @@ module Interpolation = /// /// Returns function that takes x value and predicts the corresponding interpolating y value. /// - /// X value of which the y value should be predicted. /// Function that takes an x value and returns function value. /// /// @@ -1944,6 +1937,7 @@ module Interpolation = /// If the knots are monotone in/decreasing, the spline also is monotone (CJC Kruger method) /// The x data has to be sorted ascending /// + /// x values /// function value at x values /// Coefficients that define the interpolating function. /// @@ -2003,7 +1997,7 @@ module Interpolation = /// /// Returns function that takes x value and predicts the corresponding interpolating y value. /// - /// Interpolation functions coefficients. + /// Interpolation functions coefficients. /// X value of which the y value should be predicted. /// Function that takes an x value and returns function value. /// @@ -2366,7 +2360,6 @@ type InterpolationMethod = /// /// Creates a spline as piecewise cubic polynomials with continuous first and second derivative at the knots. /// - /// One of four conditions to manipulate the curvatures at the outer knots. | CubicSpline of CubicSpline.BoundaryCondition /// /// Creates a subspline as piecewise cubic polynomials with continuous first derivative but DIScontinuous second derivative at the knots. @@ -2375,7 +2368,6 @@ type InterpolationMethod = /// /// Creates a spline as piecewise cubic polynomials with given slope. /// - /// choose between cSpline, given slopes or monotonicity when appropriate | HermiteSpline of HermiteMethod diff --git a/src/FSharp.Stats/List.fs b/src/FSharp.Stats/List.fs index 88c4c02cb..43911e177 100644 --- a/src/FSharp.Stats/List.fs +++ b/src/FSharp.Stats/List.fs @@ -39,9 +39,9 @@ module List = /// let inline median (xs: 'T list) = let one = LanguagePrimitives.GenericOne<'T> + /// Partition list into three piles; less-than, equal and greater-than
x: Current pivot
xs: Sublist to partition
cont: Continuation function
/// - /// /// /// /// @@ -70,9 +70,9 @@ module List = // place item in greater-than pile partition x ys (fun lts n1 eqs n2 gts n3 -> cont lts n1 eqs n2 (y::gts) (n3+1)) + /// Partition input and recurse into the part than contains the median
before: Number of elements before this sublist.
xs: Current sublist.
after: Number of elements after this sublist.
/// - /// /// /// /// @@ -228,7 +228,7 @@ module ListExtension = ///
/// start value (is included) /// end value (by default is included ) - /// sets the number of elements in the list. If not set, stepsize = 1. + /// sets the number of elements in the list. If not set, stepsize = 1. /// If false, the list does not contain the stop value static member linspace(start:float,stop:float,num:int,?IncludeEndpoint:bool) : float list = @@ -241,7 +241,7 @@ module ListExtension = /// /// start value (is included) /// end value (by default is included) - /// sets the number of elements in the list. Defaults to 50. + /// sets the number of elements in the list. Defaults to 50. /// If false, the list does not contain the stop value. Defaults to true. static member geomspace(start:float,stop:float,num:int,?IncludeEndpoint:bool) : float list = let includeEndpoint = defaultArg IncludeEndpoint true diff --git a/src/FSharp.Stats/Quantile.fs b/src/FSharp.Stats/Quantile.fs index f1a0bfc07..87abe0e86 100644 --- a/src/FSharp.Stats/Quantile.fs +++ b/src/FSharp.Stats/Quantile.fs @@ -542,7 +542,7 @@ module Quantile = /// Computes percentiles
percentiles: Each percentile must be between 0.0 and 1.0 (inclusive)
CalcMethod should be ofSorted array
/// - /// + /// /// /// /// diff --git a/src/FSharp.Stats/Rank.fs b/src/FSharp.Stats/Rank.fs index faae6fbb0..97cbf13ae 100644 --- a/src/FSharp.Stats/Rank.fs +++ b/src/FSharp.Stats/Rank.fs @@ -4,7 +4,6 @@ module Rank = /// Comparer that sorts nan at the end of a collection /// - /// /// /// /// @@ -25,7 +24,6 @@ module Rank = /// Comparer that sorts nan at the start of a collection /// - /// /// /// /// @@ -36,7 +34,6 @@ module Rank = /// Ranks each entry of the given unsorted data array. Use 'breakTies function to break ties /// - /// /// /// /// diff --git a/src/FSharp.Stats/Signal/Normalization.fs b/src/FSharp.Stats/Signal/Normalization.fs index bfa942699..c01ff54fa 100644 --- a/src/FSharp.Stats/Signal/Normalization.fs +++ b/src/FSharp.Stats/Signal/Normalization.fs @@ -17,10 +17,10 @@ module Normalization = /// /// /// Bortz J., Schuster C., Statistik für Human- und Sozialwissenschaftler, 7 (2010), p. 35 - let zScoreTransformPopulation (yVal:Vector) : Vector = - let yMean = Seq.mean yVal - let std = Seq.stDevPopulation yVal - yVal |> Array.map (fun x -> (x - yMean) / std) + let zScoreTransformPopulation (yData:Vector) : Vector = + let yMean = Seq.mean yData + let std = Seq.stDevPopulation yData + yData |> Array.map (fun x -> (x - yMean) / std) /// /// z score normalization/transformation using the sample standard deviation. Rarely used since variance is not equal to 1. @@ -34,10 +34,10 @@ module Normalization = /// /// /// Bortz J., Schuster C., Statistik für Human- und Sozialwissenschaftler, 7 (2010), p. 35 - let zScoreTransform (yVal:Vector) : Vector = - let yMean = Seq.mean yVal - let std = Seq.stDev yVal - yVal |> Array.map (fun x -> (x - yMean) / std) + let zScoreTransform (yData:Vector) : Vector = + let yMean = Seq.mean yData + let std = Seq.stDev yData + yData |> Array.map (fun x -> (x - yMean) / std) /// Summary of the median of ratios (mor) normalization with normed data, determined correctionfactors, and transformation function. type MorResult = { diff --git a/src/FSharp.Stats/Signal/Padding.fs b/src/FSharp.Stats/Signal/Padding.fs index 0be333ca0..5ff4f6c16 100644 --- a/src/FSharp.Stats/Signal/Padding.fs +++ b/src/FSharp.Stats/Signal/Padding.fs @@ -30,6 +30,7 @@ module Padding = /// median spacing of the data points /// /// + /// /// /// /// diff --git a/src/FSharp.Stats/Signal/PeakDetection.fs b/src/FSharp.Stats/Signal/PeakDetection.fs index a011d4865..4f15807bf 100644 --- a/src/FSharp.Stats/Signal/PeakDetection.fs +++ b/src/FSharp.Stats/Signal/PeakDetection.fs @@ -331,7 +331,6 @@ module PeakDetection = 0 /// Inspects the sourrounding of the peak. The function walks in the direction given by the step parameter. The function accumulates all
lift offs till till the next peak or the end of the signal trace is reached. Returns the last index, the number of lift offs and a bool
indicating if a flanking peak is present.
/// - /// /// /// /// diff --git a/src/FSharp.Stats/SpecialFunctions/Erf.fs b/src/FSharp.Stats/SpecialFunctions/Erf.fs index 6db65b96e..a545e2421 100644 --- a/src/FSharp.Stats/SpecialFunctions/Erf.fs +++ b/src/FSharp.Stats/SpecialFunctions/Erf.fs @@ -18,7 +18,6 @@ module Errorfunction = /// Computes the error function. Note that this implementation has only been verified to have a relative error of around 1e-5. /// - /// /// /// /// @@ -41,7 +40,6 @@ module Errorfunction = /// Computes the complement of the error function. Note that this implementation has only been verified to have a relative error of around 1e-4. /// - /// /// /// /// diff --git a/src/FSharp.Stats/Testing/TestStatistics.fs b/src/FSharp.Stats/Testing/TestStatistics.fs index e81a5279e..955c125ff 100644 --- a/src/FSharp.Stats/Testing/TestStatistics.fs +++ b/src/FSharp.Stats/Testing/TestStatistics.fs @@ -9,17 +9,16 @@ module TestStatistics = /// Creates a new T-Test for a given statistic /// with given degrees of freedom. ///
- /// - /// The test statistic. - /// The degrees of freedom for the numerator. - /// One Tailed/Sided. - /// One Tailed/Sided. - /// Two Tailed/Sided. type TTestStatistics = { + /// The test statistic. Statistic : float + /// The degrees of freedom for the numerator. DegreesOfFreedom : float + /// One Tailed/Sided. PValueLeft : float + /// One Tailed/Sided. PValueRight : float + /// Two Tailed/Sided. PValue : float } @@ -33,13 +32,12 @@ module TestStatistics = /// Creates a new F-Test for a given statistic /// with given degrees of freedom. /// - /// - /// The test statistic. - /// The degrees of freedom for the numerator. - /// The degrees of freedom for the denominator. type FTestStatistics = { + /// The test statistic. Statistic : float + /// The degrees of freedom for the numerator. DegreesOfFreedom1 : float + /// The degrees of freedom for the denominator. DegreesOfFreedom2 : float PValue : float PValueTwoTailed : float @@ -56,20 +54,16 @@ module TestStatistics = /// Computes the Chi-Square test statistics for a given statistic /// with given degrees of freedom. /// - /// - /// The test statistic. - /// The degrees of freedom for the numerator. - /// One Tailed/Sided. - /// One Tailed/Sided. - /// Two Tailed/Sided. type ChiSquareStatistics = { + /// The test statistic. Statistic : float + /// The degrees of freedom for the numerator. DegreesOfFreedom : float - /// one tailed/sided chiSquare pValue + /// One Tailed/Sided. PValueLeft : float - /// one tailed/sided chiSquare pValue (default) + /// One Tailed/Sided. PValueRight : float - /// two tailed/sided chiSquare pValue + /// Two Tailed/Sided. PValue : float } @@ -83,13 +77,12 @@ module TestStatistics = /// /// Computes the Wilcoxon test statistics for a given statistic. /// - /// The test statistic. - /// One Tailed/Sided. - /// Two Tailed/Sided. type WilcoxonTestStatistics = { + /// The test statistic. Statistic : float PValueLeft : float PValueRight : float + /// Two Tailed/Sided. PValueTwoTailed : float } let createWilcoxon statistic =