From 8c36dc2a08fc95cf831a3ebe6f21fc3c021d5b4d Mon Sep 17 00:00:00 2001 From: agneszitte Date: Mon, 3 Jun 2024 09:12:14 -0400 Subject: [PATCH] docs: Fix multiple docfx, css, js, mermaid layout related issues --- doc/.howto-template.md | 4 +- doc/articles/Uno-UI-Performance.md | 92 +++++++-------- doc/articles/controls/ContentDialog.md | 11 +- doc/articles/create-an-app-rider.md | 18 +-- doc/articles/create-an-app-vs2022.md | 4 +- doc/articles/create-an-app-vscode.md | 6 +- doc/articles/features/Lottie.md | 2 +- doc/articles/features/PasswordVault.md | 2 +- doc/articles/features/clipboard.md | 11 +- doc/articles/features/progressring.md | 2 +- doc/articles/features/svg.md | 2 +- doc/articles/features/using-skia-desktop.md | 2 +- doc/articles/features/using-skia-gtk.md | 2 +- doc/articles/features/using-the-uno-sdk.md | 2 +- doc/articles/features/windows-networking.md | 11 +- doc/articles/features/working-with-themes.md | 11 +- .../features/working-with-xaml-hot-reload.md | 4 +- doc/articles/get-started-rider.md | 2 +- doc/articles/get-started-vs-2022.md | 2 +- doc/articles/get-started-vscode.md | 2 +- doc/articles/get-started.md | 2 +- .../counterapp/get-started-counter.md | 2 +- .../getting-started/wizard/using-wizard.md | 11 +- doc/articles/guides/hotswap-app-language.md | 4 +- .../guides/raspberry-pi/raspberry-pi-intro.md | 4 +- .../includes/additional-linux-setup-inline.md | 15 +-- .../includes/use-uno-check-inline-noheader.md | 2 +- doc/articles/intro.md | 2 +- doc/articles/net-version-support.md | 2 +- doc/articles/platform-specific-csharp.md | 11 +- doc/articles/platform-specific-xaml.md | 11 +- .../Uno-UI-Debugging-Android-Studio.md | 18 +-- .../Uno-UI-Layouting-Android.md | 2 +- .../uno-development/Uno-UI-Layouting-iOS.md | 3 +- doc/articles/uno-development/docfx.md | 4 +- .../uno-development/listviewbase-internals.md | 30 ++--- .../troubleshooting-memory-issues.md | 108 +++++++++--------- doc/articles/uno-howto-create-a-repro.md | 2 +- doc/templates/uno/main.scss | 28 +++-- .../uno/partials/scripts.tmpl.partial | 19 ++- doc/templates/uno/styles/main.css | 2 +- doc/templates/uno/styles/main.css.map | 2 +- 42 files changed, 213 insertions(+), 263 deletions(-) diff --git a/doc/.howto-template.md b/doc/.howto-template.md index 314fd74ab861..91c108163d79 100644 --- a/doc/.howto-template.md +++ b/doc/.howto-template.md @@ -53,7 +53,7 @@ * [**Rider Version 2020.2+**](https://www.jetbrains.com/rider/download/) * [**Rider Xamarin Android Support Plugin**](https://plugins.jetbrains.com/plugin/12056-rider-xamarin-android-support/) (you may install it directly from Rider) -*** +---
@@ -72,6 +72,6 @@ See the completed sample on GitHub: [YourSample](https://github.com/unoplatform/
-*** +--- [!include[getting-help](includes/getting-help.md)] diff --git a/doc/articles/Uno-UI-Performance.md b/doc/articles/Uno-UI-Performance.md index 5aa27e16b4f6..cca2cad3db3a 100644 --- a/doc/articles/Uno-UI-Performance.md +++ b/doc/articles/Uno-UI-Performance.md @@ -20,20 +20,20 @@ Here's what to look for: - The default [`ListViewItem` and `GridViewItem` styles](https://github.com/unoplatform/uno/blob/74b7d5d0e953fcdd94223f32f51665af7ce15c60/src/Uno.UI/UI/Xaml/Style/Generic/Generic.xaml#L951) are very feature-rich, yet that makes them quite slow. For instance, if you know that you're not likely to use selection features for a specific ListView, create a simpler ListViewItem style that some visual states, or the elements that are only used for selection. - If items content frequently change (e.g. live data in TextBlock) on iOS and Android, ListView items rendering can require the use of the `not_win:AreDimensionsConstrained="True"` [uno-specific property](https://github.com/unoplatform/uno/blob/7355d66f77777b57c660133d5ec011caaa810e29/src/Uno.UI/UI/Xaml/FrameworkElement.cs#L86). - This attribute prevents items in a list from requesting their parent to be re-measured when their properties change. It's safe to use the `AreDimensionsConstrained` property when items always have the same size regardless of bound data, and the items and list are stretched in the non-scrolling direction. If item sizes can change when the bound data changes (eg, if they contain bound text that can wrap over multiple lines, images of undetermined size, etc), or if the list is wrapped to the items, then you shouldn't set `AreDimensionsConstrained` because the list does need to remeasure itself when item data changes in that case. + This attribute prevents items in a list from requesting their parent to be re-measured when their properties change. It's safe to use the `AreDimensionsConstrained` property when items always have the same size regardless of bound data, and the items and list are stretched in the non-scrolling direction. If item sizes can change when the bound data changes (eg, if they contain bound text that can wrap over multiple lines, images of undetermined size, etc), or if the list is wrapped to the items, then you shouldn't set `AreDimensionsConstrained` because the list does need to remeasure itself when item data changes in that case. - You'll need to set the property on the top-level element of your item templates, as follows: + You'll need to set the property on the top-level element of your item templates, as follows: - ```xml - - - - ... - - - ``` + ```xml + + + + ... + + + ``` - Note that WinUI does not need this, and the issue is [tracked in Uno here](https://github.com/unoplatform/uno/issues/6910). + Note that WinUI does not need this, and the issue is [tracked in Uno here](https://github.com/unoplatform/uno/issues/6910). - Avoid controls that contain inline popups, menus, or flyouts. Doing so will create as many popups as there are items visible on the screen. As in general, there is only one popup visible at a time, it is generally best to move the popup to a separate static resource. - Updating items in `ItemsControl` can be quite expensive, using `ItemsRepeater` is generally faster at rendering similar content. @@ -46,11 +46,11 @@ Here's what to look for: - `ProgressRing` and `ProgressBar` controls indeterminate mode generally consume rendering time. Make sure to set those to determinate modes when not visible. - Troubleshooting of animations can be done by enabling the following logger: - ```csharp - builder.AddFilter("Windows.UI.Xaml.Media.Animation", LogLevel.Debug); - ``` + ```csharp + builder.AddFilter("Windows.UI.Xaml.Media.Animation", LogLevel.Debug); + ``` - The logger will provide all the changes done to animated properties, with element names. + The logger will provide all the changes done to animated properties, with element names. - Image Assets - Try using an image that is appropriate for the DPI and screen size. @@ -68,13 +68,13 @@ Here's what to look for: - Add the `Windows.UI.Xaml.BindableAttribute` or `System.ComponentModel.BindableAttribute` on non-DependencyObject classes. - When data binding to classes not inheriting from `DependencyObject`, in Debug configuration only, the following message may appear: - ```console - The Bindable attribute is missing and the type [XXXX] is not known by the MetadataProvider. - Reflection was used instead of the binding engine and generated static metadata. Add the Bindable attribute to prevent this message and performance issues. - ``` + ```console + The Bindable attribute is missing and the type [XXXX] is not known by the MetadataProvider. + Reflection was used instead of the binding engine and generated static metadata. Add the Bindable attribute to prevent this message and performance issues. + ``` - This message indicates that the binding engine will fall back on reflection based code, which is generally slow. To compensate for this, Uno use the `BindableTypeProvidersSourceGenerator`, which generates static non-generic code to avoid reflection operations during binding operations. - This attribute is inherited and is generally used on ViewModel based classes. + This message indicates that the binding engine will fall back on reflection based code, which is generally slow. To compensate for this, Uno use the `BindableTypeProvidersSourceGenerator`, which generates static non-generic code to avoid reflection operations during binding operations. + This attribute is inherited and is generally used on ViewModel based classes. - [`x:Phase`](https://learn.microsoft.com/windows/uwp/xaml-platform/x-phase-attribute) - For `ListView` instances with large templates, consider the use of x:Phase to reduce the number of bindings processed during item materialization. - It is only supported for items inside `ListViewItem` templates, it will be ignored for others. @@ -83,13 +83,13 @@ Here's what to look for: attribute is ignored for templates of `ContentControl` instances, or any other control. - When binding to Brushes with a solid color, prefer binding to the `Color` property like this if the brush type does not change: - ```xml - - - - - - ``` + ```xml + + + + + + ``` - Resources - Avoid using `x:Name` in `ResourceDictionary` as those force early instantiation of the resource @@ -105,13 +105,15 @@ Here's what to look for: - Adjusting the GC configuration may be useful to limit the collection runs on large allocations. Add the following to your `csproj` file: ```xml - - - - + + + ``` - You can adjust the `nursery-size` and `soft-heap-limit` based on your application's memory consumption characteristics. See the [.NET GC configuration](https://learn.microsoft.com/xamarin/android/internals/garbage-collection#configuration) for more details. + + You can adjust the `nursery-size` and `soft-heap-limit` based on your application's memory consumption characteristics. See the [.NET GC configuration](https://learn.microsoft.com/xamarin/android/internals/garbage-collection#configuration) for more details. + - The size of the application can be reduced by: + - Enabling the [IL Linker](features/using-il-linker-webassembly.md) - Enabling [XAML Resources Trimming](features/resources-trimming.md) @@ -122,20 +124,20 @@ Here's what to look for: - Enable `Marshal Methods` in `Release` with `-p:AndroidEnableMarshalMethods=true` to improve startup performance (.NET 8 +) - [Enable Startup Tracing](https://devblogs.microsoft.com/dotnet/performance-improvements-in-dotnet-maui/#record-a-custom-aot-profile) by running the following: - ```bash - dotnet add package Mono.AotProfiler.Android - dotnet build -t:BuildAndStartAotProfiling - # Wait until the app launches, then navigate around the most common screens - dotnet build -t:FinishAotProfiling - ``` + ```bash + dotnet add package Mono.AotProfiler.Android + dotnet build -t:BuildAndStartAotProfiling + # Wait until the app launches, then navigate around the most common screens + dotnet build -t:FinishAotProfiling + ``` - This will produce a `custom.aprof` in your project directory. Move the file to the `Android` folder and add the following to your `csproj`: + This will produce a `custom.aprof` in your project directory. Move the file to the `Android` folder and add the following to your `csproj`: - ```xml - - - - ``` + ```xml + + + + ``` - Enable `Full AOT` instead of `Startup Tracing` in `Release` with `-p:AndroidEnableProfiledAot=false` to get the best runtime performance diff --git a/doc/articles/controls/ContentDialog.md b/doc/articles/controls/ContentDialog.md index ec182548ec68..a69639285212 100644 --- a/doc/articles/controls/ContentDialog.md +++ b/doc/articles/controls/ContentDialog.md @@ -10,16 +10,7 @@ Represents a dialog box that can be customized to contain checkboxes, hyperlinks If you're considering using a dialog in your app, check out our comprehensive video for a detailed guidance on the implementation: -
- -
+> [!Video https://www.youtube-nocookie.com/embed/VAUYH01LMEE] ## Overlay Background (iOS/Android) diff --git a/doc/articles/create-an-app-rider.md b/doc/articles/create-an-app-rider.md index e4052e0ccf19..1303d964c111 100644 --- a/doc/articles/create-an-app-rider.md +++ b/doc/articles/create-an-app-rider.md @@ -4,19 +4,11 @@ uid: Uno.GettingStarted.CreateAnApp.Rider # Create an app with Rider -
- -
- > [!NOTE] -> Make sure to setup your environment by [following our instructions](xref:Uno.GetStarted.Rider). +> Make sure to setup your environment first by [following our instructions](xref:Uno.GetStarted.Rider). + + +> [!Video https://www.youtube-nocookie.com/embed/BQdj9rqLcos] ## Create the App @@ -91,7 +83,7 @@ You will be able to build the Windows project. Select the `net8.0-desktop` target framework, then Run. -*** +--- ## Next Steps diff --git a/doc/articles/create-an-app-vs2022.md b/doc/articles/create-an-app-vs2022.md index a0d1a31ddba4..a8d42f9cb02e 100644 --- a/doc/articles/create-an-app-vs2022.md +++ b/doc/articles/create-an-app-vs2022.md @@ -4,7 +4,7 @@ uid: Uno.GettingStarted.CreateAnApp.VS2022 # Creating an app with Visual Studio 2022 for Windows > [!NOTE] -> Make sure to setup your environment by [following our instructions](xref:Uno.GetStarted.vs2022). +> Make sure to setup your environment first by [following our instructions](xref:Uno.GetStarted.vs2022). ## Create the App @@ -115,7 +115,7 @@ To debug the **Android** platform: > [!NOTE] > If no android devices are available, a Visual Studio 17.7+ issue may require unloading/reloading the project. Right-click on the `MyApp` project and select **Unload Project** then **Load project**. -*** +--- You're all set! diff --git a/doc/articles/create-an-app-vscode.md b/doc/articles/create-an-app-vscode.md index 98a6a75380d5..b050e1fdd04f 100644 --- a/doc/articles/create-an-app-vscode.md +++ b/doc/articles/create-an-app-vscode.md @@ -4,7 +4,7 @@ uid: Uno.GettingStarted.CreateAnApp.VSCode # Creating an app with VS Code > [!NOTE] -> Make sure to setup your environment by [following our instructions](xref:Uno.GetStarted.vscode). +> Make sure to setup your environment first by [following our instructions](xref:Uno.GetStarted.vscode). ## Create the App @@ -213,11 +213,11 @@ In the status bar : Finally press `F5` to start the debugging session. -*** +--- You're all set! -You can also find [additional VS Code topics](xref:Uno.vscode.additional), such as using snippets, updating existing apps to use VS Code +You can also find [additional VS Code topics](xref:Uno.vscode.additional), such as using snippets, updating existing apps to use VS Code. ## Next Steps diff --git a/doc/articles/features/Lottie.md b/doc/articles/features/Lottie.md index 7bc962941670..e60bfd909c28 100644 --- a/doc/articles/features/Lottie.md +++ b/doc/articles/features/Lottie.md @@ -94,7 +94,7 @@ On UWP, you'll need to reference the following packages in your head project: * `Microsoft.Toolkit.Uwp.UI.Lottie` (for the `LottieVisualSource`) * `Microsoft.UI.Xaml` (for the `AnimatedVisualPlayer`) -*** +--- For more information, see [AnimatedVisualPlayer Class](https://learn.microsoft.com/uwp/api/microsoft.ui.xaml.controls.animatedvisualplayer). diff --git a/doc/articles/features/PasswordVault.md b/doc/articles/features/PasswordVault.md index f99c59b81ebd..7b135080d9fa 100644 --- a/doc/articles/features/PasswordVault.md +++ b/doc/articles/features/PasswordVault.md @@ -46,7 +46,7 @@ There is no way to persist a secured data in a Web browser. Even if we generate there is no safe place to store this key except by relying on server components, which broke the offline support (and Progressive Web App). So currently we preferred to **not** implement the `PasswordVault`. It will throw a `NotSupportedException` when you try to create a new instance. -*** +--- ## PasswordCredential diff --git a/doc/articles/features/clipboard.md b/doc/articles/features/clipboard.md index 9571b8b65087..e57a7c242022 100644 --- a/doc/articles/features/clipboard.md +++ b/doc/articles/features/clipboard.md @@ -23,16 +23,7 @@ uid: Uno.Features.Clipboard ## Using Clipboard with Uno -
- -
+> [!Video https://www.youtube-nocookie.com/embed/bfT4_LZrSQQ] * `SetContent` and `GetContent` APIs currently support textual data on all platforms. On Android, they also support URI and HTML formats, but the clipboard can hold only one item. Setting multiple items at once does not work reliably. * `ContentChanged` event can observe clipboard changes only when the application is in the foreground. On macOS, the `ContentChanged` event checks for clipboard changes by polling the current `NSPasteboard` change count in 1-second intervals. The polling starts only after the first subscriber attaches to the `ContentChanged` event and stops after the last subscriber unsubscribes. diff --git a/doc/articles/features/progressring.md b/doc/articles/features/progressring.md index 75c2f0df2f05..0dcc6e0d0292 100644 --- a/doc/articles/features/progressring.md +++ b/doc/articles/features/progressring.md @@ -48,4 +48,4 @@ To use the MUX `ProgressRing` on non-Skia targets and WUX `ProgressRing` on Skia ``` -*** +--- diff --git a/doc/articles/features/svg.md b/doc/articles/features/svg.md index 5639a79c72a2..9b940d537206 100644 --- a/doc/articles/features/svg.md +++ b/doc/articles/features/svg.md @@ -42,7 +42,7 @@ To use SVG, install the following NuGet packages into the iOS, macOS, Mac Cataly Add the SVG Image to the app project and make sure that the build action is set to Content. -*** +--- Now, you can display the SVG image in an `Image` by referencing it from the `Source` property. For example: diff --git a/doc/articles/features/using-skia-desktop.md b/doc/articles/features/using-skia-desktop.md index e98aad7d1385..e37ca6466294 100644 --- a/doc/articles/features/using-skia-desktop.md +++ b/doc/articles/features/using-skia-desktop.md @@ -41,7 +41,7 @@ This builder allows us to configure the SkiaHost and setup which platforms will [!include[linux-setup](../includes/additional-linux-setup-inline.md)] -*** +--- ### Troubleshooting OpenGL integration diff --git a/doc/articles/features/using-skia-gtk.md b/doc/articles/features/using-skia-gtk.md index afeca42938e8..999901e84c99 100644 --- a/doc/articles/features/using-skia-gtk.md +++ b/doc/articles/features/using-skia-gtk.md @@ -31,7 +31,7 @@ Follow the getting started guide for [VS Code](xref:Uno.GetStarted.vscode) or [V [!include[macos-setup](../includes/additional-macos-setup-inline.md)] -*** +--- Once done, you can create a new app with [`dotnet new`](xref:Uno.GetStarted.dotnet-new) using: diff --git a/doc/articles/features/using-the-uno-sdk.md b/doc/articles/features/using-the-uno-sdk.md index b9a423eeab8d..a8a4a274d34e 100644 --- a/doc/articles/features/using-the-uno-sdk.md +++ b/doc/articles/features/using-the-uno-sdk.md @@ -126,7 +126,7 @@ Here are the supported properties: | `WinAppSdkVersion` | [Microsoft.WindowsAppSDK](https://www.nuget.org/packages/Microsoft.WindowsAppSDK) | Provides project templates and tools for building Windows applications. | | `WindowsCompatibilityVersion` | [Microsoft.Windows.Compatibility](https://www.nuget.org/packages/Microsoft.Windows.Compatibility) | Enables Windows desktop apps to use .NET Core by providing access to additional Windows APIs. | -*** +--- Those properties can be set from `Directory.Build.props` or may be set in the `csproj` file for your project. diff --git a/doc/articles/features/windows-networking.md b/doc/articles/features/windows-networking.md index eaaae27cd1ec..5704d7b968a1 100644 --- a/doc/articles/features/windows-networking.md +++ b/doc/articles/features/windows-networking.md @@ -20,16 +20,7 @@ uid: Uno.Features.WNetworking If you're working with network connectivity in your app, watch our detailed video tutorial for more guidance: -
- -
+> [!Video https://www.youtube-nocookie.com/embed/sK9IbkBAXIo] ## Platform-specific diff --git a/doc/articles/features/working-with-themes.md b/doc/articles/features/working-with-themes.md index 64407bac84a8..6b1f2acd42ea 100644 --- a/doc/articles/features/working-with-themes.md +++ b/doc/articles/features/working-with-themes.md @@ -8,16 +8,7 @@ Uno Platform offers fine-grained customization of typography, corner radius, and These themes affect both the `Background` and `Foreground` colors to accommodate user preferences. All of the color modes mentioned above are available for use in your app. This guide will detail how to change the system theme setting, make your app receive change notifications for it, and react to those changes at runtime. -
- -
+> [!Video https://www.youtube-nocookie.com/embed/FXHUiHjgAQ4] ## Enable dark mode diff --git a/doc/articles/features/working-with-xaml-hot-reload.md b/doc/articles/features/working-with-xaml-hot-reload.md index bbecb9475325..370ddc6b1b2e 100644 --- a/doc/articles/features/working-with-xaml-hot-reload.md +++ b/doc/articles/features/working-with-xaml-hot-reload.md @@ -40,7 +40,7 @@ Hot Reload features vary between platforms and IDE, you can check below the list - Wait a few seconds for the hot reload engine to become available (see our troubleshooting tips below) - Make changes to your XAML or C# code, then save your file -*** +--- > [!IMPORTANT] > Using [.NET 8](https://dotnet.microsoft.com/download/dotnet/8.0) or later (`net8.0` in the `TargetFrameworks` property) is required for Hot Reload to be available when your solution contains iOS, Android, Mac Catalyst, or WebAssembly project heads. On Windows, [Visual Studio 17.8](https://visualstudio.microsoft.com/vs) or later is required. @@ -85,7 +85,7 @@ Mobile targets are currently using a limited version of XAML Hot Reload and do n Hot Reload is supported by Visual Studio for WinAppSDK and provides support in unpackaged deployment mode. -*** +--- ## Troubleshooting diff --git a/doc/articles/get-started-rider.md b/doc/articles/get-started-rider.md index 2aff868fb5c1..a249a85c9c61 100644 --- a/doc/articles/get-started-rider.md +++ b/doc/articles/get-started-rider.md @@ -48,7 +48,7 @@ You may need to follow additional directions, depending on your development envi [!include[linux-setup](includes/additional-linux-setup-inline.md)] -*** +--- ## Next Steps diff --git a/doc/articles/get-started-vs-2022.md b/doc/articles/get-started-vs-2022.md index 68159fbee7ca..efae38b38c7e 100644 --- a/doc/articles/get-started-vs-2022.md +++ b/doc/articles/get-started-vs-2022.md @@ -59,7 +59,7 @@ To setup your environment for WSL: [!include[linux-setup](includes/additional-linux-setup-inline.md)] -*** +--- ## Next Steps diff --git a/doc/articles/get-started-vscode.md b/doc/articles/get-started-vscode.md index 3364de7f8277..b0789c6e12cb 100644 --- a/doc/articles/get-started-vscode.md +++ b/doc/articles/get-started-vscode.md @@ -49,7 +49,7 @@ You may need to follow additional directions, depending on your development envi [!include[linux-setup](includes/additional-linux-setup-inline.md)] -*** +--- ## Next Steps diff --git a/doc/articles/get-started.md b/doc/articles/get-started.md index e0146735d4f7..3913d4c9557a 100644 --- a/doc/articles/get-started.md +++ b/doc/articles/get-started.md @@ -88,7 +88,7 @@ To help you choose the appropriate IDE, the following table shows the compatibil - † Rider [does not support .NET Android](https://rider-support.jetbrains.com/hc/en-us/articles/360000557259--Obsolete-How-to-develop-Xamarin-Android-applications-on-Linux-with-Rider) on Linux at this time. - †† `net8.0-browserwasm` and `net8.0-desktop` are not available in Rider yet (Please [upvote this issue](https://aka.platform.uno/rider-desktop-wasm-support)). -*** +--- ## Questions diff --git a/doc/articles/getting-started/counterapp/get-started-counter.md b/doc/articles/getting-started/counterapp/get-started-counter.md index ba5cc0e39d97..1bb70ef56c98 100644 --- a/doc/articles/getting-started/counterapp/get-started-counter.md +++ b/doc/articles/getting-started/counterapp/get-started-counter.md @@ -68,4 +68,4 @@ Use C# Markup for layout and MVVM for state management
-*** +--- diff --git a/doc/articles/getting-started/wizard/using-wizard.md b/doc/articles/getting-started/wizard/using-wizard.md index ecc8dd44b62b..65b8cc49b0c5 100644 --- a/doc/articles/getting-started/wizard/using-wizard.md +++ b/doc/articles/getting-started/wizard/using-wizard.md @@ -4,16 +4,7 @@ uid: Uno.GettingStarted.UsingWizard # The Uno Platform Solution Template -
- -
+> [!Video https://www.youtube-nocookie.com/embed/s_QbZbPIeWY] ## Solution Structure diff --git a/doc/articles/guides/hotswap-app-language.md b/doc/articles/guides/hotswap-app-language.md index 242d55088170..4fb462c137bf 100644 --- a/doc/articles/guides/hotswap-app-language.md +++ b/doc/articles/guides/hotswap-app-language.md @@ -11,7 +11,7 @@ This guide will walk you through the necessary steps for changing app language a ## Prerequisites -Make sure to setup your environment for Uno Platform. Follow [Get Started on Visual Studio 2022](../../articles/get-started-vs-2022.md), [Get Started on VS Code](../../articles/get-started-vscode.md), or [Get Started on JetBrains Rider](../../articles/get-started-rider.md). +Make sure to setup your environment first by [following our instructions](xref:Uno.GetStarted.Rider). ## Steps to change application language at runtime @@ -133,6 +133,6 @@ See the completed sample on GitHub: [RuntimeCultureSwitching](https://github.com * [Globalization and localization](https://learn.microsoft.com/windows/uwp/design/globalizing/globalizing-portal) -*** +--- [!include[getting-help](../includes/getting-help.md)] diff --git a/doc/articles/guides/raspberry-pi/raspberry-pi-intro.md b/doc/articles/guides/raspberry-pi/raspberry-pi-intro.md index ce09adb87f7e..96ca2700203b 100644 --- a/doc/articles/guides/raspberry-pi/raspberry-pi-intro.md +++ b/doc/articles/guides/raspberry-pi/raspberry-pi-intro.md @@ -82,7 +82,9 @@ However, I've created a single line install script for .NET 7 on the Raspberry P Run the following command; -`wget -O - https://raw.githubusercontent.com/pjgpetecodes/dotnet7pi/main/install.sh | sudo bash` +```bash +wget -O - https://raw.githubusercontent.com/pjgpetecodes/dotnet7pi/main/install.sh | sudo bash +``` You can see the contents of this .NET installation script in [install.sh on GitHub](https://github.com/pjgpetecodes/dotnet7pi/blob/main/install.sh) diff --git a/doc/articles/includes/additional-linux-setup-inline.md b/doc/articles/includes/additional-linux-setup-inline.md index e3f157d8e591..6ec3e77c4993 100644 --- a/doc/articles/includes/additional-linux-setup-inline.md +++ b/doc/articles/includes/additional-linux-setup-inline.md @@ -30,21 +30,10 @@ sudo pacman -S dotnet-targeting-pack dotnet-sdk dotnet-host dotnet-runtime python ninja gn aspnet-runtime dbus libxrandr ``` -*** +--- You may also need to [install the Microsoft fonts](https://wiki.archlinux.org/title/Microsoft_fonts) manually. If you are using Windows Subsystem for Linux (WSL), you can find specific instructions in the following video: -
- -
- -*** +> [!Video https://www.youtube-nocookie.com/embed/GGszH8PDf-w] diff --git a/doc/articles/includes/use-uno-check-inline-noheader.md b/doc/articles/includes/use-uno-check-inline-noheader.md index d56ede3d7b38..5fa0f0bdd44a 100644 --- a/doc/articles/includes/use-uno-check-inline-noheader.md +++ b/doc/articles/includes/use-uno-check-inline-noheader.md @@ -10,6 +10,6 @@ [!include[use-uno-check](use-uno-check-inline-linux-noheader.md)] -*** +--- You can find additional information about [**uno-check here**](xref:UnoCheck.UsingUnoCheck). diff --git a/doc/articles/intro.md b/doc/articles/intro.md index b880a91258ab..381cec78ce85 100644 --- a/doc/articles/intro.md +++ b/doc/articles/intro.md @@ -164,4 +164,4 @@ Once you’ve gone through our [Get Started](get-started.md) guides please visit

-*** +--- diff --git a/doc/articles/net-version-support.md b/doc/articles/net-version-support.md index cd779f7529c3..371c2cc36fe8 100644 --- a/doc/articles/net-version-support.md +++ b/doc/articles/net-version-support.md @@ -43,4 +43,4 @@ For Xamarin.Android, Xamarin.iOS, and Xamarin.macOS, the supported versions depe For UWP, it is possible force a higher version of C# using `LangVersion` in the platform `csproj` (eg `12.0`), but some language features may not work properly, such as those that depend on compiler-checked types (eg array slicing, `init`-only properties) or on runtime support (eg default interface implementations). Using [PolySharp](https://www.nuget.org/packages/PolySharp) can help enabling some more recent C# features. -*** +--- diff --git a/doc/articles/platform-specific-csharp.md b/doc/articles/platform-specific-csharp.md index 8f92fc6544fc..cefc551a979c 100644 --- a/doc/articles/platform-specific-csharp.md +++ b/doc/articles/platform-specific-csharp.md @@ -6,16 +6,7 @@ uid: Uno.Development.PlatformSpecificCSharp Uno Platform allows you to reuse views and business logic across platforms. Sometimes though, you may want to write different code per platform. You may need to access platform-specific native APIs and 3rd-party libraries, or want your app to look and behave differently depending on the platform. -
- -
+> [!Video https://www.youtube-nocookie.com/embed/WgKNG8Yjbc4] This guide covers multiple approaches to managing per-platform code in C#. See [this guide for managing per-platform XAML](xref:Uno.Development.PlatformSpecificXaml). diff --git a/doc/articles/platform-specific-xaml.md b/doc/articles/platform-specific-xaml.md index 695135f4e02e..d550b544b799 100644 --- a/doc/articles/platform-specific-xaml.md +++ b/doc/articles/platform-specific-xaml.md @@ -6,16 +6,7 @@ uid: Uno.Development.PlatformSpecificXaml Uno allows you to reuse views and business logic across platforms. Sometimes though you may want to write different code per platform, either because you need to access platform-specific native APIs and 3rd-party libraries, or because you want your app to look and behave differently depending on the platform. -
- -
+> [!Video https://www.youtube-nocookie.com/embed/IZt-ymNZpZw] This guide covers multiple approaches to managing per-platform markup in XAML. See [this guide for managing per-platform C#](platform-specific-csharp.md). diff --git a/doc/articles/uno-development/Uno-UI-Debugging-Android-Studio.md b/doc/articles/uno-development/Uno-UI-Debugging-Android-Studio.md index 8939d0a8a8ce..eeab223d069a 100644 --- a/doc/articles/uno-development/Uno-UI-Debugging-Android-Studio.md +++ b/doc/articles/uno-development/Uno-UI-Debugging-Android-Studio.md @@ -15,25 +15,25 @@ The vast majority of the time, development in Uno.UI should be done in C#. Howev * Open the build.gradle file located in the 'app' folder. (Note there are two build.gradle files.) * Add the following lines to the build file: -```gradle -sourceSets { - main.java.srcDirs += 'C://Uno.UI.BindingHelper.Android/Uno/UI' - } -``` + ```gradle + sourceSets { + main.java.srcDirs += 'C://Uno.UI.BindingHelper.Android/Uno/UI' + } + ``` -![gradle](assets/debugging-android-studio/Gradle-changes.png) + ![gradle](assets/debugging-android-studio/Gradle-changes.png) * Press 'Sync Now' to update the project. * You should now see Uno.UI files in the Project tab. (Don't worry about red squiggles.) -![Project-files](assets/debugging-android-studio/Project-files.png) + ![Project-files](assets/debugging-android-studio/Project-files.png) ## Debugging * Run the app you wish to debug, which should be using a local debug build of Uno.UI. * In Android Studio, select Run->Attach debugger to Android process. Select your app. (Toggle on 'Show all processes' if it's not visible.) -![Attach-to-process](assets/debugging-android-studio/Attach-to-process.png) + ![Attach-to-process](assets/debugging-android-studio/Attach-to-process.png) * You should now be able to debug and place breakpoints in Uno.UI code. * Android Studio supports a similar feature set to Visual Studio. Here are some of the basics: @@ -42,7 +42,7 @@ sourceSets { * Add 'watch' values. * Add conditions and logging to breakpoints. -![Debugging](assets/debugging-android-studio/Debugging.png) + ![Debugging](assets/debugging-android-studio/Debugging.png) * One powerful feature of debugging Android code is the level of integration with framework code. You should be able to see not only the native stack trace, but even local variable values in framework methods (e.g. ViewGroup.dispatchTouchEvent().) * Note that Android Studio may prompt you to download source code and debug symbols: this will fail unless you started Android Studio with Administrator privileges (right-click in Start menu + 'Run as Administrator'). diff --git a/doc/articles/uno-development/Uno-UI-Layouting-Android.md b/doc/articles/uno-development/Uno-UI-Layouting-Android.md index 970d1becd822..c49d2901c751 100644 --- a/doc/articles/uno-development/Uno-UI-Layouting-Android.md +++ b/doc/articles/uno-development/Uno-UI-Layouting-Android.md @@ -8,7 +8,7 @@ The layouting cycle (measure and arrange) in Uno on Android involves a complex i methods. These interactions are summarized in the diagram below. This information is primarily intended to help when debugging Uno, but may be interesting to anyone curious as to how native Android methods are connected to the UWP contract exposed by Uno. -``` mermaid +```mermaid flowchart TD %% Android layout flow diff --git a/doc/articles/uno-development/Uno-UI-Layouting-iOS.md b/doc/articles/uno-development/Uno-UI-Layouting-iOS.md index 8fa49c7b92a9..1c2d94c2b1b9 100644 --- a/doc/articles/uno-development/Uno-UI-Layouting-iOS.md +++ b/doc/articles/uno-development/Uno-UI-Layouting-iOS.md @@ -6,7 +6,7 @@ uid: Uno.Contributing.LayoutingiOS The layouting cycle (measure and arrange) in Uno on iOS is a mingling of native layouting logic and logic in managed code. These interactions are summarized in the diagram below. This information is primarily intended to help when debugging Uno, but may also be useful when attempting to incorporate non-Uno views into the visual tree. -``` mermaid +```mermaid flowchart TD %% ios layout flow @@ -97,5 +97,4 @@ flowchart TD native-legend{{"Native (iOS) methods"}} application-legend[["Application/Framework implementation"]] end - ``` diff --git a/doc/articles/uno-development/docfx.md b/doc/articles/uno-development/docfx.md index 813f42b602d0..bb3e2cb37ada 100644 --- a/doc/articles/uno-development/docfx.md +++ b/doc/articles/uno-development/docfx.md @@ -69,7 +69,7 @@ Markdown: `Windows.UI.Xaml.FrameworkElement` -*** +--- ``` Html output: @@ -82,7 +82,7 @@ Html output: `Windows.UI.Xaml.FrameworkElement` -*** +--- ### TOC checker script diff --git a/doc/articles/uno-development/listviewbase-internals.md b/doc/articles/uno-development/listviewbase-internals.md index a259ca3511b1..13b8221e3f09 100644 --- a/doc/articles/uno-development/listviewbase-internals.md +++ b/doc/articles/uno-development/listviewbase-internals.md @@ -16,10 +16,10 @@ Before reading it, you should first read the documentation of [ListViewBase aime Other important features of `ListView`: - * selection, including multiple selection - * support for 'observable' collections, allowing items to be inserted and deleted without completely resetting the state of the list, and (on some platforms) with an animation of the item being added or removed - * item groups (with optional 'sticky' group headers) - * drag and drop to reorder items in the list +- selection, including multiple selection +- support for 'observable' collections, allowing items to be inserted and deleted without completely resetting the state of the list, and (on some platforms) with an animation of the item being added or removed +- item groups (with optional 'sticky' group headers) +- drag and drop to reorder items in the list ## Platform-specific implementations of `ListView` @@ -33,12 +33,12 @@ The managed ListView implementation is newer and lacks some features that are su `ListView` can scroll either vertically or horizontally, and the layouting logic is written as much as possible to reuse the same code for both orientations. Accordingly, certain terms are used throughout the code to avoid using orientation-specific terms like 'width' and 'height'. (These usages are probably unique to the Uno codebase.) The main terms are the following: -* Extent: Size along the dimension parallel to scrolling. The equivalent of 'Height' if scrolling is vertical, or 'Width' otherwise. -* Breadth: Size along the dimension orthogonal to scrolling. The equivalent of 'Width' if scrolling is vertical, or 'Height' otherwise. -* Start: The edge of the element nearest to the top of the content panel, ie 'Top' or 'Left' depending whether scrolling is vertical or horizontal. -* End: The edge of the element nearest to the bottom of the content panel, ie 'Bottom' or 'Right' depending whether scrolling is vertical or horizontal. -* Leading: When scrolling, the edge that is coming into view. ie, if the scrolling forward in a vertical orientation, the bottom edge. -* Trailing: When scrolling, the edge that is disappearing from view. +- Extent: Size along the dimension parallel to scrolling. The equivalent of 'Height' if scrolling is vertical, or 'Width' otherwise. +- Breadth: Size along the dimension orthogonal to scrolling. The equivalent of 'Width' if scrolling is vertical, or 'Height' otherwise. +- Start: The edge of the element nearest to the top of the content panel, ie 'Top' or 'Left' depending whether scrolling is vertical or horizontal. +- End: The edge of the element nearest to the bottom of the content panel, ie 'Bottom' or 'Right' depending whether scrolling is vertical or horizontal. +- Leading: When scrolling, the edge that is coming into view. ie, if the scrolling forward in a vertical orientation, the bottom edge. +- Trailing: When scrolling, the edge that is disappearing from view. ### Android and iOS ListViews in detail @@ -50,9 +50,9 @@ Architecturally, the Android and iOS implementations share a similar high-level [This diagram](../controls/ListViewBase.md#difference-in-the-visual-tree) shows how the `NativeListViewBase` view is incorporated into the visual tree, and the resulting difference from UWP. The key differences are: -* the scrolling container is the `NativeListViewBase` itself, not the `ScrollViewer`. Thus the `ItemsPresenter` is **outside** the scrollable region. Additionally, there's no ScrollContentPresenter; instead there's a ListViewBaseScrollContentPresenter. (It was implemented this way back when ScrollContentPresenter inherited directly from the native scroll container.) -* the `ItemsStackPanel` (or `ItemsWrapGrid`) is not actually present in the visual tree. These items panels are created, and their configured values (eg `Orientation`) are used to set the behavior of the list, but they are not actually loaded into the visual hierarchy or measured and arranged. They just act as a facade for the native layouter. -* the Header and Footer, if present, are managed by the native list on Android and iOS, whereas on UWP they're outside the ItemsStackPanel/ItemsWrapGrid. +- the scrolling container is the `NativeListViewBase` itself, not the `ScrollViewer`. Thus the `ItemsPresenter` is **outside** the scrollable region. Additionally, there's no ScrollContentPresenter; instead there's a ListViewBaseScrollContentPresenter. (It was implemented this way back when ScrollContentPresenter inherited directly from the native scroll container.) +- the `ItemsStackPanel` (or `ItemsWrapGrid`) is not actually present in the visual tree. These items panels are created, and their configured values (eg `Orientation`) are used to set the behavior of the list, but they are not actually loaded into the visual hierarchy or measured and arranged. They just act as a facade for the native layouter. +- the Header and Footer, if present, are managed by the native list on Android and iOS, whereas on UWP they're outside the ItemsStackPanel/ItemsWrapGrid. Much of the time, these are implementation details that are invisible to the end user. In certain cases they can have a visible impact. They're useful to be aware of when working on `ListView` bugs. @@ -117,8 +117,8 @@ The measuring logic for iOS' `ListView` makes an initial guess for the size of e On WASM, Skia, and macOS, `ListViewBase` uses a shared implementation that's dubbed 'managed' because it doesn't rely upon an external native control. The visible implementation details of the managed `ListView` are much closer to UWP. Specifically: -* the items panel is a 'real' panel which hosts the ListViewItems as its children. The size of the panel reflects the estimated total size based on the number of items, as determined by the list. -* the `ScrollViewer` in the ListView's control template is a 'real' `ScrollViewer`, ie it is in fact responsible for scrolling. +- the items panel is a 'real' panel which hosts the ListViewItems as its children. The size of the panel reflects the estimated total size based on the number of items, as determined by the list. +- the `ScrollViewer` in the ListView's control template is a 'real' `ScrollViewer`, ie it is in fact responsible for scrolling. The internals of the managed `ListView` were originally implemented independently of the UWP source, but have been gradually converging on the internals of UWP. diff --git a/doc/articles/uno-development/troubleshooting-memory-issues.md b/doc/articles/uno-development/troubleshooting-memory-issues.md index f8c8de84fe11..c9cb146bc80c 100644 --- a/doc/articles/uno-development/troubleshooting-memory-issues.md +++ b/doc/articles/uno-development/troubleshooting-memory-issues.md @@ -16,66 +16,66 @@ Starting from [Uno.Wasm.Bootstrap](https://github.com/unoplatform/Uno.Wasm.Boots 1. Install the `Uno.Core` NuGet package; 2. In your application, as early as possible in the initialization (generally in the `App.cs` or `App.xaml.cs` constructor), add and call the following method: -``` csharp -using Uno.UI.DataBinding; -using Uno.UI.DataBinding; -using System.Threading.Tasks; -using Uno.Extensions; -using Uno.Logging; - -// .... -private void EnableViewsMemoryStatistics() -{ - // - // Call this method to enable Views memory tracking. - // Make sure that you've added the following : - // - // builder.AddFilter("Uno.UI.DataBinding", LogLevel.Information ); - // - // in the logger settings, so that the statistics are showing up. - // - - var unused = Windows.UI.Xaml.Window.Current.Dispatcher.RunAsync( - CoreDispatcherPriority.Normal, - async () => - { - BinderReferenceHolder.IsEnabled = true; - - while (true) - { - await Task.Delay(1500); - - try + ``` csharp + using Uno.UI.DataBinding; + using Uno.UI.DataBinding; + using System.Threading.Tasks; + using Uno.Extensions; + using Uno.Logging; + + // .... + private void EnableViewsMemoryStatistics() { - BinderReferenceHolder.LogReport(); - - var inactiveInstances = BinderReferenceHolder.GetInactiveViewBinders(); - - // Force the variable to be kept by the linker so we can see it with the debugger. - // Put a breakpoint on this line to dig into the inactive views. - inactiveInstances.ToString(); - } - catch (Exception ex) - { - this.Log().Error("Report generation failed", ex); + // + // Call this method to enable Views memory tracking. + // Make sure that you've added the following : + // + // builder.AddFilter("Uno.UI.DataBinding", LogLevel.Information ); + // + // in the logger settings, so that the statistics are showing up. + // + + var unused = Windows.UI.Xaml.Window.Current.Dispatcher.RunAsync( + CoreDispatcherPriority.Normal, + async () => + { + BinderReferenceHolder.IsEnabled = true; + + while (true) + { + await Task.Delay(1500); + + try + { + BinderReferenceHolder.LogReport(); + + var inactiveInstances = BinderReferenceHolder.GetInactiveViewBinders(); + + // Force the variable to be kept by the linker so we can see it with the debugger. + // Put a breakpoint on this line to dig into the inactive views. + inactiveInstances.ToString(); + } + catch (Exception ex) + { + this.Log().Error("Report generation failed", ex); + } + } + } + ); } - } - } - ); -} -``` + ``` - You'll also need to add the following logger filter: + You'll also need to add the following logger filter: -```csharp -builder.AddFilter("Uno.UI.DataBinding.BinderReferenceHolder", LogLevel.Information ); -``` + ```csharp + builder.AddFilter("Uno.UI.DataBinding.BinderReferenceHolder", LogLevel.Information ); + ``` - As well as this package NuGet (you will need to update to the latest Uno.UI nuget version): + As well as this package NuGet (you will need to update to the latest Uno.UI nuget version): -```xaml - -``` + ```xaml + + ``` ## Interpreting the statistics output diff --git a/doc/articles/uno-howto-create-a-repro.md b/doc/articles/uno-howto-create-a-repro.md index 696f36a27502..fe4d2fd3771d 100644 --- a/doc/articles/uno-howto-create-a-repro.md +++ b/doc/articles/uno-howto-create-a-repro.md @@ -91,4 +91,4 @@ Using a terminal: Once done, you can zip the folder and send it to github in your issue or discussion. -*** +--- diff --git a/doc/templates/uno/main.scss b/doc/templates/uno/main.scss index 7c7ee881cd31..87ad9f124bb2 100644 --- a/doc/templates/uno/main.scss +++ b/doc/templates/uno/main.scss @@ -489,12 +489,26 @@ h5 { } } - // Algolia .DocSearch-Hit-content-wrapper { height: 100%; } +// Mermaid graph +/* Workaround until this issue https://github.com/mermaid-js/mermaid/issues/1984 is fixed and mermaid version updated */ +.lang-mermaid svg { + height: auto; +} + +// For tabbed content +.tabGroup { + margin-top: 1rem; + margin-bottom: 1rem; +} +.tabGroup section[role="tabpanel"] > pre:last-child { + margin-bottom: 0; +} + // Easy-copy-code .code-header { box-sizing: content-box; @@ -507,13 +521,13 @@ h5 { margin-top: 16px; min-height: 30px; } -.tabGroup section[role="tabpanel"] .code-header { - margin-left: -16px; - margin-right: -16px; -} -.tabGroup section[role="tabpanel"] .code-header:first-child { - margin-top: -16px; +.tabGroup section[role="tabpanel"] > .codeHeader, .tabGroup section[role="tabpanel"] > pre { + margin-left: 0; + margin-right: 0; } +// .tabGroup section[role="tabpanel"] .code-header:first-child { +// margin-top: -16px; +// } .code-header > .language { padding: 2px 16px; flex-grow: 1; diff --git a/doc/templates/uno/partials/scripts.tmpl.partial b/doc/templates/uno/partials/scripts.tmpl.partial index 6a0dc130e9c2..b7f6f98babf0 100644 --- a/doc/templates/uno/partials/scripts.tmpl.partial +++ b/doc/templates/uno/partials/scripts.tmpl.partial @@ -5,7 +5,8 @@ - + + @@ -62,7 +63,7 @@ $(function() { document.body.removeChild(el); } - $("code.hljs, code.lang-http").each(function() { + $("code.hljs, code[class^='lang-']").each(function() { var $this = $(this); var language = /lang-(.+?)(\s|$)/.exec($this.attr("class")); if (language === null) { @@ -70,12 +71,26 @@ $(function() { } else language = language[1].toUpperCase(); + // Skip lang-mermaid as we don't need the easy-copy-code for mermaid graphs + if (language === 'MERMAID') { + return; + } + + if (language === 'CPP') { + language = "C++"; + } if (language === 'CSHARP' || language === 'CS') { language = "C#"; } if (language === 'JS') { language = "JavaScript"; } + if (language === 'DOTNETCLI') { + language = ".NET CLI"; + } + if (language === 'PWSH') { + language = "PowerShell"; + } var $codeHeader = $( '
'+ ' '+ language +''+ diff --git a/doc/templates/uno/styles/main.css b/doc/templates/uno/styles/main.css index 822de85eacc9..76f46b0e49d7 100644 --- a/doc/templates/uno/styles/main.css +++ b/doc/templates/uno/styles/main.css @@ -1,4 +1,4 @@ -@import"https://fonts.googleapis.com/css?family=Open+Sans:500,600,700,800,400italic,700italic,400";@import"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css";:target::before{content:"";display:block;margin-top:-130px;height:130px;width:1px}body{font-family:"Open Sans",sans-serif;color:#242424;font-size:16px;line-height:24px;font-weight:400;text-transform:none;color:#242424;letter-spacing:.5px}body mark{background:rgba(21,155,255,.25)}body .toc{background-color:rgba(0,0,0,0);padding:24px;padding-top:12px;margin:0}.row:before{content:none}.row:after{content:""}a{color:#159bff}a:hover,a:active{color:#333}h1{font-size:40px;line-height:48px;font-weight:700;text-transform:none;text-align:left;color:#242424;letter-spacing:-1.5px;padding:24px 0}h2{font-size:24px;line-height:32px;font-weight:700;text-transform:none;color:#242424;letter-spacing:-0.5px}h3{font-size:20px;line-height:24px;font-weight:700;text-transform:none;color:#242424}h4{font-size:18px;line-height:24px;font-weight:700;text-transform:none;color:#242424}subtitle{font-size:14px;line-height:24px;font-weight:600;text-transform:none;color:#242424;letter-spacing:.1px}h5{font-family:"Roboto";font-style:normal;letter-spacing:1.5px;font-size:12px;line-height:16px;font-weight:500;text-transform:uppercase;color:#242424}@media screen{pre{overflow:auto}pre>code{white-space:pre;font-size:14px;line-height:20px;font-weight:400;text-transform:none;color:#242424;letter-spacing:.25px}}.container{width:100%}#breadcrumb{padding:0 32px}.breadcrumb{white-space:inherit;font-size:14px;line-height:24px;font-weight:400;color:#242424;padding:16px 0}.body-content .article{margin-right:0}@media only screen and (min-width: 768px){.sidefilter{width:24%}}@media(min-width: 768px)and (max-width: 1023.98px){.sidefilter{width:30%}}@media only screen and (min-width: 768px){.article.grid-right{margin-left:26%}}@media(min-width: 768px)and (max-width: 1023.98px){.article.grid-right{margin-left:32%}}.sidetoc{top:180px;background-color:#fff !important}@media only screen and (min-width: 768px){.sidetoc{width:24%}}@media(min-width: 768px)and (max-width: 1023.98px){.sidetoc{width:30%}}@media(min-width: 768px)and (max-width: 990.98px){.sidetoc{border-left:1px solid #e7e7e7;border-right:1px solid #e7e7e7;position:fixed}}.sidetoc .nav>li{line-height:24px}.sidetoc .nav>li a{font-size:14px;font-weight:400;text-transform:none;color:#242424;letter-spacing:.1px}.sidetoc .nav.level1>li,.sidetoc .nav.level2>li{line-height:20px}.sidetoc .nav.level1>li>a,.sidetoc .nav.level2>li>a{font-size:14px;font-weight:400;text-transform:none;color:#242424;letter-spacing:.25px}.sidetoc .nav>li.active>a{color:#333;font-weight:600}.sidetoc .nav>li.active>a:last-child{border-radius:6px;background-color:#f1f1f1;width:100%}.sidetoc .nav>li.active>a:hover{color:#000}.sidetoc .toc .nav .in ul li{margin-left:9px}.sidetoc .toc .nav>li.filtered>ul,.sidetoc .toc .nav>li.in>ul{display:block}@media only screen and (max-width: 768.98px){.sidetoc .toc .nav>li.filtered>ul,.sidetoc .toc .nav>li.in>ul{display:grid}}@media only screen and (max-width: 768.98px){.sidetoc .toc li:after{display:none}}.sidetoc .toc .nav>li>.expand-stub::before{font-family:"Glyphicons Halflings","ui-sans-serif";content:"";font-size:.8em}.sidetoc .toc .nav>li.in>.expand-stub::before{font-family:"Glyphicons Halflings","ui-sans-serif";display:inline-block;content:"";font-size:.8em;transform:rotate(90deg)}.sidetoc .toc .nav>li>.expand-stub+a{margin-left:15px}.sidetoc .toc .nav>li>a{margin-left:0;padding-left:5px}.sidetoc .toc .nav>li>.expand-stub{left:4px}.sidetoc .toc ul ul>li>a:before{content:""}.sidetoc .toc ul{padding-left:5px;text-align:left}@media only screen and (max-width: 768.98px){.sidetoc .toc ul{text-align:left}}@media only screen and (max-width: 768.98px){.sidetoc .toc{margin-left:0}}@media only screen{.sidetoc .toc ul{margin:0}.sidetoc .toc ul li a{margin:0}}.sidenav{background-color:#fff;border-bottom:1px solid #e7e7e7}@media only screen and (max-width: 768.98px){.sidenav{position:fixed;width:100%;z-index:999}}@media(min-width: 768px)and (max-width: 990.98px){.sidenav{background:rgba(0,0,0,0);padding:0;margin:0;border:none}}.btn.toc-toggle.collapse{color:#333;text-align:left}@media(min-width: 768px)and (max-width: 990.98px){.btn.toc-toggle.collapse{display:none}}.front-page article section{margin-left:auto}.front-page p{margin:20px auto}.front-page .subnav,.front-page .sideaffix,.front-page .footer{display:none}.front-page .body-content{width:100%;padding:0;overflow:hidden}.front-page .body-content .article{margin:0 !important}.front-page .body-content .article>[class*=col]{width:auto;padding:0;float:none}.front-page .button{display:inline-block}.front-page .button a{display:inline-block;padding:7px 17px;font-size:16px;line-height:16px;font-weight:700;box-shadow:0 2px 4px 0 rgba(31,31,31,.25);border-radius:8px;transition:color .2s ease-in-out,background-color .2s ease-in-out}.front-page .button.white a{background:#fff;color:#333}.front-page .button.white a:hover{background:#7a67f8;color:#fff}.front-page .button.turquoise a{background:#7a67f8;color:#fff}.front-page .button.turquoise a:hover{background:#654ff7}.front-page .intro{padding:100px 15px 60px;text-align:center;font-size:18px;position:relative}@media screen and (min-width: 768px){.front-page .intro{padding:200px 15px 120px}}.front-page .intro h1{font-size:36px;text-transform:none;font-weight:600;width:auto;max-width:100%;margin:0 auto;letter-spacing:normal}@media screen and (min-width: 768px){.front-page .intro h1{font-size:44px}}.front-page .intro p{width:100%;font-size:22px}.front-page .intro strong{font-weight:bold}.front-page .intro .button a{margin-top:20px}.front-page .headerboxes{display:flex;flex-wrap:wrap;padding:40px 15px;background-color:#f4f2f3}@media screen and (min-width: 768px){.front-page .headerboxes{padding:80px 15px}}.front-page .headerboxes .headerbox{margin:40px auto}.front-page .headerboxes .headerbox-inner{padding:0;height:100%}.front-page .headerboxes h2{font-size:30px;font-weight:600;text-transform:none}.front-page .headerboxes h2 .anchorjs-link{display:none}.front-page .headerboxes p{font-size:16px;font-weight:600}.front-page .headerboxes .icon{margin:0}.DocSearch-Hit-content-wrapper{height:100%}.code-header{box-sizing:content-box;background-color:#f2f2f2;color:#171717;display:flex;flex-direction:row;border:1px solid #e3e3e3;border-bottom:0;margin-top:16px;min-height:30px}.tabGroup section[role=tabpanel] .code-header{margin-left:-16px;margin-right:-16px}.tabGroup section[role=tabpanel] .code-header:first-child{margin-top:-16px}.code-header>.language{padding:2px 16px;flex-grow:1;text-transform:uppercase;line-height:26px}.code-header>.action{position:relative;padding:2px 10px;background-color:rgba(0,0,0,0);border:0 solid #e3e3e3;border-left-width:1px;color:#171717;cursor:pointer;display:flex;align-items:center;line-height:normal}.code-header .glyphicon{margin-right:.25em}.code-header>.action:hover{background-color:#fafafa}.code-header+pre{margin-top:0;border:1px solid #e3e3e3}.code-header>.action .successful-copy-alert{justify-content:center;align-items:center;right:0;left:0;bottom:0;top:0;position:absolute;display:flex;background-color:#128712;outline-color:#fff;color:#fff}.code-header>.action .successful-copy-alert.is-transparent{opacity:0;transition:500ms opacity ease-in-out}summary{display:list-item} +@import"https://fonts.googleapis.com/css?family=Open+Sans:500,600,700,800,400italic,700italic,400";@import"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css";:target::before{content:"";display:block;margin-top:-130px;height:130px;width:1px}body{font-family:"Open Sans",sans-serif;color:#242424;font-size:16px;line-height:24px;font-weight:400;text-transform:none;color:#242424;letter-spacing:.5px}body mark{background:rgba(21,155,255,.25)}body .toc{background-color:rgba(0,0,0,0);padding:24px;padding-top:12px;margin:0}.row:before{content:none}.row:after{content:""}a{color:#159bff}a:hover,a:active{color:#333}h1{font-size:40px;line-height:48px;font-weight:700;text-transform:none;text-align:left;color:#242424;letter-spacing:-1.5px;padding:24px 0}h2{font-size:24px;line-height:32px;font-weight:700;text-transform:none;color:#242424;letter-spacing:-0.5px}h3{font-size:20px;line-height:24px;font-weight:700;text-transform:none;color:#242424}h4{font-size:18px;line-height:24px;font-weight:700;text-transform:none;color:#242424}subtitle{font-size:14px;line-height:24px;font-weight:600;text-transform:none;color:#242424;letter-spacing:.1px}h5{font-family:"Roboto";font-style:normal;letter-spacing:1.5px;font-size:12px;line-height:16px;font-weight:500;text-transform:uppercase;color:#242424}@media screen{pre{overflow:auto}pre>code{white-space:pre;font-size:14px;line-height:20px;font-weight:400;text-transform:none;color:#242424;letter-spacing:.25px}}.container{width:100%}#breadcrumb{padding:0 32px}.breadcrumb{white-space:inherit;font-size:14px;line-height:24px;font-weight:400;color:#242424;padding:16px 0}.body-content .article{margin-right:0}@media only screen and (min-width: 768px){.sidefilter{width:24%}}@media(min-width: 768px)and (max-width: 1023.98px){.sidefilter{width:30%}}@media only screen and (min-width: 768px){.article.grid-right{margin-left:26%}}@media(min-width: 768px)and (max-width: 1023.98px){.article.grid-right{margin-left:32%}}.sidetoc{top:180px;background-color:#fff !important}@media only screen and (min-width: 768px){.sidetoc{width:24%}}@media(min-width: 768px)and (max-width: 1023.98px){.sidetoc{width:30%}}@media(min-width: 768px)and (max-width: 990.98px){.sidetoc{border-left:1px solid #e7e7e7;border-right:1px solid #e7e7e7;position:fixed}}.sidetoc .nav>li{line-height:24px}.sidetoc .nav>li a{font-size:14px;font-weight:400;text-transform:none;color:#242424;letter-spacing:.1px}.sidetoc .nav.level1>li,.sidetoc .nav.level2>li{line-height:20px}.sidetoc .nav.level1>li>a,.sidetoc .nav.level2>li>a{font-size:14px;font-weight:400;text-transform:none;color:#242424;letter-spacing:.25px}.sidetoc .nav>li.active>a{color:#333;font-weight:600}.sidetoc .nav>li.active>a:last-child{border-radius:6px;background-color:#f1f1f1;width:100%}.sidetoc .nav>li.active>a:hover{color:#000}.sidetoc .toc .nav .in ul li{margin-left:9px}.sidetoc .toc .nav>li.filtered>ul,.sidetoc .toc .nav>li.in>ul{display:block}@media only screen and (max-width: 768.98px){.sidetoc .toc .nav>li.filtered>ul,.sidetoc .toc .nav>li.in>ul{display:grid}}@media only screen and (max-width: 768.98px){.sidetoc .toc li:after{display:none}}.sidetoc .toc .nav>li>.expand-stub::before{font-family:"Glyphicons Halflings","ui-sans-serif";content:"";font-size:.8em}.sidetoc .toc .nav>li.in>.expand-stub::before{font-family:"Glyphicons Halflings","ui-sans-serif";display:inline-block;content:"";font-size:.8em;transform:rotate(90deg)}.sidetoc .toc .nav>li>.expand-stub+a{margin-left:15px}.sidetoc .toc .nav>li>a{margin-left:0;padding-left:5px}.sidetoc .toc .nav>li>.expand-stub{left:4px}.sidetoc .toc ul ul>li>a:before{content:""}.sidetoc .toc ul{padding-left:5px;text-align:left}@media only screen and (max-width: 768.98px){.sidetoc .toc ul{text-align:left}}@media only screen and (max-width: 768.98px){.sidetoc .toc{margin-left:0}}@media only screen{.sidetoc .toc ul{margin:0}.sidetoc .toc ul li a{margin:0}}.sidenav{background-color:#fff;border-bottom:1px solid #e7e7e7}@media only screen and (max-width: 768.98px){.sidenav{position:fixed;width:100%;z-index:999}}@media(min-width: 768px)and (max-width: 990.98px){.sidenav{background:rgba(0,0,0,0);padding:0;margin:0;border:none}}.btn.toc-toggle.collapse{color:#333;text-align:left}@media(min-width: 768px)and (max-width: 990.98px){.btn.toc-toggle.collapse{display:none}}.front-page article section{margin-left:auto}.front-page p{margin:20px auto}.front-page .subnav,.front-page .sideaffix,.front-page .footer{display:none}.front-page .body-content{width:100%;padding:0;overflow:hidden}.front-page .body-content .article{margin:0 !important}.front-page .body-content .article>[class*=col]{width:auto;padding:0;float:none}.front-page .button{display:inline-block}.front-page .button a{display:inline-block;padding:7px 17px;font-size:16px;line-height:16px;font-weight:700;box-shadow:0 2px 4px 0 rgba(31,31,31,.25);border-radius:8px;transition:color .2s ease-in-out,background-color .2s ease-in-out}.front-page .button.white a{background:#fff;color:#333}.front-page .button.white a:hover{background:#7a67f8;color:#fff}.front-page .button.turquoise a{background:#7a67f8;color:#fff}.front-page .button.turquoise a:hover{background:#654ff7}.front-page .intro{padding:100px 15px 60px;text-align:center;font-size:18px;position:relative}@media screen and (min-width: 768px){.front-page .intro{padding:200px 15px 120px}}.front-page .intro h1{font-size:36px;text-transform:none;font-weight:600;width:auto;max-width:100%;margin:0 auto;letter-spacing:normal}@media screen and (min-width: 768px){.front-page .intro h1{font-size:44px}}.front-page .intro p{width:100%;font-size:22px}.front-page .intro strong{font-weight:bold}.front-page .intro .button a{margin-top:20px}.front-page .headerboxes{display:flex;flex-wrap:wrap;padding:40px 15px;background-color:#f4f2f3}@media screen and (min-width: 768px){.front-page .headerboxes{padding:80px 15px}}.front-page .headerboxes .headerbox{margin:40px auto}.front-page .headerboxes .headerbox-inner{padding:0;height:100%}.front-page .headerboxes h2{font-size:30px;font-weight:600;text-transform:none}.front-page .headerboxes h2 .anchorjs-link{display:none}.front-page .headerboxes p{font-size:16px;font-weight:600}.front-page .headerboxes .icon{margin:0}.DocSearch-Hit-content-wrapper{height:100%}.lang-mermaid svg{height:auto}.tabGroup{margin-top:1rem;margin-bottom:1rem}.tabGroup section[role=tabpanel]>pre:last-child{margin-bottom:0}.code-header{box-sizing:content-box;background-color:#f2f2f2;color:#171717;display:flex;flex-direction:row;border:1px solid #e3e3e3;border-bottom:0;margin-top:16px;min-height:30px}.tabGroup section[role=tabpanel]>.codeHeader,.tabGroup section[role=tabpanel]>pre{margin-left:0;margin-right:0}.code-header>.language{padding:2px 16px;flex-grow:1;text-transform:uppercase;line-height:26px}.code-header>.action{position:relative;padding:2px 10px;background-color:rgba(0,0,0,0);border:0 solid #e3e3e3;border-left-width:1px;color:#171717;cursor:pointer;display:flex;align-items:center;line-height:normal}.code-header .glyphicon{margin-right:.25em}.code-header>.action:hover{background-color:#fafafa}.code-header+pre{margin-top:0;border:1px solid #e3e3e3}.code-header>.action .successful-copy-alert{justify-content:center;align-items:center;right:0;left:0;bottom:0;top:0;position:absolute;display:flex;background-color:#128712;outline-color:#fff;color:#fff}.code-header>.action .successful-copy-alert.is-transparent{opacity:0;transition:500ms opacity ease-in-out}summary{display:list-item} @media(max-width: 1179.98px){.hidden-sm{display:none !important}}@media(max-width: 1179.98px){.article>.col-md-8{width:100%}}.sideaffix{overflow:auto;padding-top:36px;margin-top:0}.sideaffix .affix ul>li.active>ul,.sideaffix .affix ul>li.active>a:before,.sideaffix .affix ul>li>a:hover:before{white-space:normal}.sideaffix>div.contribution>ul>li>a.contribution-link{font-family:"Open Sans";font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.25px}.sideaffix #affix{font-size:16px;font-weight:600;line-height:1.5;height:auto}.sideaffix #affix a{color:#333;font-size:14px;line-height:20px;font-weight:400;letter-spacing:.25px}.sideaffix #affix ul>li.active>a{font-weight:bold}.sideaffix #affix ul>li.active>a:before{color:#333}.sideaffix #affix ul>li.active>a ul>li.active>a{font-weight:bold}.sideaffix #affix ul>li.active>a ul>li.active>a:before{color:#333}.sideaffix #affix ul ul>li>a:before{top:2px}.sideaffix #affix li:last-child{padding-bottom:16px;margin-bottom:0}.sideaffix #affix .title{text-transform:uppercase;font-size:12px;font-style:normal;font-weight:500;line-height:16px;letter-spacing:1.5px}.sideaffix #affix .level1::before{width:75%}.sideaffix #affix .level1::after{width:75%}.sideaffix h5{letter-spacing:1.5px;font-size:12px;line-height:16px;text-transform:uppercase;color:#9d9d9d} .alert{background-color:rgba(0,0,0,0);border-color:#f1f1f1;color:#333;padding:16px 16px;transition:transform .2s}.alert-hover:hover{transform:scale(1.05);border-color:#159bff;box-shadow:0 5px 10px 0 rgba(0,0,0,.2)}.alert-hover:hover h4{color:#159bff} diff --git a/doc/templates/uno/styles/main.css.map b/doc/templates/uno/styles/main.css.map index 94971ff1a4b2..b2152eb32a71 100644 --- a/doc/templates/uno/styles/main.css.map +++ b/doc/templates/uno/styles/main.css.map @@ -1 +1 @@ -{"version":3,"sources":["../main.css","../main.scss","../variables.scss","../component/breakpoints.scss","variables.css","../component/affix.scss","../component/alerts.scss","component/breakpoints.css","../component/navbar.css","../component/navbar.scss","../service/search.scss"],"names":[],"mappings":"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","file":"main.css","sourcesContent":["@import\"https://fonts.googleapis.com/css?family=Open+Sans:500,600,700,800,400italic,700italic,400\";@import\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css\";:target::before{content:\"\";display:block;margin-top:-130px;height:130px;width:1px}body{font-family:\"Open Sans\",sans-serif;color:#242424;font-size:16px;line-height:24px;font-weight:400;text-transform:none;color:#242424;letter-spacing:.5px}body mark{background:rgba(21,155,255,.25)}body .toc{background-color:rgba(0,0,0,0);padding:24px;padding-top:12px;margin:0}.row:before{content:none}.row:after{content:\"\"}a{color:#159bff}a:hover,a:active{color:#333}h1{font-size:40px;line-height:48px;font-weight:700;text-transform:none;text-align:left;color:#242424;letter-spacing:-1.5px;padding:24px 0}h2{font-size:24px;line-height:32px;font-weight:700;text-transform:none;color:#242424;letter-spacing:-0.5px}h3{font-size:20px;line-height:24px;font-weight:700;text-transform:none;color:#242424}h4{font-size:18px;line-height:24px;font-weight:700;text-transform:none;color:#242424}subtitle{font-size:14px;line-height:24px;font-weight:600;text-transform:none;color:#242424;letter-spacing:.1px}h5{font-family:\"Roboto\";font-style:normal;letter-spacing:1.5px;font-size:12px;line-height:16px;font-weight:500;text-transform:uppercase;color:#242424}@media screen{pre{overflow:auto}pre>code{white-space:pre;font-size:14px;line-height:20px;font-weight:400;text-transform:none;color:#242424;letter-spacing:.25px}}.container{width:100%}#breadcrumb{padding:0 32px}.breadcrumb{white-space:inherit;font-size:14px;line-height:24px;font-weight:400;color:#242424;padding:16px 0}.body-content .article{margin-right:0}@media only screen and (min-width: 768px){.sidefilter{width:24%}}@media(min-width: 768px)and (max-width: 1023.98px){.sidefilter{width:30%}}@media only screen and (min-width: 768px){.article.grid-right{margin-left:26%}}@media(min-width: 768px)and (max-width: 1023.98px){.article.grid-right{margin-left:32%}}.sidetoc{top:180px;background-color:#fff !important}@media only screen and (min-width: 768px){.sidetoc{width:24%}}@media(min-width: 768px)and (max-width: 1023.98px){.sidetoc{width:30%}}@media(min-width: 768px)and (max-width: 990.98px){.sidetoc{border-left:1px solid #e7e7e7;border-right:1px solid #e7e7e7;position:fixed}}.sidetoc .nav>li{line-height:24px}.sidetoc .nav>li a{font-size:14px;font-weight:400;text-transform:none;color:#242424;letter-spacing:.1px}.sidetoc .nav.level1>li,.sidetoc .nav.level2>li{line-height:20px}.sidetoc .nav.level1>li>a,.sidetoc .nav.level2>li>a{font-size:14px;font-weight:400;text-transform:none;color:#242424;letter-spacing:.25px}.sidetoc .nav>li.active>a{color:#333;font-weight:600}.sidetoc .nav>li.active>a:last-child{border-radius:6px;background-color:#f1f1f1;width:100%}.sidetoc .nav>li.active>a:hover{color:#000}.sidetoc .toc .nav .in ul li{margin-left:9px}.sidetoc .toc .nav>li.filtered>ul,.sidetoc .toc .nav>li.in>ul{display:block}@media only screen and (max-width: 768.98px){.sidetoc .toc .nav>li.filtered>ul,.sidetoc .toc .nav>li.in>ul{display:grid}}@media only screen and (max-width: 768.98px){.sidetoc .toc li:after{display:none}}.sidetoc .toc .nav>li>.expand-stub::before{font-family:\"Glyphicons Halflings\",\"ui-sans-serif\";content:\"\";font-size:.8em}.sidetoc .toc .nav>li.in>.expand-stub::before{font-family:\"Glyphicons Halflings\",\"ui-sans-serif\";display:inline-block;content:\"\";font-size:.8em;transform:rotate(90deg)}.sidetoc .toc .nav>li>.expand-stub+a{margin-left:15px}.sidetoc .toc .nav>li>a{margin-left:0;padding-left:5px}.sidetoc .toc .nav>li>.expand-stub{left:4px}.sidetoc .toc ul ul>li>a:before{content:\"\"}.sidetoc .toc ul{padding-left:5px;text-align:left}@media only screen and (max-width: 768.98px){.sidetoc .toc ul{text-align:left}}@media only screen and (max-width: 768.98px){.sidetoc .toc{margin-left:0}}@media only screen{.sidetoc .toc ul{margin:0}.sidetoc .toc ul li a{margin:0}}.sidenav{background-color:#fff;border-bottom:1px solid #e7e7e7}@media only screen and (max-width: 768.98px){.sidenav{position:fixed;width:100%;z-index:999}}@media(min-width: 768px)and (max-width: 990.98px){.sidenav{background:rgba(0,0,0,0);padding:0;margin:0;border:none}}.btn.toc-toggle.collapse{color:#333;text-align:left}@media(min-width: 768px)and (max-width: 990.98px){.btn.toc-toggle.collapse{display:none}}.front-page article section{margin-left:auto}.front-page p{margin:20px auto}.front-page .subnav,.front-page .sideaffix,.front-page .footer{display:none}.front-page .body-content{width:100%;padding:0;overflow:hidden}.front-page .body-content .article{margin:0 !important}.front-page .body-content .article>[class*=col]{width:auto;padding:0;float:none}.front-page .button{display:inline-block}.front-page .button a{display:inline-block;padding:7px 17px;font-size:16px;line-height:16px;font-weight:700;box-shadow:0 2px 4px 0 rgba(31,31,31,.25);border-radius:8px;transition:color .2s ease-in-out,background-color .2s ease-in-out}.front-page .button.white a{background:#fff;color:#333}.front-page .button.white a:hover{background:#7a67f8;color:#fff}.front-page .button.turquoise a{background:#7a67f8;color:#fff}.front-page .button.turquoise a:hover{background:#654ff7}.front-page .intro{padding:100px 15px 60px;text-align:center;font-size:18px;position:relative}@media screen and (min-width: 768px){.front-page .intro{padding:200px 15px 120px}}.front-page .intro h1{font-size:36px;text-transform:none;font-weight:600;width:auto;max-width:100%;margin:0 auto;letter-spacing:normal}@media screen and (min-width: 768px){.front-page .intro h1{font-size:44px}}.front-page .intro p{width:100%;font-size:22px}.front-page .intro strong{font-weight:bold}.front-page .intro .button a{margin-top:20px}.front-page .headerboxes{display:flex;flex-wrap:wrap;padding:40px 15px;background-color:#f4f2f3}@media screen and (min-width: 768px){.front-page .headerboxes{padding:80px 15px}}.front-page .headerboxes .headerbox{margin:40px auto}.front-page .headerboxes .headerbox-inner{padding:0;height:100%}.front-page .headerboxes h2{font-size:30px;font-weight:600;text-transform:none}.front-page .headerboxes h2 .anchorjs-link{display:none}.front-page .headerboxes p{font-size:16px;font-weight:600}.front-page .headerboxes .icon{margin:0}.DocSearch-Hit-content-wrapper{height:100%}.code-header{box-sizing:content-box;background-color:#f2f2f2;color:#171717;display:flex;flex-direction:row;border:1px solid #e3e3e3;border-bottom:0;margin-top:16px;min-height:30px}.tabGroup section[role=tabpanel] .code-header{margin-left:-16px;margin-right:-16px}.tabGroup section[role=tabpanel] .code-header:first-child{margin-top:-16px}.code-header>.language{padding:2px 16px;flex-grow:1;text-transform:uppercase;line-height:26px}.code-header>.action{position:relative;padding:2px 10px;background-color:rgba(0,0,0,0);border:0 solid #e3e3e3;border-left-width:1px;color:#171717;cursor:pointer;display:flex;align-items:center;line-height:normal}.code-header .glyphicon{margin-right:.25em}.code-header>.action:hover{background-color:#fafafa}.code-header+pre{margin-top:0;border:1px solid #e3e3e3}.code-header>.action .successful-copy-alert{justify-content:center;align-items:center;right:0;left:0;bottom:0;top:0;position:absolute;display:flex;background-color:#128712;outline-color:#fff;color:#fff}.code-header>.action .successful-copy-alert.is-transparent{opacity:0;transition:500ms opacity ease-in-out}summary{display:list-item}","@import url('https://fonts.googleapis.com/css?family=Open+Sans:500,600,700,800,400italic,700italic,400');\r\n@import url(\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css\");\r\n@import \"variables\";\r\n@import \"component/breakpoints\";\r\n\r\n\r\n:target::before {\r\n content: '';\r\n display: block;\r\n margin-top: -130px;\r\n height: 130px;\r\n width: 1px;\r\n}\r\n\r\nbody {\r\n font-family: 'Open Sans', sans-serif;\r\n color: $black;\r\n font-size: 16px;\r\n line-height: 24px;\r\n font-weight: 400;\r\n text-transform: none;\r\n color:$black;\r\n letter-spacing: 0.5px;\r\n\r\n mark {\r\n background: rgba(21, 155, 255, 0.25);\r\n }\r\n\r\n .toc {\r\n background-color: transparent;\r\n padding: 24px;\r\n padding-top: 12px;\r\n margin: 0;\r\n }\r\n}\r\n\r\n.row {\r\n &:before {\r\n content: none;\r\n }\r\n\r\n &:after {\r\n content: '';\r\n }\r\n}\r\n\r\na {\r\n color: $blue;\r\n\r\n &:hover,\r\n &:active {\r\n color: $darkgray;\r\n }\r\n}\r\n\r\nh1 {\r\n font-size: 40px;\r\n line-height: 48px;\r\n font-weight: 700;\r\n text-transform: none;\r\n text-align: left;\r\n color:$black;\r\n letter-spacing: -1.5px;\r\n padding: 24px 0;\r\n}\r\n\r\nh2 {\r\n font-size: 24px;\r\n line-height: 32px;\r\n font-weight: 700;\r\n text-transform: none;\r\n color:$black;\r\n letter-spacing: -0.5px;\r\n}\r\n\r\nh3 {\r\n font-size: 20px;\r\n line-height: 24px;\r\n font-weight: 700;\r\n text-transform: none;\r\n color:$black;\r\n}\r\n\r\nh4 {\r\n font-size: 18px;\r\n line-height: 24px;\r\n font-weight: 700;\r\n text-transform: none;\r\n color:$black;\r\n}\r\n\r\nsubtitle {\r\n font-size: 14px;\r\n line-height: 24px;\r\n font-weight: 600;\r\n text-transform: none;\r\n color:$black;\r\n letter-spacing: 0.1px;\r\n}\r\n\r\n\r\n\r\nh5 {\r\n font-family: 'Roboto';\r\n font-style: normal;\r\n letter-spacing: 1.5px;\r\n font-size: 12px;\r\n line-height: 16px;\r\n font-weight: 500;\r\n text-transform: uppercase;\r\n color:$black;\r\n}\r\n\r\n@media screen {\r\n pre {\r\n overflow: auto;\r\n\r\n > code {\r\n white-space: pre;\r\n font-size: 14px;\r\n line-height: 20px;\r\n font-weight: 400;\r\n text-transform: none;\r\n color:$black;\r\n letter-spacing: 0.25px; \r\n }\r\n }\r\n}\r\n\r\n.container {\r\n width:100%;\r\n}\r\n\r\n#breadcrumb {\r\n padding: 0 32px;\r\n}\r\n\r\n.breadcrumb {\r\n white-space: inherit;\r\n font-size: 14px;\r\n line-height: 24px;\r\n font-weight:400;\r\n color:$black;\r\n padding: 16px 0;\r\n //padding: 0 16px 0 16px;\r\n}\r\n\r\n.body-content .article {\r\n margin-right: 0;\r\n}\r\n\r\n.sidefilter {\r\n @media only screen {\r\n @include media-breakpoint-up(md) {\r\n width: 24%;\r\n }\r\n }\r\n @include media-breakpoint-between(md, tablet){\r\n width: 30%;\r\n }\r\n}\r\n\r\n.article.grid-right {\r\n @media only screen {\r\n @include media-breakpoint-up(md) {\r\n margin-left: 26%;\r\n }\r\n }\r\n @include media-breakpoint-between(md, tablet){\r\n margin-left: 32%;\r\n }\r\n}\r\n\r\n.sidetoc {\r\n top: 180px;\r\n background-color: white !important;\r\n @media only screen {\r\n @include media-breakpoint-up(md) {\r\n width: 24%;\r\n }\r\n }\r\n @include media-breakpoint-between(md, tablet) {\r\n width: 30%; \r\n }\r\n\r\n @include media-breakpoint-between(md, mobile) {\r\n border-left: 1px solid #e7e7e7;\r\n border-right: 1px solid #e7e7e7;\r\n position: fixed;\r\n }\r\n\r\n .nav > li {\r\n line-height: 24px;\r\n \r\n a {\r\n font-size: 14px;\r\n font-weight: 400;\r\n text-transform: none;\r\n color:$black;\r\n letter-spacing: 0.1px;\r\n }\r\n }\r\n\r\n .nav.level1 , .nav.level2 {\r\n > li {\r\n line-height: 20px;\r\n \r\n > a {\r\n font-size: 14px;\r\n font-weight: 400;\r\n text-transform: none;\r\n color:$black;\r\n letter-spacing: 0.25px;\r\n }\r\n }\r\n }\r\n\r\n .nav > li.active > a {\r\n color: $darkgray;\r\n font-weight: 600;\r\n \r\n &:last-child {\r\n border-radius: 6px;\r\n background-color: #F1F1F1;\r\n width: 100%;\r\n }\r\n\r\n &:hover {\r\n color: #000;\r\n }\r\n }\r\n\r\n .toc .nav .in ul li {\r\n margin-left: 9px;\r\n }\r\n\r\n .toc .nav > li.filtered > ul, .toc .nav > li.in > ul {\r\n display: block;\r\n @media only screen {\r\n @include media-breakpoint-down(md) {\r\n display: grid;\r\n }\r\n }\r\n }\r\n\r\n \r\n .toc li:after {\r\n @media only screen {\r\n @include media-breakpoint-down(md) {\r\n display: none;\r\n }\r\n }\r\n }\r\n\r\n .toc {\r\n .nav > li > .expand-stub::before {\r\n font-family: 'Glyphicons Halflings', 'ui-sans-serif';\r\n content: '\\e258';\r\n font-size: 0.8em;\r\n }\r\n\r\n .nav > li.in > .expand-stub::before {\r\n font-family: 'Glyphicons Halflings', 'ui-sans-serif';\r\n display: inline-block;\r\n content: '\\e258';\r\n font-size: 0.8em;\r\n transform: rotate(90deg);\r\n }\r\n\r\n .nav > li > .expand-stub + a {\r\n margin-left: 15px;\r\n }\r\n\r\n .nav > li > a {\r\n margin-left: 0;\r\n padding-left: 5px;\r\n }\r\n\r\n .nav > li > .expand-stub {\r\n left: 4px;\r\n }\r\n\r\n ul ul > li > a:before {\r\n content: '';\r\n }\r\n\r\n ul {\r\n padding-left: 5px;\r\n text-align: left;\r\n @media only screen {\r\n @include media-breakpoint-down(md) {\r\n text-align: left;\r\n }\r\n }\r\n }\r\n\r\n @media only screen {\r\n @include media-breakpoint-down(md) {\r\n margin-left: 0;\r\n }\r\n ul {\r\n margin: 0;\r\n\r\n li a {\r\n margin: 0;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n.sidenav {\r\n background-color: #fff;\r\n border-bottom: 1px solid #e7e7e7;\r\n\r\n @media only screen {\r\n @include media-breakpoint-down(md) {\r\n position: fixed;\r\n width: 100%;\r\n z-index: 999;\r\n }\r\n }\r\n\r\n @include media-breakpoint-between(md, mobile) {\r\n background: transparent;\r\n padding: 0;\r\n margin: 0;\r\n border: none;\r\n }\r\n\r\n}\r\n\r\n.btn.toc-toggle.collapse {\r\n color: $darkgray;\r\n text-align: left;\r\n @include media-breakpoint-between(md, mobile) {\r\n display: none;\r\n }\r\n}\r\n\r\n.front-page {\r\n article section {\r\n margin-left: auto;\r\n }\r\n\r\n p {\r\n margin: 20px auto;\r\n }\r\n\r\n .subnav,\r\n .sideaffix,\r\n .footer {\r\n display: none;\r\n }\r\n\r\n\r\n .body-content {\r\n width: 100%;\r\n padding: 0;\r\n overflow: hidden;\r\n\r\n .article {\r\n margin: 0 !important;\r\n\r\n & > [class*='col'] {\r\n width: auto;\r\n padding: 0;\r\n float: none;\r\n }\r\n }\r\n }\r\n\r\n .button {\r\n display: inline-block;\r\n \r\n a {\r\n display: inline-block;\r\n padding: 7px 17px;\r\n font-size: 16px;\r\n line-height: 16px;\r\n font-weight: 700;\r\n box-shadow: 0 2px 4px 0 rgba(31, 31, 31, 0.25);\r\n border-radius: 8px;\r\n transition: color 0.2s ease-in-out,\r\n background-color 0.2s ease-in-out;\r\n }\r\n\r\n &.white a {\r\n background: #fff;\r\n color: $darkgray;\r\n\r\n &:hover {\r\n background: $purple;\r\n color: #fff;\r\n }\r\n }\r\n\r\n &.turquoise a {\r\n background: $purple;\r\n color: #fff;\r\n\r\n &:hover {\r\n background: darken($purple, 5);\r\n }\r\n }\r\n }\r\n\r\n .intro {\r\n padding: 100px 15px 60px;\r\n @media screen {\r\n @include media-breakpoint-up(md) {\r\n padding: 200px 15px 120px;\r\n }\r\n }\r\n text-align: center;\r\n font-size: 18px;\r\n position: relative;\r\n\r\n h1 {\r\n font-size: 36px;\r\n @media screen {\r\n @include media-breakpoint-up(md) {\r\n font-size: 44px;\r\n }\r\n }\r\n\r\n text-transform: none;\r\n font-weight: 600;\r\n width: auto;\r\n max-width: 100%;\r\n margin: 0 auto;\r\n letter-spacing: normal;\r\n }\r\n\r\n p {\r\n width: 100%;\r\n font-size: 22px;\r\n }\r\n\r\n strong {\r\n font-weight: bold;\r\n }\r\n\r\n .button a {\r\n margin-top: 20px;\r\n }\r\n }\r\n\r\n .headerboxes {\r\n display: flex;\r\n flex-wrap: wrap;\r\n padding: 40px 15px;\r\n @media screen {\r\n @include media-breakpoint-up(md) {\r\n padding: 80px 15px;\r\n }\r\n }\r\n\r\n background-color: #f4f2f3;\r\n\r\n .headerbox {\r\n margin: 40px auto;\r\n\r\n }\r\n\r\n .headerbox-inner {\r\n padding: 0;\r\n height: 100%;\r\n }\r\n\r\n h2 {\r\n font-size: 30px;\r\n font-weight: 600;\r\n text-transform: none;\r\n\r\n .anchorjs-link {\r\n display: none;\r\n }\r\n }\r\n\r\n p {\r\n font-size: 16px;\r\n font-weight: 600;\r\n }\r\n\r\n .icon {\r\n margin: 0;\r\n }\r\n }\r\n}\r\n\r\n\r\n// Algolia\r\n.DocSearch-Hit-content-wrapper {\r\n height: 100%;\r\n}\r\n\r\n// Easy-copy-code\r\n.code-header {\r\n box-sizing: content-box;\r\n background-color: #f2f2f2;\r\n color: #171717;\r\n display: flex;\r\n flex-direction: row;\r\n border: 1px solid #e3e3e3;\r\n border-bottom: 0;\r\n margin-top: 16px;\r\n min-height: 30px;\r\n}\r\n.tabGroup section[role=\"tabpanel\"] .code-header {\r\n margin-left: -16px;\r\n margin-right: -16px;\r\n}\r\n.tabGroup section[role=\"tabpanel\"] .code-header:first-child {\r\n margin-top: -16px;\r\n}\r\n.code-header > .language {\r\n padding: 2px 16px;\r\n flex-grow: 1;\r\n text-transform: uppercase;\r\n line-height: 26px;\r\n}\r\n.code-header > .action {\r\n position: relative;\r\n padding: 2px 10px;\r\n background-color: transparent;\r\n border: 0 solid #e3e3e3;\r\n border-left-width: 1px;\r\n color: #171717;\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n line-height: normal;\r\n}\r\n.code-header .glyphicon {\r\n margin-right: 0.25em;\r\n}\r\n.code-header > .action:hover {\r\n background-color: #fafafa;\r\n}\r\n.code-header + pre {\r\n margin-top: 0;\r\n border: 1px solid #e3e3e3;\r\n}\r\n.code-header > .action .successful-copy-alert {\r\n justify-content: center;\r\n align-items: center;\r\n right: 0;\r\n left: 0;\r\n bottom: 0;\r\n top: 0;\r\n position: absolute;\r\n display: flex;\r\n background-color: #128712;\r\n outline-color: #fff;\r\n color: #fff;\r\n}\r\n.code-header > .action .successful-copy-alert.is-transparent {\r\n opacity: 0;\r\n transition: 500ms opacity ease-in-out;\r\n}\r\n\r\n// This overrides the behavior from normalize.css\r\n// which is added by the current version of bootstrap\r\n// This should be removed once we update docfx and bootstrap\r\nsummary {\r\n display: list-item;\r\n}\r\n","$blue: #159bff;\r\n$lightblue: #EAF2F9;\r\n$purple: #7a67f8;\r\n$turquoise: #67e5ad;\r\n$darkgray: #333333;\r\n$lightgray: #f1f1f1;\r\n$white: #fff;\r\n$black: #242424;\r\n$gray: #9d9d9d;\r\n$offWhite: #fcfcfc;\r\n$green: #67e5ad;\r\n$red: #ed3f64;\r\n$orange: #ff9c1a;\r\n\r\n\r\n","// Breakpoint viewport sizes and media queries.\r\n//\r\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\r\n//\r\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\r\n//\r\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\r\n// Grid breakpoints\r\n//\r\n// There are two breakpoints that fit with the new elementor plugin.\r\n//\r\n// (mobile: 767px, tablet: 1024 px)\r\n//\r\n// Define the minimum dimensions at which your layout will change,\r\n// adapting to different screen sizes, for use in media queries.\r\n\r\n$grid-breakpoints: (xs: 0,\r\n sm: 375px,\r\n md: 768px,\r\n mobile: 769px,\r\n tablet: 991px,\r\n lg: 1024px,\r\n navbar: 1180px,\r\n xl: 1440px) !default;\r\n\r\n// Name of the next breakpoint, or null for the last breakpoint.\r\n//\r\n// >> breakpoint-next(sm)\r\n// md\r\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\r\n// md\r\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\r\n// md\r\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\r\n $n: index($breakpoint-names, $name);\r\n @return if($n !=null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\r\n}\r\n\r\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\r\n//\r\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\r\n// 576px\r\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\r\n $min: map-get($breakpoints, $name);\r\n @return if($min !=0, $min, null);\r\n}\r\n\r\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\r\n// The maximum value is calculated as the minimum of the next one less 0.02px\r\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\r\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\r\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\r\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\r\n//\r\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\r\n// 767.98px\r\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\r\n $next: breakpoint-next($name, $breakpoints);\r\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\r\n}\r\n\r\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\r\n// Makes the @content apply to the given breakpoint and wider.\r\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\r\n $min: breakpoint-min($name, $breakpoints);\r\n\r\n @if $min {\r\n @media (min-width: $min) {\r\n @content;\r\n }\r\n }\r\n\r\n @else {\r\n @content;\r\n }\r\n}\r\n\r\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\r\n// Makes the @content apply to the given breakpoint and narrower.\r\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\r\n $max: breakpoint-max($name, $breakpoints);\r\n\r\n @if $max {\r\n @media (max-width: $max) {\r\n @content;\r\n }\r\n }\r\n\r\n @else {\r\n @content;\r\n }\r\n}\r\n\r\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\r\n $min: breakpoint-min($lower, $breakpoints);\r\n $max: breakpoint-max($upper, $breakpoints);\r\n\r\n @if $min and $max {\r\n @media (min-width: $min) and (max-width: $max) {\r\n @content;\r\n }\r\n }\r\n\r\n @else {\r\n @content;\r\n }\r\n}\r\n",null,"@import \"../variables\";\r\n@import \"breakpoints\";\r\n\r\n\r\n.hidden-sm {\r\n @include media-breakpoint-down(lg) {\r\n display: none!important;\r\n }\r\n}\r\n\r\n.article > .col-md-8 {\r\n @include media-breakpoint-down(lg) {\r\n width: 100%;\r\n }\r\n}\r\n\r\n.sideaffix {\r\n overflow: auto;\r\n padding-top:36px;\r\n margin-top:0;\r\n .affix ul > li.active > ul, .affix ul > li.active > a:before, .affix ul > li > a:hover:before {\r\n white-space: normal;\r\n }\r\n\r\n > div.contribution > ul > li > a.contribution-link {\r\n font-family: 'Open Sans';\r\n font-style: normal;\r\n font-weight: 400;\r\n font-size: 14px;\r\n line-height: 20px;\r\n letter-spacing: 0.25px;\r\n }\r\n\r\n #affix {\r\n font-size: 16px;\r\n font-weight: 600;\r\n line-height: 1.5;\r\n height: auto;\r\n a {\r\n color: $darkgray;\r\n font-size: 14px;\r\n line-height: 20px;\r\n font-weight: 400;\r\n letter-spacing: 0.25px;\r\n }\r\n \r\n ul > li.active > a {\r\n font-weight: bold;\r\n &:before {\r\n color: $darkgray;\r\n }\r\n ul > li.active > a {\r\n font-weight: bold;\r\n &:before {\r\n color: $darkgray;\r\n }\r\n }\r\n }\r\n\r\n ul ul > li > a:before {\r\n top: 2px;\r\n }\r\n li:last-child {\r\n padding-bottom: 16px;\r\n margin-bottom: 0;\r\n }\r\n\r\n .title {\r\n text-transform: uppercase;\r\n font-size: 12px;\r\n font-style: normal;\r\n font-weight: 500;\r\n line-height: 16px; /* 133.333% */\r\n letter-spacing: 1.5px;\r\n }\r\n\r\n .level1::before {\r\n width: 75%;\r\n }\r\n\r\n .level1::after {\r\n width: 75%;\r\n }\r\n }\r\n\r\n h5 {\r\n letter-spacing: 1.5px;\r\n font-size: 12px;\r\n line-height: 16px;\r\n text-transform: uppercase;\r\n color: $gray;\r\n }\r\n}\r\n\r\n","@import '../variables';\r\n\r\n.alert {\r\n background-color: transparent;\r\n border-color: $lightgray;\r\n color: $darkgray;\r\n padding: 16px 16px;\r\n transition: transform .2s;\r\n}\r\n\r\n.alert-hover {\r\n &:hover {\r\n transform: scale(1.05);\r\n border-color: $blue;\r\n box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.2);\r\n h4{\r\n color: $blue;\r\n }\r\n }\r\n}\r\n",null,"@media(min-width: 1024px){.visibility-opacity-transition,#header-container nav>ul>li.menu-item-has-children>ul ul,#header-container nav>ul>li.menu-item-has-children>ul{visibility:hidden;opacity:0;transition:visibility 100ms,opacity 100ms ease-in-out;list-style:none}}#header-container{padding:16px 32px;z-index:9999;background:#fff;display:flex;position:fixed;width:100%;min-height:67px;max-height:67px;border-bottom:1px solid #f4f2f3;justify-content:space-between}#header-container::after,#header-container::before{content:none}#header-container #menu-menu-principal{float:right;list-style:none}@media(max-width: 1023px){#header-container #menu-menu-principal{width:100%;max-height:70vh;overflow-y:auto}}@media(min-width: 1024px){#header-container #menu-menu-principal{display:flex}}#header-container #header-logo-container{width:36px;vertical-align:middle;z-index:9}#header-container #header-logo-container img{width:100%}@media(min-width: 1024px){#header-container #header-logo-container{min-width:120px}}#header-container .navbar-toggle{padding:0;margin:10px 0;display:none !important;z-index:9}#header-container .navbar-toggle .icon-bar{background:#333;width:20px}#header-container .navbar-toggle .icon-bar+.icon-bar{margin-top:3px}@media(max-width: 1023px){#header-container .navbar-toggle{display:block !important}}#header-container .navbar-brand{height:auto}#header-container nav a{padding:10px;font-size:13px;font-weight:600;font-stretch:normal;font-style:normal;line-height:14px;letter-spacing:normal;text-transform:uppercase;color:#242424}#header-container nav a:hover,#header-container nav a:focus{color:#7a67f8}@media(min-width: 1024px){#header-container nav a{font-size:19px;line-height:17px}}@media(min-width: 1024px){#header-container nav>ul>li{margin:0 4px;align-self:center;min-width:max-content}}@media(min-width: 1180px){#header-container nav>ul>li{margin:0 16px}}#header-container nav>ul>li.menu-item-has-children{position:relative}#header-container nav>ul>li.menu-item-has-children>a::after{display:inline-block;text-rendering:auto;-webkit-font-smoothing:antialiased;font:normal normal normal 10px/1 FontAwesome;content:\"\";line-height:12px;margin-left:12px;vertical-align:top}@media(min-width: 1024px){#header-container nav>ul>li.menu-item-has-children>a::after{line-height:21px;font:normal normal normal 15px/1 FontAwesome}}#header-container nav>ul>li.menu-item-has-children>ul{width:100%}@media(min-width: 1024px){#header-container nav>ul>li.menu-item-has-children>ul{width:max-content;display:flex;position:absolute;padding:20px;top:170% !important;left:-25% !important;flex-direction:column;box-shadow:0 0 20px 2px rgba(36,36,36,.2);background-color:#fff}}#header-container nav>ul>li.menu-item-has-children>ul li{display:flex;border-bottom:1px solid #eaf2f9;background:#fff}@media(min-width: 1024px){#header-container nav>ul>li.menu-item-has-children>ul li{border:none}}#header-container nav>ul>li.menu-item-has-children>ul li.menu-item a{font-weight:600;padding:6px 0}#header-container nav>ul>li.menu-item-has-children>ul li.spacing-top a{margin-top:15px}#header-container nav>ul>li.menu-item-has-children>ul li.column-title a{border-bottom:1px solid #3a3a3a;font-weight:700;border-radius:0;margin-bottom:8px;padding-bottom:14px}#header-container nav>ul>li.menu-item-has-children>ul li.header-menu-category a{color:#7d7d7d;font-weight:700;border-bottom:1px solid #3a3a3a;cursor:unset;border-radius:0;margin-bottom:8px;padding-bottom:14px;width:100%}#header-container nav>ul>li.menu-item-has-children>ul a{font-size:14px;font-weight:400;line-height:20px;text-transform:none;transition:0s}#header-container nav>ul>li.menu-item-has-children>ul .column-title{flex-direction:column}#header-container nav>ul>li.menu-item-has-children>ul .column-title>a{font-weight:700;line-height:normal !important}#header-container nav>ul>li.menu-item-has-children>ul .column-title ul{width:192px;padding:0}#header-container nav>ul>li.menu-item-has-children>ul ul{display:flex;position:inherit;flex-direction:column}#header-container nav>ul>li.menu-item-has-children>ul ul a{border-left:0}#header-container nav>ul>li.menu-item-has-children:hover>ul{visibility:visible;opacity:1}#header-container nav>ul>li.menu-item-has-children:hover>ul:not([style*=\"display: none;\"]) .menu-item-has-children ul{visibility:visible;opacity:1}#header-container nav>ul>li.row-menu>ul{flex-direction:row}#header-container .get-started-btn a{display:block;border:none;border-radius:8px;margin-left:0;padding:8px 32px;font-size:16px;line-height:24px;font-weight:700;min-width:125px;text-align:center;text-transform:none;color:#242424;background-color:#67e5ad;background:linear-gradient(to top, #159bff 50%, #67e5ad 50%);background-size:100% 200%;background-position:left top;transition:all .5s cubic-bezier(0.69, 0.04, 0.9, 0.65)}#header-container .get-started-btn a:hover{color:#fff;background-position:bottom left}@media(max-width: 1023px){#navbar{overflow:auto !important;position:fixed;width:100%;margin:0;padding:0;padding-top:67px;left:0;text-align:left;background:#eaf2f9;transition:height .4s ease .1s,opacity .6s ease;opacity:0}#navbar.collapse{height:67px !important;display:none !important}#navbar.collapse.in{display:block !important;height:100vh !important;opacity:1}#navbar .menu{display:block;margin:0;padding:0 0 10px 0}#navbar .menu li{display:block;padding:0}#navbar .menu li.get-started-btn{position:absolute;padding:0 16px;bottom:10%;width:100%}#navbar .menu li.menu-item-has-children{position:relative}#navbar .menu li.menu-item-has-children ul{position:relative;max-height:0;padding:0;overflow:hidden;transition:all .5s ease}#navbar .menu li.menu-item-has-children.open ul{max-height:1500px}#navbar .menu a{display:block;padding:10px 25px}}.subnav{position:fixed;top:67px;width:100%;z-index:999;background-color:#f8f8f8}","@import \"../variables\";\r\n@import \"breakpoints\";\r\n\r\n/**\r\n * General notes:\r\n * This file is modifying the elementor menu as simply as it can. The selector are a bit hard to\r\n * understand because we cannot add class or ids on the menu.\r\n *\r\n * This is a modified version of the css in the header.scss file from the main website.\r\n * It was modified as little as possible, but they are quite different.\r\n *\r\n * Pixel are preferred as unit since the body font size is not the same as the website.\r\n * This causes relative units (em, rem) to behave differently.\r\n */\r\n\r\n.visibility-opacity-transition {\r\n @include media-breakpoint-up(lg) {\r\n visibility: hidden;\r\n opacity: 0;\r\n transition: visibility 100ms, opacity 100ms ease-in-out;\r\n\r\n list-style: none;\r\n }\r\n}\r\n\r\n#header-container {\r\n padding: 16px 32px;\r\n z-index: 9999;\r\n background: #fff;\r\n\r\n display: flex;\r\n position: fixed;\r\n width: 100%;\r\n min-height: 67px;\r\n max-height: 67px;\r\n border-bottom: 1px solid #f4f2f3;\r\n justify-content: space-between;\r\n\r\n\r\n &::after,\r\n &::before {\r\n content: none;\r\n }\r\n\r\n #menu-menu-principal {\r\n float: right;\r\n list-style: none;\r\n\r\n @media (max-width: 1023px) {\r\n width: 100%;\r\n // 70vh is a magic value found by trial and error.\r\n max-height: 70vh;\r\n overflow-y: auto;\r\n }\r\n\r\n @include media-breakpoint-up(lg) {\r\n display: flex;\r\n }\r\n }\r\n\r\n\r\n #header-logo-container {\r\n width: 36px;\r\n vertical-align: middle;\r\n z-index: 9;\r\n\r\n\r\n img {\r\n width: 100%;\r\n }\r\n\r\n @include media-breakpoint-up(lg) {\r\n min-width: 120px;\r\n }\r\n }\r\n\r\n .navbar-toggle {\r\n padding: 0;\r\n margin: 10px 0;\r\n display: none !important;\r\n z-index: 9;\r\n\r\n .icon-bar {\r\n background: $darkgray;\r\n width: 20px;\r\n }\r\n\r\n .icon-bar + .icon-bar {\r\n margin-top: 3px;\r\n }\r\n\r\n @media (max-width: 1023px) {\r\n display: block !important;\r\n }\r\n }\r\n\r\n .navbar-brand {\r\n height: auto;\r\n }\r\n\r\n nav {\r\n a {\r\n padding: 10px;\r\n font-size: 13px;\r\n font-weight: 600;\r\n font-stretch: normal;\r\n font-style: normal;\r\n line-height: 14px;\r\n letter-spacing: normal;\r\n text-transform: uppercase;\r\n color: $black;\r\n\r\n &:hover,\r\n &:focus {\r\n color: $purple;\r\n }\r\n\r\n @include media-breakpoint-up(lg) {\r\n font-size: 19px;\r\n line-height: 17px;\r\n }\r\n }\r\n\r\n /**\r\n * Top level menu items\r\n */\r\n & > ul > li {\r\n\r\n @include media-breakpoint-up(lg) {\r\n margin: 0 4px;\r\n align-self: center;\r\n min-width: max-content;\r\n }\r\n\r\n @include media-breakpoint-up(navbar) {\r\n margin: 0 16px;\r\n }\r\n\r\n /**\r\n * menu-item-has-children means there is a submenu\r\n */\r\n &.menu-item-has-children {\r\n // actual submenu\r\n position: relative;\r\n\r\n & > a {\r\n\r\n &::after {\r\n display: inline-block;\r\n text-rendering: auto;\r\n -webkit-font-smoothing: antialiased;\r\n font: normal normal normal 10px/1 FontAwesome;\r\n content: \"\\f078\";\r\n line-height: 12px;\r\n margin-left: 12px;\r\n vertical-align: top;\r\n\r\n @include media-breakpoint-up(lg) {\r\n line-height: 21px;\r\n font: normal normal normal 15px/1 FontAwesome;\r\n }\r\n }\r\n }\r\n\r\n & > ul {\r\n @extend .visibility-opacity-transition;\r\n width: 100%;\r\n\r\n @include media-breakpoint-up(lg) {\r\n width: max-content;\r\n display: flex;\r\n position: absolute;\r\n padding: 20px;\r\n top: 170% !important;\r\n left: -25% !important;\r\n\r\n flex-direction: column;\r\n\r\n box-shadow: 0 0 20px 2px rgba(36, 36, 36, 0.2);\r\n background-color: $white;\r\n }\r\n\r\n li {\r\n display: flex;\r\n border-bottom: 1px solid $lightblue;\r\n background: $white;\r\n\r\n @include media-breakpoint-up(lg) {\r\n border: none;\r\n }\r\n\r\n &.menu-item a {\r\n font-weight: 600;\r\n padding: 6px 0;\r\n }\r\n\r\n &.spacing-top a {\r\n margin-top: 15px;\r\n }\r\n\r\n &.column-title a {\r\n border-bottom: 1px solid #3A3A3A;\r\n font-weight: 700;\r\n border-radius: 0;\r\n margin-bottom: 8px;\r\n padding-bottom: 14px;\r\n }\r\n\r\n &.header-menu-category a {\r\n color: #7D7D7D;\r\n font-weight: 700;\r\n border-bottom: 1px solid #3A3A3A;\r\n cursor: unset;\r\n border-radius: 0;\r\n margin-bottom: 8px;\r\n padding-bottom: 14px;\r\n width:100%\r\n }\r\n\r\n }\r\n\r\n a {\r\n font-size: 14px;\r\n font-weight: 400;\r\n line-height: 20px;\r\n text-transform: none;\r\n\r\n transition: 0s;\r\n }\r\n\r\n .column-title {\r\n flex-direction: column;\r\n\r\n & > a {\r\n font-weight: 700;\r\n line-height: normal !important;\r\n }\r\n\r\n ul {\r\n width: 192px;\r\n padding: 0;\r\n }\r\n }\r\n\r\n // sub-menu columns\r\n ul {\r\n @extend .visibility-opacity-transition;\r\n display: flex;\r\n position: inherit;\r\n\r\n flex-direction: column;\r\n\r\n a {\r\n border-left: 0;\r\n }\r\n }\r\n }\r\n\r\n // shows the submenu\r\n &:hover > ul {\r\n visibility: visible;\r\n opacity: 1;\r\n\r\n /**\r\n * This selector makes sure the submenu of a submenu appears under it\r\n * instead of on hover. This is to displays submenus as columns.\r\n */\r\n &:not([style*=\"display: none;\"]) {\r\n .menu-item-has-children {\r\n ul {\r\n visibility: visible;\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * row-menu : the row menu class puts the first element of the menu in a row\r\n * instead of a column (default). This makes it possible to have\r\n * multiple columns side by side by add the row-menu class in wordpress.\r\n */\r\n &.row-menu > ul {\r\n flex-direction: row;\r\n }\r\n\r\n }\r\n }\r\n\r\n .get-started-btn {\r\n a {\r\n display: block;\r\n border: none;\r\n border-radius: 8px;\r\n\r\n margin-left: 0;\r\n padding: 8px 32px;\r\n\r\n font-size: 16px;\r\n line-height: 24px;\r\n font-weight: 700;\r\n min-width: 125px;\r\n text-align: center;\r\n text-transform: none;\r\n color: $black;\r\n\r\n background-color: $turquoise;\r\n background: linear-gradient(to top, $blue 50%, $turquoise 50%);\r\n background-size: 100% 200%;\r\n background-position: left top;\r\n transition: all 0.5s cubic-bezier(.69, .04, .9, .65);\r\n\r\n &:hover {\r\n color: $white;\r\n background-position: bottom left;\r\n }\r\n }\r\n }\r\n}\r\n\r\n#navbar {\r\n @media (max-width: 1023px) {\r\n\r\n overflow: auto !important;\r\n\r\n position: fixed;\r\n width: 100%;\r\n margin: 0;\r\n padding: 0;\r\n\r\n padding-top: 67px;\r\n left: 0;\r\n\r\n text-align: left;\r\n\r\n background: $lightblue;\r\n\r\n transition: height .4s ease .1s, opacity .6s ease;\r\n opacity: 0;\r\n\r\n &.collapse {\r\n height: 67px !important;\r\n display: none !important;\r\n }\r\n\r\n\r\n &.collapse.in {\r\n display: block !important;\r\n height: 100vh !important;\r\n opacity: 1;\r\n }\r\n\r\n .menu {\r\n display: block;\r\n margin: 0;\r\n padding: 0 0 10px 0;\r\n\r\n li {\r\n display: block;\r\n padding: 0;\r\n\r\n &.get-started-btn {\r\n position: absolute;\r\n padding: 0 16px;\r\n bottom: 10%;\r\n width: 100%;\r\n }\r\n\r\n &.menu-item-has-children {\r\n position: relative;\r\n\r\n ul {\r\n position: relative;\r\n max-height: 0;\r\n padding: 0;\r\n\r\n overflow: hidden;\r\n transition: all .5s ease;\r\n }\r\n\r\n &.open {\r\n ul {\r\n max-height: 1500px;\r\n }\r\n }\r\n }\r\n }\r\n\r\n a {\r\n display: block;\r\n padding: 10px 25px;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.subnav {\r\n position: fixed;\r\n top: 67px;\r\n width: 100%;\r\n z-index: 999;\r\n background-color: #f8f8f8;\r\n}\r\n","@import \"../variables\";\r\n\r\n:root {\r\n --docsearch-primary-color: #{$blue} !important;\r\n --docsearch-logo-color: #{$blue} !important;\r\n}\r\n\r\n.sidefilter {\r\n\r\n background-color: transparent;\r\n padding: 24px;\r\n height: auto;\r\n border: 1px solid #e7e7e7;\r\n border-top: 0;\r\n\r\n .DocSearch-Button {\r\n background: transparent;\r\n border: 2px inset $darkgray;\r\n border-radius: 6px;\r\n margin: 0;\r\n min-height: 45px;\r\n padding: 10px;\r\n width: 100%;\r\n }\r\n\r\n .DocSearch-Button:active, .DocSearch-Button:focus, .DocSearch-Button:hover {\r\n border: 2px solid $blue;\r\n box-shadow: none;\r\n }\r\n\r\n .DocSearch-Button .DocSearch-Search-Icon {\r\n display: none;\r\n }\r\n\r\n .DocSearch-Button-Placeholder {\r\n color: rgb(117, 117, 117);\r\n font-family: \"Open Sans\", sans-serif;\r\n font-size: 14px;\r\n line-height: 20px;\r\n padding: 10px;\r\n display: block;\r\n }\r\n}\r\n\r\n.DocSearch.DocSearch-Container {\r\n z-index: 9999;\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["../main.css","../main.scss","../variables.scss","../component/breakpoints.scss","variables.css","../component/affix.scss","../component/alerts.scss","component/breakpoints.css","../component/navbar.css","../component/navbar.scss","../service/search.scss"],"names":[],"mappings":"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","file":"main.css","sourcesContent":["@import\"https://fonts.googleapis.com/css?family=Open+Sans:500,600,700,800,400italic,700italic,400\";@import\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css\";:target::before{content:\"\";display:block;margin-top:-130px;height:130px;width:1px}body{font-family:\"Open Sans\",sans-serif;color:#242424;font-size:16px;line-height:24px;font-weight:400;text-transform:none;color:#242424;letter-spacing:.5px}body mark{background:rgba(21,155,255,.25)}body .toc{background-color:rgba(0,0,0,0);padding:24px;padding-top:12px;margin:0}.row:before{content:none}.row:after{content:\"\"}a{color:#159bff}a:hover,a:active{color:#333}h1{font-size:40px;line-height:48px;font-weight:700;text-transform:none;text-align:left;color:#242424;letter-spacing:-1.5px;padding:24px 0}h2{font-size:24px;line-height:32px;font-weight:700;text-transform:none;color:#242424;letter-spacing:-0.5px}h3{font-size:20px;line-height:24px;font-weight:700;text-transform:none;color:#242424}h4{font-size:18px;line-height:24px;font-weight:700;text-transform:none;color:#242424}subtitle{font-size:14px;line-height:24px;font-weight:600;text-transform:none;color:#242424;letter-spacing:.1px}h5{font-family:\"Roboto\";font-style:normal;letter-spacing:1.5px;font-size:12px;line-height:16px;font-weight:500;text-transform:uppercase;color:#242424}@media screen{pre{overflow:auto}pre>code{white-space:pre;font-size:14px;line-height:20px;font-weight:400;text-transform:none;color:#242424;letter-spacing:.25px}}.container{width:100%}#breadcrumb{padding:0 32px}.breadcrumb{white-space:inherit;font-size:14px;line-height:24px;font-weight:400;color:#242424;padding:16px 0}.body-content .article{margin-right:0}@media only screen and (min-width: 768px){.sidefilter{width:24%}}@media(min-width: 768px)and (max-width: 1023.98px){.sidefilter{width:30%}}@media only screen and (min-width: 768px){.article.grid-right{margin-left:26%}}@media(min-width: 768px)and (max-width: 1023.98px){.article.grid-right{margin-left:32%}}.sidetoc{top:180px;background-color:#fff !important}@media only screen and (min-width: 768px){.sidetoc{width:24%}}@media(min-width: 768px)and (max-width: 1023.98px){.sidetoc{width:30%}}@media(min-width: 768px)and (max-width: 990.98px){.sidetoc{border-left:1px solid #e7e7e7;border-right:1px solid #e7e7e7;position:fixed}}.sidetoc .nav>li{line-height:24px}.sidetoc .nav>li a{font-size:14px;font-weight:400;text-transform:none;color:#242424;letter-spacing:.1px}.sidetoc .nav.level1>li,.sidetoc .nav.level2>li{line-height:20px}.sidetoc .nav.level1>li>a,.sidetoc .nav.level2>li>a{font-size:14px;font-weight:400;text-transform:none;color:#242424;letter-spacing:.25px}.sidetoc .nav>li.active>a{color:#333;font-weight:600}.sidetoc .nav>li.active>a:last-child{border-radius:6px;background-color:#f1f1f1;width:100%}.sidetoc .nav>li.active>a:hover{color:#000}.sidetoc .toc .nav .in ul li{margin-left:9px}.sidetoc .toc .nav>li.filtered>ul,.sidetoc .toc .nav>li.in>ul{display:block}@media only screen and (max-width: 768.98px){.sidetoc .toc .nav>li.filtered>ul,.sidetoc .toc .nav>li.in>ul{display:grid}}@media only screen and (max-width: 768.98px){.sidetoc .toc li:after{display:none}}.sidetoc .toc .nav>li>.expand-stub::before{font-family:\"Glyphicons Halflings\",\"ui-sans-serif\";content:\"\";font-size:.8em}.sidetoc .toc .nav>li.in>.expand-stub::before{font-family:\"Glyphicons Halflings\",\"ui-sans-serif\";display:inline-block;content:\"\";font-size:.8em;transform:rotate(90deg)}.sidetoc .toc .nav>li>.expand-stub+a{margin-left:15px}.sidetoc .toc .nav>li>a{margin-left:0;padding-left:5px}.sidetoc .toc .nav>li>.expand-stub{left:4px}.sidetoc .toc ul ul>li>a:before{content:\"\"}.sidetoc .toc ul{padding-left:5px;text-align:left}@media only screen and (max-width: 768.98px){.sidetoc .toc ul{text-align:left}}@media only screen and (max-width: 768.98px){.sidetoc .toc{margin-left:0}}@media only screen{.sidetoc .toc ul{margin:0}.sidetoc .toc ul li a{margin:0}}.sidenav{background-color:#fff;border-bottom:1px solid #e7e7e7}@media only screen and (max-width: 768.98px){.sidenav{position:fixed;width:100%;z-index:999}}@media(min-width: 768px)and (max-width: 990.98px){.sidenav{background:rgba(0,0,0,0);padding:0;margin:0;border:none}}.btn.toc-toggle.collapse{color:#333;text-align:left}@media(min-width: 768px)and (max-width: 990.98px){.btn.toc-toggle.collapse{display:none}}.front-page article section{margin-left:auto}.front-page p{margin:20px auto}.front-page .subnav,.front-page .sideaffix,.front-page .footer{display:none}.front-page .body-content{width:100%;padding:0;overflow:hidden}.front-page .body-content .article{margin:0 !important}.front-page .body-content .article>[class*=col]{width:auto;padding:0;float:none}.front-page .button{display:inline-block}.front-page .button a{display:inline-block;padding:7px 17px;font-size:16px;line-height:16px;font-weight:700;box-shadow:0 2px 4px 0 rgba(31,31,31,.25);border-radius:8px;transition:color .2s ease-in-out,background-color .2s ease-in-out}.front-page .button.white a{background:#fff;color:#333}.front-page .button.white a:hover{background:#7a67f8;color:#fff}.front-page .button.turquoise a{background:#7a67f8;color:#fff}.front-page .button.turquoise a:hover{background:#654ff7}.front-page .intro{padding:100px 15px 60px;text-align:center;font-size:18px;position:relative}@media screen and (min-width: 768px){.front-page .intro{padding:200px 15px 120px}}.front-page .intro h1{font-size:36px;text-transform:none;font-weight:600;width:auto;max-width:100%;margin:0 auto;letter-spacing:normal}@media screen and (min-width: 768px){.front-page .intro h1{font-size:44px}}.front-page .intro p{width:100%;font-size:22px}.front-page .intro strong{font-weight:bold}.front-page .intro .button a{margin-top:20px}.front-page .headerboxes{display:flex;flex-wrap:wrap;padding:40px 15px;background-color:#f4f2f3}@media screen and (min-width: 768px){.front-page .headerboxes{padding:80px 15px}}.front-page .headerboxes .headerbox{margin:40px auto}.front-page .headerboxes .headerbox-inner{padding:0;height:100%}.front-page .headerboxes h2{font-size:30px;font-weight:600;text-transform:none}.front-page .headerboxes h2 .anchorjs-link{display:none}.front-page .headerboxes p{font-size:16px;font-weight:600}.front-page .headerboxes .icon{margin:0}.DocSearch-Hit-content-wrapper{height:100%}.lang-mermaid svg{height:auto}.tabGroup{margin-top:1rem;margin-bottom:1rem}.tabGroup section[role=tabpanel]>pre:last-child{margin-bottom:0}.code-header{box-sizing:content-box;background-color:#f2f2f2;color:#171717;display:flex;flex-direction:row;border:1px solid #e3e3e3;border-bottom:0;margin-top:16px;min-height:30px}.tabGroup section[role=tabpanel]>.codeHeader,.tabGroup section[role=tabpanel]>pre{margin-left:0;margin-right:0}.code-header>.language{padding:2px 16px;flex-grow:1;text-transform:uppercase;line-height:26px}.code-header>.action{position:relative;padding:2px 10px;background-color:rgba(0,0,0,0);border:0 solid #e3e3e3;border-left-width:1px;color:#171717;cursor:pointer;display:flex;align-items:center;line-height:normal}.code-header .glyphicon{margin-right:.25em}.code-header>.action:hover{background-color:#fafafa}.code-header+pre{margin-top:0;border:1px solid #e3e3e3}.code-header>.action .successful-copy-alert{justify-content:center;align-items:center;right:0;left:0;bottom:0;top:0;position:absolute;display:flex;background-color:#128712;outline-color:#fff;color:#fff}.code-header>.action .successful-copy-alert.is-transparent{opacity:0;transition:500ms opacity ease-in-out}summary{display:list-item}","@import url('https://fonts.googleapis.com/css?family=Open+Sans:500,600,700,800,400italic,700italic,400');\r\n@import url(\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css\");\r\n@import \"variables\";\r\n@import \"component/breakpoints\";\r\n\r\n\r\n:target::before {\r\n content: '';\r\n display: block;\r\n margin-top: -130px;\r\n height: 130px;\r\n width: 1px;\r\n}\r\n\r\nbody {\r\n font-family: 'Open Sans', sans-serif;\r\n color: $black;\r\n font-size: 16px;\r\n line-height: 24px;\r\n font-weight: 400;\r\n text-transform: none;\r\n color:$black;\r\n letter-spacing: 0.5px;\r\n\r\n mark {\r\n background: rgba(21, 155, 255, 0.25);\r\n }\r\n\r\n .toc {\r\n background-color: transparent;\r\n padding: 24px;\r\n padding-top: 12px;\r\n margin: 0;\r\n }\r\n}\r\n\r\n.row {\r\n &:before {\r\n content: none;\r\n }\r\n\r\n &:after {\r\n content: '';\r\n }\r\n}\r\n\r\na {\r\n color: $blue;\r\n\r\n &:hover,\r\n &:active {\r\n color: $darkgray;\r\n }\r\n}\r\n\r\nh1 {\r\n font-size: 40px;\r\n line-height: 48px;\r\n font-weight: 700;\r\n text-transform: none;\r\n text-align: left;\r\n color:$black;\r\n letter-spacing: -1.5px;\r\n padding: 24px 0;\r\n}\r\n\r\nh2 {\r\n font-size: 24px;\r\n line-height: 32px;\r\n font-weight: 700;\r\n text-transform: none;\r\n color:$black;\r\n letter-spacing: -0.5px;\r\n}\r\n\r\nh3 {\r\n font-size: 20px;\r\n line-height: 24px;\r\n font-weight: 700;\r\n text-transform: none;\r\n color:$black;\r\n}\r\n\r\nh4 {\r\n font-size: 18px;\r\n line-height: 24px;\r\n font-weight: 700;\r\n text-transform: none;\r\n color:$black;\r\n}\r\n\r\nsubtitle {\r\n font-size: 14px;\r\n line-height: 24px;\r\n font-weight: 600;\r\n text-transform: none;\r\n color:$black;\r\n letter-spacing: 0.1px;\r\n}\r\n\r\n\r\n\r\nh5 {\r\n font-family: 'Roboto';\r\n font-style: normal;\r\n letter-spacing: 1.5px;\r\n font-size: 12px;\r\n line-height: 16px;\r\n font-weight: 500;\r\n text-transform: uppercase;\r\n color:$black;\r\n}\r\n\r\n@media screen {\r\n pre {\r\n overflow: auto;\r\n\r\n > code {\r\n white-space: pre;\r\n font-size: 14px;\r\n line-height: 20px;\r\n font-weight: 400;\r\n text-transform: none;\r\n color:$black;\r\n letter-spacing: 0.25px; \r\n }\r\n }\r\n}\r\n\r\n.container {\r\n width:100%;\r\n}\r\n\r\n#breadcrumb {\r\n padding: 0 32px;\r\n}\r\n\r\n.breadcrumb {\r\n white-space: inherit;\r\n font-size: 14px;\r\n line-height: 24px;\r\n font-weight:400;\r\n color:$black;\r\n padding: 16px 0;\r\n //padding: 0 16px 0 16px;\r\n}\r\n\r\n.body-content .article {\r\n margin-right: 0;\r\n}\r\n\r\n.sidefilter {\r\n @media only screen {\r\n @include media-breakpoint-up(md) {\r\n width: 24%;\r\n }\r\n }\r\n @include media-breakpoint-between(md, tablet){\r\n width: 30%;\r\n }\r\n}\r\n\r\n.article.grid-right {\r\n @media only screen {\r\n @include media-breakpoint-up(md) {\r\n margin-left: 26%;\r\n }\r\n }\r\n @include media-breakpoint-between(md, tablet){\r\n margin-left: 32%;\r\n }\r\n}\r\n\r\n.sidetoc {\r\n top: 180px;\r\n background-color: white !important;\r\n @media only screen {\r\n @include media-breakpoint-up(md) {\r\n width: 24%;\r\n }\r\n }\r\n @include media-breakpoint-between(md, tablet) {\r\n width: 30%; \r\n }\r\n\r\n @include media-breakpoint-between(md, mobile) {\r\n border-left: 1px solid #e7e7e7;\r\n border-right: 1px solid #e7e7e7;\r\n position: fixed;\r\n }\r\n\r\n .nav > li {\r\n line-height: 24px;\r\n \r\n a {\r\n font-size: 14px;\r\n font-weight: 400;\r\n text-transform: none;\r\n color:$black;\r\n letter-spacing: 0.1px;\r\n }\r\n }\r\n\r\n .nav.level1 , .nav.level2 {\r\n > li {\r\n line-height: 20px;\r\n \r\n > a {\r\n font-size: 14px;\r\n font-weight: 400;\r\n text-transform: none;\r\n color:$black;\r\n letter-spacing: 0.25px;\r\n }\r\n }\r\n }\r\n\r\n .nav > li.active > a {\r\n color: $darkgray;\r\n font-weight: 600;\r\n \r\n &:last-child {\r\n border-radius: 6px;\r\n background-color: #F1F1F1;\r\n width: 100%;\r\n }\r\n\r\n &:hover {\r\n color: #000;\r\n }\r\n }\r\n\r\n .toc .nav .in ul li {\r\n margin-left: 9px;\r\n }\r\n\r\n .toc .nav > li.filtered > ul, .toc .nav > li.in > ul {\r\n display: block;\r\n @media only screen {\r\n @include media-breakpoint-down(md) {\r\n display: grid;\r\n }\r\n }\r\n }\r\n\r\n \r\n .toc li:after {\r\n @media only screen {\r\n @include media-breakpoint-down(md) {\r\n display: none;\r\n }\r\n }\r\n }\r\n\r\n .toc {\r\n .nav > li > .expand-stub::before {\r\n font-family: 'Glyphicons Halflings', 'ui-sans-serif';\r\n content: '\\e258';\r\n font-size: 0.8em;\r\n }\r\n\r\n .nav > li.in > .expand-stub::before {\r\n font-family: 'Glyphicons Halflings', 'ui-sans-serif';\r\n display: inline-block;\r\n content: '\\e258';\r\n font-size: 0.8em;\r\n transform: rotate(90deg);\r\n }\r\n\r\n .nav > li > .expand-stub + a {\r\n margin-left: 15px;\r\n }\r\n\r\n .nav > li > a {\r\n margin-left: 0;\r\n padding-left: 5px;\r\n }\r\n\r\n .nav > li > .expand-stub {\r\n left: 4px;\r\n }\r\n\r\n ul ul > li > a:before {\r\n content: '';\r\n }\r\n\r\n ul {\r\n padding-left: 5px;\r\n text-align: left;\r\n @media only screen {\r\n @include media-breakpoint-down(md) {\r\n text-align: left;\r\n }\r\n }\r\n }\r\n\r\n @media only screen {\r\n @include media-breakpoint-down(md) {\r\n margin-left: 0;\r\n }\r\n ul {\r\n margin: 0;\r\n\r\n li a {\r\n margin: 0;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n.sidenav {\r\n background-color: #fff;\r\n border-bottom: 1px solid #e7e7e7;\r\n\r\n @media only screen {\r\n @include media-breakpoint-down(md) {\r\n position: fixed;\r\n width: 100%;\r\n z-index: 999;\r\n }\r\n }\r\n\r\n @include media-breakpoint-between(md, mobile) {\r\n background: transparent;\r\n padding: 0;\r\n margin: 0;\r\n border: none;\r\n }\r\n\r\n}\r\n\r\n.btn.toc-toggle.collapse {\r\n color: $darkgray;\r\n text-align: left;\r\n @include media-breakpoint-between(md, mobile) {\r\n display: none;\r\n }\r\n}\r\n\r\n.front-page {\r\n article section {\r\n margin-left: auto;\r\n }\r\n\r\n p {\r\n margin: 20px auto;\r\n }\r\n\r\n .subnav,\r\n .sideaffix,\r\n .footer {\r\n display: none;\r\n }\r\n\r\n\r\n .body-content {\r\n width: 100%;\r\n padding: 0;\r\n overflow: hidden;\r\n\r\n .article {\r\n margin: 0 !important;\r\n\r\n & > [class*='col'] {\r\n width: auto;\r\n padding: 0;\r\n float: none;\r\n }\r\n }\r\n }\r\n\r\n .button {\r\n display: inline-block;\r\n \r\n a {\r\n display: inline-block;\r\n padding: 7px 17px;\r\n font-size: 16px;\r\n line-height: 16px;\r\n font-weight: 700;\r\n box-shadow: 0 2px 4px 0 rgba(31, 31, 31, 0.25);\r\n border-radius: 8px;\r\n transition: color 0.2s ease-in-out,\r\n background-color 0.2s ease-in-out;\r\n }\r\n\r\n &.white a {\r\n background: #fff;\r\n color: $darkgray;\r\n\r\n &:hover {\r\n background: $purple;\r\n color: #fff;\r\n }\r\n }\r\n\r\n &.turquoise a {\r\n background: $purple;\r\n color: #fff;\r\n\r\n &:hover {\r\n background: darken($purple, 5);\r\n }\r\n }\r\n }\r\n\r\n .intro {\r\n padding: 100px 15px 60px;\r\n @media screen {\r\n @include media-breakpoint-up(md) {\r\n padding: 200px 15px 120px;\r\n }\r\n }\r\n text-align: center;\r\n font-size: 18px;\r\n position: relative;\r\n\r\n h1 {\r\n font-size: 36px;\r\n @media screen {\r\n @include media-breakpoint-up(md) {\r\n font-size: 44px;\r\n }\r\n }\r\n\r\n text-transform: none;\r\n font-weight: 600;\r\n width: auto;\r\n max-width: 100%;\r\n margin: 0 auto;\r\n letter-spacing: normal;\r\n }\r\n\r\n p {\r\n width: 100%;\r\n font-size: 22px;\r\n }\r\n\r\n strong {\r\n font-weight: bold;\r\n }\r\n\r\n .button a {\r\n margin-top: 20px;\r\n }\r\n }\r\n\r\n .headerboxes {\r\n display: flex;\r\n flex-wrap: wrap;\r\n padding: 40px 15px;\r\n @media screen {\r\n @include media-breakpoint-up(md) {\r\n padding: 80px 15px;\r\n }\r\n }\r\n\r\n background-color: #f4f2f3;\r\n\r\n .headerbox {\r\n margin: 40px auto;\r\n\r\n }\r\n\r\n .headerbox-inner {\r\n padding: 0;\r\n height: 100%;\r\n }\r\n\r\n h2 {\r\n font-size: 30px;\r\n font-weight: 600;\r\n text-transform: none;\r\n\r\n .anchorjs-link {\r\n display: none;\r\n }\r\n }\r\n\r\n p {\r\n font-size: 16px;\r\n font-weight: 600;\r\n }\r\n\r\n .icon {\r\n margin: 0;\r\n }\r\n }\r\n}\r\n\r\n// Algolia\r\n.DocSearch-Hit-content-wrapper {\r\n height: 100%;\r\n}\r\n\r\n// Mermaid graph\r\n/* Workaround until this issue https://github.com/mermaid-js/mermaid/issues/1984 is fixed and mermaid version updated */\r\n.lang-mermaid svg {\r\n height: auto;\r\n}\r\n\r\n// For tabbed content\r\n.tabGroup {\r\n margin-top: 1rem;\r\n margin-bottom: 1rem;\r\n}\r\n.tabGroup section[role=\"tabpanel\"] > pre:last-child {\r\n margin-bottom: 0;\r\n}\r\n\r\n// Easy-copy-code\r\n.code-header {\r\n box-sizing: content-box;\r\n background-color: #f2f2f2;\r\n color: #171717;\r\n display: flex;\r\n flex-direction: row;\r\n border: 1px solid #e3e3e3;\r\n border-bottom: 0;\r\n margin-top: 16px;\r\n min-height: 30px;\r\n}\r\n.tabGroup section[role=\"tabpanel\"] > .codeHeader, .tabGroup section[role=\"tabpanel\"] > pre {\r\n margin-left: 0;\r\n margin-right: 0;\r\n}\r\n// .tabGroup section[role=\"tabpanel\"] .code-header:first-child {\r\n// margin-top: -16px;\r\n// }\r\n.code-header > .language {\r\n padding: 2px 16px;\r\n flex-grow: 1;\r\n text-transform: uppercase;\r\n line-height: 26px;\r\n}\r\n.code-header > .action {\r\n position: relative;\r\n padding: 2px 10px;\r\n background-color: transparent;\r\n border: 0 solid #e3e3e3;\r\n border-left-width: 1px;\r\n color: #171717;\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n line-height: normal;\r\n}\r\n.code-header .glyphicon {\r\n margin-right: 0.25em;\r\n}\r\n.code-header > .action:hover {\r\n background-color: #fafafa;\r\n}\r\n.code-header + pre {\r\n margin-top: 0;\r\n border: 1px solid #e3e3e3;\r\n}\r\n.code-header > .action .successful-copy-alert {\r\n justify-content: center;\r\n align-items: center;\r\n right: 0;\r\n left: 0;\r\n bottom: 0;\r\n top: 0;\r\n position: absolute;\r\n display: flex;\r\n background-color: #128712;\r\n outline-color: #fff;\r\n color: #fff;\r\n}\r\n.code-header > .action .successful-copy-alert.is-transparent {\r\n opacity: 0;\r\n transition: 500ms opacity ease-in-out;\r\n}\r\n\r\n// This overrides the behavior from normalize.css\r\n// which is added by the current version of bootstrap\r\n// This should be removed once we update docfx and bootstrap\r\nsummary {\r\n display: list-item;\r\n}\r\n","$blue: #159bff;\r\n$lightblue: #EAF2F9;\r\n$purple: #7a67f8;\r\n$turquoise: #67e5ad;\r\n$darkgray: #333333;\r\n$lightgray: #f1f1f1;\r\n$white: #fff;\r\n$black: #242424;\r\n$gray: #9d9d9d;\r\n$offWhite: #fcfcfc;\r\n$green: #67e5ad;\r\n$red: #ed3f64;\r\n$orange: #ff9c1a;\r\n\r\n\r\n","// Breakpoint viewport sizes and media queries.\r\n//\r\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\r\n//\r\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\r\n//\r\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\r\n// Grid breakpoints\r\n//\r\n// There are two breakpoints that fit with the new elementor plugin.\r\n//\r\n// (mobile: 767px, tablet: 1024 px)\r\n//\r\n// Define the minimum dimensions at which your layout will change,\r\n// adapting to different screen sizes, for use in media queries.\r\n\r\n$grid-breakpoints: (xs: 0,\r\n sm: 375px,\r\n md: 768px,\r\n mobile: 769px,\r\n tablet: 991px,\r\n lg: 1024px,\r\n navbar: 1180px,\r\n xl: 1440px) !default;\r\n\r\n// Name of the next breakpoint, or null for the last breakpoint.\r\n//\r\n// >> breakpoint-next(sm)\r\n// md\r\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\r\n// md\r\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\r\n// md\r\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\r\n $n: index($breakpoint-names, $name);\r\n @return if($n !=null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\r\n}\r\n\r\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\r\n//\r\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\r\n// 576px\r\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\r\n $min: map-get($breakpoints, $name);\r\n @return if($min !=0, $min, null);\r\n}\r\n\r\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\r\n// The maximum value is calculated as the minimum of the next one less 0.02px\r\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\r\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\r\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\r\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\r\n//\r\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\r\n// 767.98px\r\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\r\n $next: breakpoint-next($name, $breakpoints);\r\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\r\n}\r\n\r\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\r\n// Makes the @content apply to the given breakpoint and wider.\r\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\r\n $min: breakpoint-min($name, $breakpoints);\r\n\r\n @if $min {\r\n @media (min-width: $min) {\r\n @content;\r\n }\r\n }\r\n\r\n @else {\r\n @content;\r\n }\r\n}\r\n\r\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\r\n// Makes the @content apply to the given breakpoint and narrower.\r\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\r\n $max: breakpoint-max($name, $breakpoints);\r\n\r\n @if $max {\r\n @media (max-width: $max) {\r\n @content;\r\n }\r\n }\r\n\r\n @else {\r\n @content;\r\n }\r\n}\r\n\r\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\r\n $min: breakpoint-min($lower, $breakpoints);\r\n $max: breakpoint-max($upper, $breakpoints);\r\n\r\n @if $min and $max {\r\n @media (min-width: $min) and (max-width: $max) {\r\n @content;\r\n }\r\n }\r\n\r\n @else {\r\n @content;\r\n }\r\n}\r\n",null,"@import \"../variables\";\r\n@import \"breakpoints\";\r\n\r\n\r\n.hidden-sm {\r\n @include media-breakpoint-down(lg) {\r\n display: none!important;\r\n }\r\n}\r\n\r\n.article > .col-md-8 {\r\n @include media-breakpoint-down(lg) {\r\n width: 100%;\r\n }\r\n}\r\n\r\n.sideaffix {\r\n overflow: auto;\r\n padding-top:36px;\r\n margin-top:0;\r\n .affix ul > li.active > ul, .affix ul > li.active > a:before, .affix ul > li > a:hover:before {\r\n white-space: normal;\r\n }\r\n\r\n > div.contribution > ul > li > a.contribution-link {\r\n font-family: 'Open Sans';\r\n font-style: normal;\r\n font-weight: 400;\r\n font-size: 14px;\r\n line-height: 20px;\r\n letter-spacing: 0.25px;\r\n }\r\n\r\n #affix {\r\n font-size: 16px;\r\n font-weight: 600;\r\n line-height: 1.5;\r\n height: auto;\r\n a {\r\n color: $darkgray;\r\n font-size: 14px;\r\n line-height: 20px;\r\n font-weight: 400;\r\n letter-spacing: 0.25px;\r\n }\r\n \r\n ul > li.active > a {\r\n font-weight: bold;\r\n &:before {\r\n color: $darkgray;\r\n }\r\n ul > li.active > a {\r\n font-weight: bold;\r\n &:before {\r\n color: $darkgray;\r\n }\r\n }\r\n }\r\n\r\n ul ul > li > a:before {\r\n top: 2px;\r\n }\r\n li:last-child {\r\n padding-bottom: 16px;\r\n margin-bottom: 0;\r\n }\r\n\r\n .title {\r\n text-transform: uppercase;\r\n font-size: 12px;\r\n font-style: normal;\r\n font-weight: 500;\r\n line-height: 16px; /* 133.333% */\r\n letter-spacing: 1.5px;\r\n }\r\n\r\n .level1::before {\r\n width: 75%;\r\n }\r\n\r\n .level1::after {\r\n width: 75%;\r\n }\r\n }\r\n\r\n h5 {\r\n letter-spacing: 1.5px;\r\n font-size: 12px;\r\n line-height: 16px;\r\n text-transform: uppercase;\r\n color: $gray;\r\n }\r\n}\r\n\r\n","@import '../variables';\r\n\r\n.alert {\r\n background-color: transparent;\r\n border-color: $lightgray;\r\n color: $darkgray;\r\n padding: 16px 16px;\r\n transition: transform .2s;\r\n}\r\n\r\n.alert-hover {\r\n &:hover {\r\n transform: scale(1.05);\r\n border-color: $blue;\r\n box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.2);\r\n h4{\r\n color: $blue;\r\n }\r\n }\r\n}\r\n",null,"@media(min-width: 1024px){.visibility-opacity-transition,#header-container nav>ul>li.menu-item-has-children>ul ul,#header-container nav>ul>li.menu-item-has-children>ul{visibility:hidden;opacity:0;transition:visibility 100ms,opacity 100ms ease-in-out;list-style:none}}#header-container{padding:16px 32px;z-index:9999;background:#fff;display:flex;position:fixed;width:100%;min-height:67px;max-height:67px;border-bottom:1px solid #f4f2f3;justify-content:space-between}#header-container::after,#header-container::before{content:none}#header-container #menu-menu-principal{float:right;list-style:none}@media(max-width: 1023px){#header-container #menu-menu-principal{width:100%;max-height:70vh;overflow-y:auto}}@media(min-width: 1024px){#header-container #menu-menu-principal{display:flex}}#header-container #header-logo-container{width:36px;vertical-align:middle;z-index:9}#header-container #header-logo-container img{width:100%}@media(min-width: 1024px){#header-container #header-logo-container{min-width:120px}}#header-container .navbar-toggle{padding:0;margin:10px 0;display:none !important;z-index:9}#header-container .navbar-toggle .icon-bar{background:#333;width:20px}#header-container .navbar-toggle .icon-bar+.icon-bar{margin-top:3px}@media(max-width: 1023px){#header-container .navbar-toggle{display:block !important}}#header-container .navbar-brand{height:auto}#header-container nav a{padding:10px;font-size:13px;font-weight:600;font-stretch:normal;font-style:normal;line-height:14px;letter-spacing:normal;text-transform:uppercase;color:#242424}#header-container nav a:hover,#header-container nav a:focus{color:#7a67f8}@media(min-width: 1024px){#header-container nav a{font-size:19px;line-height:17px}}@media(min-width: 1024px){#header-container nav>ul>li{margin:0 4px;align-self:center;min-width:max-content}}@media(min-width: 1180px){#header-container nav>ul>li{margin:0 16px}}#header-container nav>ul>li.menu-item-has-children{position:relative}#header-container nav>ul>li.menu-item-has-children>a::after{display:inline-block;text-rendering:auto;-webkit-font-smoothing:antialiased;font:normal normal normal 10px/1 FontAwesome;content:\"\";line-height:12px;margin-left:12px;vertical-align:top}@media(min-width: 1024px){#header-container nav>ul>li.menu-item-has-children>a::after{line-height:21px;font:normal normal normal 15px/1 FontAwesome}}#header-container nav>ul>li.menu-item-has-children>ul{width:100%}@media(min-width: 1024px){#header-container nav>ul>li.menu-item-has-children>ul{width:max-content;display:flex;position:absolute;padding:20px;top:170% !important;left:-25% !important;flex-direction:column;box-shadow:0 0 20px 2px rgba(36,36,36,.2);background-color:#fff}}#header-container nav>ul>li.menu-item-has-children>ul li{display:flex;border-bottom:1px solid #eaf2f9;background:#fff}@media(min-width: 1024px){#header-container nav>ul>li.menu-item-has-children>ul li{border:none}}#header-container nav>ul>li.menu-item-has-children>ul li.menu-item a{font-weight:600;padding:6px 0}#header-container nav>ul>li.menu-item-has-children>ul li.spacing-top a{margin-top:15px}#header-container nav>ul>li.menu-item-has-children>ul li.column-title a{border-bottom:1px solid #3a3a3a;font-weight:700;border-radius:0;margin-bottom:8px;padding-bottom:14px}#header-container nav>ul>li.menu-item-has-children>ul li.header-menu-category a{color:#7d7d7d;font-weight:700;border-bottom:1px solid #3a3a3a;cursor:unset;border-radius:0;margin-bottom:8px;padding-bottom:14px;width:100%}#header-container nav>ul>li.menu-item-has-children>ul a{font-size:14px;font-weight:400;line-height:20px;text-transform:none;transition:0s}#header-container nav>ul>li.menu-item-has-children>ul .column-title{flex-direction:column}#header-container nav>ul>li.menu-item-has-children>ul .column-title>a{font-weight:700;line-height:normal !important}#header-container nav>ul>li.menu-item-has-children>ul .column-title ul{width:192px;padding:0}#header-container nav>ul>li.menu-item-has-children>ul ul{display:flex;position:inherit;flex-direction:column}#header-container nav>ul>li.menu-item-has-children>ul ul a{border-left:0}#header-container nav>ul>li.menu-item-has-children:hover>ul{visibility:visible;opacity:1}#header-container nav>ul>li.menu-item-has-children:hover>ul:not([style*=\"display: none;\"]) .menu-item-has-children ul{visibility:visible;opacity:1}#header-container nav>ul>li.row-menu>ul{flex-direction:row}#header-container .get-started-btn a{display:block;border:none;border-radius:8px;margin-left:0;padding:8px 32px;font-size:16px;line-height:24px;font-weight:700;min-width:125px;text-align:center;text-transform:none;color:#242424;background-color:#67e5ad;background:linear-gradient(to top, #159bff 50%, #67e5ad 50%);background-size:100% 200%;background-position:left top;transition:all .5s cubic-bezier(0.69, 0.04, 0.9, 0.65)}#header-container .get-started-btn a:hover{color:#fff;background-position:bottom left}@media(max-width: 1023px){#navbar{overflow:auto !important;position:fixed;width:100%;margin:0;padding:0;padding-top:67px;left:0;text-align:left;background:#eaf2f9;transition:height .4s ease .1s,opacity .6s ease;opacity:0}#navbar.collapse{height:67px !important;display:none !important}#navbar.collapse.in{display:block !important;height:100vh !important;opacity:1}#navbar .menu{display:block;margin:0;padding:0 0 10px 0}#navbar .menu li{display:block;padding:0}#navbar .menu li.get-started-btn{position:absolute;padding:0 16px;bottom:10%;width:100%}#navbar .menu li.menu-item-has-children{position:relative}#navbar .menu li.menu-item-has-children ul{position:relative;max-height:0;padding:0;overflow:hidden;transition:all .5s ease}#navbar .menu li.menu-item-has-children.open ul{max-height:1500px}#navbar .menu a{display:block;padding:10px 25px}}.subnav{position:fixed;top:67px;width:100%;z-index:999;background-color:#f8f8f8}","@import \"../variables\";\r\n@import \"breakpoints\";\r\n\r\n/**\r\n * General notes:\r\n * This file is modifying the elementor menu as simply as it can. The selector are a bit hard to\r\n * understand because we cannot add class or ids on the menu.\r\n *\r\n * This is a modified version of the css in the header.scss file from the main website.\r\n * It was modified as little as possible, but they are quite different.\r\n *\r\n * Pixel are preferred as unit since the body font size is not the same as the website.\r\n * This causes relative units (em, rem) to behave differently.\r\n */\r\n\r\n.visibility-opacity-transition {\r\n @include media-breakpoint-up(lg) {\r\n visibility: hidden;\r\n opacity: 0;\r\n transition: visibility 100ms, opacity 100ms ease-in-out;\r\n\r\n list-style: none;\r\n }\r\n}\r\n\r\n#header-container {\r\n padding: 16px 32px;\r\n z-index: 9999;\r\n background: #fff;\r\n\r\n display: flex;\r\n position: fixed;\r\n width: 100%;\r\n min-height: 67px;\r\n max-height: 67px;\r\n border-bottom: 1px solid #f4f2f3;\r\n justify-content: space-between;\r\n\r\n\r\n &::after,\r\n &::before {\r\n content: none;\r\n }\r\n\r\n #menu-menu-principal {\r\n float: right;\r\n list-style: none;\r\n\r\n @media (max-width: 1023px) {\r\n width: 100%;\r\n // 70vh is a magic value found by trial and error.\r\n max-height: 70vh;\r\n overflow-y: auto;\r\n }\r\n\r\n @include media-breakpoint-up(lg) {\r\n display: flex;\r\n }\r\n }\r\n\r\n\r\n #header-logo-container {\r\n width: 36px;\r\n vertical-align: middle;\r\n z-index: 9;\r\n\r\n\r\n img {\r\n width: 100%;\r\n }\r\n\r\n @include media-breakpoint-up(lg) {\r\n min-width: 120px;\r\n }\r\n }\r\n\r\n .navbar-toggle {\r\n padding: 0;\r\n margin: 10px 0;\r\n display: none !important;\r\n z-index: 9;\r\n\r\n .icon-bar {\r\n background: $darkgray;\r\n width: 20px;\r\n }\r\n\r\n .icon-bar + .icon-bar {\r\n margin-top: 3px;\r\n }\r\n\r\n @media (max-width: 1023px) {\r\n display: block !important;\r\n }\r\n }\r\n\r\n .navbar-brand {\r\n height: auto;\r\n }\r\n\r\n nav {\r\n a {\r\n padding: 10px;\r\n font-size: 13px;\r\n font-weight: 600;\r\n font-stretch: normal;\r\n font-style: normal;\r\n line-height: 14px;\r\n letter-spacing: normal;\r\n text-transform: uppercase;\r\n color: $black;\r\n\r\n &:hover,\r\n &:focus {\r\n color: $purple;\r\n }\r\n\r\n @include media-breakpoint-up(lg) {\r\n font-size: 19px;\r\n line-height: 17px;\r\n }\r\n }\r\n\r\n /**\r\n * Top level menu items\r\n */\r\n & > ul > li {\r\n\r\n @include media-breakpoint-up(lg) {\r\n margin: 0 4px;\r\n align-self: center;\r\n min-width: max-content;\r\n }\r\n\r\n @include media-breakpoint-up(navbar) {\r\n margin: 0 16px;\r\n }\r\n\r\n /**\r\n * menu-item-has-children means there is a submenu\r\n */\r\n &.menu-item-has-children {\r\n // actual submenu\r\n position: relative;\r\n\r\n & > a {\r\n\r\n &::after {\r\n display: inline-block;\r\n text-rendering: auto;\r\n -webkit-font-smoothing: antialiased;\r\n font: normal normal normal 10px/1 FontAwesome;\r\n content: \"\\f078\";\r\n line-height: 12px;\r\n margin-left: 12px;\r\n vertical-align: top;\r\n\r\n @include media-breakpoint-up(lg) {\r\n line-height: 21px;\r\n font: normal normal normal 15px/1 FontAwesome;\r\n }\r\n }\r\n }\r\n\r\n & > ul {\r\n @extend .visibility-opacity-transition;\r\n width: 100%;\r\n\r\n @include media-breakpoint-up(lg) {\r\n width: max-content;\r\n display: flex;\r\n position: absolute;\r\n padding: 20px;\r\n top: 170% !important;\r\n left: -25% !important;\r\n\r\n flex-direction: column;\r\n\r\n box-shadow: 0 0 20px 2px rgba(36, 36, 36, 0.2);\r\n background-color: $white;\r\n }\r\n\r\n li {\r\n display: flex;\r\n border-bottom: 1px solid $lightblue;\r\n background: $white;\r\n\r\n @include media-breakpoint-up(lg) {\r\n border: none;\r\n }\r\n\r\n &.menu-item a {\r\n font-weight: 600;\r\n padding: 6px 0;\r\n }\r\n\r\n &.spacing-top a {\r\n margin-top: 15px;\r\n }\r\n\r\n &.column-title a {\r\n border-bottom: 1px solid #3A3A3A;\r\n font-weight: 700;\r\n border-radius: 0;\r\n margin-bottom: 8px;\r\n padding-bottom: 14px;\r\n }\r\n\r\n &.header-menu-category a {\r\n color: #7D7D7D;\r\n font-weight: 700;\r\n border-bottom: 1px solid #3A3A3A;\r\n cursor: unset;\r\n border-radius: 0;\r\n margin-bottom: 8px;\r\n padding-bottom: 14px;\r\n width:100%\r\n }\r\n\r\n }\r\n\r\n a {\r\n font-size: 14px;\r\n font-weight: 400;\r\n line-height: 20px;\r\n text-transform: none;\r\n\r\n transition: 0s;\r\n }\r\n\r\n .column-title {\r\n flex-direction: column;\r\n\r\n & > a {\r\n font-weight: 700;\r\n line-height: normal !important;\r\n }\r\n\r\n ul {\r\n width: 192px;\r\n padding: 0;\r\n }\r\n }\r\n\r\n // sub-menu columns\r\n ul {\r\n @extend .visibility-opacity-transition;\r\n display: flex;\r\n position: inherit;\r\n\r\n flex-direction: column;\r\n\r\n a {\r\n border-left: 0;\r\n }\r\n }\r\n }\r\n\r\n // shows the submenu\r\n &:hover > ul {\r\n visibility: visible;\r\n opacity: 1;\r\n\r\n /**\r\n * This selector makes sure the submenu of a submenu appears under it\r\n * instead of on hover. This is to displays submenus as columns.\r\n */\r\n &:not([style*=\"display: none;\"]) {\r\n .menu-item-has-children {\r\n ul {\r\n visibility: visible;\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * row-menu : the row menu class puts the first element of the menu in a row\r\n * instead of a column (default). This makes it possible to have\r\n * multiple columns side by side by add the row-menu class in wordpress.\r\n */\r\n &.row-menu > ul {\r\n flex-direction: row;\r\n }\r\n\r\n }\r\n }\r\n\r\n .get-started-btn {\r\n a {\r\n display: block;\r\n border: none;\r\n border-radius: 8px;\r\n\r\n margin-left: 0;\r\n padding: 8px 32px;\r\n\r\n font-size: 16px;\r\n line-height: 24px;\r\n font-weight: 700;\r\n min-width: 125px;\r\n text-align: center;\r\n text-transform: none;\r\n color: $black;\r\n\r\n background-color: $turquoise;\r\n background: linear-gradient(to top, $blue 50%, $turquoise 50%);\r\n background-size: 100% 200%;\r\n background-position: left top;\r\n transition: all 0.5s cubic-bezier(.69, .04, .9, .65);\r\n\r\n &:hover {\r\n color: $white;\r\n background-position: bottom left;\r\n }\r\n }\r\n }\r\n}\r\n\r\n#navbar {\r\n @media (max-width: 1023px) {\r\n\r\n overflow: auto !important;\r\n\r\n position: fixed;\r\n width: 100%;\r\n margin: 0;\r\n padding: 0;\r\n\r\n padding-top: 67px;\r\n left: 0;\r\n\r\n text-align: left;\r\n\r\n background: $lightblue;\r\n\r\n transition: height .4s ease .1s, opacity .6s ease;\r\n opacity: 0;\r\n\r\n &.collapse {\r\n height: 67px !important;\r\n display: none !important;\r\n }\r\n\r\n\r\n &.collapse.in {\r\n display: block !important;\r\n height: 100vh !important;\r\n opacity: 1;\r\n }\r\n\r\n .menu {\r\n display: block;\r\n margin: 0;\r\n padding: 0 0 10px 0;\r\n\r\n li {\r\n display: block;\r\n padding: 0;\r\n\r\n &.get-started-btn {\r\n position: absolute;\r\n padding: 0 16px;\r\n bottom: 10%;\r\n width: 100%;\r\n }\r\n\r\n &.menu-item-has-children {\r\n position: relative;\r\n\r\n ul {\r\n position: relative;\r\n max-height: 0;\r\n padding: 0;\r\n\r\n overflow: hidden;\r\n transition: all .5s ease;\r\n }\r\n\r\n &.open {\r\n ul {\r\n max-height: 1500px;\r\n }\r\n }\r\n }\r\n }\r\n\r\n a {\r\n display: block;\r\n padding: 10px 25px;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.subnav {\r\n position: fixed;\r\n top: 67px;\r\n width: 100%;\r\n z-index: 999;\r\n background-color: #f8f8f8;\r\n}\r\n","@import \"../variables\";\r\n\r\n:root {\r\n --docsearch-primary-color: #{$blue} !important;\r\n --docsearch-logo-color: #{$blue} !important;\r\n}\r\n\r\n.sidefilter {\r\n\r\n background-color: transparent;\r\n padding: 24px;\r\n height: auto;\r\n border: 1px solid #e7e7e7;\r\n border-top: 0;\r\n\r\n .DocSearch-Button {\r\n background: transparent;\r\n border: 2px inset $darkgray;\r\n border-radius: 6px;\r\n margin: 0;\r\n min-height: 45px;\r\n padding: 10px;\r\n width: 100%;\r\n }\r\n\r\n .DocSearch-Button:active, .DocSearch-Button:focus, .DocSearch-Button:hover {\r\n border: 2px solid $blue;\r\n box-shadow: none;\r\n }\r\n\r\n .DocSearch-Button .DocSearch-Search-Icon {\r\n display: none;\r\n }\r\n\r\n .DocSearch-Button-Placeholder {\r\n color: rgb(117, 117, 117);\r\n font-family: \"Open Sans\", sans-serif;\r\n font-size: 14px;\r\n line-height: 20px;\r\n padding: 10px;\r\n display: block;\r\n }\r\n}\r\n\r\n.DocSearch.DocSearch-Container {\r\n z-index: 9999;\r\n}\r\n"]} \ No newline at end of file