diff --git a/.DS_Store b/.DS_Store index 9122281..4f24393 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/NAMESPACE b/NAMESPACE index 4d70e54..5f522d1 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -98,6 +98,7 @@ importFrom(terra,ext) importFrom(terra,extract) importFrom(terra,flip) importFrom(terra,intersect) +importFrom(terra,is.related) importFrom(terra,merge) importFrom(terra,minmax) importFrom(terra,nlyr) diff --git a/R/catalog.R b/R/catalog.R index fcb3d1d..74d8ebf 100644 --- a/R/catalog.R +++ b/R/catalog.R @@ -6,7 +6,7 @@ #' @importFrom arrow read_parquet #' @importFrom dplyr filter mutate select distinct `%>%` everything mutate_all bind_rows left_join rename group_by ungroup slice #' @importFrom glue glue -#' @importFrom terra intersect project vect crs ext relate rast crop flip `ext<-` `crs<-` `units<-` `time<-` union sprc merge units nlyr as.polygons plot extract time align ymax ymin xmax xmin plot minmax setGDALconfig +#' @importFrom terra intersect project vect crs ext relate rast crop flip `ext<-` `crs<-` `units<-` `time<-` union sprc merge units nlyr as.polygons plot extract time align ymax ymin xmax xmin plot minmax setGDALconfig is.related #' @importFrom RNetCDF open.nc close.nc var.get.nc dim.inq.nc var.inq.nc utcal.nc att.get.nc #' @importFrom future.apply future_lapply #' @importFrom ncmeta nc_coord_var nc_grid_mapping_atts nc_gm_to_prj nc_vars nc_var nc_dims diff --git a/R/climater_filter.R b/R/climater_filter.R index e4842ed..a43758c 100644 --- a/R/climater_filter.R +++ b/R/climater_filter.R @@ -171,7 +171,9 @@ climater_filter <- function(id = NULL, gid = sapply(1:nrow(catalog), function(x) { suppressWarnings({ tryCatch({ - nrow(intersect(make_vect(catalog[x,]), terra::project(terra::ext(AOI), crs(AOI), catalog$crs[x]))) > 0 + length(terra::is.related(make_vect(catalog[x,]), + terra::project(terra::ext(AOI), crs(AOI), catalog$crs[x]), + "intersects")) > 0 }, error = function(e) { FALSE }) diff --git a/R/dap.R b/R/dap.R index 5548cab..4406edf 100644 --- a/R/dap.R +++ b/R/dap.R @@ -312,7 +312,9 @@ dap_crop <- function(URL = NULL, catalog$crs[i] = "EPSG:4326" } tryCatch({ - ext(intersect(terra::project(terra::ext(AOI), crs(AOI), catalog$crs[i]), make_ext(catalog[i,]))) + ext(terra::intersect(terra::project(terra::ext(AOI), crs(AOI), catalog$crs[i]), + make_vect(catalog[i,]))) + #ext(intersect(project(spatAOI(AOI), catalog$crs[i]), make_ext(catalog[i,]))) }, error = function(e) { diff --git a/_pkgdown.yml b/_pkgdown.yml index 779df5a..8283b7e 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -10,27 +10,27 @@ authors: html: "ESIP" href: "https://www.esipfed.org" footer: - roles: [cre,ctb] + roles: [cre, ctb] citation: roles: [cre] sidebar: - roles: [cre,ctb, fnd] + roles: [cre, ctb, fnd] articles: -- title: climateR - desc: Data access in R +- title: Quick Start + desc: Data access in R and Python contents: - 01-intro - - examples - -- title: climatePy - desc: Data acces in Python - contents: - 03-intro-climatepy - title: Data Catalogs contents: - schema - 02-catalogs + +- title: Use Cases + contents: + - 05-mros-climateR + - 04-stream-morph reference: - title: diff --git a/docs/articles/01-intro.html b/docs/articles/01-intro.html index 332f8b0..f745f87 100644 --- a/docs/articles/01-intro.html +++ b/docs/articles/01-intro.html @@ -110,7 +110,7 @@

climateR examples= "2018-10-29") }) #> user system elapsed -#> 0.845 0.193 8.782 +#> 0.442 0.058 2.508

@@ -123,7 +123,7 @@

Data from known bounding coordinat
 AOI = st_as_sfc(st_bbox(c(xmin = -112, xmax = -105, ymax = 39, ymin = 34), crs = 4326))
 
-g = getGridMET(AOI, 
+g = getGridMET(st_as_sf(AOI), 
                varname = "vs",
                startDate = "2018-09-01")

@@ -164,7 +164,7 @@

Climate Projections= "2080-06-29", endDate = "2080-06-30") }) #> user system elapsed -#> 0.144 0.028 4.141

+#> 0.205 0.036 2.479

Getting multiple models results is also quite simple:

@@ -207,7 +207,7 @@ 

Point Based Data
 ts = data.frame(lng  = -105.0668, lat = 40.55085) %>% 
-  sf::st_as_sf(coords = c('lng', 'lat'), crs = 4326) %>% 
+  st_as_sf(coords = c('lng', 'lat'), crs = 4326) %>% 
   getGridMET(varname =  c("pr", 'srad'), 
              startDate = "2021-01-01", 
              endDate = "2021-12-31")
@@ -218,12 +218,13 @@

Point Based Ensemble
 future = getMACA(geocode("Fort Collins", pt = TRUE), 
-                 model = 5, varname = "tasmax", 
-                 startDate = "2050-01-01", endDate = "2050-01-31")
+                 model = 5, 
+                 varname = "tasmax", 
+                 startDate = "2050-01-01", 
+                 endDate = "2050-01-31")
 
 future_long = pivot_longer(future, -date) 
 
-
 ggplot(data = future_long, aes(x = date, y = value, col = name)) + 
   geom_line() + 
   theme_linedraw() + 
diff --git a/docs/articles/01-intro_files/figure-html/unnamed-chunk-10-1.png b/docs/articles/01-intro_files/figure-html/unnamed-chunk-10-1.png
index 6f8258d..f2ad1f0 100644
Binary files a/docs/articles/01-intro_files/figure-html/unnamed-chunk-10-1.png and b/docs/articles/01-intro_files/figure-html/unnamed-chunk-10-1.png differ
diff --git a/docs/articles/01-intro_files/figure-html/unnamed-chunk-12-1.png b/docs/articles/01-intro_files/figure-html/unnamed-chunk-12-1.png
index 95d7b93..be26960 100644
Binary files a/docs/articles/01-intro_files/figure-html/unnamed-chunk-12-1.png and b/docs/articles/01-intro_files/figure-html/unnamed-chunk-12-1.png differ
diff --git a/docs/articles/01-intro_files/figure-html/unnamed-chunk-14-1.png b/docs/articles/01-intro_files/figure-html/unnamed-chunk-14-1.png
index d39dc69..8854cd0 100644
Binary files a/docs/articles/01-intro_files/figure-html/unnamed-chunk-14-1.png and b/docs/articles/01-intro_files/figure-html/unnamed-chunk-14-1.png differ
diff --git a/docs/articles/01-intro_files/figure-html/unnamed-chunk-19-1.png b/docs/articles/01-intro_files/figure-html/unnamed-chunk-19-1.png
index 034802c..7515e3d 100644
Binary files a/docs/articles/01-intro_files/figure-html/unnamed-chunk-19-1.png and b/docs/articles/01-intro_files/figure-html/unnamed-chunk-19-1.png differ
diff --git a/docs/articles/01-intro_files/figure-html/unnamed-chunk-22-1.png b/docs/articles/01-intro_files/figure-html/unnamed-chunk-22-1.png
index c32a234..32e9ebb 100644
Binary files a/docs/articles/01-intro_files/figure-html/unnamed-chunk-22-1.png and b/docs/articles/01-intro_files/figure-html/unnamed-chunk-22-1.png differ
diff --git a/docs/articles/01-intro_files/figure-html/unnamed-chunk-5-1.png b/docs/articles/01-intro_files/figure-html/unnamed-chunk-5-1.png
index 90269c2..e2cf516 100644
Binary files a/docs/articles/01-intro_files/figure-html/unnamed-chunk-5-1.png and b/docs/articles/01-intro_files/figure-html/unnamed-chunk-5-1.png differ
diff --git a/docs/articles/01-intro_files/figure-html/unnamed-chunk-7-1.png b/docs/articles/01-intro_files/figure-html/unnamed-chunk-7-1.png
index e690879..4062fe1 100644
Binary files a/docs/articles/01-intro_files/figure-html/unnamed-chunk-7-1.png and b/docs/articles/01-intro_files/figure-html/unnamed-chunk-7-1.png differ
diff --git a/docs/articles/01-intro_files/figure-html/unnamed-chunk-8-1.png b/docs/articles/01-intro_files/figure-html/unnamed-chunk-8-1.png
index cc2330f..615fd85 100644
Binary files a/docs/articles/01-intro_files/figure-html/unnamed-chunk-8-1.png and b/docs/articles/01-intro_files/figure-html/unnamed-chunk-8-1.png differ
diff --git a/docs/articles/04-stream-morph.html b/docs/articles/04-stream-morph.html
new file mode 100644
index 0000000..e528197
--- /dev/null
+++ b/docs/articles/04-stream-morph.html
@@ -0,0 +1,421 @@
+
+
+
+
+
+
+
+
+Continental Stream Morphology Research empowered by open data • climateR
+
+
+
+
+
+
+
+
+
+    Skip to contents
+    
+
+    
+ + + + +
+
+ + + +
+

Examples +

+

We all can agree that access to tools to perform spatial operations +has revolutionized the field of hydrologic sciences by offering a +powerful platforms to access satellite imagery, reanalysis products, and +diverse datasets crucial for spatial analysis and hydrologic modeling. +These tools facilitate the retrieval and processing of vast amounts of +geospatial data, allowing researchers and practitioners to perform +comprehensive analyses at various spatial and temporal scales, which in +turn greatly benefits the field of hydrology.

+

Our team at Lynker have developed climateR and climatePy.The key +advantages of using platforms like climateR is the accessibility to a +wealth of satellite imagery spanning multiple decades. With archives of +satellite data readily available, hydrologists can track changes in land +cover, monitor hydrologic phenomena, and assess the impacts of climate +change on water resources. The ability to access and analyze historical +data allows for the identification of long-term trends, facilitating +better understanding and prediction of hydrologic processes.

+

Furthermore, climateR foster collaboration and knowledge sharing +within the hydrologic community. It provide a platform for scientists +and researchers across the globe to access standardized datasets, share +methodologies, and collaborate on solving complex hydrologic challenges. +Also, puts forth an easy and accessible way to perform large +spatiotemporal operations that support any NOAA effort. This +collaborative environment encourages the development of innovative +models and techniques for water resource management and +decision-making.

+

Here we demonstrate several examples of how to access these databases +using climateR and perform massive spatial and temporal +aggregations.

+
+

Massive Spatial Aggregation of TerraClimate +

+

The integration of reanalysis products and various datasets in this +platform enables users to perform sophisticated spatial operations and +analyses. Hydrologists can aggregate data over specific points or +polygons, allowing for the extraction of critical information regarding +water resources, such as precipitation patterns, evapotranspiration +rates, and soil moisture content. This facilitates the characterization +of watersheds, the assessment of water availability, and the prediction +of potential flood or drought events.

+

Here I want to extract long term historical mean value of +TerraClimate bands for all NOAA Next Generation (NextGen) National +Hydrologic Geospatial Fabric (hydrofabric) divides over the entire +CONUS. As you no doubt surmised, this is a very expensive task to go +over all monthly TerraClimate dataset for the past 20 years and average +all the byt with climateR this will be an easy and strait forward +task.

+

One can access the hydrofabric in this case NextGen hydrofabric from +the Lynker-spatial s2 account:

+
+library(hydrofabric)
+library(lubridate)
+
+# Then specify the S3 bucket and file path
+bucket_name <- "lynker-spatial"
+file_key    <- "v20/gpkg/nextgen_12.gpkg"
+
+
+# Now download the GeoPackage file from S3 to a temporary file
+temp_file <- tempfile(fileext = ".gpkg")
+s3read_using(file   = temp_file, 
+             FUN    = get_object, 
+             object = file_key, 
+             bucket = bucket_name)
+
+# Finally read the GeoPackage file into an sf object
+gpkg_sf <- st_read(temp_file)
+

Now we can extract the divides layer for the given VPU and extract +data from TerraClimate:

+
+# List of VPU's for CONUS
+vpu_list = vpu_boundaries$VPUID[1:21]
+
+# Variables of Interest
+vars <- c("PDSI","aet","soil","def","ppt","q","tmin","tmax","pet")
+
+# Loop through the VPU's and extract data and time the execution 
+system.time({
+    for (vpu in vpu_list) {
+        # Read the file
+        file_key <- paste0("v20/gpkg/nextgen_", vpu, ".gpkg")
+        
+        # Download the GeoPackage file from S3 to a temporary file
+        temp_file <- tempfile(fileext = ".gpkg")
+        s3read_using(file = temp_file, 
+                     FUN = get_object, 
+                     object = file_key, 
+                     bucket = bucket_name)
+
+        # Just read the divides
+        divides = read_sf(temp_file, "divides")
+
+        # Use climateR to extract the variables between 2000-2021
+        out_raster <- getTerraClim(AOI       = divides,
+                                   varname   =  vars,
+                                   startDate = "2000-01-01",
+                                   endDate   = "2021-01-01")
+
+        # Use rast() to do a temporal mean aggregation and zonal to do a spatial aggregation using divide_id
+        output = execute_zonal(data = rast(lapply(out_raster, mean)), 
+                               geom = div, 
+                               fun = "mean", 
+                               ID = "divide_id", 
+                               join = FALSE)
+
+        # Finally write the data frame to a parquet file
+        write_parquet(output, sprintf("/your_path/conus_terraclimate_vpu_%s.parquet", vpu))
+    }
+})
+

We just calculated 20 year average of 9 different variables over +882,945 divides that cover CONUS under an hour (2472.777 seconds = .68 +hours) on my normal laptop!! This is very impressive.

+
+
+

Comparison to GEE +

+

Now lets compare this to the well known and frequently used Google +Earth Engine (GEE).

+

To start, we cannot process all 882,945 divides at the same time in +GEE and my personal experience has shown that batches of 200 divides is +the ideal size to avoid the infamous +Computation Timed Out Error.

+

So we can write a script to perform batch operation such as +below.

+
// This requires uploading the divides into EE assets
+// A for loop to execute 100 batches of 200 divides as an example
+for (var i=1; i<100; i++){
+    runExtract(divides, i, 'last');
+}
+
+runExtract(divides, 100, 'first');
+
+function runExtract(data, num, first){
+    var list_feature = data.toList(data.size());
+    var batch = num;
+    
+    switch(first){
+        case 'first':
+        var data = ee.FeatureCollection(list_feature.slice(0, 2000-(batch-1)*200));
+        break;
+        case 'last':
+        var data = ee.FeatureCollection(list_feature.slice(2000-batch*200, 2000-(batch-1)*200));
+        break;
+        case 'custom':
+        var data = ee.FeatureCollection(list_feature);
+        break;
+    }
+    batch = batch.toString();
+
+    // Load TerraClimate
+    var dataset = ee.ImageCollection('IDAHO_EPSCOR/TERRACLIMATE')
+                    .filter(ee.Filter.date('2000-01-01', '2022-01-01'));
+    // Performs a temporal mean 
+    var aet = dataset.mean().select('aet');   
+    var soil = dataset.mean().select('soil');   
+    var pet = dataset.mean().select('pet');   
+    var def = dataset.mean().select('def');   
+    var pdsi = dataset.mean().select('pdsi');   
+    var ro = dataset.mean().select('ro');  
+    var tmmn = dataset.mean().select('tmmn'); 
+    var tmmx = dataset.mean().select('tmmx'); 
+
+    // _______Extract data_________________
+    function updateDivides(img_dataset, old_dataset, bandname, newname, reducer)
+    {
+        function dataExtract(feat)
+        {
+            
+        var stats = img_dataset.reduceRegion({
+            reducer: reducer,
+            geometry: feat.geometry(),
+            scale: 4638.3,  
+            bestEffort: true
+        });
+        
+        return ee.Algorithms.If(ee.Number(stats.size()).eq(0), 
+                                    feat.set(newname, ee.Number(999999999)),
+                                    feat.set(newname, stats.first().get(bandname)));
+        
+        }
+        var new_dataset = old_dataset.map(dataExtract);
+        return new_dataset;
+    }
+
+    data = updateStation(aet, data,'aet', 'aet', ee.Reducer.mean());
+    data = updateStation(soil, data,'soil', 'soil', ee.Reducer.mean());
+    data = updateStation(pet, data,'pet', 'pet', ee.Reducer.mean());
+    data = updateStation(def, data,'def', 'def', ee.Reducer.mean());
+    data = updateStation(pdsi, data,'pdsi', 'pdsi', ee.Reducer.mean());
+    data = updateStation(ro, data,'ro', 'ro', ee.Reducer.mean());
+    data = updateStation(tmmn, data,'tmmn', 'tmmn', ee.Reducer.mean());
+    data = updateStation(tmmx, data,'tmmx', 'tmmx', ee.Reducer.mean());
+
+    var exp_name = 'TerraClimate_divide_b'+batch;
+  
+    Export.table.toDrive(data, exp_name, 'TerraClimate_exports', exp_name, 'CSV');
+}
+

Breaking this into batches 200 each set of two batchs takes +about 1-3 hours to complete (see figure below). Based on this, for the +scale of our application, GEE would require weeks to finsih!! +

+
+knitr::include_graphics("../man/figures/ee_task.png")
+

+
+
+

Massive Temporal and Spatial Aggregation with GLDAS +

+

Now lets say we have even more computationally demanding task as we +try to find a historical mean over a daily product from GLDAS. In this +case we can break our period into chunks (e.g., 4 years) and extract +data.

+
+# Define start and end dates
+start_date <- ymd("2004-01-01")
+end_date <- ymd("2021-01-01")
+
+# Create a sequence of dates with a step of 4 years
+date_seq <- seq(start_date, end_date, by = "4 years")
+
+# New names for the columns
+vars <- c("qsb_tavg", "qs_tavg", "gws_tavg", "esoil_tavg", "ecanop_tavg", "canopint_tavg", "avgsurft_tavg")
+
+# Loop through the VPU's and extract data and time the execution 
+system.time({
+    for (vpu in vpu_list) {
+        # Read the file
+        file_key <- paste0("v20/gpkg/nextgen_", vpu, ".gpkg")
+        
+        # Download the GeoPackage file from S3 to a temporary file
+        temp_file <- tempfile(fileext = ".gpkg")
+        
+        s3read_using(file = temp_file, 
+                     FUN = get_object,
+                     object = file_key, 
+                     bucket = bucket_name)
+
+        # Just read the divides
+        divides = read_sf(temp_file, "divides")
+
+        for (i in seq_along(date_seq)) {
+            current_start <- date_seq[i]
+            current_end <- current_start + years(4) - days(1)
+
+            current_start <- format(current_start, "%Y-%m-%d")
+            current_end <- format(current_end, "%Y-%m-%d")
+            print(paste("initiated batch > ", current_start))
+
+            # Use climateR to extract the variables between 2004-21
+            out_raster <- getGLDAS(AOI = div,
+                                   varname = vars,
+                                   model = "CLSM025_DA1_D.2.2", 
+                                   startDate = current_start,
+                                   endDate.  = current_end)
+
+            output = execute_zonal(data = rast(lapply(out_raster, mean)), geom = div, fun = "mean", ID = "divide_id", join = FALSE)
+            current_start_year <- as.character(year(current_start))
+            current_end_year <- as.character(year(current_end))
+            write_parquet(output, sprintf("/your_path/conus_gldas_vpu_%s_date_%s_%s.parquet", vpu, current_start_year, current_end_year))
+        }
+    }
+})
+
+
+

Custom Data +

+

We can also use custom datasets form our local drive or s3 bucket to +perform different aggregations. Here as an example we can access POLARIS +soil dataset and do just a spatial average of multiple virtual rasters +over all our divide polygons.

+

This collection of POLARIS data has been resampled from its native +30m resolution to a 300m COG.

+
+vars = c("alpha", "om", "ph")
+data = rast(glue('/vsis3/lynker-spatial/gridded-resources/polaris300/{vars}_mean_0_5.tif'))
+
+system.time({
+    for (vpu in vpu_list) {
+        # Read the file
+        file_key <- paste0("v20/gpkg/nextgen_", vpu, ".gpkg")
+        
+        # Download the GeoPackage file from S3 to a temporary file
+        temp_file <- tempfile(fileext = ".gpkg")
+        
+        s3read_using(file = temp_file, 
+                     FUN = get_object, object = file_key, 
+                     bucket = bucket_name)
+
+        # Just read the divides
+        divides = read_sf(temp_file, "divides")
+
+        polaris = execute_zonal(data = data, 
+                                geom = divides, fun = "mean", 
+                                ID = "divide_id", 
+                                join = FALSE)
+        
+        # Finally write the data frame to a parquet file
+        write_parquet(output, sprintf("/your_path/conus_polaris_vpu_%s.parquet", vpu))
+    }
+})
+
+
+
+

Conclusion +

+

In summary, using climateR significantly benefits hydrological +sciences by providing unprecedented access to diverse datasets. These +tools empower researchers, policymakers, and water resource managers to +conduct in-depth spatial analyses, ultimately enhancing our +understanding of hydrological processes and improving water resource +management strategies for a more sustainable future.

+
+
+
+ + + +
+ + + +
+
+ + + + + + + diff --git a/docs/articles/05-mros-climateR.html b/docs/articles/05-mros-climateR.html new file mode 100644 index 0000000..b61c590 --- /dev/null +++ b/docs/articles/05-mros-climateR.html @@ -0,0 +1,187 @@ + + + + + + + + +A one-platform approach to processing citizen science data with climateR • climateR + + + + + + + + + + Skip to contents + + +
+ + + + +
+
+ + + +
+

Rain or snow? +

+

Mountain Rain or Snow is a +citizen science project with the goal to better predict precipitation +phase funded by NASA’s Citizen Science for Earth Systems Program +(CSESP). Citizen scientists across the Continental United States respond +to ‘What is falling from the sky?’ by reporting precipitation +observations as rain, mixed, or snow using a mobile app. Over several +years, the project has collected around 40,000 observations (Figure 1). +This observation is easy for human observers to make but challenging for +atmospheric models to predict. This valuable dataset provides a basis to +improve such models.

+
+Citizen science observations from 2021-2023.

+Citizen science observations from 2021-2023. +

+
+
+

A data assimilation challenge +

+

Each observation point requires rigorous data processing to +eventually model outputs for the air, dew point, wet-bulb temperatures, +and relative humidity value at the observation point. Additionally, as +part of the project’s mission to improve satellite-based algorithms, +each observation point has an associated probability of liquid +precipitation (pLP) from IMERG, a gridded NASA +product.

+

The raw outputs for each observation are a timestamp, location of the +report (latitude/longitude), and the reported precipitation phase. +Ancillary information like elevation and station data from +meteorological networks near the observation are critical inputs for the +temperature modeling.

+

Previous processing workflows collected data from various platforms +and providers, and then brought into R for further analysis. This meant +accessing elevation and pLP data via an external platform for the +observation point, then exporting those data to bind with a dataframe. +This process required intermediate file storage and maintaining code +unique to each data provider.

+

To ensure workflow reproducibility and simplify the processing chain, +the Mountain Rain or Snow team integrated climateR to organize this +workflow. climateR has a large (and growing) catalog of data providers. +A benefit of this approach is that it allows for future changes in the +processing of phase observations. New data products or model output can +be quickly subset and included without adding additional dependencies to +the codebase or writing code to robustly access large, gridded files. +All processing is now kept in a single language (R), with seamless +retrieval for elevation and pLP data from external providers and +integration with the original dataframe. A summary of the process is +illustrated in Figure 2.

+

More about the data

+

Elevation data for an observation point is extracted from the USGS +3DEP 1/3 arc-second (10-meter) dataset, the highest resolution USGS DEM +available (see get3DEP +function). The IMERG pLP data are accessed in through the dap +function, which allows for consistent data retrieval from NASA’s Goddard +Earth Sciences Data and Information Services Center (GES DISC).

+
+Illustration for the current versus previous workflow. The current workflow uses climateR functions to create a more organized workflow all within R. The previous workflow had more steps utilizing external data collection platforms to collect the same data, making it difficult to reproduce the workflow.

+Illustration for the current versus previous workflow. The current +workflow uses climateR functions to create a more organized workflow all +within R. The previous workflow had more steps utilizing external data +collection platforms to collect the same data, making it difficult to +reproduce the workflow. +

+
+

Both functions from climateR provide solutions that may be unique to +the Mountain Rain or Snow project, but integrating multiple data +products is a common problem that many projects face. Adding to the +issue, reproducibility is core to practicing good science, and ordered +workflows are often difficult to establish. A single platform approach +to data collection and processing with climateR solves these issues.

+
+
+

Acknowledgments +

+

Thank you Dillon Ragar (Lynker) and +Rachel Bash (Lynker) for their review +on this article.

+

As mentioned in the article, Mountain Rain or Snow is funded by +NASA’s Citizen Science for Earth Systems Program. Co-PIs for Mountain +Rain or Snow are Dr. Keith Jennings (Lynker), Meghan Collins (DRI, UNR), and Dr. Monica Arienzo (DRI, UNR).

+
+
+
+
+ + + +
+ + + +
+
+ + + + + + + diff --git a/docs/articles/index.html b/docs/articles/index.html index 62abb95..996d432 100644 --- a/docs/articles/index.html +++ b/docs/articles/index.html @@ -44,17 +44,12 @@

-

climateR

-

Data access in R

+

Quick Start

+

Data access in R and Python

Welcome to climateR
-
-
-

climatePy

-

Data acces in Python

- -
Welcome to climatePy
+
Welcome to climatePy
@@ -66,6 +61,15 @@

Data Catalogs

Catalog Automation
+ diff --git a/docs/deps/bootstrap-5.2.2/bootstrap.min.css b/docs/deps/bootstrap-5.2.2/bootstrap.min.css index 90a2be9..a82a509 100644 --- a/docs/deps/bootstrap-5.2.2/bootstrap.min.css +++ b/docs/deps/bootstrap-5.2.2/bootstrap.min.css @@ -1,6 +1,6 @@ -/*! +:root{--bslib-bootstrap-version: 5;--bslib-preset-name: litera;--bslib-preset-type: bootswatch}/*! * Bootstrap v5.2.2 (https://getbootstrap.com/) * Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2022 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root{--bs-blue: #4582ec;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #e83e8c;--bs-red: #d9534f;--bs-orange: #fd7e14;--bs-yellow: #f0ad4e;--bs-green: #02b875;--bs-teal: #20c997;--bs-cyan: #17a2b8;--bs-black: #000;--bs-white: #fff;--bs-gray: #868e96;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #ddd;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #868e96;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-default: #adb5bd;--bs-primary: #4582ec;--bs-secondary: #adb5bd;--bs-success: #02b875;--bs-info: #17a2b8;--bs-warning: #f0ad4e;--bs-danger: #d9534f;--bs-light: #f8f9fa;--bs-dark: #343a40;--bs-default-rgb: 173,181,189;--bs-primary-rgb: 69,130,236;--bs-secondary-rgb: 173,181,189;--bs-success-rgb: 2,184,117;--bs-info-rgb: 23,162,184;--bs-warning-rgb: 240,173,78;--bs-danger-rgb: 217,83,79;--bs-light-rgb: 248,249,250;--bs-dark-rgb: 52,58,64;--bs-white-rgb: 255,255,255;--bs-black-rgb: 0,0,0;--bs-body-color-rgb: 52,58,64;--bs-body-bg-rgb: 255,255,255;--bs-font-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255,255,255,0.15), rgba(255,255,255,0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size:1.1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #343a40;--bs-body-bg: #fff;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #ddd;--bs-border-color-translucent: rgba(0,0,0,0.175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-2xl: 2rem;--bs-border-radius-pill: 50rem;--bs-link-color: #4582ec;--bs-link-hover-color: #3768bd;--bs-code-color: #000;--bs-highlight-bg: #fcefdc}*,*::before,*::after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:1px solid;opacity:.25}h6,.h6,.bslib-value-box .value-box-area>:first-child,h5,.h5,h4,.h4,h3,.h3,h2,.h2,.bslib-value-box .value-box-area>:nth-child(2),h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:700;line-height:1.2}h1,.h1{font-size:calc(1.4rem + 1.8vw)}@media (min-width: 1200px){h1,.h1{font-size:2.75rem}}h2,.h2,.bslib-value-box .value-box-area>:nth-child(2){font-size:calc(1.345rem + 1.14vw)}@media (min-width: 1200px){h2,.h2,.bslib-value-box .value-box-area>:nth-child(2){font-size:2.2rem}}h3,.h3{font-size:calc(1.3175rem + .81vw)}@media (min-width: 1200px){h3,.h3{font-size:1.925rem}}h4,.h4{font-size:calc(1.29rem + .48vw)}@media (min-width: 1200px){h4,.h4{font-size:1.65rem}}h5,.h5{font-size:calc(1.2625rem + .15vw)}@media (min-width: 1200px){h5,.h5{font-size:1.375rem}}h6,.h6,.bslib-value-box .value-box-area>:first-child{font-size:1.1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;-ms-text-decoration:underline dotted;-o-text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem;padding:.6875rem 1.375rem;border-left:.25rem solid #e9ecef}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-link-color);text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}a:hover{color:var(--bs-link-hover-color)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em;color:#000;background-color:#f7f7f7;padding:.5rem;border:1px solid #ddd;border-radius:.375rem}pre code{background-color:transparent;font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);background-color:#f7f7f7;border-radius:.375rem;padding:.125rem .25rem;word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#868e96;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role="button"]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator{display:none !important}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button:not(:disabled),[type="button"]:not(:disabled),[type="reset"]:not(:disabled),[type="submit"]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type="search"]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:calc(1.2625rem + .15vw);font-weight:300}@media (min-width: 1200px){.lead{font-size:1.375rem}}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:calc(1.2625rem + .15vw)}@media (min-width: 1200px){.blockquote{font-size:1.375rem}}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#868e96}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid var(--bs-border-color);border-radius:.375rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#868e96}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container-sm,.container{max-width:540px}}@media (min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media (min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media (min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;-webkit-flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.grid{display:grid;grid-template-rows:repeat(var(--bs-rows, 1), 1fr);grid-template-columns:repeat(var(--bs-columns, 12), 1fr);gap:var(--bs-gap, 1.5rem)}.grid .g-col-1{grid-column:auto/span 1}.grid .g-col-2{grid-column:auto/span 2}.grid .g-col-3{grid-column:auto/span 3}.grid .g-col-4{grid-column:auto/span 4}.grid .g-col-5{grid-column:auto/span 5}.grid .g-col-6{grid-column:auto/span 6}.grid .g-col-7{grid-column:auto/span 7}.grid .g-col-8{grid-column:auto/span 8}.grid .g-col-9{grid-column:auto/span 9}.grid .g-col-10{grid-column:auto/span 10}.grid .g-col-11{grid-column:auto/span 11}.grid .g-col-12{grid-column:auto/span 12}.grid .g-start-1{grid-column-start:1}.grid .g-start-2{grid-column-start:2}.grid .g-start-3{grid-column-start:3}.grid .g-start-4{grid-column-start:4}.grid .g-start-5{grid-column-start:5}.grid .g-start-6{grid-column-start:6}.grid .g-start-7{grid-column-start:7}.grid .g-start-8{grid-column-start:8}.grid .g-start-9{grid-column-start:9}.grid .g-start-10{grid-column-start:10}.grid .g-start-11{grid-column-start:11}@media (min-width: 576px){.grid .g-col-sm-1{grid-column:auto/span 1}.grid .g-col-sm-2{grid-column:auto/span 2}.grid .g-col-sm-3{grid-column:auto/span 3}.grid .g-col-sm-4{grid-column:auto/span 4}.grid .g-col-sm-5{grid-column:auto/span 5}.grid .g-col-sm-6{grid-column:auto/span 6}.grid .g-col-sm-7{grid-column:auto/span 7}.grid .g-col-sm-8{grid-column:auto/span 8}.grid .g-col-sm-9{grid-column:auto/span 9}.grid .g-col-sm-10{grid-column:auto/span 10}.grid .g-col-sm-11{grid-column:auto/span 11}.grid .g-col-sm-12{grid-column:auto/span 12}.grid .g-start-sm-1{grid-column-start:1}.grid .g-start-sm-2{grid-column-start:2}.grid .g-start-sm-3{grid-column-start:3}.grid .g-start-sm-4{grid-column-start:4}.grid .g-start-sm-5{grid-column-start:5}.grid .g-start-sm-6{grid-column-start:6}.grid .g-start-sm-7{grid-column-start:7}.grid .g-start-sm-8{grid-column-start:8}.grid .g-start-sm-9{grid-column-start:9}.grid .g-start-sm-10{grid-column-start:10}.grid .g-start-sm-11{grid-column-start:11}}@media (min-width: 768px){.grid .g-col-md-1{grid-column:auto/span 1}.grid .g-col-md-2{grid-column:auto/span 2}.grid .g-col-md-3{grid-column:auto/span 3}.grid .g-col-md-4{grid-column:auto/span 4}.grid .g-col-md-5{grid-column:auto/span 5}.grid .g-col-md-6{grid-column:auto/span 6}.grid .g-col-md-7{grid-column:auto/span 7}.grid .g-col-md-8{grid-column:auto/span 8}.grid .g-col-md-9{grid-column:auto/span 9}.grid .g-col-md-10{grid-column:auto/span 10}.grid .g-col-md-11{grid-column:auto/span 11}.grid .g-col-md-12{grid-column:auto/span 12}.grid .g-start-md-1{grid-column-start:1}.grid .g-start-md-2{grid-column-start:2}.grid .g-start-md-3{grid-column-start:3}.grid .g-start-md-4{grid-column-start:4}.grid .g-start-md-5{grid-column-start:5}.grid .g-start-md-6{grid-column-start:6}.grid .g-start-md-7{grid-column-start:7}.grid .g-start-md-8{grid-column-start:8}.grid .g-start-md-9{grid-column-start:9}.grid .g-start-md-10{grid-column-start:10}.grid .g-start-md-11{grid-column-start:11}}@media (min-width: 992px){.grid .g-col-lg-1{grid-column:auto/span 1}.grid .g-col-lg-2{grid-column:auto/span 2}.grid .g-col-lg-3{grid-column:auto/span 3}.grid .g-col-lg-4{grid-column:auto/span 4}.grid .g-col-lg-5{grid-column:auto/span 5}.grid .g-col-lg-6{grid-column:auto/span 6}.grid .g-col-lg-7{grid-column:auto/span 7}.grid .g-col-lg-8{grid-column:auto/span 8}.grid .g-col-lg-9{grid-column:auto/span 9}.grid .g-col-lg-10{grid-column:auto/span 10}.grid .g-col-lg-11{grid-column:auto/span 11}.grid .g-col-lg-12{grid-column:auto/span 12}.grid .g-start-lg-1{grid-column-start:1}.grid .g-start-lg-2{grid-column-start:2}.grid .g-start-lg-3{grid-column-start:3}.grid .g-start-lg-4{grid-column-start:4}.grid .g-start-lg-5{grid-column-start:5}.grid .g-start-lg-6{grid-column-start:6}.grid .g-start-lg-7{grid-column-start:7}.grid .g-start-lg-8{grid-column-start:8}.grid .g-start-lg-9{grid-column-start:9}.grid .g-start-lg-10{grid-column-start:10}.grid .g-start-lg-11{grid-column-start:11}}@media (min-width: 1200px){.grid .g-col-xl-1{grid-column:auto/span 1}.grid .g-col-xl-2{grid-column:auto/span 2}.grid .g-col-xl-3{grid-column:auto/span 3}.grid .g-col-xl-4{grid-column:auto/span 4}.grid .g-col-xl-5{grid-column:auto/span 5}.grid .g-col-xl-6{grid-column:auto/span 6}.grid .g-col-xl-7{grid-column:auto/span 7}.grid .g-col-xl-8{grid-column:auto/span 8}.grid .g-col-xl-9{grid-column:auto/span 9}.grid .g-col-xl-10{grid-column:auto/span 10}.grid .g-col-xl-11{grid-column:auto/span 11}.grid .g-col-xl-12{grid-column:auto/span 12}.grid .g-start-xl-1{grid-column-start:1}.grid .g-start-xl-2{grid-column-start:2}.grid .g-start-xl-3{grid-column-start:3}.grid .g-start-xl-4{grid-column-start:4}.grid .g-start-xl-5{grid-column-start:5}.grid .g-start-xl-6{grid-column-start:6}.grid .g-start-xl-7{grid-column-start:7}.grid .g-start-xl-8{grid-column-start:8}.grid .g-start-xl-9{grid-column-start:9}.grid .g-start-xl-10{grid-column-start:10}.grid .g-start-xl-11{grid-column-start:11}}@media (min-width: 1400px){.grid .g-col-xxl-1{grid-column:auto/span 1}.grid .g-col-xxl-2{grid-column:auto/span 2}.grid .g-col-xxl-3{grid-column:auto/span 3}.grid .g-col-xxl-4{grid-column:auto/span 4}.grid .g-col-xxl-5{grid-column:auto/span 5}.grid .g-col-xxl-6{grid-column:auto/span 6}.grid .g-col-xxl-7{grid-column:auto/span 7}.grid .g-col-xxl-8{grid-column:auto/span 8}.grid .g-col-xxl-9{grid-column:auto/span 9}.grid .g-col-xxl-10{grid-column:auto/span 10}.grid .g-col-xxl-11{grid-column:auto/span 11}.grid .g-col-xxl-12{grid-column:auto/span 12}.grid .g-start-xxl-1{grid-column-start:1}.grid .g-start-xxl-2{grid-column-start:2}.grid .g-start-xxl-3{grid-column-start:3}.grid .g-start-xxl-4{grid-column-start:4}.grid .g-start-xxl-5{grid-column-start:5}.grid .g-start-xxl-6{grid-column-start:6}.grid .g-start-xxl-7{grid-column-start:7}.grid .g-start-xxl-8{grid-column-start:8}.grid .g-start-xxl-9{grid-column-start:9}.grid .g-start-xxl-10{grid-column-start:10}.grid .g-start-xxl-11{grid-column-start:11}}.col{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-sm-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-sm-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-sm-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-sm-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-sm-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-sm-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-sm-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-sm-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-sm-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-sm-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-md-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-md-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-md-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-md-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-md-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-md-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-md-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-md-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-md-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-md-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-lg-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-lg-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-lg-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-lg-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-lg-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-lg-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-lg-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-lg-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-lg-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-lg-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-xl-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xl-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-xl-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xl-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-xl-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-xl-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-xl-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-xl-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-xl-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-xl-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-xxl-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xxl-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-xxl-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xxl-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-xxl-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-xxl-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-xxl-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-xxl-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-xxl-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-xxl-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333%}.offset-xxl-2{margin-left:16.66667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333%}.offset-xxl-5{margin-left:41.66667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333%}.offset-xxl-8{margin-left:66.66667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333%}.offset-xxl-11{margin-left:91.66667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color: var(--bs-body-color);--bs-table-bg: rgba(0,0,0,0);--bs-table-border-color: rgba(0,0,0,0.1);--bs-table-accent-bg: rgba(0,0,0,0);--bs-table-striped-color: var(--bs-body-color);--bs-table-striped-bg: rgba(0,0,0,0.05);--bs-table-active-color: var(--bs-body-color);--bs-table-active-bg: rgba(0,0,0,0.1);--bs-table-hover-color: var(--bs-body-color);--bs-table-hover-bg: rgba(0,0,0,0.075);width:100%;margin-bottom:1rem;color:var(--bs-table-color);vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:2px solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg: var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--bs-table-accent-bg: var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg: var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg: var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-color: #fff;--bs-table-bg: #4582ec;--bs-table-border-color: #588fee;--bs-table-striped-bg: #4e88ed;--bs-table-striped-color: #fff;--bs-table-active-bg: #588fee;--bs-table-active-color: #fff;--bs-table-hover-bg: #538bed;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #fff;--bs-table-bg: #adb5bd;--bs-table-border-color: #b5bcc4;--bs-table-striped-bg: #b1b9c0;--bs-table-striped-color: #fff;--bs-table-active-bg: #b5bcc4;--bs-table-active-color: #fff;--bs-table-hover-bg: #b3bbc2;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #fff;--bs-table-bg: #02b875;--bs-table-border-color: #1bbf83;--bs-table-striped-bg: #0fbc7c;--bs-table-striped-color: #fff;--bs-table-active-bg: #1bbf83;--bs-table-active-color: #fff;--bs-table-hover-bg: #15bd7f;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #fff;--bs-table-bg: #17a2b8;--bs-table-border-color: #2eabbf;--bs-table-striped-bg: #23a7bc;--bs-table-striped-color: #fff;--bs-table-active-bg: #2eabbf;--bs-table-active-color: #fff;--bs-table-hover-bg: #28a9bd;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #fff;--bs-table-bg: #f0ad4e;--bs-table-border-color: #f2b560;--bs-table-striped-bg: #f1b157;--bs-table-striped-color: #fff;--bs-table-active-bg: #f2b560;--bs-table-active-color: #000;--bs-table-hover-bg: #f1b35b;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #fff;--bs-table-bg: #d9534f;--bs-table-border-color: #dd6461;--bs-table-striped-bg: #db5c58;--bs-table-striped-color: #fff;--bs-table-active-bg: #dd6461;--bs-table-active-color: #fff;--bs-table-hover-bg: #dc605c;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: #dfe0e1;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #343a40;--bs-table-border-color: #484e53;--bs-table-striped-bg: #3e444a;--bs-table-striped-color: #fff;--bs-table-active-bg: #484e53;--bs-table-active-color: #fff;--bs-table-hover-bg: #43494e;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label,.shiny-input-container .control-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:calc(1.2625rem + .15vw)}@media (min-width: 1200px){.col-form-label-lg{font-size:1.375rem}}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.9625rem}.form-text{margin-top:.25rem;font-size:.875em;color:#868e96}.form-control{display:block;width:100%;padding:.5rem 1.1rem;font-size:1.1rem;font-weight:400;line-height:1.5;color:#343a40;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.1);appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;border-radius:.375rem;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type="file"]{overflow:hidden}.form-control[type="file"]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#343a40;background-color:#fff;border-color:#a2c1f6;outline:0;box-shadow:0 0 0 .25rem rgba(69,130,236,0.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::placeholder{color:#868e96;opacity:1}.form-control:disabled{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.5rem 1.1rem;margin:-.5rem -1.1rem;margin-inline-end:1.1rem;color:#343a40;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.5rem 0;margin-bottom:0;line-height:1.5;color:#343a40;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.9625rem;border-radius:.25rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:calc(1.2625rem + .15vw);border-radius:.5rem}@media (min-width: 1200px){.form-control-lg{font-size:1.375rem}}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + 1rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:calc(1.5em + 1rem + 2px);padding:.5rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important;border-radius:.375rem}.form-control-color::-webkit-color-swatch{border-radius:.375rem}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + 2px)}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + 2px)}.form-select{display:block;width:100%;padding:.5rem 3.3rem .5rem 1.1rem;-moz-padding-start:calc(1.1rem - 3px);font-size:1.1rem;font-weight:400;line-height:1.5;color:#343a40;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1.1rem center;background-size:16px 12px;border:1px solid rgba(0,0,0,0.1);border-radius:.375rem;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#a2c1f6;outline:0;box-shadow:0 0 0 .25rem rgba(69,130,236,0.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:1.1rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #343a40}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.9625rem;border-radius:.25rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:calc(1.2625rem + .15vw);border-radius:.5rem}@media (min-width: 1200px){.form-select-lg{font-size:1.375rem}}.form-check,.shiny-input-container .checkbox,.shiny-input-container .radio{display:block;min-height:1.65rem;padding-left:0;margin-bottom:.125rem}.form-check .form-check-input,.form-check .shiny-input-container .checkbox input,.form-check .shiny-input-container .radio input,.shiny-input-container .checkbox .form-check-input,.shiny-input-container .checkbox .shiny-input-container .checkbox input,.shiny-input-container .checkbox .shiny-input-container .radio input,.shiny-input-container .radio .form-check-input,.shiny-input-container .radio .shiny-input-container .checkbox input,.shiny-input-container .radio .shiny-input-container .radio input{float:left;margin-left:0}.form-check-reverse{padding-right:0;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:0;margin-left:0}.form-check-input,.shiny-input-container .checkbox input,.shiny-input-container .checkbox-inline input,.shiny-input-container .radio input,.shiny-input-container .radio-inline input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,0.25);appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;print-color-adjust:exact}.form-check-input[type="checkbox"],.shiny-input-container .checkbox input[type="checkbox"],.shiny-input-container .checkbox-inline input[type="checkbox"],.shiny-input-container .radio input[type="checkbox"],.shiny-input-container .radio-inline input[type="checkbox"]{border-radius:.25em}.form-check-input[type="radio"],.shiny-input-container .checkbox input[type="radio"],.shiny-input-container .checkbox-inline input[type="radio"],.shiny-input-container .radio input[type="radio"],.shiny-input-container .radio-inline input[type="radio"]{border-radius:50%}.form-check-input:active,.shiny-input-container .checkbox input:active,.shiny-input-container .checkbox-inline input:active,.shiny-input-container .radio input:active,.shiny-input-container .radio-inline input:active{filter:brightness(90%)}.form-check-input:focus,.shiny-input-container .checkbox input:focus,.shiny-input-container .checkbox-inline input:focus,.shiny-input-container .radio input:focus,.shiny-input-container .radio-inline input:focus{border-color:#a2c1f6;outline:0;box-shadow:0 0 0 .25rem rgba(69,130,236,0.25)}.form-check-input:checked,.shiny-input-container .checkbox input:checked,.shiny-input-container .checkbox-inline input:checked,.shiny-input-container .radio input:checked,.shiny-input-container .radio-inline input:checked{background-color:#4582ec;border-color:#4582ec}.form-check-input:checked[type="checkbox"],.shiny-input-container .checkbox input:checked[type="checkbox"],.shiny-input-container .checkbox-inline input:checked[type="checkbox"],.shiny-input-container .radio input:checked[type="checkbox"],.shiny-input-container .radio-inline input:checked[type="checkbox"]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type="radio"],.shiny-input-container .checkbox input:checked[type="radio"],.shiny-input-container .checkbox-inline input:checked[type="radio"],.shiny-input-container .radio input:checked[type="radio"],.shiny-input-container .radio-inline input:checked[type="radio"]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type="checkbox"]:indeterminate,.shiny-input-container .checkbox input[type="checkbox"]:indeterminate,.shiny-input-container .checkbox-inline input[type="checkbox"]:indeterminate,.shiny-input-container .radio input[type="checkbox"]:indeterminate,.shiny-input-container .radio-inline input[type="checkbox"]:indeterminate{background-color:#4582ec;border-color:#4582ec;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled,.shiny-input-container .checkbox input:disabled,.shiny-input-container .checkbox-inline input:disabled,.shiny-input-container .radio input:disabled,.shiny-input-container .radio-inline input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input[disabled]~span,.form-check-input:disabled~.form-check-label,.form-check-input:disabled~span,.shiny-input-container .checkbox input[disabled]~.form-check-label,.shiny-input-container .checkbox input[disabled]~span,.shiny-input-container .checkbox input:disabled~.form-check-label,.shiny-input-container .checkbox input:disabled~span,.shiny-input-container .checkbox-inline input[disabled]~.form-check-label,.shiny-input-container .checkbox-inline input[disabled]~span,.shiny-input-container .checkbox-inline input:disabled~.form-check-label,.shiny-input-container .checkbox-inline input:disabled~span,.shiny-input-container .radio input[disabled]~.form-check-label,.shiny-input-container .radio input[disabled]~span,.shiny-input-container .radio input:disabled~.form-check-label,.shiny-input-container .radio input:disabled~span,.shiny-input-container .radio-inline input[disabled]~.form-check-label,.shiny-input-container .radio-inline input[disabled]~span,.shiny-input-container .radio-inline input:disabled~.form-check-label,.shiny-input-container .radio-inline input:disabled~span{cursor:default;opacity:.5}.form-check-label,.shiny-input-container .checkbox label,.shiny-input-container .checkbox-inline label,.shiny-input-container .radio label,.shiny-input-container .radio-inline label{cursor:pointer}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280,0,0,0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23a2c1f6'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(69,130,236,0.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(69,130,236,0.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#4582ec;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#c7daf9}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#ddd;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#4582ec;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#c7daf9}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#ddd;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;width:100%;height:100%;padding:1rem 1.1rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity 0.1s ease-in-out,transform 0.1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem 1.1rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.input-group{position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:stretch;-webkit-align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:.5rem 1.1rem;font-size:1.1rem;font-weight:400;line-height:1.5;color:#343a40;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid rgba(0,0,0,0.1);border-radius:.375rem}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:calc(1.2625rem + .15vw);border-radius:.5rem}@media (min-width: 1200px){.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{font-size:1.375rem}}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.9625rem;border-radius:.25rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:4.4rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n + 3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n + 4),.input-group.has-validation>.form-floating:nth-last-child(n + 3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n + 3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#02b875}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.6875rem;color:#fff;background-color:rgba(2,184,117,0.9);border-radius:.375rem}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#02b875;padding-right:calc(1.5em + 1rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2302b875' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .25rem) center;background-size:calc(.75em + .5rem) calc(.75em + .5rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#02b875;box-shadow:0 0 0 .25rem rgba(2,184,117,0.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 1rem);background-position:top calc(.375em + .25rem) right calc(.375em + .25rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:#02b875}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{padding-right:6.05rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2302b875' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right 1.1rem center,center right 3.3rem;background-size:16px 12px,calc(.75em + .5rem) calc(.75em + .5rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#02b875;box-shadow:0 0 0 .25rem rgba(2,184,117,0.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + 1rem))}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:#02b875}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:#02b875}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(2,184,117,0.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#02b875}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#d9534f}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.6875rem;color:#fff;background-color:rgba(217,83,79,0.9);border-radius:.375rem}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#d9534f;padding-right:calc(1.5em + 1rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23d9534f'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23d9534f' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .25rem) center;background-size:calc(.75em + .5rem) calc(.75em + .5rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#d9534f;box-shadow:0 0 0 .25rem rgba(217,83,79,0.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 1rem);background-position:top calc(.375em + .25rem) right calc(.375em + .25rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#d9534f}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{padding-right:6.05rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23d9534f'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23d9534f' stroke='none'/%3e%3c/svg%3e");background-position:right 1.1rem center,center right 3.3rem;background-size:16px 12px,calc(.75em + .5rem) calc(.75em + .5rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#d9534f;box-shadow:0 0 0 .25rem rgba(217,83,79,0.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + 1rem))}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#d9534f}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:#d9534f}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(217,83,79,0.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#d9534f}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: 1.1rem;--bs-btn-padding-y: .5rem;--bs-btn-font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--bs-btn-font-size:.875rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: #343a40;--bs-btn-bg: transparent;--bs-btn-border-width: 1px;--bs-btn-border-color: transparent;--bs-btn-border-radius: 1.078em;--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-default{--bs-btn-color: #fff;--bs-btn-bg: #adb5bd;--bs-btn-border-color: #adb5bd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #939aa1;--bs-btn-hover-border-color: #8a9197;--bs-btn-focus-shadow-rgb: 185,192,199;--bs-btn-active-color: #fff;--bs-btn-active-bg: #8a9197;--bs-btn-active-border-color: #82888e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #adb5bd;--bs-btn-disabled-border-color: #adb5bd}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #4582ec;--bs-btn-border-color: #4582ec;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #3b6fc9;--bs-btn-hover-border-color: #3768bd;--bs-btn-focus-shadow-rgb: 97,149,239;--bs-btn-active-color: #fff;--bs-btn-active-bg: #3768bd;--bs-btn-active-border-color: #3462b1;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #4582ec;--bs-btn-disabled-border-color: #4582ec}.btn-secondary,.btn-default:not(.btn-primary):not(.btn-info):not(.btn-success):not(.btn-warning):not(.btn-danger):not(.btn-dark):not(.btn-outline-primary):not(.btn-outline-info):not(.btn-outline-success):not(.btn-outline-warning):not(.btn-outline-danger):not(.btn-outline-dark){--bs-btn-color: #fff;--bs-btn-bg: #adb5bd;--bs-btn-border-color: #adb5bd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #939aa1;--bs-btn-hover-border-color: #8a9197;--bs-btn-focus-shadow-rgb: 185,192,199;--bs-btn-active-color: #fff;--bs-btn-active-bg: #8a9197;--bs-btn-active-border-color: #82888e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #adb5bd;--bs-btn-disabled-border-color: #adb5bd}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: #02b875;--bs-btn-border-color: #02b875;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #029c63;--bs-btn-hover-border-color: #02935e;--bs-btn-focus-shadow-rgb: 40,195,138;--bs-btn-active-color: #fff;--bs-btn-active-bg: #02935e;--bs-btn-active-border-color: #028a58;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #02b875;--bs-btn-disabled-border-color: #02b875}.btn-info{--bs-btn-color: #fff;--bs-btn-bg: #17a2b8;--bs-btn-border-color: #17a2b8;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #148a9c;--bs-btn-hover-border-color: #128293;--bs-btn-focus-shadow-rgb: 58,176,195;--bs-btn-active-color: #fff;--bs-btn-active-bg: #128293;--bs-btn-active-border-color: #117a8a;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #17a2b8;--bs-btn-disabled-border-color: #17a2b8}.btn-warning{--bs-btn-color: #fff;--bs-btn-bg: #f0ad4e;--bs-btn-border-color: #f0ad4e;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #cc9342;--bs-btn-hover-border-color: #c08a3e;--bs-btn-focus-shadow-rgb: 242,185,105;--bs-btn-active-color: #fff;--bs-btn-active-bg: #c08a3e;--bs-btn-active-border-color: #b4823b;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #f0ad4e;--bs-btn-disabled-border-color: #f0ad4e}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #d9534f;--bs-btn-border-color: #d9534f;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #b84743;--bs-btn-hover-border-color: #ae423f;--bs-btn-focus-shadow-rgb: 223,109,105;--bs-btn-active-color: #fff;--bs-btn-active-bg: #ae423f;--bs-btn-active-border-color: #a33e3b;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #d9534f;--bs-btn-disabled-border-color: #d9534f}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #d3d4d5;--bs-btn-hover-border-color: #c6c7c8;--bs-btn-focus-shadow-rgb: 211,212,213;--bs-btn-active-color: #000;--bs-btn-active-bg: #c6c7c8;--bs-btn-active-border-color: #babbbc;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #343a40;--bs-btn-border-color: #343a40;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #52585d;--bs-btn-hover-border-color: #484e53;--bs-btn-focus-shadow-rgb: 82,88,93;--bs-btn-active-color: #fff;--bs-btn-active-bg: #5d6166;--bs-btn-active-border-color: #484e53;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #343a40;--bs-btn-disabled-border-color: #343a40}.btn-outline-default{--bs-btn-color: #adb5bd;--bs-btn-border-color: #adb5bd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #adb5bd;--bs-btn-hover-border-color: #adb5bd;--bs-btn-focus-shadow-rgb: 173,181,189;--bs-btn-active-color: #fff;--bs-btn-active-bg: #adb5bd;--bs-btn-active-border-color: #adb5bd;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #adb5bd;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #adb5bd;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-primary{--bs-btn-color: #4582ec;--bs-btn-border-color: #4582ec;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #4582ec;--bs-btn-hover-border-color: #4582ec;--bs-btn-focus-shadow-rgb: 69,130,236;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4582ec;--bs-btn-active-border-color: #4582ec;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #4582ec;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #4582ec;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #adb5bd;--bs-btn-border-color: #adb5bd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #adb5bd;--bs-btn-hover-border-color: #adb5bd;--bs-btn-focus-shadow-rgb: 173,181,189;--bs-btn-active-color: #fff;--bs-btn-active-bg: #adb5bd;--bs-btn-active-border-color: #adb5bd;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #adb5bd;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #adb5bd;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #02b875;--bs-btn-border-color: #02b875;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #02b875;--bs-btn-hover-border-color: #02b875;--bs-btn-focus-shadow-rgb: 2,184,117;--bs-btn-active-color: #fff;--bs-btn-active-bg: #02b875;--bs-btn-active-border-color: #02b875;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #02b875;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #02b875;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #17a2b8;--bs-btn-border-color: #17a2b8;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #17a2b8;--bs-btn-hover-border-color: #17a2b8;--bs-btn-focus-shadow-rgb: 23,162,184;--bs-btn-active-color: #fff;--bs-btn-active-bg: #17a2b8;--bs-btn-active-border-color: #17a2b8;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #17a2b8;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #17a2b8;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #f0ad4e;--bs-btn-border-color: #f0ad4e;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #f0ad4e;--bs-btn-hover-border-color: #f0ad4e;--bs-btn-focus-shadow-rgb: 240,173,78;--bs-btn-active-color: #fff;--bs-btn-active-bg: #f0ad4e;--bs-btn-active-border-color: #f0ad4e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #f0ad4e;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f0ad4e;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #d9534f;--bs-btn-border-color: #d9534f;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #d9534f;--bs-btn-hover-border-color: #d9534f;--bs-btn-focus-shadow-rgb: 217,83,79;--bs-btn-active-color: #fff;--bs-btn-active-bg: #d9534f;--bs-btn-active-border-color: #d9534f;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #d9534f;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #d9534f;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248,249,250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #343a40;--bs-btn-border-color: #343a40;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #343a40;--bs-btn-hover-border-color: #343a40;--bs-btn-focus-shadow-rgb: 52,58,64;--bs-btn-active-color: #fff;--bs-btn-active-bg: #343a40;--bs-btn-active-border-color: #343a40;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #343a40;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #343a40;--bs-btn-bg: transparent;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #868e96;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: none;--bs-btn-focus-shadow-rgb: 97,149,239;text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size:calc(1.2625rem + .15vw);--bs-btn-border-radius: 2.688em}@media (min-width: 1200px){.btn-lg,.btn-group-lg>.btn{--bs-btn-font-size:1.375rem}}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size:.688rem;--bs-btn-border-radius: .844em}.fade{transition:opacity 0.15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size:1.1rem;--bs-dropdown-color: #343a40;--bs-dropdown-bg: #fff;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: .375rem;--bs-dropdown-border-width: 1px;--bs-dropdown-inner-border-radius: calc(.375rem - 1px);--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-dropdown-link-color: #212529;--bs-dropdown-link-hover-color: #1e2125;--bs-dropdown-link-hover-bg: #e9ecef;--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #4582ec;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #868e96;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.9625rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #ddd;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #ddd;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255,255,255,0.15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #4582ec;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;justify-content:flex-start;-webkit-justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:1.078em}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n + 3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.825rem;padding-left:.825rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;-webkit-flex-direction:column;align-items:flex-start;-webkit-align-items:flex-start;justify-content:center;-webkit-justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: #868e96;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-color: #ddd;--bs-nav-tabs-border-radius: .375rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #ddd;--bs-nav-tabs-link-active-color: #495057;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #ddd #ddd #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));background:none;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: .375rem;--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #4582ec}.nav-pills .nav-link{background:none;border:0;border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;-webkit-flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;-webkit-flex-basis:0;flex-grow:1;-webkit-flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(0,0,0,0.55);--bs-navbar-hover-color: #343a40;--bs-navbar-disabled-color: rgba(0,0,0,0.3);--bs-navbar-active-color: #343a40;--bs-navbar-brand-padding-y: .29375rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.375rem;--bs-navbar-brand-color: #343a40;--bs-navbar-brand-hover-color: #343a40;--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.375rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280,0,0,0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(0,0,0,0.1);--bs-navbar-toggler-border-radius: 1.078em;--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;display:-webkit-flex;flex-wrap:inherit;-webkit-flex-wrap:inherit;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .show>.nav-link,.navbar-nav .active>.nav-link,.navbar-nav .nav-link.active{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;-webkit-flex-basis:100%;flex-grow:1;-webkit-flex-grow:1;align-items:center;-webkit-align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}.navbar-light{background-color:#f8f9fa}.navbar-dark{background-color:#343a40;--bs-navbar-color: rgba(255,255,255,0.6);--bs-navbar-hover-color: #fff;--bs-navbar-disabled-color: rgba(255,255,255,0.25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255,255,255,0.1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.6%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-border-width: 1px;--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: .375rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(.375rem - 1px);--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(0,0,0,0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: #fff;--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;min-width:0;height:var(--bs-card-height);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;display:-webkit-flex;flex-flow:row wrap;-webkit-flex-flow:row wrap}.card-group>.card{flex:1 0 0%;-webkit-flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: #343a40;--bs-accordion-bg: #fff;--bs-accordion-transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: 1px;--bs-accordion-border-radius: .375rem;--bs-accordion-inner-border-radius: calc(.375rem - 1px);--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: #343a40;--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23343a40'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill=''%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #a2c1f6;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(69,130,236,0.25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: ;--bs-accordion-active-bg: }.accordion-button{position:relative;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1.1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;-webkit-flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-collapse{border-width:0}.accordion-flush .accordion-item,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: #868e96;--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: #868e96;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size:1.1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: #fff;--bs-pagination-border-width: 1px;--bs-pagination-border-color: #ddd;--bs-pagination-border-radius: .375rem;--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: #e9ecef;--bs-pagination-hover-border-color: #ddd;--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: #e9ecef;--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(69,130,236,0.25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #4582ec;--bs-pagination-active-border-color: #4582ec;--bs-pagination-disabled-color: #868e96;--bs-pagination-disabled-bg: #fff;--bs-pagination-disabled-border-color: #ddd;display:flex;display:-webkit-flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size:calc(1.2625rem + .15vw);--bs-pagination-border-radius: .5rem}@media (min-width: 1200px){.pagination-lg{--bs-pagination-font-size:1.375rem}}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size:.9625rem;--bs-pagination-border-radius: .25rem}.badge{--bs-badge-padding-x: 1.2em;--bs-badge-padding-y: .6em;--bs-badge-font-size:.75em;--bs-badge-font-weight: 400;--bs-badge-color: #fff;--bs-badge-border-radius: .375rem;display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: 0 solid var(--bs-alert-border-color);--bs-alert-border-radius: .375rem;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-default{--bs-alert-color: #686d71;--bs-alert-bg: #eff0f2;--bs-alert-border-color: #e6e9eb}.alert-default .alert-link{color:#53575a}.alert-primary{--bs-alert-color: #294e8e;--bs-alert-bg: #dae6fb;--bs-alert-border-color: #c7daf9}.alert-primary .alert-link{color:#213e72}.alert-secondary{--bs-alert-color: #686d71;--bs-alert-bg: #eff0f2;--bs-alert-border-color: #e6e9eb}.alert-secondary .alert-link{color:#53575a}.alert-success{--bs-alert-color: #016e46;--bs-alert-bg: #ccf1e3;--bs-alert-border-color: #b3ead6}.alert-success .alert-link{color:#015838}.alert-info{--bs-alert-color: #0e616e;--bs-alert-bg: #d1ecf1;--bs-alert-border-color: #b9e3ea}.alert-info .alert-link{color:#0b4e58}.alert-warning{--bs-alert-color: #90682f;--bs-alert-bg: #fcefdc;--bs-alert-border-color: #fbe6ca}.alert-warning .alert-link{color:#735326}.alert-danger{--bs-alert-color: #82322f;--bs-alert-bg: #f7dddc;--bs-alert-border-color: #f4cbca}.alert-danger .alert-link{color:#682826}.alert-light{--bs-alert-color: #959596;--bs-alert-bg: #fefefe;--bs-alert-border-color: #fdfdfe}.alert-light .alert-link{color:#777778}.alert-dark{--bs-alert-color: #1f2326;--bs-alert-bg: #d6d8d9;--bs-alert-border-color: #c2c4c6}.alert-dark .alert-link{color:#191c1e}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--bs-progress-height: 1rem;--bs-progress-font-size:.825rem;--bs-progress-bg: #e9ecef;--bs-progress-border-radius: .375rem;--bs-progress-box-shadow: inset 0 1px 2px rgba(0,0,0,0.075);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #4582ec;--bs-progress-bar-transition: width 0.6s ease;display:flex;display:-webkit-flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;justify-content:center;-webkit-justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: #212529;--bs-list-group-bg: #fff;--bs-list-group-border-color: rgba(0,0,0,0.125);--bs-list-group-border-width: 1px;--bs-list-group-border-radius: .375rem;--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: #495057;--bs-list-group-action-hover-color: #495057;--bs-list-group-action-hover-bg: #f8f9fa;--bs-list-group-action-active-color: #343a40;--bs-list-group-action-active-bg: #e9ecef;--bs-list-group-disabled-color: #868e96;--bs-list-group-disabled-bg: #fff;--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #4582ec;--bs-list-group-active-border-color: #4582ec;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-default{color:#686d71;background-color:#eff0f2}.list-group-item-default.list-group-item-action:hover,.list-group-item-default.list-group-item-action:focus{color:#686d71;background-color:#d7d8da}.list-group-item-default.list-group-item-action.active{color:#fff;background-color:#686d71;border-color:#686d71}.list-group-item-primary{color:#294e8e;background-color:#dae6fb}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#294e8e;background-color:#c4cfe2}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#294e8e;border-color:#294e8e}.list-group-item-secondary{color:#686d71;background-color:#eff0f2}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#686d71;background-color:#d7d8da}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#686d71;border-color:#686d71}.list-group-item-success{color:#016e46;background-color:#ccf1e3}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#016e46;background-color:#b8d9cc}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#016e46;border-color:#016e46}.list-group-item-info{color:#0e616e;background-color:#d1ecf1}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#0e616e;background-color:#bcd4d9}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0e616e;border-color:#0e616e}.list-group-item-warning{color:#90682f;background-color:#fcefdc}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#90682f;background-color:#e3d7c6}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#90682f;border-color:#90682f}.list-group-item-danger{color:#82322f;background-color:#f7dddc}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#82322f;background-color:#dec7c6}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#82322f;border-color:#82322f}.list-group-item-light{color:#959596;background-color:#fefefe}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#959596;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#959596;border-color:#959596}.list-group-item-dark{color:#1f2326;background-color:#d6d8d9}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#1f2326;background-color:#c1c2c3}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1f2326;border-color:#1f2326}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(69,130,236,0.25);opacity:1}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size:.875rem;--bs-toast-color: ;--bs-toast-bg: rgba(255,255,255,0.85);--bs-toast-border-width: 1px;--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: .375rem;--bs-toast-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-toast-header-color: #868e96;--bs-toast-header-bg: rgba(255,255,255,0.85);--bs-toast-header-border-color: rgba(0,0,0,0.05);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;width:-webkit-max-content;width:-moz-max-content;width:-ms-max-content;width:-o-max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: #fff;--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: 1px;--bs-modal-border-radius: .5rem;--bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);--bs-modal-inner-border-radius: calc(.5rem - 1px);--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: 1px;--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: 1px;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform 0.3s ease-out;transform:translate(0, -50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:flex-end;-webkit-justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:.6875rem;--bs-tooltip-color: #fff;--bs-tooltip-bg: #000;--bs-tooltip-border-radius: .375rem;--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;padding:var(--bs-tooltip-arrow-height);margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow{bottom:0}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow{left:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow{top:0}.bs-tooltip-bottom .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow{right:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size:.9625rem;--bs-popover-bg: #fff;--bs-popover-border-width: 1px;--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: .5rem;--bs-popover-inner-border-radius: calc(.5rem - 1px);--bs-popover-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size:1.1rem;--bs-popover-header-color: ;--bs-popover-header-bg: #f0f0f0;--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: #343a40;--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y;-webkit-touch-action:pan-y;-moz-touch-action:pan-y;-ms-touch-action:pan-y;-o-touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:center;-webkit-justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity 0.15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;display:-webkit-flex;justify-content:center;-webkit-justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;-webkit-flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity 0.6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: ;--bs-offcanvas-bg: #fff;--bs-offcanvas-border-width: 1px;--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075)}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;-webkit-flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{mask-image:linear-gradient(130deg, #000 55%, rgba(0,0,0,0.8) 75%, #000 95%);-webkit-mask-image:linear-gradient(130deg, #000 55%, rgba(0,0,0,0.8) 75%, #000 95%);mask-size:200% 100%;-webkit-mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{mask-position:-200% 0%;-webkit-mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-default{color:#fff !important;background-color:RGBA(173,181,189, var(--bs-bg-opacity, 1)) !important}.text-bg-primary{color:#fff !important;background-color:RGBA(69,130,236, var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#fff !important;background-color:RGBA(173,181,189, var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#fff !important;background-color:RGBA(2,184,117, var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#fff !important;background-color:RGBA(23,162,184, var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#fff !important;background-color:RGBA(240,173,78, var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(217,83,79, var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(248,249,250, var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(52,58,64, var(--bs-bg-opacity, 1)) !important}.link-default{color:#adb5bd !important}.link-default:hover,.link-default:focus{color:#8a9197 !important}.link-primary{color:#4582ec !important}.link-primary:hover,.link-primary:focus{color:#3768bd !important}.link-secondary{color:#adb5bd !important}.link-secondary:hover,.link-secondary:focus{color:#8a9197 !important}.link-success{color:#02b875 !important}.link-success:hover,.link-success:focus{color:#02935e !important}.link-info{color:#17a2b8 !important}.link-info:hover,.link-info:focus{color:#128293 !important}.link-warning{color:#f0ad4e !important}.link-warning:hover,.link-warning:focus{color:#c08a3e !important}.link-danger{color:#d9534f !important}.link-danger:hover,.link-danger:focus{color:#ae423f !important}.link-light{color:#f8f9fa !important}.link-light:hover,.link-light:focus{color:#f9fafb !important}.link-dark{color:#343a40 !important}.link-dark:hover,.link-dark:focus{color:#2a2e33 !important}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio: calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio: calc(9 / 21 * 100%)}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;display:-webkit-flex;flex-direction:row;-webkit-flex-direction:row;align-items:center;-webkit-align-items:center;align-self:stretch;-webkit-align-self:stretch}.vstack{display:flex;display:-webkit-flex;flex:1 1 auto;-webkit-flex:1 1 auto;flex-direction:column;-webkit-flex-direction:column;align-self:stretch;-webkit-align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;-webkit-align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.float-start{float:left !important}.float-end{float:right !important}.float-none{float:none !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-75{opacity:.75 !important}.opacity-100{opacity:1 !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}.shadow{box-shadow:0 0.5rem 1rem rgba(0,0,0,0.15) !important}.shadow-sm{box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.075) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,0.175) !important}.shadow-none{box-shadow:none !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-0{border:0 !important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-top-0{border-top:0 !important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-start-0{border-left:0 !important}.border-default{--bs-border-opacity: 1;border-color:rgba(var(--bs-default-rgb), var(--bs-border-opacity)) !important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important}.border-1{--bs-border-width: 1px}.border-2{--bs-border-width: 2px}.border-3{--bs-border-width: 3px}.border-4{--bs-border-width: 4px}.border-5{--bs-border-width: 5px}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.me-0{margin-right:0 !important}.me-1{margin-right:.25rem !important}.me-2{margin-right:.5rem !important}.me-3{margin-right:1rem !important}.me-4{margin-right:1.5rem !important}.me-5{margin-right:3rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ms-0{margin-left:0 !important}.ms-1{margin-left:.25rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:3rem !important}.ms-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pe-0{padding-right:0 !important}.pe-1{padding-right:.25rem !important}.pe-2{padding-right:.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.ps-0{padding-left:0 !important}.ps-1{padding-left:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.4rem + 1.8vw) !important}.fs-2{font-size:calc(1.345rem + 1.14vw) !important}.fs-3{font-size:calc(1.3175rem + .81vw) !important}.fs-4{font-size:calc(1.29rem + .48vw) !important}.fs-5{font-size:calc(1.2625rem + .15vw) !important}.fs-6{font-size:1.1rem !important}.fst-italic{font-style:italic !important}.fst-normal{font-style:normal !important}.fw-light{font-weight:300 !important}.fw-lighter{font-weight:lighter !important}.fw-normal{font-weight:400 !important}.fw-bold{font-weight:700 !important}.fw-semibold{font-weight:600 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-default{--bs-text-opacity: 1;color:rgba(var(--bs-default-rgb), var(--bs-text-opacity)) !important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important}.text-muted{--bs-text-opacity: 1;color:#868e96 !important}.text-black-50{--bs-text-opacity: 1;color:rgba(0,0,0,0.5) !important}.text-white-50{--bs-text-opacity: 1;color:rgba(255,255,255,0.5) !important}.text-reset{--bs-text-opacity: 1;color:inherit !important}.text-opacity-25{--bs-text-opacity: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.bg-default{--bs-bg-opacity: 1;background-color:rgba(var(--bs-default-rgb), var(--bs-bg-opacity)) !important}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important}.bg-transparent{--bs-bg-opacity: 1;background-color:rgba(0,0,0,0) !important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:var(--bs-border-radius) !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:var(--bs-border-radius-sm) !important}.rounded-2{border-radius:var(--bs-border-radius) !important}.rounded-3{border-radius:var(--bs-border-radius-lg) !important}.rounded-4{border-radius:var(--bs-border-radius-xl) !important}.rounded-5{border-radius:var(--bs-border-radius-2xl) !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:var(--bs-border-radius-pill) !important}.rounded-top{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-end{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media (min-width: 576px){.float-sm-start{float:left !important}.float-sm-end{float:right !important}.float-sm-none{float:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-none{display:none !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:.25rem !important}.m-sm-2{margin:.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:.25rem !important}.mt-sm-2{margin-top:.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.me-sm-0{margin-right:0 !important}.me-sm-1{margin-right:.25rem !important}.me-sm-2{margin-right:.5rem !important}.me-sm-3{margin-right:1rem !important}.me-sm-4{margin-right:1.5rem !important}.me-sm-5{margin-right:3rem !important}.me-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:.25rem !important}.mb-sm-2{margin-bottom:.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ms-sm-0{margin-left:0 !important}.ms-sm-1{margin-left:.25rem !important}.ms-sm-2{margin-left:.5rem !important}.ms-sm-3{margin-left:1rem !important}.ms-sm-4{margin-left:1.5rem !important}.ms-sm-5{margin-left:3rem !important}.ms-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:.25rem !important}.p-sm-2{padding:.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:.25rem !important}.pt-sm-2{padding-top:.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pe-sm-0{padding-right:0 !important}.pe-sm-1{padding-right:.25rem !important}.pe-sm-2{padding-right:.5rem !important}.pe-sm-3{padding-right:1rem !important}.pe-sm-4{padding-right:1.5rem !important}.pe-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:.25rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.ps-sm-0{padding-left:0 !important}.ps-sm-1{padding-left:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-none{display:none !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:.25rem !important}.m-md-2{margin:.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:.25rem !important}.mt-md-2{margin-top:.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.me-md-0{margin-right:0 !important}.me-md-1{margin-right:.25rem !important}.me-md-2{margin-right:.5rem !important}.me-md-3{margin-right:1rem !important}.me-md-4{margin-right:1.5rem !important}.me-md-5{margin-right:3rem !important}.me-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:.25rem !important}.mb-md-2{margin-bottom:.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ms-md-0{margin-left:0 !important}.ms-md-1{margin-left:.25rem !important}.ms-md-2{margin-left:.5rem !important}.ms-md-3{margin-left:1rem !important}.ms-md-4{margin-left:1.5rem !important}.ms-md-5{margin-left:3rem !important}.ms-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:.25rem !important}.p-md-2{padding:.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:.25rem !important}.pt-md-2{padding-top:.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pe-md-0{padding-right:0 !important}.pe-md-1{padding-right:.25rem !important}.pe-md-2{padding-right:.5rem !important}.pe-md-3{padding-right:1rem !important}.pe-md-4{padding-right:1.5rem !important}.pe-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:.25rem !important}.pb-md-2{padding-bottom:.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.ps-md-0{padding-left:0 !important}.ps-md-1{padding-left:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-grid{display:grid !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}.d-lg-none{display:none !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:.25rem !important}.m-lg-2{margin:.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:.25rem !important}.mt-lg-2{margin-top:.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.me-lg-0{margin-right:0 !important}.me-lg-1{margin-right:.25rem !important}.me-lg-2{margin-right:.5rem !important}.me-lg-3{margin-right:1rem !important}.me-lg-4{margin-right:1.5rem !important}.me-lg-5{margin-right:3rem !important}.me-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:.25rem !important}.mb-lg-2{margin-bottom:.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ms-lg-0{margin-left:0 !important}.ms-lg-1{margin-left:.25rem !important}.ms-lg-2{margin-left:.5rem !important}.ms-lg-3{margin-left:1rem !important}.ms-lg-4{margin-left:1.5rem !important}.ms-lg-5{margin-left:3rem !important}.ms-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:.25rem !important}.p-lg-2{padding:.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:.25rem !important}.pt-lg-2{padding-top:.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pe-lg-0{padding-right:0 !important}.pe-lg-1{padding-right:.25rem !important}.pe-lg-2{padding-right:.5rem !important}.pe-lg-3{padding-right:1rem !important}.pe-lg-4{padding-right:1.5rem !important}.pe-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:.25rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.ps-lg-0{padding-left:0 !important}.ps-lg-1{padding-left:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-grid{display:grid !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}.d-xl-none{display:none !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.justify-content-xl-evenly{justify-content:space-evenly !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}.order-xl-first{order:-1 !important}.order-xl-0{order:0 !important}.order-xl-1{order:1 !important}.order-xl-2{order:2 !important}.order-xl-3{order:3 !important}.order-xl-4{order:4 !important}.order-xl-5{order:5 !important}.order-xl-last{order:6 !important}.m-xl-0{margin:0 !important}.m-xl-1{margin:.25rem !important}.m-xl-2{margin:.5rem !important}.m-xl-3{margin:1rem !important}.m-xl-4{margin:1.5rem !important}.m-xl-5{margin:3rem !important}.m-xl-auto{margin:auto !important}.mx-xl-0{margin-right:0 !important;margin-left:0 !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}.my-xl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xl-0{margin-top:0 !important}.mt-xl-1{margin-top:.25rem !important}.mt-xl-2{margin-top:.5rem !important}.mt-xl-3{margin-top:1rem !important}.mt-xl-4{margin-top:1.5rem !important}.mt-xl-5{margin-top:3rem !important}.mt-xl-auto{margin-top:auto !important}.me-xl-0{margin-right:0 !important}.me-xl-1{margin-right:.25rem !important}.me-xl-2{margin-right:.5rem !important}.me-xl-3{margin-right:1rem !important}.me-xl-4{margin-right:1.5rem !important}.me-xl-5{margin-right:3rem !important}.me-xl-auto{margin-right:auto !important}.mb-xl-0{margin-bottom:0 !important}.mb-xl-1{margin-bottom:.25rem !important}.mb-xl-2{margin-bottom:.5rem !important}.mb-xl-3{margin-bottom:1rem !important}.mb-xl-4{margin-bottom:1.5rem !important}.mb-xl-5{margin-bottom:3rem !important}.mb-xl-auto{margin-bottom:auto !important}.ms-xl-0{margin-left:0 !important}.ms-xl-1{margin-left:.25rem !important}.ms-xl-2{margin-left:.5rem !important}.ms-xl-3{margin-left:1rem !important}.ms-xl-4{margin-left:1.5rem !important}.ms-xl-5{margin-left:3rem !important}.ms-xl-auto{margin-left:auto !important}.p-xl-0{padding:0 !important}.p-xl-1{padding:.25rem !important}.p-xl-2{padding:.5rem !important}.p-xl-3{padding:1rem !important}.p-xl-4{padding:1.5rem !important}.p-xl-5{padding:3rem !important}.px-xl-0{padding-right:0 !important;padding-left:0 !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xl-0{padding-top:0 !important}.pt-xl-1{padding-top:.25rem !important}.pt-xl-2{padding-top:.5rem !important}.pt-xl-3{padding-top:1rem !important}.pt-xl-4{padding-top:1.5rem !important}.pt-xl-5{padding-top:3rem !important}.pe-xl-0{padding-right:0 !important}.pe-xl-1{padding-right:.25rem !important}.pe-xl-2{padding-right:.5rem !important}.pe-xl-3{padding-right:1rem !important}.pe-xl-4{padding-right:1.5rem !important}.pe-xl-5{padding-right:3rem !important}.pb-xl-0{padding-bottom:0 !important}.pb-xl-1{padding-bottom:.25rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pb-xl-3{padding-bottom:1rem !important}.pb-xl-4{padding-bottom:1.5rem !important}.pb-xl-5{padding-bottom:3rem !important}.ps-xl-0{padding-left:0 !important}.ps-xl-1{padding-left:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media (min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-grid{display:grid !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:flex !important}.d-xxl-inline-flex{display:inline-flex !important}.d-xxl-none{display:none !important}.flex-xxl-fill{flex:1 1 auto !important}.flex-xxl-row{flex-direction:row !important}.flex-xxl-column{flex-direction:column !important}.flex-xxl-row-reverse{flex-direction:row-reverse !important}.flex-xxl-column-reverse{flex-direction:column-reverse !important}.flex-xxl-grow-0{flex-grow:0 !important}.flex-xxl-grow-1{flex-grow:1 !important}.flex-xxl-shrink-0{flex-shrink:0 !important}.flex-xxl-shrink-1{flex-shrink:1 !important}.flex-xxl-wrap{flex-wrap:wrap !important}.flex-xxl-nowrap{flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xxl-start{justify-content:flex-start !important}.justify-content-xxl-end{justify-content:flex-end !important}.justify-content-xxl-center{justify-content:center !important}.justify-content-xxl-between{justify-content:space-between !important}.justify-content-xxl-around{justify-content:space-around !important}.justify-content-xxl-evenly{justify-content:space-evenly !important}.align-items-xxl-start{align-items:flex-start !important}.align-items-xxl-end{align-items:flex-end !important}.align-items-xxl-center{align-items:center !important}.align-items-xxl-baseline{align-items:baseline !important}.align-items-xxl-stretch{align-items:stretch !important}.align-content-xxl-start{align-content:flex-start !important}.align-content-xxl-end{align-content:flex-end !important}.align-content-xxl-center{align-content:center !important}.align-content-xxl-between{align-content:space-between !important}.align-content-xxl-around{align-content:space-around !important}.align-content-xxl-stretch{align-content:stretch !important}.align-self-xxl-auto{align-self:auto !important}.align-self-xxl-start{align-self:flex-start !important}.align-self-xxl-end{align-self:flex-end !important}.align-self-xxl-center{align-self:center !important}.align-self-xxl-baseline{align-self:baseline !important}.align-self-xxl-stretch{align-self:stretch !important}.order-xxl-first{order:-1 !important}.order-xxl-0{order:0 !important}.order-xxl-1{order:1 !important}.order-xxl-2{order:2 !important}.order-xxl-3{order:3 !important}.order-xxl-4{order:4 !important}.order-xxl-5{order:5 !important}.order-xxl-last{order:6 !important}.m-xxl-0{margin:0 !important}.m-xxl-1{margin:.25rem !important}.m-xxl-2{margin:.5rem !important}.m-xxl-3{margin:1rem !important}.m-xxl-4{margin:1.5rem !important}.m-xxl-5{margin:3rem !important}.m-xxl-auto{margin:auto !important}.mx-xxl-0{margin-right:0 !important;margin-left:0 !important}.mx-xxl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xxl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xxl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xxl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xxl-auto{margin-right:auto !important;margin-left:auto !important}.my-xxl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xxl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xxl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xxl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xxl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xxl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xxl-0{margin-top:0 !important}.mt-xxl-1{margin-top:.25rem !important}.mt-xxl-2{margin-top:.5rem !important}.mt-xxl-3{margin-top:1rem !important}.mt-xxl-4{margin-top:1.5rem !important}.mt-xxl-5{margin-top:3rem !important}.mt-xxl-auto{margin-top:auto !important}.me-xxl-0{margin-right:0 !important}.me-xxl-1{margin-right:.25rem !important}.me-xxl-2{margin-right:.5rem !important}.me-xxl-3{margin-right:1rem !important}.me-xxl-4{margin-right:1.5rem !important}.me-xxl-5{margin-right:3rem !important}.me-xxl-auto{margin-right:auto !important}.mb-xxl-0{margin-bottom:0 !important}.mb-xxl-1{margin-bottom:.25rem !important}.mb-xxl-2{margin-bottom:.5rem !important}.mb-xxl-3{margin-bottom:1rem !important}.mb-xxl-4{margin-bottom:1.5rem !important}.mb-xxl-5{margin-bottom:3rem !important}.mb-xxl-auto{margin-bottom:auto !important}.ms-xxl-0{margin-left:0 !important}.ms-xxl-1{margin-left:.25rem !important}.ms-xxl-2{margin-left:.5rem !important}.ms-xxl-3{margin-left:1rem !important}.ms-xxl-4{margin-left:1.5rem !important}.ms-xxl-5{margin-left:3rem !important}.ms-xxl-auto{margin-left:auto !important}.p-xxl-0{padding:0 !important}.p-xxl-1{padding:.25rem !important}.p-xxl-2{padding:.5rem !important}.p-xxl-3{padding:1rem !important}.p-xxl-4{padding:1.5rem !important}.p-xxl-5{padding:3rem !important}.px-xxl-0{padding-right:0 !important;padding-left:0 !important}.px-xxl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xxl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xxl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xxl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xxl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xxl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xxl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xxl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xxl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xxl-0{padding-top:0 !important}.pt-xxl-1{padding-top:.25rem !important}.pt-xxl-2{padding-top:.5rem !important}.pt-xxl-3{padding-top:1rem !important}.pt-xxl-4{padding-top:1.5rem !important}.pt-xxl-5{padding-top:3rem !important}.pe-xxl-0{padding-right:0 !important}.pe-xxl-1{padding-right:.25rem !important}.pe-xxl-2{padding-right:.5rem !important}.pe-xxl-3{padding-right:1rem !important}.pe-xxl-4{padding-right:1.5rem !important}.pe-xxl-5{padding-right:3rem !important}.pb-xxl-0{padding-bottom:0 !important}.pb-xxl-1{padding-bottom:.25rem !important}.pb-xxl-2{padding-bottom:.5rem !important}.pb-xxl-3{padding-bottom:1rem !important}.pb-xxl-4{padding-bottom:1.5rem !important}.pb-xxl-5{padding-bottom:3rem !important}.ps-xxl-0{padding-left:0 !important}.ps-xxl-1{padding-left:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}.bg-default{color:#fff}.bg-primary{color:#fff}.bg-secondary{color:#fff}.bg-success{color:#fff}.bg-info{color:#fff}.bg-warning{color:#fff}.bg-danger{color:#fff}.bg-light{color:#000}.bg-dark{color:#fff}@media (min-width: 1200px){.fs-1{font-size:2.75rem !important}.fs-2{font-size:2.2rem !important}.fs-3{font-size:1.925rem !important}.fs-4{font-size:1.65rem !important}.fs-5{font-size:1.375rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}.d-print-none{display:none !important}}.table th[align=left]{text-align:left}.table th[align=right]{text-align:right}.table th[align=center]{text-align:center}.accordion .accordion-icon:not(:empty){margin-right:0.25rem;display:flex}.accordion .accordion-button:not(.collapsed){box-shadow:none}.accordion .accordion-button:not(.collapsed):focus{box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.bslib-card .card-body+.card-body{padding-top:0}.bslib-card .card-body{overflow:auto}.bslib-card .card-body p{margin-top:0}.bslib-card .card-body p:last-child{margin-bottom:0}.bslib-card .card-body{max-height:var(--bslib-card-body-max-height, none)}.bslib-card.bslib-full-screen>.card-body{max-height:var(--bslib-card-body-max-height-full-screen, none)}.bslib-card .card-header .form-group{margin-bottom:0}.bslib-card .card-header .selectize-control{margin-bottom:0}.bslib-card .card-header .selectize-control .item{margin-right:1.15rem}.bslib-card .card-footer{margin-top:auto}.bslib-card .bslib-navs-card-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.bslib-card .bslib-navs-card-title .nav{margin-left:auto}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]){border:none}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]){border-top-left-radius:0;border-top-right-radius:0}.bslib-full-screen{position:fixed;inset:3.5rem 1rem 1rem;height:auto !important;max-height:none !important;width:auto !important;z-index:1070}.bslib-full-screen-enter{display:none;position:absolute;bottom:1px;right:3px;margin:0.5rem;padding:0.55rem !important;font-size:.8rem;cursor:pointer;opacity:.6;color:rgba(var(--bs-body-bg-rgb), 1);z-index:1070}.bslib-full-screen-enter:hover{opacity:1}.card:hover:not(.bslib-full-screen)>.bslib-full-screen-enter{display:block}.bslib-has-full-screen .card:hover>.bslib-full-screen-enter{display:none}@media (max-width: 575.98px){.bslib-full-screen-enter{display:none !important}}.bslib-full-screen-exit{position:relative;top:1.35rem;font-size:0.9rem;cursor:pointer;text-decoration:none;display:flex;float:right;margin-right:2.15rem;align-items:center;color:rgba(var(--bs-body-bg-rgb), 0.8)}.bslib-full-screen-exit:hover{color:rgba(var(--bs-body-bg-rgb), 1)}.bslib-full-screen-exit svg{margin-left:0.5rem;font-size:1.5rem}#bslib-full-screen-overlay{position:fixed;inset:0;background-color:rgba(var(--bs-body-color-rgb), 0.6);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:1069;animation:bslib-full-screen-overlay-enter 400ms cubic-bezier(0.6, 0.02, 0.65, 1) forwards}@keyframes bslib-full-screen-overlay-enter{0%{opacity:0}100%{opacity:1}}.tab-content>.tab-pane.html-fill-container{display:none}.tab-content>.active.html-fill-container{display:flex}.tab-content.html-fill-container{padding:0}.bslib-page-fill{width:100%;height:100%;margin:0;padding:1rem;gap:1rem}.bslib-page-title{background-color:#343a40;color:#fff;font-size:1.65rem;font-weight:300;padding:1rem;padding-left:1.5rem;margin-bottom:0}@media (max-width: 575.98px){.bslib-page-fill{height:var(--bslib-page-fill-mobile-height, auto)}}:root{--bslib-mb-spacer: 1rem}.bslib-mb-spacer{margin-bottom:var(--bslib-mb-spacer)}.bslib-gap-spacing{gap:var(--bslib-mb-spacer)}.bslib-gap-spacing>.bslib-mb-spacer,.bslib-gap-spacing>.form-group,.bslib-gap-spacing>p,.bslib-gap-spacing>pre{margin-bottom:0}.bslib-grid{display:grid !important;gap:1rem;height:var(--bslib-grid-height)}@media (max-width: 575.98px){.bslib-grid{grid-template-columns:1fr !important;height:var(--bslib-grid-height-mobile)}}.bslib-grid.grid{grid-template-rows:unset;grid-auto-rows:var(--bslib-grid--row-heights);--bslib-grid--row-heights--xs: unset;--bslib-grid--row-heights--sm: unset;--bslib-grid--row-heights--md: unset;--bslib-grid--row-heights--lg: unset;--bslib-grid--row-heights--xl: unset;--bslib-grid--row-heights--xxl: unset}.bslib-grid.grid.bslib-grid--row-heights--xs{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xs)}@media (min-width: 576px){.bslib-grid.grid.bslib-grid--row-heights--sm{--bslib-grid--row-heights: var(--bslib-grid--row-heights--sm)}}@media (min-width: 768px){.bslib-grid.grid.bslib-grid--row-heights--md{--bslib-grid--row-heights: var(--bslib-grid--row-heights--md)}}@media (min-width: 992px){.bslib-grid.grid.bslib-grid--row-heights--lg{--bslib-grid--row-heights: var(--bslib-grid--row-heights--lg)}}@media (min-width: 1200px){.bslib-grid.grid.bslib-grid--row-heights--xl{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xl)}}@media (min-width: 1400px){.bslib-grid.grid.bslib-grid--row-heights--xxl{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xxl)}}.bslib-grid-item{grid-column:auto/span 1}@media (max-width: 767.98px){.bslib-grid-item{grid-column:1 / -1}}@media (max-width: 575.98px){.bslib-grid.grid{height:unset !important;grid-auto-rows:var(--bslib-grid--row-heights--xs, auto)}}.bslib-sidebar-layout{--bslib-sidebar-transition: grid-template-columns ease-in-out 500ms;--bslib-sidebar-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-sidebar-border-radius: var(--bs-border-radius);--bslib-sidebar-vert-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-sidebar-bg: #f8f8f8;--bslib-sidebar-fg: #000;--bslib-collapse-toggle-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-collapse-toggle-transform: 90deg;--bslib-collapse-toggle-right-transform: -90deg;display:grid !important;grid-template-columns:Min(calc(100% - 1rem), var(--bslib-sidebar-width, 250px)) minmax(0, 1fr);position:relative;transition:var(--bslib-sidebar-transition);border:var(--bslib-sidebar-border);border-radius:var(--bslib-sidebar-border-radius)}@media (prefers-reduced-motion: reduce){.bslib-sidebar-layout{transition:none}}.bslib-sidebar-layout[data-bslib-sidebar-border="false"]{border:none}.bslib-sidebar-layout[data-bslib-sidebar-border-radius="false"]{border-radius:initial}.bslib-sidebar-layout>.main,.bslib-sidebar-layout>.sidebar{grid-row:1 / 2;border-radius:inherit;overflow:auto}.bslib-sidebar-layout>.main{grid-column:2 / 3;border-top-left-radius:0;border-bottom-left-radius:0;padding:1.5rem}.bslib-sidebar-layout>.sidebar{grid-column:1 / 2;width:100%;height:100%;border-right:var(--bslib-sidebar-vert-border);border-top-right-radius:0;border-bottom-right-radius:0;background-color:var(--bslib-sidebar-bg);color:var(--bslib-sidebar-fg)}.bslib-sidebar-layout>.sidebar>.sidebar-content{display:flex;flex-direction:column;padding:1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>:last-child:not(.sidebar-title){margin-bottom:0}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion{margin-left:-1.5rem;margin-right:-1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:first-child{margin-top:-1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:last-child{margin-bottom:-1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child){margin-bottom:1rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-body{display:flex;flex-direction:column}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:first-child) .accordion-item:first-child{border-top:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child) .accordion-item:last-child{border-bottom:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content>.sidebar-title+.accordion{margin-top:calc(-1rem - var(--bs-card-border-width, 1px))}.bslib-sidebar-layout>.sidebar>.sidebar-content>.sidebar-title:has(+.accordion){border-bottom:none}.bslib-sidebar-layout>.sidebar .shiny-input-container{width:100%}.bslib-sidebar-layout>.collapse-toggle{grid-row:1 / 2;grid-column:1 / 2;display:inline-flex;align-items:center;position:absolute;right:-1rem;bottom:calc(1.5rem + var(--bslib-sidebar-overlap-counter, 0) * calc(1rem + 1.5rem));border:var(--bslib-collapse-toggle-border);border-left:none;border-radius:0 var(--bs-border-radius) var(--bs-border-radius) 0;padding:7px 0;background-color:var(--bslib-sidebar-bg);color:var(--bslib-sidebar-fg)}.bslib-sidebar-layout>.collapse-toggle>.collapse-icon{opacity:0.8;width:1rem;height:1rem;transform:rotate(var(--bslib-collapse-toggle-transform));transition:transform cubic-bezier(0.68, -0.55, 0.27, 1.55) 500ms}.bslib-sidebar-layout>.collapse-toggle:hover>.collapse-icon{opacity:1}.bslib-sidebar-layout .sidebar-title{font-size:1.375rem;line-height:1.25;margin-top:0;margin-bottom:1rem;padding-bottom:1rem;border-bottom:var(--bslib-sidebar-border)}.bslib-sidebar-layout.sidebar-right{grid-template-columns:minmax(0, 1fr) Min(calc(100% - 1rem), var(--bslib-sidebar-width, 250px))}.bslib-sidebar-layout.sidebar-right>.main{grid-column:1 / 2;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit}.bslib-sidebar-layout.sidebar-right>.sidebar{grid-column:2 / 3;border-right:none;border-left:var(--bslib-sidebar-vert-border);border-top-left-radius:0;border-bottom-left-radius:0}.bslib-sidebar-layout.sidebar-right>.collapse-toggle{grid-column:2 / 3;left:-1rem;right:unset;border-radius:var(--bs-border-radius) 0 0 var(--bs-border-radius);border-right:none;border-left:var(--bslib-collapse-toggle-border)}.bslib-sidebar-layout.sidebar-right>.collapse-toggle>.collapse-icon{transform:rotate(var(--bslib-collapse-toggle-right-transform))}.bslib-sidebar-layout.sidebar-collapsed{--bslib-collapse-toggle-transform: -90deg;--bslib-collapse-toggle-right-transform: 90deg;--bslib-sidebar-vert-border: none;grid-template-columns:0 minmax(0, 1fr)}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right{grid-template-columns:minmax(0, 1fr) 0}.bslib-sidebar-layout.sidebar-collapsed:not(.transitioning)>.sidebar>*{display:none}.bslib-sidebar-layout.sidebar-collapsed>.main{border-radius:inherit}.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle{right:calc(-1rem - var(--bs-card-border-width, 1px))}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right>.collapse-toggle{left:calc(-1rem - var(--bs-card-border-width, 1px));right:unset}@media (min-width: 576px){.bslib-sidebar-layout.transitioning>.sidebar>.sidebar-content{display:none}}@media (max-width: 575.98px){.bslib-sidebar-layout,.bslib-sidebar-layout.sidebar-right{--bslib-sidebar-vert-border: none;--bslib-sidebar-horiz-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-collapse-toggle-transform: -180deg;--bslib-collapse-toggle-right-transform: -180deg;grid-template-columns:1fr !important;grid-template-rows:fit-content(var(--bslib-sidebar-max-height-mobile, auto)) minmax(0, 1fr)}.bslib-sidebar-layout[data-bslib-sidebar-open="desktop"],.bslib-sidebar-layout.sidebar-right[data-bslib-sidebar-open="desktop"]{--bslib-sidebar-js-init-collapsed: true}.bslib-sidebar-layout>.sidebar,.bslib-sidebar-layout.sidebar-right>.sidebar{grid-row:1 / 2;grid-column:1 / 2;width:100%;border:none;border-bottom:var(--bslib-sidebar-horiz-border);border-radius:0}.bslib-sidebar-layout>.main,.bslib-sidebar-layout.sidebar-right>.main{grid-row:2 / 3;grid-column:1 / 2;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.bslib-sidebar-layout>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle{grid-row:2 / 3;grid-column:1 / 2;border-top:none !important;border:var(--bslib-collapse-toggle-border);border-radius:0 0 var(--bs-border-radius) var(--bs-border-radius);padding:0 4px}.bslib-sidebar-layout>.collapse-toggle>.collapse-icon,.bslib-sidebar-layout.sidebar-right>.collapse-toggle>.collapse-icon{transition-duration:165ms}.bslib-sidebar-layout>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right>.collapse-toggle{top:calc(-1 * var(--bs-card-border-width, 1px))}.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right.sidebar-collapsed>.collapse-toggle{top:0}.bslib-sidebar-layout>.collapse-toggle,.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right.sidebar-collapsed>.collapse-toggle{right:calc(1.5rem + var(--bslib-sidebar-counter, 0) * calc(1rem + 1.5rem));bottom:initial;left:initial}.bslib-sidebar-layout.sidebar-collapsed,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed{--bslib-collapse-toggle-transform: 0deg;--bslib-collapse-toggle-right-transform: 0deg;grid-template-rows:0 minmax(0, 1fr)}.bslib-sidebar-layout.sidebar-collapsed>.main,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.main{border-top-left-radius:inherit;border-top-right-radius:inherit}.bslib-sidebar-layout.sidebar-collapsed>.sidebar,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.sidebar{border-bottom:none}}.navbar+.container-fluid:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-sm:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-md:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-lg:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-xl:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-xxl:has(>.tab-content>.tab-pane.active.html-fill-container){padding-left:0;padding-right:0}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container{padding:1rem;gap:1rem}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child){padding:0}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border="true"]),.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border="true"]),.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border="true"]),.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border="true"]),.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border="true"]),.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border="true"]){border-left:none;border-right:none;border-bottom:none}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius="true"]){border-radius:0}.navbar+div>.bslib-sidebar-layout{border-top:var(--bslib-sidebar-border)}.bslib-value-box .value-box-grid{grid-template-columns:var(--bslib-value-box-widths)}.bslib-value-box .value-box-showcase{align-items:center;justify-content:center;margin-top:auto;margin-bottom:auto;padding:1rem;max-height:var(--bslib-value-box-max-height)}.bslib-value-box .value-box-showcase .bi,.bslib-value-box .value-box-showcase .fa{opacity:.85}.bslib-value-box .value-box-showcase .bi{font-size:5rem}.bslib-value-box .value-box-showcase .fa{font-size:4rem}.bslib-value-box .value-box-showcase.showcase-top-right{align-items:end;padding-left:0;padding-bottom:0}.bslib-value-box .value-box-area{justify-content:center;padding:1.5rem 1rem;font-size:.9rem;font-weight:500}.bslib-value-box .value-box-area *{color:inherit;margin-bottom:0;margin-top:0}.bslib-value-box .value-box-area>:first-child{color:inherit}.bslib-value-box .value-box-area>:first-child::after{content:'\00a0 '}.bslib-value-box .value-box-area>:nth-child(2){color:inherit}.bslib-value-box .value-box-area>:nth-child(2)::after{content:'\00a0 '}.bslib-value-box .value-box-area.border-start{border-color:rgba(221,221,221,0.3) !important}.bslib-value-box.bslib-full-screen .value-box-grid{grid-template-columns:var(--bslib-value-box-widths-full-screen)}.bslib-value-box.bslib-full-screen .value-box-showcase{max-height:var(--bslib-value-box-max-height-full-screen)}.bslib-value-box:not(.bslib-full-screen) .value-box-showcase.showcase-top-right{margin-top:0}@media (max-width: 575.98px){.bslib-value-box .value-box-grid{grid-template-columns:var(--bslib-value-box-widths) !important}}@media (min-width: 576px){.nav:not(.nav-hidden){display:flex !important;display:-webkit-flex !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column){float:none !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.bslib-nav-spacer{margin-left:auto !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.form-inline{margin-top:auto;margin-bottom:auto}.nav:not(.nav-hidden).nav-stacked{flex-direction:column;-webkit-flex-direction:column;height:100%}.nav:not(.nav-hidden).nav-stacked>.bslib-nav-spacer{margin-top:auto !important}}:root{color-scheme:light}.navbar{font-size:.9625rem}.navbar.bg-dark{background-color:#02b875 !important}.navbar.bg-light{background-color:#fff !important;border:1px solid rgba(0,0,0,0.1)}.navbar.bg-light.navbar-fixed-top{border-width:0 0 1px}.navbar.bg-light.navbar-fixed-bottom{border-width:1px 0 0}p{font-family:Georgia,Cambria,"Times New Roman",Times,serif}blockquote{font-style:italic}footer{font-size:.9625rem}.lead{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";color:#868e96}table,.table{font-size:.9625rem}.nav,.breadcrumb,.pagination{font-size:.9625rem}.dropdown-menu{font-size:.9625rem}.alert{font-size:.9625rem;color:#fff}.alert,.alert p{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.alert a,.alert .alert-link{font-weight:400;color:#fff;text-decoration:underline}.alert-default{background-color:#adb5bd}.alert-primary{background-color:#4582ec}.alert-secondary{background-color:#adb5bd}.alert-success{background-color:#02b875}.alert-info{background-color:#17a2b8}.alert-warning{background-color:#f0ad4e}.alert-danger{background-color:#d9534f}.alert-light{background-color:#f8f9fa}.alert-dark{background-color:#343a40}.alert-light,.alert-light a,.alert-light .alert-link{color:#343a40}.badge.bg-light{color:#343a40}.list-group{font-size:.9625rem}.row>main{max-width:50rem}@media (min-width: 1200px) and (max-width: 1399.98px){.container .row{justify-content:space-evenly}}@media (min-width: 1400px){body{font-size:18px}.col-md-3{margin-left:5rem}}.navbar-nav .nav-item>.nav-link{border-radius:.375rem;padding:0.5rem}.navbar>.container{align-items:baseline;-webkit-align-items:baseline}.navbar-light .navbar-nav .active>.nav-link{background:#e9ecef;color:#343a40}.navbar-dark .navbar-nav .active>.nav-link{background:#343a40;color:#fff}.navbar-dark .navbar-nav .nav-item>.nav-link:hover,.navbar-light .navbar-nav .nav-item>.nav-link:hover{background:rgba(69,130,236,0.1)}.navbar-dark input[type="search"]{border-color:#868e96;background-color:#212529;color:#e9ecef}input[type="search"]{border-color:#ddd;width:12rem}.headroom{will-change:transform;transition:transform 400ms ease}.headroom--pinned{transform:translateY(0%)}.headroom--unpinned{transform:translateY(-100%)}.row>main,.row>aside{margin-top:56px}html,body{scroll-padding:56px}@media (min-width: 576px){#toc{position:sticky;top:56px;max-height:calc(100vh - 56px - 1rem);overflow-y:auto}}aside h2,aside .h2,aside .bslib-value-box .value-box-area>:nth-child(2),.bslib-value-box aside .value-box-area>:nth-child(2){margin-top:1.5rem;font-size:1.375rem}aside .roles{color:#5d6166}aside .list-unstyled li{margin-bottom:0.5rem}aside .dev-status .list-unstyled li{margin-bottom:0.1rem}@media (max-width: 575.98px){aside{margin:0.5rem;width:calc(100vw - 1rem);background-color:#f8f9fa;border-color:#ddd;border-radius:.375rem}aside h2:first-child,aside .h2:first-child,aside .bslib-value-box .value-box-area>:first-child:nth-child(2),.bslib-value-box aside .value-box-area>:first-child:nth-child(2){margin-top:1rem}}body{position:relative}#toc>.nav{margin-bottom:1rem}#toc>.nav a.nav-link{color:inherit;padding:0.25rem 0.5rem;margin-bottom:2px;border-radius:.375rem;border:0 solid #ddd}#toc>.nav a.nav-link:hover,#toc>.nav a.nav-link:focus{background-color:rgba(69,130,236,0.1);color:#000}#toc>.nav a.nav-link.active{background-color:#ebebec;color:#000}#toc>.nav .nav a.nav-link{margin-left:0.5rem}#toc>.nav .nav{display:none !important}#toc>.nav a.active+.nav{display:flex !important}footer{margin:1rem 0 1rem 0;font-size:.875em;border-top:1px solid #ddd;background:rgba(0,0,0,0);color:#5d6166;display:flex;column-gap:1rem}@media (max-width: 575.98px){footer{flex-direction:column}}@media (min-width: 576px){footer .pkgdown-footer-right{text-align:right}}footer div{flex:1 1 auto}html,body{height:100%}body>.container{min-height:100%;display:flex;flex-direction:column}body>.container .row{flex:1 0 auto}::selection{background-color:#dae6fb}main img{max-width:100%;height:auto}main table{display:block;overflow:auto}body{font-display:fallback}.page-header{border-bottom:1px solid #ddd;padding-bottom:0.5rem;margin-bottom:0.5rem;margin-top:1.5rem}dd{margin-left:1.5rem}summary{margin-bottom:0.5rem}details{margin-bottom:1rem}.html-widget{margin-bottom:1rem}a.anchor{display:none;margin-left:5px;width:Min(0.9em, 20px);height:Min(0.9em, 20px);background-image:url(../../link.svg);background-repeat:no-repeat;background-size:Min(0.9em, 20px) Min(0.9em, 20px);background-position:center center}h2:hover .anchor,.h2:hover .anchor,.bslib-value-box .value-box-area>:hover:nth-child(2) .anchor,h3:hover .anchor,.h3:hover .anchor,h4:hover .anchor,.h4:hover .anchor,h5:hover .anchor,.h5:hover .anchor,h6:hover .anchor,.h6:hover .anchor,.bslib-value-box .value-box-area>:hover:first-child .anchor{display:inline-block}.orcid{color:#A6CE39;margin-right:4px}.fab{font-family:"Font Awesome 5 Brands" !important}img.logo{float:right;width:100px;margin-left:30px}.template-home img.logo{width:120px}@media (max-width: 575.98px){img.logo{width:80px}}@media (min-width: 576px){.page-header{min-height:88px}.template-home .page-header{min-height:104px}}.line-block{margin-bottom:1rem}.template-reference-index dt{font-weight:normal}.template-reference-index code{word-wrap:normal}.icon{float:right}.icon img{width:40px}a.footnote-ref{cursor:pointer}.popover{width:Min(100vw, 32rem);font-size:0.9rem;box-shadow:4px 4px 8px rgba(0,0,0,0.3)}.popover-body{padding:0.75rem}.popover-body p:last-child{margin-bottom:0}.tab-content{padding:1rem}.tabset-pills .tab-content{border:solid 1px #e5e5e5}.tab-content{display:flex}.tab-content>.tab-pane{display:block;visibility:hidden;margin-right:-100%;width:100%}.tab-content>.active{visibility:visible}div.csl-entry{clear:both}.hanging-indent div.csl-entry{margin-left:2em;text-indent:-2em}div.csl-left-margin{min-width:2em;float:left}div.csl-right-inline{margin-left:2em;padding-left:1em}div.csl-indent{margin-left:2em}pre,pre code{word-wrap:normal}code{overflow-wrap:break-word}.hasCopyButton{position:relative}.btn-copy-ex{position:absolute;right:5px;top:5px;visibility:hidden}.hasCopyButton:hover button.btn-copy-ex{visibility:visible}pre{padding:1rem 0.5rem}@media (max-width: 575.98px){div>div>pre{margin-left:calc(var(--bs-gutter-x) * -.5);margin-right:calc(var(--bs-gutter-x) * -.5);border-radius:0;padding-left:1rem;padding-right:1rem}.btn-copy-ex{right:calc(var(--bs-gutter-x) * -.5 + 5px)}}code a:any-link{color:inherit;text-decoration-color:#868e96}pre code{padding:0;background:transparent}pre code .error,pre code .warning{font-weight:bolder}pre .img img,pre .r-plt img{margin:5px 0;background-color:#fff}@media print{code a:link:after,code a:visited:after{content:""}}a.sourceLine:hover{text-decoration:none}mark,.mark{background:linear-gradient(-100deg, rgba(23,162,184,0.2), rgba(23,162,184,0.7) 95%, rgba(23,162,184,0.1))}.algolia-autocomplete .aa-hint{color:#212529}.algolia-autocomplete .aa-dropdown-menu{width:Max(100%, 20rem);background-color:#fff;border:1px solid rgba(0,0,0,0.1);margin-top:2px;max-height:50vh;overflow-y:auto}.algolia-autocomplete .aa-dropdown-menu .aa-suggestion{cursor:pointer;padding:5px 4px;border-bottom:1px #e9ecef solid;font-size:0.9rem;color:#212529}.search-details{font-size:0.9rem;color:#4582ec;display:inline;font-weight:bolder}.algolia-autocomplete .aa-dropdown-menu .aa-suggestion.aa-cursor{background-color:#ecf3fd}pre{background-color:#f1f3f5}pre code{color:#003B4F}pre code span.al{color:#AD0000}pre code span.an{color:#5E5E5E}pre code span.at{color:#657422}pre code span.bn{color:#AD0000}pre code span.cf{color:#003B4F}pre code span.ch{color:#20794D}pre code span.cn{color:#8f5902}pre code span.co{color:#5E5E5E}pre code span.cv{color:#5E5E5E;font-style:italic}pre code span.do{color:#5E5E5E;font-style:italic}pre code span.dt{color:#AD0000}pre code span.dv{color:#AD0000}pre code span.er{color:#AD0000}pre code span.fl{color:#AD0000}pre code span.fu{color:#4758AB}pre code span.im{color:#00769E}pre code span.in{color:#5E5E5E}pre code span.kw{color:#003B4F}pre code span.op{color:#5E5E5E}pre code span.ot{color:#003B4F}pre code span.pp{color:#AD0000}pre code span.sc{color:#5E5E5E}pre code span.ss{color:#20794D}pre code span.st{color:#20794D}pre code span.va{color:#111111}pre code span.vs{color:#20794D}pre code span.wa{color:#5E5E5E;font-style:italic} + */:root{--bs-blue: #4582ec;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #e83e8c;--bs-red: #d9534f;--bs-orange: #fd7e14;--bs-yellow: #f0ad4e;--bs-green: #02b875;--bs-teal: #20c997;--bs-cyan: #17a2b8;--bs-black: #000;--bs-white: #fff;--bs-gray: #868e96;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #ddd;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #868e96;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-default: #adb5bd;--bs-primary: #4582ec;--bs-secondary: #adb5bd;--bs-success: #02b875;--bs-info: #17a2b8;--bs-warning: #f0ad4e;--bs-danger: #d9534f;--bs-light: #f8f9fa;--bs-dark: #343a40;--bs-default-rgb: 173,181,189;--bs-primary-rgb: 69,130,236;--bs-secondary-rgb: 173,181,189;--bs-success-rgb: 2,184,117;--bs-info-rgb: 23,162,184;--bs-warning-rgb: 240,173,78;--bs-danger-rgb: 217,83,79;--bs-light-rgb: 248,249,250;--bs-dark-rgb: 52,58,64;--bs-white-rgb: 255,255,255;--bs-black-rgb: 0,0,0;--bs-body-color-rgb: 52,58,64;--bs-body-bg-rgb: 255,255,255;--bs-font-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255,255,255,0.15), rgba(255,255,255,0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size:1.1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #343a40;--bs-body-bg: #fff;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #ddd;--bs-border-color-translucent: rgba(0,0,0,0.175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-2xl: 2rem;--bs-border-radius-pill: 50rem;--bs-link-color: #4582ec;--bs-link-hover-color: #3768bd;--bs-code-color: #000;--bs-highlight-bg: #fcefdc}*,*::before,*::after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:1px solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:700;line-height:1.2}h1,.h1{font-size:calc(1.4rem + 1.8vw)}@media (min-width: 1200px){h1,.h1{font-size:2.75rem}}h2,.h2{font-size:calc(1.345rem + 1.14vw)}@media (min-width: 1200px){h2,.h2{font-size:2.2rem}}h3,.h3{font-size:calc(1.3175rem + .81vw)}@media (min-width: 1200px){h3,.h3{font-size:1.925rem}}h4,.h4{font-size:calc(1.29rem + .48vw)}@media (min-width: 1200px){h4,.h4{font-size:1.65rem}}h5,.h5{font-size:calc(1.2625rem + .15vw)}@media (min-width: 1200px){h5,.h5{font-size:1.375rem}}h6,.h6{font-size:1.1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;-ms-text-decoration:underline dotted;-o-text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem;padding:.6875rem 1.375rem;border-left:.25rem solid #e9ecef}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-link-color);text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}a:hover{color:var(--bs-link-hover-color)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em;color:#000;background-color:#f7f7f7;padding:.5rem;border:1px solid #ddd;border-radius:.375rem}pre code{background-color:transparent;font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);background-color:#f7f7f7;border-radius:.375rem;padding:.125rem .25rem;word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#868e96;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role="button"]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator{display:none !important}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button:not(:disabled),[type="button"]:not(:disabled),[type="reset"]:not(:disabled),[type="submit"]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type="search"]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:calc(1.2625rem + .15vw);font-weight:300}@media (min-width: 1200px){.lead{font-size:1.375rem}}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:calc(1.2625rem + .15vw)}@media (min-width: 1200px){.blockquote{font-size:1.375rem}}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#868e96}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid var(--bs-border-color);border-radius:.375rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#868e96}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container-sm,.container{max-width:540px}}@media (min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media (min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media (min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;-webkit-flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.grid{display:grid;grid-template-rows:repeat(var(--bs-rows, 1), 1fr);grid-template-columns:repeat(var(--bs-columns, 12), 1fr);gap:var(--bs-gap, 1.5rem)}.grid .g-col-1{grid-column:auto/span 1}.grid .g-col-2{grid-column:auto/span 2}.grid .g-col-3{grid-column:auto/span 3}.grid .g-col-4{grid-column:auto/span 4}.grid .g-col-5{grid-column:auto/span 5}.grid .g-col-6{grid-column:auto/span 6}.grid .g-col-7{grid-column:auto/span 7}.grid .g-col-8{grid-column:auto/span 8}.grid .g-col-9{grid-column:auto/span 9}.grid .g-col-10{grid-column:auto/span 10}.grid .g-col-11{grid-column:auto/span 11}.grid .g-col-12{grid-column:auto/span 12}.grid .g-start-1{grid-column-start:1}.grid .g-start-2{grid-column-start:2}.grid .g-start-3{grid-column-start:3}.grid .g-start-4{grid-column-start:4}.grid .g-start-5{grid-column-start:5}.grid .g-start-6{grid-column-start:6}.grid .g-start-7{grid-column-start:7}.grid .g-start-8{grid-column-start:8}.grid .g-start-9{grid-column-start:9}.grid .g-start-10{grid-column-start:10}.grid .g-start-11{grid-column-start:11}@media (min-width: 576px){.grid .g-col-sm-1{grid-column:auto/span 1}.grid .g-col-sm-2{grid-column:auto/span 2}.grid .g-col-sm-3{grid-column:auto/span 3}.grid .g-col-sm-4{grid-column:auto/span 4}.grid .g-col-sm-5{grid-column:auto/span 5}.grid .g-col-sm-6{grid-column:auto/span 6}.grid .g-col-sm-7{grid-column:auto/span 7}.grid .g-col-sm-8{grid-column:auto/span 8}.grid .g-col-sm-9{grid-column:auto/span 9}.grid .g-col-sm-10{grid-column:auto/span 10}.grid .g-col-sm-11{grid-column:auto/span 11}.grid .g-col-sm-12{grid-column:auto/span 12}.grid .g-start-sm-1{grid-column-start:1}.grid .g-start-sm-2{grid-column-start:2}.grid .g-start-sm-3{grid-column-start:3}.grid .g-start-sm-4{grid-column-start:4}.grid .g-start-sm-5{grid-column-start:5}.grid .g-start-sm-6{grid-column-start:6}.grid .g-start-sm-7{grid-column-start:7}.grid .g-start-sm-8{grid-column-start:8}.grid .g-start-sm-9{grid-column-start:9}.grid .g-start-sm-10{grid-column-start:10}.grid .g-start-sm-11{grid-column-start:11}}@media (min-width: 768px){.grid .g-col-md-1{grid-column:auto/span 1}.grid .g-col-md-2{grid-column:auto/span 2}.grid .g-col-md-3{grid-column:auto/span 3}.grid .g-col-md-4{grid-column:auto/span 4}.grid .g-col-md-5{grid-column:auto/span 5}.grid .g-col-md-6{grid-column:auto/span 6}.grid .g-col-md-7{grid-column:auto/span 7}.grid .g-col-md-8{grid-column:auto/span 8}.grid .g-col-md-9{grid-column:auto/span 9}.grid .g-col-md-10{grid-column:auto/span 10}.grid .g-col-md-11{grid-column:auto/span 11}.grid .g-col-md-12{grid-column:auto/span 12}.grid .g-start-md-1{grid-column-start:1}.grid .g-start-md-2{grid-column-start:2}.grid .g-start-md-3{grid-column-start:3}.grid .g-start-md-4{grid-column-start:4}.grid .g-start-md-5{grid-column-start:5}.grid .g-start-md-6{grid-column-start:6}.grid .g-start-md-7{grid-column-start:7}.grid .g-start-md-8{grid-column-start:8}.grid .g-start-md-9{grid-column-start:9}.grid .g-start-md-10{grid-column-start:10}.grid .g-start-md-11{grid-column-start:11}}@media (min-width: 992px){.grid .g-col-lg-1{grid-column:auto/span 1}.grid .g-col-lg-2{grid-column:auto/span 2}.grid .g-col-lg-3{grid-column:auto/span 3}.grid .g-col-lg-4{grid-column:auto/span 4}.grid .g-col-lg-5{grid-column:auto/span 5}.grid .g-col-lg-6{grid-column:auto/span 6}.grid .g-col-lg-7{grid-column:auto/span 7}.grid .g-col-lg-8{grid-column:auto/span 8}.grid .g-col-lg-9{grid-column:auto/span 9}.grid .g-col-lg-10{grid-column:auto/span 10}.grid .g-col-lg-11{grid-column:auto/span 11}.grid .g-col-lg-12{grid-column:auto/span 12}.grid .g-start-lg-1{grid-column-start:1}.grid .g-start-lg-2{grid-column-start:2}.grid .g-start-lg-3{grid-column-start:3}.grid .g-start-lg-4{grid-column-start:4}.grid .g-start-lg-5{grid-column-start:5}.grid .g-start-lg-6{grid-column-start:6}.grid .g-start-lg-7{grid-column-start:7}.grid .g-start-lg-8{grid-column-start:8}.grid .g-start-lg-9{grid-column-start:9}.grid .g-start-lg-10{grid-column-start:10}.grid .g-start-lg-11{grid-column-start:11}}@media (min-width: 1200px){.grid .g-col-xl-1{grid-column:auto/span 1}.grid .g-col-xl-2{grid-column:auto/span 2}.grid .g-col-xl-3{grid-column:auto/span 3}.grid .g-col-xl-4{grid-column:auto/span 4}.grid .g-col-xl-5{grid-column:auto/span 5}.grid .g-col-xl-6{grid-column:auto/span 6}.grid .g-col-xl-7{grid-column:auto/span 7}.grid .g-col-xl-8{grid-column:auto/span 8}.grid .g-col-xl-9{grid-column:auto/span 9}.grid .g-col-xl-10{grid-column:auto/span 10}.grid .g-col-xl-11{grid-column:auto/span 11}.grid .g-col-xl-12{grid-column:auto/span 12}.grid .g-start-xl-1{grid-column-start:1}.grid .g-start-xl-2{grid-column-start:2}.grid .g-start-xl-3{grid-column-start:3}.grid .g-start-xl-4{grid-column-start:4}.grid .g-start-xl-5{grid-column-start:5}.grid .g-start-xl-6{grid-column-start:6}.grid .g-start-xl-7{grid-column-start:7}.grid .g-start-xl-8{grid-column-start:8}.grid .g-start-xl-9{grid-column-start:9}.grid .g-start-xl-10{grid-column-start:10}.grid .g-start-xl-11{grid-column-start:11}}@media (min-width: 1400px){.grid .g-col-xxl-1{grid-column:auto/span 1}.grid .g-col-xxl-2{grid-column:auto/span 2}.grid .g-col-xxl-3{grid-column:auto/span 3}.grid .g-col-xxl-4{grid-column:auto/span 4}.grid .g-col-xxl-5{grid-column:auto/span 5}.grid .g-col-xxl-6{grid-column:auto/span 6}.grid .g-col-xxl-7{grid-column:auto/span 7}.grid .g-col-xxl-8{grid-column:auto/span 8}.grid .g-col-xxl-9{grid-column:auto/span 9}.grid .g-col-xxl-10{grid-column:auto/span 10}.grid .g-col-xxl-11{grid-column:auto/span 11}.grid .g-col-xxl-12{grid-column:auto/span 12}.grid .g-start-xxl-1{grid-column-start:1}.grid .g-start-xxl-2{grid-column-start:2}.grid .g-start-xxl-3{grid-column-start:3}.grid .g-start-xxl-4{grid-column-start:4}.grid .g-start-xxl-5{grid-column-start:5}.grid .g-start-xxl-6{grid-column-start:6}.grid .g-start-xxl-7{grid-column-start:7}.grid .g-start-xxl-8{grid-column-start:8}.grid .g-start-xxl-9{grid-column-start:9}.grid .g-start-xxl-10{grid-column-start:10}.grid .g-start-xxl-11{grid-column-start:11}}.col{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-sm-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-sm-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-sm-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-sm-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-sm-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-sm-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-sm-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-sm-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-sm-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-sm-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-md-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-md-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-md-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-md-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-md-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-md-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-md-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-md-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-md-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-md-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-lg-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-lg-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-lg-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-lg-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-lg-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-lg-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-lg-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-lg-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-lg-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-lg-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-xl-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xl-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-xl-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xl-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-xl-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-xl-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-xl-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-xl-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-xl-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-xl-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-xxl-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xxl-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-xxl-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xxl-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-xxl-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-xxl-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-xxl-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-xxl-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-xxl-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-xxl-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333%}.offset-xxl-2{margin-left:16.66667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333%}.offset-xxl-5{margin-left:41.66667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333%}.offset-xxl-8{margin-left:66.66667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333%}.offset-xxl-11{margin-left:91.66667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color: var(--bs-body-color);--bs-table-bg: rgba(0,0,0,0);--bs-table-border-color: rgba(0,0,0,0.1);--bs-table-accent-bg: rgba(0,0,0,0);--bs-table-striped-color: var(--bs-body-color);--bs-table-striped-bg: rgba(0,0,0,0.05);--bs-table-active-color: var(--bs-body-color);--bs-table-active-bg: rgba(0,0,0,0.1);--bs-table-hover-color: var(--bs-body-color);--bs-table-hover-bg: rgba(0,0,0,0.075);width:100%;margin-bottom:1rem;color:var(--bs-table-color);vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:2px solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg: var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--bs-table-accent-bg: var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg: var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg: var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-color: #fff;--bs-table-bg: #4582ec;--bs-table-border-color: #588fee;--bs-table-striped-bg: #4e88ed;--bs-table-striped-color: #fff;--bs-table-active-bg: #588fee;--bs-table-active-color: #fff;--bs-table-hover-bg: #538bed;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #fff;--bs-table-bg: #adb5bd;--bs-table-border-color: #b5bcc4;--bs-table-striped-bg: #b1b9c0;--bs-table-striped-color: #fff;--bs-table-active-bg: #b5bcc4;--bs-table-active-color: #fff;--bs-table-hover-bg: #b3bbc2;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #fff;--bs-table-bg: #02b875;--bs-table-border-color: #1bbf83;--bs-table-striped-bg: #0fbc7c;--bs-table-striped-color: #fff;--bs-table-active-bg: #1bbf83;--bs-table-active-color: #fff;--bs-table-hover-bg: #15bd7f;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #fff;--bs-table-bg: #17a2b8;--bs-table-border-color: #2eabbf;--bs-table-striped-bg: #23a7bc;--bs-table-striped-color: #fff;--bs-table-active-bg: #2eabbf;--bs-table-active-color: #fff;--bs-table-hover-bg: #28a9bd;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #fff;--bs-table-bg: #f0ad4e;--bs-table-border-color: #f2b560;--bs-table-striped-bg: #f1b157;--bs-table-striped-color: #fff;--bs-table-active-bg: #f2b560;--bs-table-active-color: #000;--bs-table-hover-bg: #f1b35b;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #fff;--bs-table-bg: #d9534f;--bs-table-border-color: #dd6461;--bs-table-striped-bg: #db5c58;--bs-table-striped-color: #fff;--bs-table-active-bg: #dd6461;--bs-table-active-color: #fff;--bs-table-hover-bg: #dc605c;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: #dfe0e1;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #343a40;--bs-table-border-color: #484e53;--bs-table-striped-bg: #3e444a;--bs-table-striped-color: #fff;--bs-table-active-bg: #484e53;--bs-table-active-color: #fff;--bs-table-hover-bg: #43494e;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label,.shiny-input-container .control-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:calc(1.2625rem + .15vw)}@media (min-width: 1200px){.col-form-label-lg{font-size:1.375rem}}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.9625rem}.form-text{margin-top:.25rem;font-size:.875em;color:#868e96}.form-control{display:block;width:100%;padding:.5rem 1.1rem;font-size:1.1rem;font-weight:400;line-height:1.5;color:#343a40;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.1);appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;border-radius:.375rem;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type="file"]{overflow:hidden}.form-control[type="file"]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#343a40;background-color:#fff;border-color:#a2c1f6;outline:0;box-shadow:0 0 0 .25rem rgba(69,130,236,0.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::placeholder{color:#868e96;opacity:1}.form-control:disabled{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.5rem 1.1rem;margin:-.5rem -1.1rem;margin-inline-end:1.1rem;color:#343a40;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.5rem 0;margin-bottom:0;line-height:1.5;color:#343a40;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.9625rem;border-radius:.25rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:calc(1.2625rem + .15vw);border-radius:.5rem}@media (min-width: 1200px){.form-control-lg{font-size:1.375rem}}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + 1rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:calc(1.5em + 1rem + 2px);padding:.5rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important;border-radius:.375rem}.form-control-color::-webkit-color-swatch{border-radius:.375rem}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + 2px)}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + 2px)}.form-select{display:block;width:100%;padding:.5rem 3.3rem .5rem 1.1rem;-moz-padding-start:calc(1.1rem - 3px);font-size:1.1rem;font-weight:400;line-height:1.5;color:#343a40;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1.1rem center;background-size:16px 12px;border:1px solid rgba(0,0,0,0.1);border-radius:.375rem;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#a2c1f6;outline:0;box-shadow:0 0 0 .25rem rgba(69,130,236,0.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:1.1rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #343a40}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.9625rem;border-radius:.25rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:calc(1.2625rem + .15vw);border-radius:.5rem}@media (min-width: 1200px){.form-select-lg{font-size:1.375rem}}.form-check,.shiny-input-container .checkbox,.shiny-input-container .radio{display:block;min-height:1.65rem;padding-left:0;margin-bottom:.125rem}.form-check .form-check-input,.form-check .shiny-input-container .checkbox input,.form-check .shiny-input-container .radio input,.shiny-input-container .checkbox .form-check-input,.shiny-input-container .checkbox .shiny-input-container .checkbox input,.shiny-input-container .checkbox .shiny-input-container .radio input,.shiny-input-container .radio .form-check-input,.shiny-input-container .radio .shiny-input-container .checkbox input,.shiny-input-container .radio .shiny-input-container .radio input{float:left;margin-left:0}.form-check-reverse{padding-right:0;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:0;margin-left:0}.form-check-input,.shiny-input-container .checkbox input,.shiny-input-container .checkbox-inline input,.shiny-input-container .radio input,.shiny-input-container .radio-inline input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,0.25);appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;print-color-adjust:exact}.form-check-input[type="checkbox"],.shiny-input-container .checkbox input[type="checkbox"],.shiny-input-container .checkbox-inline input[type="checkbox"],.shiny-input-container .radio input[type="checkbox"],.shiny-input-container .radio-inline input[type="checkbox"]{border-radius:.25em}.form-check-input[type="radio"],.shiny-input-container .checkbox input[type="radio"],.shiny-input-container .checkbox-inline input[type="radio"],.shiny-input-container .radio input[type="radio"],.shiny-input-container .radio-inline input[type="radio"]{border-radius:50%}.form-check-input:active,.shiny-input-container .checkbox input:active,.shiny-input-container .checkbox-inline input:active,.shiny-input-container .radio input:active,.shiny-input-container .radio-inline input:active{filter:brightness(90%)}.form-check-input:focus,.shiny-input-container .checkbox input:focus,.shiny-input-container .checkbox-inline input:focus,.shiny-input-container .radio input:focus,.shiny-input-container .radio-inline input:focus{border-color:#a2c1f6;outline:0;box-shadow:0 0 0 .25rem rgba(69,130,236,0.25)}.form-check-input:checked,.shiny-input-container .checkbox input:checked,.shiny-input-container .checkbox-inline input:checked,.shiny-input-container .radio input:checked,.shiny-input-container .radio-inline input:checked{background-color:#4582ec;border-color:#4582ec}.form-check-input:checked[type="checkbox"],.shiny-input-container .checkbox input:checked[type="checkbox"],.shiny-input-container .checkbox-inline input:checked[type="checkbox"],.shiny-input-container .radio input:checked[type="checkbox"],.shiny-input-container .radio-inline input:checked[type="checkbox"]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type="radio"],.shiny-input-container .checkbox input:checked[type="radio"],.shiny-input-container .checkbox-inline input:checked[type="radio"],.shiny-input-container .radio input:checked[type="radio"],.shiny-input-container .radio-inline input:checked[type="radio"]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type="checkbox"]:indeterminate,.shiny-input-container .checkbox input[type="checkbox"]:indeterminate,.shiny-input-container .checkbox-inline input[type="checkbox"]:indeterminate,.shiny-input-container .radio input[type="checkbox"]:indeterminate,.shiny-input-container .radio-inline input[type="checkbox"]:indeterminate{background-color:#4582ec;border-color:#4582ec;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled,.shiny-input-container .checkbox input:disabled,.shiny-input-container .checkbox-inline input:disabled,.shiny-input-container .radio input:disabled,.shiny-input-container .radio-inline input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input[disabled]~span,.form-check-input:disabled~.form-check-label,.form-check-input:disabled~span,.shiny-input-container .checkbox input[disabled]~.form-check-label,.shiny-input-container .checkbox input[disabled]~span,.shiny-input-container .checkbox input:disabled~.form-check-label,.shiny-input-container .checkbox input:disabled~span,.shiny-input-container .checkbox-inline input[disabled]~.form-check-label,.shiny-input-container .checkbox-inline input[disabled]~span,.shiny-input-container .checkbox-inline input:disabled~.form-check-label,.shiny-input-container .checkbox-inline input:disabled~span,.shiny-input-container .radio input[disabled]~.form-check-label,.shiny-input-container .radio input[disabled]~span,.shiny-input-container .radio input:disabled~.form-check-label,.shiny-input-container .radio input:disabled~span,.shiny-input-container .radio-inline input[disabled]~.form-check-label,.shiny-input-container .radio-inline input[disabled]~span,.shiny-input-container .radio-inline input:disabled~.form-check-label,.shiny-input-container .radio-inline input:disabled~span{cursor:default;opacity:.5}.form-check-label,.shiny-input-container .checkbox label,.shiny-input-container .checkbox-inline label,.shiny-input-container .radio label,.shiny-input-container .radio-inline label{cursor:pointer}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280,0,0,0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23a2c1f6'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(69,130,236,0.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(69,130,236,0.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#4582ec;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#c7daf9}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#ddd;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#4582ec;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#c7daf9}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#ddd;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;width:100%;height:100%;padding:1rem 1.1rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity 0.1s ease-in-out,transform 0.1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem 1.1rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.input-group{position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:stretch;-webkit-align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:.5rem 1.1rem;font-size:1.1rem;font-weight:400;line-height:1.5;color:#343a40;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid rgba(0,0,0,0.1);border-radius:.375rem}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:calc(1.2625rem + .15vw);border-radius:.5rem}@media (min-width: 1200px){.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{font-size:1.375rem}}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.9625rem;border-radius:.25rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:4.4rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n + 3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n + 4),.input-group.has-validation>.form-floating:nth-last-child(n + 3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n + 3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#02b875}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.6875rem;color:#fff;background-color:rgba(2,184,117,0.9);border-radius:.375rem}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#02b875;padding-right:calc(1.5em + 1rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2302b875' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .25rem) center;background-size:calc(.75em + .5rem) calc(.75em + .5rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#02b875;box-shadow:0 0 0 .25rem rgba(2,184,117,0.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 1rem);background-position:top calc(.375em + .25rem) right calc(.375em + .25rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:#02b875}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{padding-right:6.05rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2302b875' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right 1.1rem center,center right 3.3rem;background-size:16px 12px,calc(.75em + .5rem) calc(.75em + .5rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#02b875;box-shadow:0 0 0 .25rem rgba(2,184,117,0.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + 1rem))}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:#02b875}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:#02b875}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(2,184,117,0.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#02b875}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#d9534f}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.6875rem;color:#fff;background-color:rgba(217,83,79,0.9);border-radius:.375rem}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#d9534f;padding-right:calc(1.5em + 1rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23d9534f'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23d9534f' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .25rem) center;background-size:calc(.75em + .5rem) calc(.75em + .5rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#d9534f;box-shadow:0 0 0 .25rem rgba(217,83,79,0.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 1rem);background-position:top calc(.375em + .25rem) right calc(.375em + .25rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#d9534f}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{padding-right:6.05rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23d9534f'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23d9534f' stroke='none'/%3e%3c/svg%3e");background-position:right 1.1rem center,center right 3.3rem;background-size:16px 12px,calc(.75em + .5rem) calc(.75em + .5rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#d9534f;box-shadow:0 0 0 .25rem rgba(217,83,79,0.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + 1rem))}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#d9534f}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:#d9534f}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(217,83,79,0.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#d9534f}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: 1.1rem;--bs-btn-padding-y: .5rem;--bs-btn-font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--bs-btn-font-size:.875rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: #343a40;--bs-btn-bg: transparent;--bs-btn-border-width: 1px;--bs-btn-border-color: transparent;--bs-btn-border-radius: 1.078em;--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-default{--bs-btn-color: #fff;--bs-btn-bg: #adb5bd;--bs-btn-border-color: #adb5bd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #939aa1;--bs-btn-hover-border-color: #8a9197;--bs-btn-focus-shadow-rgb: 185,192,199;--bs-btn-active-color: #fff;--bs-btn-active-bg: #8a9197;--bs-btn-active-border-color: #82888e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #adb5bd;--bs-btn-disabled-border-color: #adb5bd}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #4582ec;--bs-btn-border-color: #4582ec;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #3b6fc9;--bs-btn-hover-border-color: #3768bd;--bs-btn-focus-shadow-rgb: 97,149,239;--bs-btn-active-color: #fff;--bs-btn-active-bg: #3768bd;--bs-btn-active-border-color: #3462b1;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #4582ec;--bs-btn-disabled-border-color: #4582ec}.btn-secondary,.btn-default:not(.btn-primary):not(.btn-info):not(.btn-success):not(.btn-warning):not(.btn-danger):not(.btn-dark):not(.btn-light):not([class*='btn-outline-']){--bs-btn-color: #fff;--bs-btn-bg: #adb5bd;--bs-btn-border-color: #adb5bd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #939aa1;--bs-btn-hover-border-color: #8a9197;--bs-btn-focus-shadow-rgb: 185,192,199;--bs-btn-active-color: #fff;--bs-btn-active-bg: #8a9197;--bs-btn-active-border-color: #82888e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #adb5bd;--bs-btn-disabled-border-color: #adb5bd}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: #02b875;--bs-btn-border-color: #02b875;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #029c63;--bs-btn-hover-border-color: #02935e;--bs-btn-focus-shadow-rgb: 40,195,138;--bs-btn-active-color: #fff;--bs-btn-active-bg: #02935e;--bs-btn-active-border-color: #028a58;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #02b875;--bs-btn-disabled-border-color: #02b875}.btn-info{--bs-btn-color: #fff;--bs-btn-bg: #17a2b8;--bs-btn-border-color: #17a2b8;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #148a9c;--bs-btn-hover-border-color: #128293;--bs-btn-focus-shadow-rgb: 58,176,195;--bs-btn-active-color: #fff;--bs-btn-active-bg: #128293;--bs-btn-active-border-color: #117a8a;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #17a2b8;--bs-btn-disabled-border-color: #17a2b8}.btn-warning{--bs-btn-color: #fff;--bs-btn-bg: #f0ad4e;--bs-btn-border-color: #f0ad4e;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #cc9342;--bs-btn-hover-border-color: #c08a3e;--bs-btn-focus-shadow-rgb: 242,185,105;--bs-btn-active-color: #fff;--bs-btn-active-bg: #c08a3e;--bs-btn-active-border-color: #b4823b;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #f0ad4e;--bs-btn-disabled-border-color: #f0ad4e}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #d9534f;--bs-btn-border-color: #d9534f;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #b84743;--bs-btn-hover-border-color: #ae423f;--bs-btn-focus-shadow-rgb: 223,109,105;--bs-btn-active-color: #fff;--bs-btn-active-bg: #ae423f;--bs-btn-active-border-color: #a33e3b;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #d9534f;--bs-btn-disabled-border-color: #d9534f}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #d3d4d5;--bs-btn-hover-border-color: #c6c7c8;--bs-btn-focus-shadow-rgb: 211,212,213;--bs-btn-active-color: #000;--bs-btn-active-bg: #c6c7c8;--bs-btn-active-border-color: #babbbc;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #343a40;--bs-btn-border-color: #343a40;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #52585d;--bs-btn-hover-border-color: #484e53;--bs-btn-focus-shadow-rgb: 82,88,93;--bs-btn-active-color: #fff;--bs-btn-active-bg: #5d6166;--bs-btn-active-border-color: #484e53;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #343a40;--bs-btn-disabled-border-color: #343a40}.btn-outline-default{--bs-btn-color: #adb5bd;--bs-btn-border-color: #adb5bd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #adb5bd;--bs-btn-hover-border-color: #adb5bd;--bs-btn-focus-shadow-rgb: 173,181,189;--bs-btn-active-color: #fff;--bs-btn-active-bg: #adb5bd;--bs-btn-active-border-color: #adb5bd;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #adb5bd;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #adb5bd;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-primary{--bs-btn-color: #4582ec;--bs-btn-border-color: #4582ec;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #4582ec;--bs-btn-hover-border-color: #4582ec;--bs-btn-focus-shadow-rgb: 69,130,236;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4582ec;--bs-btn-active-border-color: #4582ec;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #4582ec;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #4582ec;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #adb5bd;--bs-btn-border-color: #adb5bd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #adb5bd;--bs-btn-hover-border-color: #adb5bd;--bs-btn-focus-shadow-rgb: 173,181,189;--bs-btn-active-color: #fff;--bs-btn-active-bg: #adb5bd;--bs-btn-active-border-color: #adb5bd;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #adb5bd;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #adb5bd;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #02b875;--bs-btn-border-color: #02b875;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #02b875;--bs-btn-hover-border-color: #02b875;--bs-btn-focus-shadow-rgb: 2,184,117;--bs-btn-active-color: #fff;--bs-btn-active-bg: #02b875;--bs-btn-active-border-color: #02b875;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #02b875;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #02b875;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #17a2b8;--bs-btn-border-color: #17a2b8;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #17a2b8;--bs-btn-hover-border-color: #17a2b8;--bs-btn-focus-shadow-rgb: 23,162,184;--bs-btn-active-color: #fff;--bs-btn-active-bg: #17a2b8;--bs-btn-active-border-color: #17a2b8;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #17a2b8;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #17a2b8;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #f0ad4e;--bs-btn-border-color: #f0ad4e;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #f0ad4e;--bs-btn-hover-border-color: #f0ad4e;--bs-btn-focus-shadow-rgb: 240,173,78;--bs-btn-active-color: #fff;--bs-btn-active-bg: #f0ad4e;--bs-btn-active-border-color: #f0ad4e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #f0ad4e;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f0ad4e;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #d9534f;--bs-btn-border-color: #d9534f;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #d9534f;--bs-btn-hover-border-color: #d9534f;--bs-btn-focus-shadow-rgb: 217,83,79;--bs-btn-active-color: #fff;--bs-btn-active-bg: #d9534f;--bs-btn-active-border-color: #d9534f;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #d9534f;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #d9534f;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248,249,250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #343a40;--bs-btn-border-color: #343a40;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #343a40;--bs-btn-hover-border-color: #343a40;--bs-btn-focus-shadow-rgb: 52,58,64;--bs-btn-active-color: #fff;--bs-btn-active-bg: #343a40;--bs-btn-active-border-color: #343a40;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #343a40;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #343a40;--bs-btn-bg: transparent;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #868e96;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: none;--bs-btn-focus-shadow-rgb: 97,149,239;text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size:calc(1.2625rem + .15vw);--bs-btn-border-radius: 2.688em}@media (min-width: 1200px){.btn-lg,.btn-group-lg>.btn{--bs-btn-font-size:1.375rem}}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size:.688rem;--bs-btn-border-radius: .844em}.fade{transition:opacity 0.15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size:1.1rem;--bs-dropdown-color: #343a40;--bs-dropdown-bg: #fff;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: .375rem;--bs-dropdown-border-width: 1px;--bs-dropdown-inner-border-radius: calc(.375rem - 1px);--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-dropdown-link-color: #212529;--bs-dropdown-link-hover-color: #1e2125;--bs-dropdown-link-hover-bg: #e9ecef;--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #4582ec;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #868e96;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.9625rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #ddd;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #ddd;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255,255,255,0.15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #4582ec;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;justify-content:flex-start;-webkit-justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:1.078em}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n + 3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.825rem;padding-left:.825rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;-webkit-flex-direction:column;align-items:flex-start;-webkit-align-items:flex-start;justify-content:center;-webkit-justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: #868e96;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-color: #ddd;--bs-nav-tabs-border-radius: .375rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #ddd;--bs-nav-tabs-link-active-color: #495057;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #ddd #ddd #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));background:none;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: .375rem;--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #4582ec}.nav-pills .nav-link{background:none;border:0;border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;-webkit-flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;-webkit-flex-basis:0;flex-grow:1;-webkit-flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(0,0,0,0.55);--bs-navbar-hover-color: #343a40;--bs-navbar-disabled-color: rgba(0,0,0,0.3);--bs-navbar-active-color: #343a40;--bs-navbar-brand-padding-y: .29375rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.375rem;--bs-navbar-brand-color: #343a40;--bs-navbar-brand-hover-color: #343a40;--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.375rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280,0,0,0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(0,0,0,0.1);--bs-navbar-toggler-border-radius: 1.078em;--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;display:-webkit-flex;flex-wrap:inherit;-webkit-flex-wrap:inherit;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .show>.nav-link,.navbar-nav .active>.nav-link,.navbar-nav .nav-link.active{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;-webkit-flex-basis:100%;flex-grow:1;-webkit-flex-grow:1;align-items:center;-webkit-align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}.navbar-light{background-color:#f8f9fa}.navbar-dark{background-color:#343a40;--bs-navbar-color: rgba(255,255,255,0.6);--bs-navbar-hover-color: #fff;--bs-navbar-disabled-color: rgba(255,255,255,0.25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255,255,255,0.1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.6%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-border-width: 1px;--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: .375rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(.375rem - 1px);--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(0,0,0,0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: #fff;--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;min-width:0;height:var(--bs-card-height);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;display:-webkit-flex;flex-flow:row wrap;-webkit-flex-flow:row wrap}.card-group>.card{flex:1 0 0%;-webkit-flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: #343a40;--bs-accordion-bg: #fff;--bs-accordion-transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: 1px;--bs-accordion-border-radius: .375rem;--bs-accordion-inner-border-radius: calc(.375rem - 1px);--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: #343a40;--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23343a40'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill=''%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #a2c1f6;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(69,130,236,0.25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: ;--bs-accordion-active-bg: }.accordion-button{position:relative;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1.1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;-webkit-flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: #868e96;--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: #868e96;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size:1.1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: #fff;--bs-pagination-border-width: 1px;--bs-pagination-border-color: #ddd;--bs-pagination-border-radius: .375rem;--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: #e9ecef;--bs-pagination-hover-border-color: #ddd;--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: #e9ecef;--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(69,130,236,0.25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #4582ec;--bs-pagination-active-border-color: #4582ec;--bs-pagination-disabled-color: #868e96;--bs-pagination-disabled-bg: #fff;--bs-pagination-disabled-border-color: #ddd;display:flex;display:-webkit-flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size:calc(1.2625rem + .15vw);--bs-pagination-border-radius: .5rem}@media (min-width: 1200px){.pagination-lg{--bs-pagination-font-size:1.375rem}}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size:.9625rem;--bs-pagination-border-radius: .25rem}.badge{--bs-badge-padding-x: 1.2em;--bs-badge-padding-y: .6em;--bs-badge-font-size:.75em;--bs-badge-font-weight: 400;--bs-badge-color: #fff;--bs-badge-border-radius: .375rem;display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: 0 solid var(--bs-alert-border-color);--bs-alert-border-radius: .375rem;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-default{--bs-alert-color: #686d71;--bs-alert-bg: #eff0f2;--bs-alert-border-color: #e6e9eb}.alert-default .alert-link{color:#53575a}.alert-primary{--bs-alert-color: #294e8e;--bs-alert-bg: #dae6fb;--bs-alert-border-color: #c7daf9}.alert-primary .alert-link{color:#213e72}.alert-secondary{--bs-alert-color: #686d71;--bs-alert-bg: #eff0f2;--bs-alert-border-color: #e6e9eb}.alert-secondary .alert-link{color:#53575a}.alert-success{--bs-alert-color: #016e46;--bs-alert-bg: #ccf1e3;--bs-alert-border-color: #b3ead6}.alert-success .alert-link{color:#015838}.alert-info{--bs-alert-color: #0e616e;--bs-alert-bg: #d1ecf1;--bs-alert-border-color: #b9e3ea}.alert-info .alert-link{color:#0b4e58}.alert-warning{--bs-alert-color: #90682f;--bs-alert-bg: #fcefdc;--bs-alert-border-color: #fbe6ca}.alert-warning .alert-link{color:#735326}.alert-danger{--bs-alert-color: #82322f;--bs-alert-bg: #f7dddc;--bs-alert-border-color: #f4cbca}.alert-danger .alert-link{color:#682826}.alert-light{--bs-alert-color: #959596;--bs-alert-bg: #fefefe;--bs-alert-border-color: #fdfdfe}.alert-light .alert-link{color:#777778}.alert-dark{--bs-alert-color: #1f2326;--bs-alert-bg: #d6d8d9;--bs-alert-border-color: #c2c4c6}.alert-dark .alert-link{color:#191c1e}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--bs-progress-height: 1rem;--bs-progress-font-size:.825rem;--bs-progress-bg: #e9ecef;--bs-progress-border-radius: .375rem;--bs-progress-box-shadow: inset 0 1px 2px rgba(0,0,0,0.075);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #4582ec;--bs-progress-bar-transition: width 0.6s ease;display:flex;display:-webkit-flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;justify-content:center;-webkit-justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: #212529;--bs-list-group-bg: #fff;--bs-list-group-border-color: rgba(0,0,0,0.125);--bs-list-group-border-width: 1px;--bs-list-group-border-radius: .375rem;--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: #495057;--bs-list-group-action-hover-color: #495057;--bs-list-group-action-hover-bg: #f8f9fa;--bs-list-group-action-active-color: #343a40;--bs-list-group-action-active-bg: #e9ecef;--bs-list-group-disabled-color: #868e96;--bs-list-group-disabled-bg: #fff;--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #4582ec;--bs-list-group-active-border-color: #4582ec;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-default{color:#686d71;background-color:#eff0f2}.list-group-item-default.list-group-item-action:hover,.list-group-item-default.list-group-item-action:focus{color:#686d71;background-color:#d7d8da}.list-group-item-default.list-group-item-action.active{color:#fff;background-color:#686d71;border-color:#686d71}.list-group-item-primary{color:#294e8e;background-color:#dae6fb}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#294e8e;background-color:#c4cfe2}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#294e8e;border-color:#294e8e}.list-group-item-secondary{color:#686d71;background-color:#eff0f2}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#686d71;background-color:#d7d8da}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#686d71;border-color:#686d71}.list-group-item-success{color:#016e46;background-color:#ccf1e3}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#016e46;background-color:#b8d9cc}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#016e46;border-color:#016e46}.list-group-item-info{color:#0e616e;background-color:#d1ecf1}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#0e616e;background-color:#bcd4d9}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0e616e;border-color:#0e616e}.list-group-item-warning{color:#90682f;background-color:#fcefdc}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#90682f;background-color:#e3d7c6}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#90682f;border-color:#90682f}.list-group-item-danger{color:#82322f;background-color:#f7dddc}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#82322f;background-color:#dec7c6}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#82322f;border-color:#82322f}.list-group-item-light{color:#959596;background-color:#fefefe}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#959596;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#959596;border-color:#959596}.list-group-item-dark{color:#1f2326;background-color:#d6d8d9}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#1f2326;background-color:#c1c2c3}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1f2326;border-color:#1f2326}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(69,130,236,0.25);opacity:1}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size:.875rem;--bs-toast-color: ;--bs-toast-bg: rgba(255,255,255,0.85);--bs-toast-border-width: 1px;--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: .375rem;--bs-toast-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-toast-header-color: #868e96;--bs-toast-header-bg: rgba(255,255,255,0.85);--bs-toast-header-border-color: rgba(0,0,0,0.05);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;width:-webkit-max-content;width:-moz-max-content;width:-ms-max-content;width:-o-max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: #fff;--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: 1px;--bs-modal-border-radius: .5rem;--bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);--bs-modal-inner-border-radius: calc(.5rem - 1px);--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: 1px;--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: 1px;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform 0.3s ease-out;transform:translate(0, -50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:flex-end;-webkit-justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:.6875rem;--bs-tooltip-color: #fff;--bs-tooltip-bg: #000;--bs-tooltip-border-radius: .375rem;--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;padding:var(--bs-tooltip-arrow-height);margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow{bottom:0}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow{left:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow{top:0}.bs-tooltip-bottom .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow{right:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size:.9625rem;--bs-popover-bg: #fff;--bs-popover-border-width: 1px;--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: .5rem;--bs-popover-inner-border-radius: calc(.5rem - 1px);--bs-popover-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size:1.1rem;--bs-popover-header-color: ;--bs-popover-header-bg: #f0f0f0;--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: #343a40;--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y;-webkit-touch-action:pan-y;-moz-touch-action:pan-y;-ms-touch-action:pan-y;-o-touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:center;-webkit-justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity 0.15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;display:-webkit-flex;justify-content:center;-webkit-justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;-webkit-flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity 0.6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: ;--bs-offcanvas-bg: #fff;--bs-offcanvas-border-width: 1px;--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075)}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;-webkit-flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{mask-image:linear-gradient(130deg, #000 55%, rgba(0,0,0,0.8) 75%, #000 95%);-webkit-mask-image:linear-gradient(130deg, #000 55%, rgba(0,0,0,0.8) 75%, #000 95%);mask-size:200% 100%;-webkit-mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{mask-position:-200% 0%;-webkit-mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-default{color:#fff !important;background-color:RGBA(173,181,189, var(--bs-bg-opacity, 1)) !important}.text-bg-primary{color:#fff !important;background-color:RGBA(69,130,236, var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#fff !important;background-color:RGBA(173,181,189, var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#fff !important;background-color:RGBA(2,184,117, var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#fff !important;background-color:RGBA(23,162,184, var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#fff !important;background-color:RGBA(240,173,78, var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(217,83,79, var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(248,249,250, var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(52,58,64, var(--bs-bg-opacity, 1)) !important}.link-default{color:#adb5bd !important}.link-default:hover,.link-default:focus{color:#8a9197 !important}.link-primary{color:#4582ec !important}.link-primary:hover,.link-primary:focus{color:#3768bd !important}.link-secondary{color:#adb5bd !important}.link-secondary:hover,.link-secondary:focus{color:#8a9197 !important}.link-success{color:#02b875 !important}.link-success:hover,.link-success:focus{color:#02935e !important}.link-info{color:#17a2b8 !important}.link-info:hover,.link-info:focus{color:#128293 !important}.link-warning{color:#f0ad4e !important}.link-warning:hover,.link-warning:focus{color:#c08a3e !important}.link-danger{color:#d9534f !important}.link-danger:hover,.link-danger:focus{color:#ae423f !important}.link-light{color:#f8f9fa !important}.link-light:hover,.link-light:focus{color:#f9fafb !important}.link-dark{color:#343a40 !important}.link-dark:hover,.link-dark:focus{color:#2a2e33 !important}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio: calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio: calc(9 / 21 * 100%)}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;display:-webkit-flex;flex-direction:row;-webkit-flex-direction:row;align-items:center;-webkit-align-items:center;align-self:stretch;-webkit-align-self:stretch}.vstack{display:flex;display:-webkit-flex;flex:1 1 auto;-webkit-flex:1 1 auto;flex-direction:column;-webkit-flex-direction:column;align-self:stretch;-webkit-align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;-webkit-align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.float-start{float:left !important}.float-end{float:right !important}.float-none{float:none !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-75{opacity:.75 !important}.opacity-100{opacity:1 !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}.shadow{box-shadow:0 0.5rem 1rem rgba(0,0,0,0.15) !important}.shadow-sm{box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.075) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,0.175) !important}.shadow-none{box-shadow:none !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-0{border:0 !important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-top-0{border-top:0 !important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-start-0{border-left:0 !important}.border-default{--bs-border-opacity: 1;border-color:rgba(var(--bs-default-rgb), var(--bs-border-opacity)) !important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important}.border-1{--bs-border-width: 1px}.border-2{--bs-border-width: 2px}.border-3{--bs-border-width: 3px}.border-4{--bs-border-width: 4px}.border-5{--bs-border-width: 5px}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.me-0{margin-right:0 !important}.me-1{margin-right:.25rem !important}.me-2{margin-right:.5rem !important}.me-3{margin-right:1rem !important}.me-4{margin-right:1.5rem !important}.me-5{margin-right:3rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ms-0{margin-left:0 !important}.ms-1{margin-left:.25rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:3rem !important}.ms-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pe-0{padding-right:0 !important}.pe-1{padding-right:.25rem !important}.pe-2{padding-right:.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.ps-0{padding-left:0 !important}.ps-1{padding-left:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.4rem + 1.8vw) !important}.fs-2{font-size:calc(1.345rem + 1.14vw) !important}.fs-3{font-size:calc(1.3175rem + .81vw) !important}.fs-4{font-size:calc(1.29rem + .48vw) !important}.fs-5{font-size:calc(1.2625rem + .15vw) !important}.fs-6{font-size:1.1rem !important}.fst-italic{font-style:italic !important}.fst-normal{font-style:normal !important}.fw-light{font-weight:300 !important}.fw-lighter{font-weight:lighter !important}.fw-normal{font-weight:400 !important}.fw-bold{font-weight:700 !important}.fw-semibold{font-weight:600 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-default{--bs-text-opacity: 1;color:rgba(var(--bs-default-rgb), var(--bs-text-opacity)) !important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important}.text-muted{--bs-text-opacity: 1;color:#868e96 !important}.text-black-50{--bs-text-opacity: 1;color:rgba(0,0,0,0.5) !important}.text-white-50{--bs-text-opacity: 1;color:rgba(255,255,255,0.5) !important}.text-reset{--bs-text-opacity: 1;color:inherit !important}.text-opacity-25{--bs-text-opacity: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.bg-default{--bs-bg-opacity: 1;background-color:rgba(var(--bs-default-rgb), var(--bs-bg-opacity)) !important}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important}.bg-transparent{--bs-bg-opacity: 1;background-color:rgba(0,0,0,0) !important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:var(--bs-border-radius) !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:var(--bs-border-radius-sm) !important}.rounded-2{border-radius:var(--bs-border-radius) !important}.rounded-3{border-radius:var(--bs-border-radius-lg) !important}.rounded-4{border-radius:var(--bs-border-radius-xl) !important}.rounded-5{border-radius:var(--bs-border-radius-2xl) !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:var(--bs-border-radius-pill) !important}.rounded-top{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-end{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media (min-width: 576px){.float-sm-start{float:left !important}.float-sm-end{float:right !important}.float-sm-none{float:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-none{display:none !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:.25rem !important}.m-sm-2{margin:.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:.25rem !important}.mt-sm-2{margin-top:.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.me-sm-0{margin-right:0 !important}.me-sm-1{margin-right:.25rem !important}.me-sm-2{margin-right:.5rem !important}.me-sm-3{margin-right:1rem !important}.me-sm-4{margin-right:1.5rem !important}.me-sm-5{margin-right:3rem !important}.me-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:.25rem !important}.mb-sm-2{margin-bottom:.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ms-sm-0{margin-left:0 !important}.ms-sm-1{margin-left:.25rem !important}.ms-sm-2{margin-left:.5rem !important}.ms-sm-3{margin-left:1rem !important}.ms-sm-4{margin-left:1.5rem !important}.ms-sm-5{margin-left:3rem !important}.ms-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:.25rem !important}.p-sm-2{padding:.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:.25rem !important}.pt-sm-2{padding-top:.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pe-sm-0{padding-right:0 !important}.pe-sm-1{padding-right:.25rem !important}.pe-sm-2{padding-right:.5rem !important}.pe-sm-3{padding-right:1rem !important}.pe-sm-4{padding-right:1.5rem !important}.pe-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:.25rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.ps-sm-0{padding-left:0 !important}.ps-sm-1{padding-left:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-none{display:none !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:.25rem !important}.m-md-2{margin:.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:.25rem !important}.mt-md-2{margin-top:.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.me-md-0{margin-right:0 !important}.me-md-1{margin-right:.25rem !important}.me-md-2{margin-right:.5rem !important}.me-md-3{margin-right:1rem !important}.me-md-4{margin-right:1.5rem !important}.me-md-5{margin-right:3rem !important}.me-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:.25rem !important}.mb-md-2{margin-bottom:.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ms-md-0{margin-left:0 !important}.ms-md-1{margin-left:.25rem !important}.ms-md-2{margin-left:.5rem !important}.ms-md-3{margin-left:1rem !important}.ms-md-4{margin-left:1.5rem !important}.ms-md-5{margin-left:3rem !important}.ms-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:.25rem !important}.p-md-2{padding:.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:.25rem !important}.pt-md-2{padding-top:.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pe-md-0{padding-right:0 !important}.pe-md-1{padding-right:.25rem !important}.pe-md-2{padding-right:.5rem !important}.pe-md-3{padding-right:1rem !important}.pe-md-4{padding-right:1.5rem !important}.pe-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:.25rem !important}.pb-md-2{padding-bottom:.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.ps-md-0{padding-left:0 !important}.ps-md-1{padding-left:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-grid{display:grid !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}.d-lg-none{display:none !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:.25rem !important}.m-lg-2{margin:.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:.25rem !important}.mt-lg-2{margin-top:.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.me-lg-0{margin-right:0 !important}.me-lg-1{margin-right:.25rem !important}.me-lg-2{margin-right:.5rem !important}.me-lg-3{margin-right:1rem !important}.me-lg-4{margin-right:1.5rem !important}.me-lg-5{margin-right:3rem !important}.me-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:.25rem !important}.mb-lg-2{margin-bottom:.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ms-lg-0{margin-left:0 !important}.ms-lg-1{margin-left:.25rem !important}.ms-lg-2{margin-left:.5rem !important}.ms-lg-3{margin-left:1rem !important}.ms-lg-4{margin-left:1.5rem !important}.ms-lg-5{margin-left:3rem !important}.ms-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:.25rem !important}.p-lg-2{padding:.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:.25rem !important}.pt-lg-2{padding-top:.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pe-lg-0{padding-right:0 !important}.pe-lg-1{padding-right:.25rem !important}.pe-lg-2{padding-right:.5rem !important}.pe-lg-3{padding-right:1rem !important}.pe-lg-4{padding-right:1.5rem !important}.pe-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:.25rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.ps-lg-0{padding-left:0 !important}.ps-lg-1{padding-left:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-grid{display:grid !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}.d-xl-none{display:none !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.justify-content-xl-evenly{justify-content:space-evenly !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}.order-xl-first{order:-1 !important}.order-xl-0{order:0 !important}.order-xl-1{order:1 !important}.order-xl-2{order:2 !important}.order-xl-3{order:3 !important}.order-xl-4{order:4 !important}.order-xl-5{order:5 !important}.order-xl-last{order:6 !important}.m-xl-0{margin:0 !important}.m-xl-1{margin:.25rem !important}.m-xl-2{margin:.5rem !important}.m-xl-3{margin:1rem !important}.m-xl-4{margin:1.5rem !important}.m-xl-5{margin:3rem !important}.m-xl-auto{margin:auto !important}.mx-xl-0{margin-right:0 !important;margin-left:0 !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}.my-xl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xl-0{margin-top:0 !important}.mt-xl-1{margin-top:.25rem !important}.mt-xl-2{margin-top:.5rem !important}.mt-xl-3{margin-top:1rem !important}.mt-xl-4{margin-top:1.5rem !important}.mt-xl-5{margin-top:3rem !important}.mt-xl-auto{margin-top:auto !important}.me-xl-0{margin-right:0 !important}.me-xl-1{margin-right:.25rem !important}.me-xl-2{margin-right:.5rem !important}.me-xl-3{margin-right:1rem !important}.me-xl-4{margin-right:1.5rem !important}.me-xl-5{margin-right:3rem !important}.me-xl-auto{margin-right:auto !important}.mb-xl-0{margin-bottom:0 !important}.mb-xl-1{margin-bottom:.25rem !important}.mb-xl-2{margin-bottom:.5rem !important}.mb-xl-3{margin-bottom:1rem !important}.mb-xl-4{margin-bottom:1.5rem !important}.mb-xl-5{margin-bottom:3rem !important}.mb-xl-auto{margin-bottom:auto !important}.ms-xl-0{margin-left:0 !important}.ms-xl-1{margin-left:.25rem !important}.ms-xl-2{margin-left:.5rem !important}.ms-xl-3{margin-left:1rem !important}.ms-xl-4{margin-left:1.5rem !important}.ms-xl-5{margin-left:3rem !important}.ms-xl-auto{margin-left:auto !important}.p-xl-0{padding:0 !important}.p-xl-1{padding:.25rem !important}.p-xl-2{padding:.5rem !important}.p-xl-3{padding:1rem !important}.p-xl-4{padding:1.5rem !important}.p-xl-5{padding:3rem !important}.px-xl-0{padding-right:0 !important;padding-left:0 !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xl-0{padding-top:0 !important}.pt-xl-1{padding-top:.25rem !important}.pt-xl-2{padding-top:.5rem !important}.pt-xl-3{padding-top:1rem !important}.pt-xl-4{padding-top:1.5rem !important}.pt-xl-5{padding-top:3rem !important}.pe-xl-0{padding-right:0 !important}.pe-xl-1{padding-right:.25rem !important}.pe-xl-2{padding-right:.5rem !important}.pe-xl-3{padding-right:1rem !important}.pe-xl-4{padding-right:1.5rem !important}.pe-xl-5{padding-right:3rem !important}.pb-xl-0{padding-bottom:0 !important}.pb-xl-1{padding-bottom:.25rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pb-xl-3{padding-bottom:1rem !important}.pb-xl-4{padding-bottom:1.5rem !important}.pb-xl-5{padding-bottom:3rem !important}.ps-xl-0{padding-left:0 !important}.ps-xl-1{padding-left:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media (min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-grid{display:grid !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:flex !important}.d-xxl-inline-flex{display:inline-flex !important}.d-xxl-none{display:none !important}.flex-xxl-fill{flex:1 1 auto !important}.flex-xxl-row{flex-direction:row !important}.flex-xxl-column{flex-direction:column !important}.flex-xxl-row-reverse{flex-direction:row-reverse !important}.flex-xxl-column-reverse{flex-direction:column-reverse !important}.flex-xxl-grow-0{flex-grow:0 !important}.flex-xxl-grow-1{flex-grow:1 !important}.flex-xxl-shrink-0{flex-shrink:0 !important}.flex-xxl-shrink-1{flex-shrink:1 !important}.flex-xxl-wrap{flex-wrap:wrap !important}.flex-xxl-nowrap{flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xxl-start{justify-content:flex-start !important}.justify-content-xxl-end{justify-content:flex-end !important}.justify-content-xxl-center{justify-content:center !important}.justify-content-xxl-between{justify-content:space-between !important}.justify-content-xxl-around{justify-content:space-around !important}.justify-content-xxl-evenly{justify-content:space-evenly !important}.align-items-xxl-start{align-items:flex-start !important}.align-items-xxl-end{align-items:flex-end !important}.align-items-xxl-center{align-items:center !important}.align-items-xxl-baseline{align-items:baseline !important}.align-items-xxl-stretch{align-items:stretch !important}.align-content-xxl-start{align-content:flex-start !important}.align-content-xxl-end{align-content:flex-end !important}.align-content-xxl-center{align-content:center !important}.align-content-xxl-between{align-content:space-between !important}.align-content-xxl-around{align-content:space-around !important}.align-content-xxl-stretch{align-content:stretch !important}.align-self-xxl-auto{align-self:auto !important}.align-self-xxl-start{align-self:flex-start !important}.align-self-xxl-end{align-self:flex-end !important}.align-self-xxl-center{align-self:center !important}.align-self-xxl-baseline{align-self:baseline !important}.align-self-xxl-stretch{align-self:stretch !important}.order-xxl-first{order:-1 !important}.order-xxl-0{order:0 !important}.order-xxl-1{order:1 !important}.order-xxl-2{order:2 !important}.order-xxl-3{order:3 !important}.order-xxl-4{order:4 !important}.order-xxl-5{order:5 !important}.order-xxl-last{order:6 !important}.m-xxl-0{margin:0 !important}.m-xxl-1{margin:.25rem !important}.m-xxl-2{margin:.5rem !important}.m-xxl-3{margin:1rem !important}.m-xxl-4{margin:1.5rem !important}.m-xxl-5{margin:3rem !important}.m-xxl-auto{margin:auto !important}.mx-xxl-0{margin-right:0 !important;margin-left:0 !important}.mx-xxl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xxl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xxl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xxl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xxl-auto{margin-right:auto !important;margin-left:auto !important}.my-xxl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xxl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xxl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xxl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xxl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xxl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xxl-0{margin-top:0 !important}.mt-xxl-1{margin-top:.25rem !important}.mt-xxl-2{margin-top:.5rem !important}.mt-xxl-3{margin-top:1rem !important}.mt-xxl-4{margin-top:1.5rem !important}.mt-xxl-5{margin-top:3rem !important}.mt-xxl-auto{margin-top:auto !important}.me-xxl-0{margin-right:0 !important}.me-xxl-1{margin-right:.25rem !important}.me-xxl-2{margin-right:.5rem !important}.me-xxl-3{margin-right:1rem !important}.me-xxl-4{margin-right:1.5rem !important}.me-xxl-5{margin-right:3rem !important}.me-xxl-auto{margin-right:auto !important}.mb-xxl-0{margin-bottom:0 !important}.mb-xxl-1{margin-bottom:.25rem !important}.mb-xxl-2{margin-bottom:.5rem !important}.mb-xxl-3{margin-bottom:1rem !important}.mb-xxl-4{margin-bottom:1.5rem !important}.mb-xxl-5{margin-bottom:3rem !important}.mb-xxl-auto{margin-bottom:auto !important}.ms-xxl-0{margin-left:0 !important}.ms-xxl-1{margin-left:.25rem !important}.ms-xxl-2{margin-left:.5rem !important}.ms-xxl-3{margin-left:1rem !important}.ms-xxl-4{margin-left:1.5rem !important}.ms-xxl-5{margin-left:3rem !important}.ms-xxl-auto{margin-left:auto !important}.p-xxl-0{padding:0 !important}.p-xxl-1{padding:.25rem !important}.p-xxl-2{padding:.5rem !important}.p-xxl-3{padding:1rem !important}.p-xxl-4{padding:1.5rem !important}.p-xxl-5{padding:3rem !important}.px-xxl-0{padding-right:0 !important;padding-left:0 !important}.px-xxl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xxl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xxl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xxl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xxl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xxl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xxl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xxl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xxl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xxl-0{padding-top:0 !important}.pt-xxl-1{padding-top:.25rem !important}.pt-xxl-2{padding-top:.5rem !important}.pt-xxl-3{padding-top:1rem !important}.pt-xxl-4{padding-top:1.5rem !important}.pt-xxl-5{padding-top:3rem !important}.pe-xxl-0{padding-right:0 !important}.pe-xxl-1{padding-right:.25rem !important}.pe-xxl-2{padding-right:.5rem !important}.pe-xxl-3{padding-right:1rem !important}.pe-xxl-4{padding-right:1.5rem !important}.pe-xxl-5{padding-right:3rem !important}.pb-xxl-0{padding-bottom:0 !important}.pb-xxl-1{padding-bottom:.25rem !important}.pb-xxl-2{padding-bottom:.5rem !important}.pb-xxl-3{padding-bottom:1rem !important}.pb-xxl-4{padding-bottom:1.5rem !important}.pb-xxl-5{padding-bottom:3rem !important}.ps-xxl-0{padding-left:0 !important}.ps-xxl-1{padding-left:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}.bg-default{color:#fff}.bg-primary{color:#fff}.bg-secondary{color:#fff}.bg-success{color:#fff}.bg-info{color:#fff}.bg-warning{color:#fff}.bg-danger{color:#fff}.bg-light{color:#000}.bg-dark{color:#fff}@media (min-width: 1200px){.fs-1{font-size:2.75rem !important}.fs-2{font-size:2.2rem !important}.fs-3{font-size:1.925rem !important}.fs-4{font-size:1.65rem !important}.fs-5{font-size:1.375rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}.d-print-none{display:none !important}}.table th[align=left]{text-align:left}.table th[align=right]{text-align:right}.table th[align=center]{text-align:center}:root{--bslib-spacer: 1rem;--bslib-mb-spacer: var(--bslib-spacer, 1rem)}.bslib-mb-spacing{margin-bottom:var(--bslib-mb-spacer)}.bslib-gap-spacing{gap:var(--bslib-mb-spacer)}.bslib-gap-spacing>.bslib-mb-spacing,.bslib-gap-spacing>.form-group,.bslib-gap-spacing>p,.bslib-gap-spacing>pre{margin-bottom:0}.html-fill-container>.html-fill-item.bslib-mb-spacing{margin-bottom:0}.tab-content>.tab-pane.html-fill-container{display:none}.tab-content>.active.html-fill-container{display:flex}.tab-content.html-fill-container{padding:0}:root{color-scheme:light}.navbar{font-size:.9625rem}.navbar.bg-dark{background-color:#02b875 !important}.navbar.bg-light{background-color:#fff !important;border:1px solid rgba(0,0,0,0.1)}.navbar.bg-light.navbar-fixed-top{border-width:0 0 1px}.navbar.bg-light.navbar-fixed-bottom{border-width:1px 0 0}p{font-family:Georgia,Cambria,"Times New Roman",Times,serif}blockquote{font-style:italic}footer{font-size:.9625rem}.lead{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";color:#868e96}table,.table{font-size:.9625rem}.nav,.breadcrumb,.pagination{font-size:.9625rem}.dropdown-menu{font-size:.9625rem}.alert{font-size:.9625rem;color:#fff}.alert,.alert p{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.alert a,.alert .alert-link{font-weight:400;color:#fff;text-decoration:underline}.alert-default{background-color:#adb5bd}.alert-primary{background-color:#4582ec}.alert-secondary{background-color:#adb5bd}.alert-success{background-color:#02b875}.alert-info{background-color:#17a2b8}.alert-warning{background-color:#f0ad4e}.alert-danger{background-color:#d9534f}.alert-light{background-color:#f8f9fa}.alert-dark{background-color:#343a40}.alert-light,.alert-light a,.alert-light .alert-link{color:#343a40}.badge.bg-light{color:#343a40}.list-group{font-size:.9625rem}.row>main{max-width:50rem}@media (min-width: 1200px) and (max-width: 1399.98px){.container .row{justify-content:space-evenly}}@media (min-width: 1400px){body{font-size:18px}.col-md-3{margin-left:5rem}}.navbar-nav .nav-item>.nav-link{border-radius:.375rem;padding:0.5rem}.navbar>.container{align-items:baseline;-webkit-align-items:baseline}.navbar-light .navbar-nav .active>.nav-link{background:#e9ecef;color:#343a40}.navbar-dark .navbar-nav .active>.nav-link{background:#343a40;color:#fff}.navbar-dark .navbar-nav .nav-item>.nav-link:hover,.navbar-light .navbar-nav .nav-item>.nav-link:hover{background:rgba(69,130,236,0.1)}.navbar-dark input[type="search"]{border-color:#868e96;background-color:#212529;color:#e9ecef}input[type="search"]{border-color:#ddd;width:12rem}.headroom{will-change:transform;transition:transform 400ms ease}.headroom--pinned{transform:translateY(0%)}.headroom--unpinned{transform:translateY(-100%)}.row>main,.row>aside{margin-top:56px}html,body{scroll-padding:56px}@media (min-width: 576px){#toc{position:sticky;top:56px;max-height:calc(100vh - 56px - 1rem);overflow-y:auto}}aside h2,aside .h2{margin-top:1.5rem;font-size:1.375rem}aside .roles{color:#5d6166}aside .list-unstyled li{margin-bottom:0.5rem}aside .dev-status .list-unstyled li{margin-bottom:0.1rem}@media (max-width: 575.98px){aside{margin:0.5rem;width:calc(100vw - 1rem);background-color:#f8f9fa;border-color:#ddd;border-radius:.375rem}aside h2:first-child,aside .h2:first-child{margin-top:1rem}}body{position:relative}#toc>.nav{margin-bottom:1rem}#toc>.nav a.nav-link{color:inherit;padding:0.25rem 0.5rem;margin-bottom:2px;border-radius:.375rem;border:0 solid #ddd}#toc>.nav a.nav-link:hover,#toc>.nav a.nav-link:focus{background-color:rgba(69,130,236,0.1);color:#000}#toc>.nav a.nav-link.active{background-color:#ebebec;color:#000}#toc>.nav .nav a.nav-link{margin-left:0.5rem}#toc>.nav .nav{display:none !important}#toc>.nav a.active+.nav{display:flex !important}footer{margin:1rem 0 1rem 0;font-size:.875em;border-top:1px solid #ddd;background:rgba(0,0,0,0);color:#5d6166;display:flex;column-gap:1rem}@media (max-width: 575.98px){footer{flex-direction:column}}@media (min-width: 576px){footer .pkgdown-footer-right{text-align:right}}footer div{flex:1 1 auto}html,body{height:100%}body>.container{min-height:100%;display:flex;flex-direction:column}body>.container .row{flex:1 0 auto}::selection{background-color:#dae6fb}main img{max-width:100%;height:auto}main table{display:block;overflow:auto}body{font-display:fallback}.page-header{border-bottom:1px solid #ddd;padding-bottom:0.5rem;margin-bottom:0.5rem;margin-top:1.5rem}dd{margin-left:1.5rem}summary{margin-bottom:0.5rem}details{margin-bottom:1rem}.html-widget{margin-bottom:1rem}a.anchor{display:none;margin-left:5px;width:Min(0.9em, 20px);height:Min(0.9em, 20px);background-image:url(../../link.svg);background-repeat:no-repeat;background-size:Min(0.9em, 20px) Min(0.9em, 20px);background-position:center center}h2:hover .anchor,.h2:hover .anchor,h3:hover .anchor,.h3:hover .anchor,h4:hover .anchor,.h4:hover .anchor,h5:hover .anchor,.h5:hover .anchor,h6:hover .anchor,.h6:hover .anchor{display:inline-block}.orcid{color:#A6CE39;margin-right:4px}.fab{font-family:"Font Awesome 5 Brands" !important}img.logo{float:right;width:100px;margin-left:30px}.template-home img.logo{width:120px}@media (max-width: 575.98px){img.logo{width:80px}}@media (min-width: 576px){.page-header{min-height:88px}.template-home .page-header{min-height:104px}}.line-block{margin-bottom:1rem}.template-reference-index dt{font-weight:normal}.template-reference-index code{word-wrap:normal}.icon{float:right}.icon img{width:40px}a.footnote-ref{cursor:pointer}.popover{width:Min(100vw, 32rem);font-size:0.9rem;box-shadow:4px 4px 8px rgba(0,0,0,0.3)}.popover-body{padding:0.75rem}.popover-body p:last-child{margin-bottom:0}.tab-content{padding:1rem}.tabset-pills .tab-content{border:solid 1px #e5e5e5}.tab-content{display:flex}.tab-content>.tab-pane{display:block;visibility:hidden;margin-right:-100%;width:100%}.tab-content>.active{visibility:visible}div.csl-entry{clear:both}.hanging-indent div.csl-entry{margin-left:2em;text-indent:-2em}div.csl-left-margin{min-width:2em;float:left}div.csl-right-inline{margin-left:2em;padding-left:1em}div.csl-indent{margin-left:2em}pre,pre code{word-wrap:normal}code{overflow-wrap:break-word}.hasCopyButton{position:relative}.btn-copy-ex{position:absolute;right:5px;top:5px;visibility:hidden}.hasCopyButton:hover button.btn-copy-ex{visibility:visible}pre{padding:1rem 0.5rem}@media (max-width: 575.98px){div>div>pre{margin-left:calc(var(--bs-gutter-x) * -.5);margin-right:calc(var(--bs-gutter-x) * -.5);border-radius:0;padding-left:1rem;padding-right:1rem}.btn-copy-ex{right:calc(var(--bs-gutter-x) * -.5 + 5px)}}code a:any-link{color:inherit;text-decoration-color:#868e96}pre code{padding:0;background:transparent}pre code .error,pre code .warning{font-weight:bolder}pre .img img,pre .r-plt img{margin:5px 0;background-color:#fff}@media print{code a:link:after,code a:visited:after{content:""}}a.sourceLine:hover{text-decoration:none}mark,.mark{background:linear-gradient(-100deg, rgba(23,162,184,0.2), rgba(23,162,184,0.7) 95%, rgba(23,162,184,0.1))}.algolia-autocomplete .aa-hint{color:#212529}.algolia-autocomplete .aa-dropdown-menu{width:Max(100%, 20rem);background-color:#fff;border:1px solid rgba(0,0,0,0.1);margin-top:2px;max-height:50vh;overflow-y:auto}.algolia-autocomplete .aa-dropdown-menu .aa-suggestion{cursor:pointer;padding:5px 4px;border-bottom:1px #e9ecef solid;font-size:0.9rem;color:#212529}.search-details{font-size:0.9rem;color:#4582ec;display:inline;font-weight:bolder}.algolia-autocomplete .aa-dropdown-menu .aa-suggestion.aa-cursor{background-color:#ecf3fd}pre{background-color:#f1f3f5}pre code{color:#003B4F}pre code span.al{color:#AD0000}pre code span.an{color:#5E5E5E}pre code span.at{color:#657422}pre code span.bn{color:#AD0000}pre code span.cf{color:#003B4F}pre code span.ch{color:#20794D}pre code span.cn{color:#8f5902}pre code span.co{color:#5E5E5E}pre code span.cv{color:#5E5E5E;font-style:italic}pre code span.do{color:#5E5E5E;font-style:italic}pre code span.dt{color:#AD0000}pre code span.dv{color:#AD0000}pre code span.er{color:#AD0000}pre code span.fl{color:#AD0000}pre code span.fu{color:#4758AB}pre code span.im{color:#00769E}pre code span.in{color:#5E5E5E}pre code span.kw{color:#003B4F}pre code span.op{color:#5E5E5E}pre code span.ot{color:#003B4F}pre code span.pp{color:#AD0000}pre code span.sc{color:#5E5E5E}pre code span.ss{color:#20794D}pre code span.st{color:#20794D}pre code span.va{color:#111111}pre code span.vs{color:#20794D}pre code span.wa{color:#5E5E5E;font-style:italic} diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml index a9242e8..f62bc6c 100644 --- a/docs/pkgdown.yml +++ b/docs/pkgdown.yml @@ -1,11 +1,12 @@ pandoc: 3.1.1 -pkgdown: 2.0.7 +pkgdown: 2.0.6 pkgdown_sha: ~ articles: 01-intro: 01-intro.html 02-catalogs: 02-catalogs.html 03-intro-climatepy: 03-intro-climatepy.html - examples: examples.html + 04-stream-morph: 04-stream-morph.html + 05-mros-climateR: 05-mros-climateR.html schema: schema.html -last_built: 2023-11-17T22:53Z +last_built: 2023-11-21T19:16Z diff --git a/docs/reference/figures/climateRblog_mros1.png b/docs/reference/figures/climateRblog_mros1.png new file mode 100644 index 0000000..230cd44 Binary files /dev/null and b/docs/reference/figures/climateRblog_mros1.png differ diff --git a/docs/reference/figures/climateRblog_mros2.png b/docs/reference/figures/climateRblog_mros2.png new file mode 100644 index 0000000..ab5fe50 Binary files /dev/null and b/docs/reference/figures/climateRblog_mros2.png differ diff --git a/docs/reference/getNLDAS.html b/docs/reference/getNLDAS.html index 749567d..b1d8807 100644 --- a/docs/reference/getNLDAS.html +++ b/docs/reference/getNLDAS.html @@ -54,7 +54,7 @@

Usage
getNLDAS(
   AOI,
   varname = NULL,
-  model = NULL,
+  model = "FORA0125_H.002",
   startDate,
   endDate = NULL,
   verbose = FALSE,
diff --git a/docs/search.json b/docs/search.json
index 843dcd6..8f6ded7 100644
--- a/docs/search.json
+++ b/docs/search.json
@@ -1 +1 @@
-[{"path":[]},{"path":"/articles/01-intro.html","id":"usful-packages-for-climate-data","dir":"Articles","previous_headings":"","what":"Usful Packages for climate data","title":"Welcome to climateR","text":"","code":"library(AOI) library(climateR) library(tidyterra) library(ggplot2) library(terra) library(tidyr) library(sf)"},{"path":"/articles/01-intro.html","id":"climater-examples","dir":"Articles","previous_headings":"","what":"climateR examples","title":"Welcome to climateR","text":"climateR package supplemented AOI framework established AOI R package. get climate product, area interest must defined:  loading polygon state North Carolina examples constructing AOI calls can found . AOI, can construct call dataset parameter(s) date(s) choice. querying PRISM dataset maximum minimum temperature October 29, 2018:","code":"AOI = aoi_get(state = \"NC\") plot(AOI$geometry) system.time({  p = getPRISM(AOI,                varname = c('tmax','tmin'),                startDate = \"2018-10-29\") }) #>    user  system elapsed  #>   0.845   0.193   8.782"},{"path":"/articles/01-intro.html","id":"data-from-known-bounding-coordinates","dir":"Articles","previous_headings":"","what":"Data from known bounding coordinates","title":"Welcome to climateR","text":"climateR offers support sf, sfc, bbox objects. requesting wind velocity data four corners region USA bounding coordinates.","code":"AOI = st_as_sfc(st_bbox(c(xmin = -112, xmax = -105, ymax = 39, ymin = 34), crs = 4326))  g = getGridMET(AOI,                 varname = \"vs\",                startDate = \"2018-09-01\")"},{"path":"/articles/01-intro.html","id":"data-through-time","dir":"Articles","previous_headings":"","what":"Data through time …","title":"Welcome to climateR","text":"addition multiple variables can request variables time, let’s look gridMET rainfall Gulf Coast Hurricane Harvey:","code":"harvey = getGridMET(aoi_get(state = c(\"TX\", \"FL\")),                    varname = \"pr\",                    startDate = \"2017-08-20\",                    endDate = \"2017-08-31\")  ggplot() +   geom_spatraster(data = harvey$precipitation_amount) +   facet_wrap(~lyr) +   scale_fill_whitebox_c(     palette = \"muted\",     na.value = \"white\") +    theme_minimal()"},{"path":"/articles/01-intro.html","id":"climate-projections","dir":"Articles","previous_headings":"","what":"Climate Projections","title":"Welcome to climateR","text":"sources downscaled Global Climate Models (GCMs). allow query forecasted ensemble members different models /climate scenarios. One example MACA dataset:  Getting multiple models results also quite simple: don’t know models, can always grab random set specifying number:","code":"system.time({ m = getMACA(AOI = aoi_get(state = \"FL\"),              model = \"CCSM4\",              varname = 'pr',              scenario = c('rcp45', 'rcp85'),              startDate = \"2080-06-29\", endDate = \"2080-06-30\") }) #>    user  system elapsed  #>   0.144   0.028   4.141 models = c(\"BNU-ESM\",\"CanESM2\", \"CCSM4\")  temp =  getMACA(AOI = aoi_get(state = \"CO\"),                 varname = 'tasmin',                  model = models,                  startDate = \"2080-11-29\")  temp[[1]]$mean =  app(temp[[1]], mean)  names(temp[[1]]) = c(models, \"Ensemble Mean\") random = getMACA(aoi_get(state = \"MI\"),                   model = 3,                   varname = \"pr\",                   startDate = \"2050-10-29\")"},{"path":"/articles/01-intro.html","id":"global-datasets","dir":"Articles","previous_headings":"","what":"Global Datasets","title":"Welcome to climateR","text":"datasets USA focused either. TerraClimate offers global, monthly data current year many variables, CHIRPS provides daily rainfall data:","code":"kenya = aoi_get(country = \"Kenya\") tc = getTerraClim(kenya, varname = \"pet\", startDate = \"2018-01-01\") chirps = getCHIRPS(kenya, startDate = \"2018-01-01\", endDate = \"2018-01-04\" )"},{"path":"/articles/01-intro.html","id":"point-based-data","dir":"Articles","previous_headings":"","what":"Point Based Data","title":"Welcome to climateR","text":"Finally, data gathering limited areal extents can retrieved time series locations.","code":"ts = data.frame(lng  = -105.0668, lat = 40.55085) %>%    sf::st_as_sf(coords = c('lng', 'lat'), crs = 4326) %>%    getGridMET(varname =  c(\"pr\", 'srad'),               startDate = \"2021-01-01\",               endDate = \"2021-12-31\")"},{"path":"/articles/01-intro.html","id":"point-based-ensemble","dir":"Articles","previous_headings":"","what":"Point Based Ensemble","title":"Welcome to climateR","text":"","code":"future = getMACA(geocode(\"Fort Collins\", pt = TRUE),                   model = 5, varname = \"tasmax\",                   startDate = \"2050-01-01\", endDate = \"2050-01-31\")  future_long = pivot_longer(future, -date)    ggplot(data = future_long, aes(x = date, y = value, col = name)) +    geom_line() +    theme_linedraw() +    scale_color_brewer(palette = \"Dark2\") +    labs(title = \"Fort Collins Temperture: January, 2050\",        x = \"Date\",        y = \"Degree K\",        color = \"Model\")"},{"path":"/articles/01-intro.html","id":"multi-site-extraction","dir":"Articles","previous_headings":"","what":"Multi site extraction","title":"Welcome to climateR","text":"Extracting data set points interesting challenge. turns much efficient grab underlying raster stack extract time series opposed iterating locations: Starting set locations Colorado: climateR grab SpatRaster underlying bounding area points  Use extract_sites extract times series locations. id parameter unique identifier site data names resulting columns. make data ‘tidy’ simply pivot date column:","code":"f = system.file(\"co/cities_colorado.rds\", package = \"climateR\") cities = readRDS(f) sites_stack = getTerraClim(AOI   = cities,                             varname = \"tmax\",                             startDate = \"2018-01-01\",                             endDate   = \"2018-12-31\") sites_wide = extract_sites(r = sites_stack, pts = cities, id = \"NAME\") sites_wide[[1]][1:5, 1:5] #>         date ADAMSCITY AGATE AGUILAR AKRON #> 1 2018-01-01       9.5   8.2    11.4   7.1 #> 2 2018-02-01       8.1   7.1     9.9   5.8 #> 3 2018-03-01      14.6  14.1    15.0  13.5 #> 4 2018-04-01      17.5  16.6    17.6  16.2 #> 5 2018-05-01      25.1  25.0    25.5  24.8 tmax = tidyr::pivot_longer(sites_wide[[1]], -date) head(tmax) #> # A tibble: 6 × 3 #>   date                name       value #>                        #> 1 2018-01-01 00:00:00 ADAMSCITY   9.5  #> 2 2018-01-01 00:00:00 AGATE       8.2  #> 3 2018-01-01 00:00:00 AGUILAR    11.4  #> 4 2018-01-01 00:00:00 AKRON       7.10 #> 5 2018-01-01 00:00:00 ALAMOSA     5.2  #> 6 2018-01-01 00:00:00 ALLENSPARK  6.10"},{"path":"/articles/02-catalogs.html","id":"catalogs","dir":"Articles","previous_headings":"","what":"Catalogs","title":"Catalog Automation","text":"order provide evolving, federated collection datasets, climateR makes use preprocessed catalog, updated monthly cycle. catalog hosted generated climateR-catalogs repository. catalog contains 100,000 thousand datasets 2,000 data providers/archives. following section describes design catalog data pipeline.","code":""},{"path":"/articles/02-catalogs.html","id":"design","dir":"Articles","previous_headings":"Catalogs","what":"Design","title":"Catalog Automation","text":"catalog data pipeline uses targets package establish declarative workflow using data sources target creators. particular, data sources treated dynamic plugins data pipeline, data sources composable within pipeline framework utilizing R6 classes. data source R6 classes expose simple interface plugin creators, adding new data source defined giving data source three things: id pull function tidy function id represents unique identifier data source contained final catalog. pull function function containing number arguments gather catalog items endpoint, collect data.frame. tidy function function accepts least single argument output pull function. function perform necessary actions conform argument close catalog schema possible. Using data sources built top R6-based framework, pipeline given targets correspond (1) loading R6 class, (2) calling pull function, (3) calling tidy function. three steps mapped across available data sources loaded pipeline environment, joined together create seamless table representing catalog. Finally, schema table handled ensure conforms catalog specification, outputs JSON Parquet released.","code":""},{"path":[]},{"path":"/articles/02-catalogs.html","id":"targets-serialization","dir":"Articles","previous_headings":"Catalogs > Design > Technical Details","what":"Targets Serialization","title":"Catalog Automation","text":"key point highlight targets R package, individual targets serialized specific format completed. Dependent targets also read serialization format back R necessary. default format targets use R RDS format. However, since pipeline already requires Apache Arrow dependency due Parquet output, take advantage Arrow IPC file/stream formats serialization targets. Specifically, pull tidy targets always return data source R6 class, succeeding targets catalog generation return data frame. targets returning R6 classes, custom serializer performs /O R6 class metadata Arrow IPC Stream format implemented. targets returning data frames, use Arrow IPC File format. Arrow IPC formats chosen fashion due smaller memory footprint performance gained zero-copy pass targets. also enables data sources built various programming languages access data needed, due zero-copy property Arrow’s IPC formats.","code":""},{"path":"/articles/02-catalogs.html","id":"pipeline-infrastructure","dir":"Articles","previous_headings":"Catalogs > Design > Technical Details","what":"Pipeline Infrastructure","title":"Catalog Automation","text":"catalog data pipeline built top R targets package, aid generating catalog, utilize GitHub Actions. Despite primarily CI/CD workflows, concept CI/CD can generalized data well. example, data engineering, Apache Airflow predominant application constructing data workflows. two, primary difference GitHub Actions generalized, offers less direct integrations data engineering. context mind, GitHub Actions workflow catalog data pipeline , essence, runner calls targets::tar_make() run pipeline. targets complete, workflow takes outputted catalog files uploads GitHub repository release. Furthermore, workflow scheduled run monthly basis, ensuring catalog stays consistently date latest datasets offered data providers described data source plugins.","code":""},{"path":"/articles/02-catalogs.html","id":"release-strategy","dir":"Articles","previous_headings":"Catalogs > Design > Technical Details","what":"Release Strategy","title":"Catalog Automation","text":"monthly Github Actions update, new release catalog provided JSON parquet formats release page.","code":""},{"path":"/articles/03-intro-climatepy.html","id":"useful-packages-for-climate-data","dir":"Articles","previous_headings":"","what":"Useful Packages for climate data","title":"Welcome to climatePy","text":"","code":"# climatePy import climatePy  # vector data libs import geopandas as gpd import shapely from shapely.geometry import box  # gridded data libs import xarray as xr  # geoencoding service  import geopy  # misc import numpy as np import pandas as pd import random import joblib  # plotting libs import matplotlib.pyplot as plt import seaborn as sns"},{"path":"/articles/03-intro-climatepy.html","id":"climatepy-examples","dir":"Articles","previous_headings":"","what":"climatePy examples","title":"Welcome to climatePy","text":"climatePy package supplemented geopy Python package allows easy use interface many geocoding APIs. get climate product, area interest must defined:  loading polygon state North Carolina examples constructing AOI calls can found AOI, can construct call dataset parameter(s) date(s) choice. querying PRISM dataset maximum minimum temperature October 29, 2018:","code":"# get AOI polygon from OpenStreetMap API nom = geopy.geocoders.Nominatim(user_agent=\"climatePy\") geolocal = nom.geocode(\"North Carolina\", geometry='wkt')  AOI = gpd.GeoDataFrame(   {\"geometry\" : [shapely.wkt.loads(geolocal.raw['geotext'])]   },    crs = \"EPSG:4326\"   ) p = climatePy.getPRISM(    AOI       = AOI,     varname   = ['tmax','tmin'],     startDate = \"2018-10-29\",    timeRes   = \"daily\",    dopar     = False    )"},{"path":"/articles/03-intro-climatepy.html","id":"data-from-known-bounding-coordinates","dir":"Articles","previous_headings":"","what":"Data from known bounding coordinates","title":"Welcome to climatePy","text":"climatePy offers support shapely geopandas objects. requesting wind velocity data four corners region USA bounding coordinates.","code":"from shapely.geometry import box  # 4 corners region of USA xmin, xmax, ymin, ymax = -112, -105, 34, 39  # make bounding box AOI = box(xmin, ymin, xmax, ymax)  # insert bounding box into geodataframe # AOI = gpd.GeoDataFrame(geometry=[AOI], crs ='EPSG:4326')  g = climatePy.getGridMET(        AOI       = AOI,         varname   = \"vs\",        startDate = \"2018-09-01\",        dopar     = False        )"},{"path":"/articles/03-intro-climatepy.html","id":"data-through-time","dir":"Articles","previous_headings":"","what":"Data through time …","title":"Welcome to climatePy","text":"addition multiple variables can request variables time, let’s look gridMET rainfall Gulf Coast Hurricane Harvey:","code":"texas   = nom.geocode(\"Texas\", geometry='wkt') florida = nom.geocode(\"Florida\", geometry='wkt') AOI     = gpd.GeoDataFrame({   \"geometry\" : [shapely.wkt.loads(texas.raw['geotext']), shapely.wkt.loads(florida.raw['geotext'])]   },    crs = \"EPSG:4326\"   ) harvey = climatePy.getGridMET(   AOI       = AOI,   varname   = \"pr\",   startDate = \"2017-08-20\",   endDate   = \"2017-08-31\",   dopar     = False   )"},{"path":"/articles/03-intro-climatepy.html","id":"climate-projections","dir":"Articles","previous_headings":"","what":"Climate Projections","title":"Welcome to climatePy","text":"sources downscaled Global Climate Models (GCMs). allow query forecasted ensemble members different models /climate scenarios. One example MACA dataset:  Getting multiple models results also quite simple:  don’t know models, can always grab random set specifying number:","code":"AOI = gpd.GeoDataFrame({   \"geometry\" : [shapely.wkt.loads(florida.raw['geotext'])]},    crs = \"EPSG:4326\"   ) m = climatePy.getMACA(   AOI       = AOI,   model     = \"CCSM4\",   varname   = \"pr\",   scenario  = [\"rcp45\", \"rcp85\"],   startDate = \"2080-06-29\",   endDate   = \"2080-06-30\",   dopar     = False   ) AOI     = gpd.GeoDataFrame({\"geometry\" :                  [shapely.wkt.loads(nom.geocode(\"Colorado\", geometry='wkt').raw['geotext'])]},                 crs = \"EPSG:4326\"                 ) models = [\"BNU-ESM\",\"CanESM2\", \"CCSM4\"] temp = climatePy.getMACA(   AOI       = AOI,   varname   = \"tasmin\",   model = models,   startDate = \"2080-11-29\",   dopar     = False   )    # calculate average Data Array avg = temp['tasmin'].mean(dim = \"time\") avg = avg.expand_dims(time = xr.DataArray([\"tasmin_Ensemble_mean\"], dims='time')).transpose('x', 'y', 'time')  # Concatonate original data arrays with average data array temp['tasmin'] = xr.concat([temp['tasmin'], avg], dim=\"time\") # AOI (Michigan, USA) AOI     = gpd.GeoDataFrame({   \"geometry\" : [shapely.wkt.loads(nom.geocode(\"Michigan, USA\", geometry='wkt').raw['geotext'])]   },   crs = \"EPSG:4326\"   ) # get 3 random MACA models random_models = climatePy.getMACA(   AOI       = AOI,   model     = 3,   varname   = \"tasmin\",   startDate = \"2050-10-29\",   dopar     = False   )"},{"path":"/articles/03-intro-climatepy.html","id":"global-datasets","dir":"Articles","previous_headings":"","what":"Global Datasets","title":"Welcome to climatePy","text":"datasets USA focused either. TerraClimate offers global, monthly data current year many variables, CHIRPS provides daily rainfall data:","code":"kenya     = gpd.GeoDataFrame({   \"geometry\" : [shapely.wkt.loads(nom.geocode(\"Kenya\", geometry='wkt').raw['geotext'])]   },    crs = \"EPSG:4326\"   ) # TerraClim PET tc = climatePy.getTerraClim(   AOI       = kenya,   varname   = \"pet\",   startDate = \"2018-01-01\",   dopar     = False   )    # CHIRPS precip chirps = climatePy.getCHIRPS(   AOI       = kenya,   startDate = \"2018-01-01\",   endDate   = \"2018-01-01\",   dopar     = False   )"},{"path":"/articles/03-intro-climatepy.html","id":"point-based-data","dir":"Articles","previous_headings":"","what":"Point Based Data","title":"Welcome to climatePy","text":"Finally, data gathering limited areal extents can retrieved time series locations.","code":"# Create a DataFrame with 'lng' and 'lat' columns df = pd.DataFrame({'lng': [-105.0668], 'lat': [40.55085]}) pt = (gpd.GeoDataFrame(geometry=gpd.points_from_xy(df['lng'], df['lat']), crs='EPSG:4326'))  ts = climatePy.getGridMET(   AOI       = pt,   varname   = [\"pr\", 'srad'],   startDate = \"2021-01-01\",    endDate   = \"2021-12-31\",   dopar     = False   )"},{"path":"/articles/03-intro-climatepy.html","id":"point-based-ensemble","dir":"Articles","previous_headings":"","what":"Point Based Ensemble","title":"Welcome to climatePy","text":"","code":"# Point Based Ensemble future = climatePy.getMACA(     AOI       = pt,     model     = 5,     varname   = \"tasmax\",      startDate = \"2050-01-01\",      endDate   = \"2050-01-31\",     dopar     = False     )"},{"path":"/articles/03-intro-climatepy.html","id":"multi-site-extraction","dir":"Articles","previous_headings":"","what":"Multi Site extraction","title":"Welcome to climatePy","text":"Extracting data set points interesting challenge. turns much efficient grab underlying raster stack extract time series opposed iterating locations: Starting set 50 random points Colorado. climatePy grab DataArray underlying bounding area points  Use extract_sites extract times series locations. id parameter unique identifier site data names resulting columns. Providing stack DataArrays extract_sites points_df extract raster values point across time.","code":"# Colorado state polygon AOI     = gpd.GeoDataFrame({   \"geometry\" : [shapely.wkt.loads(nom.geocode(\"Colorado\", geometry='wkt').raw['geotext'])]   },    crs = \"EPSG:4326\"   ) # create 10 random Lat/lon points within the AOI bounding box points = [shapely.geometry.Point(random.uniform(AOI.bounds.minx[0], AOI.bounds.maxx[0]),           random.uniform(AOI.bounds.miny[0], AOI.bounds.maxy[0])) for _ in range(50)           ]  # make geopandas dataframe from points points_df = gpd.GeoDataFrame(geometry=points, crs = \"EPSG:4326\")  # create a unique identifier column points_df[\"uid\"] = [\"uid_\" + str(i) for i in range(len(points_df))] sites_stack = climatePy.getTerraClim(   AOI       = points_df,    varname   = \"tmax\",    startDate = \"2018-01-01\",    endDate   = \"2018-12-31\"   ) # extract wide sites data sites_wide = climatePy.extract_sites(r = sites_stack[\"tmax\"], pts = points_df, id = \"uid\")"},{"path":"/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Mike Johnson. Author, maintainer. Justin Singh. Contributor. Angus Watters. Contributor. . Funder. . Funder.","code":""},{"path":"/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Johnson M (2023). climateR: climateR. R package version 0.3.1.4, https://github.com/mikejohnson51/climateR.","code":"@Manual{,   title = {climateR: climateR},   author = {Mike Johnson},   year = {2023},   note = {R package version 0.3.1.4},   url = {https://github.com/mikejohnson51/climateR}, }"},{"path":"/index.html","id":"welcome","dir":"","previous_headings":"","what":"climateR","title":"climateR","text":"climateR simplifies steps needed get climate data R. core provides three main things: catalog 100,000k datasets 2,000 data providers/archives. See (climateR::params) catalog evolving, federated collection datasets can accessed data access utilities. general toolkit accessing remote local gridded data files bounded space, time, variable constraints (dap, dap_crop, read_dap_file) set shortcuts implement methods core set selected catalog elements ⚠️ Python Users: Data catalog access available USGS gdptools package. Directly analogous climateR functionality can found climatePy","code":"nrow(params) #> [1] 107857 length(unique(params$id)) #> [1] 2075 length(unique(params$asset)) #> [1] 4653"},{"path":"/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"climateR","text":"","code":"remotes::install_github(\"mikejohnson51/AOI\") # suggested! remotes::install_github(\"mikejohnson51/climateR\")"},{"path":"/index.html","id":"basic-usage","dir":"","previous_headings":"","what":"Basic Usage","title":"climateR","text":"Finding rainfall Colorado October 29,1991 - November 6, 1991. source dataset example uses getGridMET shortcut.","code":"library(AOI) library(terra) library(climateR)  AOI = aoi_get(state = \"CO\", county = \"all\") system.time({   d = getGridMET(AOI,                varname = \"pr\",                startDate = \"1991-10-29\",                endDate  = \"1991-11-06\") }) #>    user  system elapsed  #>   0.245   0.054   0.982"},{"path":"/index.html","id":"basic-animation","dir":"","previous_headings":"","what":"Basic Animation","title":"climateR","text":"","code":"animation(d$precipitation_amount, AOI = AOI, outfile = \"man/figures/rast_gif.gif\")"},{"path":"/index.html","id":"integration-with-zonal","dir":"","previous_headings":"","what":"Integration with zonal","title":"climateR","text":"","code":"library(zonal)  system.time({   county = execute_zonal(d, geom = AOI, ID = \"fip_code\") }) #>    user  system elapsed  #>   0.328   0.018   0.366 animation(county, feild_pattern = \"pr_\", outfile = \"man/figures/vect_gif.gif\")"},{"path":"/reference/animation.html","id":null,"dir":"Reference","previous_headings":"","what":"Animate Object as GIF — animation","title":"Animate Object as GIF — animation","text":"Animate SpatRaster object gif.","code":""},{"path":"/reference/animation.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Animate Object as GIF — animation","text":"","code":"animation(data, AOI = NULL, feild_pattern = NULL, outfile, colors = blues9)"},{"path":"/reference/animation.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Animate Object as GIF — animation","text":"data SpatVect sf object AOI optional AOI sf SpatVect object overlay gif feild_pattern optional string vector filter desired attributes outfile path write gif file, must .gif extenstion colors colors plot ","code":""},{"path":"/reference/animation.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Animate Object as GIF — animation","text":"file.path","code":""},{"path":[]},{"path":"/reference/animation_raster.html","id":null,"dir":"Reference","previous_headings":"","what":"Animate SpatRast as GIF — animation_raster","title":"Animate SpatRast as GIF — animation_raster","text":"Animate SpatRaster object gif.","code":""},{"path":"/reference/animation_raster.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Animate SpatRast as GIF — animation_raster","text":"","code":"animation_raster(data, AOI = NULL, outfile, colors = blues9)"},{"path":"/reference/animation_raster.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Animate SpatRast as GIF — animation_raster","text":"data single SpatRast object AOI optional AOI sf SpatVect object overlay gif outfile path write gif file, must .gif extenstion colors colors plot ","code":""},{"path":"/reference/animation_raster.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Animate SpatRast as GIF — animation_raster","text":"file.path","code":""},{"path":[]},{"path":"/reference/animation_vector.html","id":null,"dir":"Reference","previous_headings":"","what":"Animate vector as GIF — animation_vector","title":"Animate vector as GIF — animation_vector","text":"Animate sf SpatVect object gif.","code":""},{"path":"/reference/animation_vector.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Animate vector as GIF — animation_vector","text":"","code":"animation_vector(data, feild_pattern = NULL, outfile, colors = blues9)"},{"path":"/reference/animation_vector.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Animate vector as GIF — animation_vector","text":"data SpatVect sf object feild_pattern optional string vector filter desired attributes outfile path write gif file, must .gif extenstion colors colors plot ","code":""},{"path":"/reference/animation_vector.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Animate vector as GIF — animation_vector","text":"file.path","code":""},{"path":[]},{"path":"/reference/catalog.html","id":null,"dir":"Reference","previous_headings":"","what":"ClimateR Catalog — catalog","title":"ClimateR Catalog — catalog","text":"ClimateR Catalog","code":""},{"path":"/reference/catalog.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"ClimateR Catalog — catalog","text":"","code":"catalog"},{"path":"/reference/catalog.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"ClimateR Catalog — catalog","text":"object class tbl_df (inherits tbl, data.frame) 37010 rows 29 columns.","code":""},{"path":[]},{"path":"/reference/checkDodsrc.html","id":null,"dir":"Reference","previous_headings":"","what":"Check dodsrc file — checkDodsrc","title":"Check dodsrc file — checkDodsrc","text":"Check netrc file valid entry urs.earthdata.nasa.gov.","code":""},{"path":"/reference/checkDodsrc.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check dodsrc file — checkDodsrc","text":"","code":"checkDodsrc(dodsrcFile = getDodsrcPath(), netrcFile = getNetrcPath())"},{"path":"/reference/checkDodsrc.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check dodsrc file — checkDodsrc","text":"dodsrcFile File path dodsrc file check. netrcFile File path netrc file check.","code":""},{"path":"/reference/checkDodsrc.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check dodsrc file — checkDodsrc","text":"logical","code":""},{"path":[]},{"path":"/reference/checkNetrc.html","id":null,"dir":"Reference","previous_headings":"","what":"Check netrc file — checkNetrc","title":"Check netrc file — checkNetrc","text":"Check netrc file valid entry urs.earthdata.nasa.gov.","code":""},{"path":"/reference/checkNetrc.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check netrc file — checkNetrc","text":"","code":"checkNetrc(netrcFile = getNetrcPath(), machine = \"urs.earthdata.nasa.gov\")"},{"path":"/reference/checkNetrc.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check netrc file — checkNetrc","text":"netrcFile character. File path netrc file check. machine machine logging ","code":""},{"path":"/reference/checkNetrc.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check netrc file — checkNetrc","text":"logical","code":""},{"path":[]},{"path":"/reference/climater_dap.html","id":null,"dir":"Reference","previous_headings":"","what":"ClimateR dry run — climater_dap","title":"ClimateR dry run — climater_dap","text":"ClimateR dry run","code":""},{"path":"/reference/climater_dap.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"ClimateR dry run — climater_dap","text":"","code":"climater_dap(id, args, verbose, dryrun, print.arg = FALSE)"},{"path":"/reference/climater_dap.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"ClimateR dry run — climater_dap","text":"id resource name, agency, catalog identifier args parent function arguments verbose messages emited? dryrun Return summary data prior retrieving print.arg arguments printed? Usefull debugging","code":""},{"path":"/reference/climater_dap.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"ClimateR dry run — climater_dap","text":"data.frame","code":""},{"path":[]},{"path":"/reference/climater_filter.html","id":null,"dir":"Reference","previous_headings":"","what":"ClimateR Catalog Filter — climater_filter","title":"ClimateR Catalog Filter — climater_filter","text":"Filter climateR catalog based set constraints","code":""},{"path":"/reference/climater_filter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"ClimateR Catalog Filter — climater_filter","text":"","code":"climater_filter(   id = NULL,   asset = NULL,   AOI = NULL,   startDate = NULL,   endDate = NULL,   varname = NULL,   model = NULL,   scenario = NULL,   ensemble = NULL )"},{"path":"/reference/climater_filter.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"ClimateR Catalog Filter — climater_filter","text":"id resource, agency, catalog identifier asset subdataset asset given resource AOI sf SpatVect point polygon extract data startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data varname variable name extract (e.g. tmin) model GCM model name generating scenario climate modeling scenario ensemble model ensemble member used generate data","code":""},{"path":"/reference/climater_filter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"ClimateR Catalog Filter — climater_filter","text":"data.frame","code":""},{"path":[]},{"path":"/reference/dap.html","id":null,"dir":"Reference","previous_headings":"","what":"Get Data (Data Access Protocol) — dap","title":"Get Data (Data Access Protocol) — dap","text":"function provides consistent data access protocol (dap) wide range local remote resources including VRT, TDS, NetCDF Define get data DAP resource","code":""},{"path":"/reference/dap.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Data (Data Access Protocol) — dap","text":"","code":"dap(   URL = NULL,   catalog = NULL,   AOI = NULL,   startDate = NULL,   endDate = NULL,   varname = NULL,   grid = NULL,   start = NULL,   end = NULL,   toptobottom = FALSE,   verbose = TRUE )"},{"path":"/reference/dap.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Data (Data Access Protocol) — dap","text":"URL local file path URL catalog subset open.dap catalog AOI sf SpatVect point polygon extract data startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data varname variable name extract (e.g. tmin) grid list containing extent (), crs start non \"dated\" items, start can called index end non \"dated\" items, end can called index toptobottom data inverse? verbose dap_summary printed?","code":""},{"path":"/reference/dap.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get Data (Data Access Protocol) — dap","text":"data.frame","code":""},{"path":"/reference/dap.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get Data (Data Access Protocol) — dap","text":"Wraps dap_get dap_crop one. AOI NULL spatial crop executed. startDate endDate NULL, temporal crop executed. just endDate NULL defaults startDate.","code":""},{"path":[]},{"path":"/reference/dap_crop.html","id":null,"dir":"Reference","previous_headings":"","what":"Crop DAP file — dap_crop","title":"Crop DAP file — dap_crop","text":"Crop DAP file","code":""},{"path":"/reference/dap_crop.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Crop DAP file — dap_crop","text":"","code":"dap_crop(   URL = NULL,   catalog = NULL,   AOI = NULL,   startDate = NULL,   endDate = NULL,   start = NULL,   end = NULL,   varname = NULL,   verbose = TRUE )"},{"path":"/reference/dap_crop.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Crop DAP file — dap_crop","text":"URL local file path URL catalog subset open.dap catalog AOI sf SpatVect point polygon extract data startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data start non \"dated\" items, start can called index end non \"dated\" items, end can called index varname variable name extract (e.g. tmin) verbose dap_summary printed?","code":""},{"path":"/reference/dap_crop.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Crop DAP file — dap_crop","text":"data.frame","code":""},{"path":[]},{"path":"/reference/dap_get.html","id":null,"dir":"Reference","previous_headings":"","what":"Get DAP resource data — dap_get","title":"Get DAP resource data — dap_get","text":"Get DAP resource data","code":""},{"path":"/reference/dap_get.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get DAP resource data — dap_get","text":"","code":"dap_get(dap, varname = NULL)"},{"path":"/reference/dap_get.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get DAP resource data — dap_get","text":"dap data.frame catalog dap_crop varname name variable extract. NULL, get ","code":""},{"path":"/reference/dap_get.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get DAP resource data — dap_get","text":"SpatRaster","code":""},{"path":[]},{"path":"/reference/dap_meta.html","id":null,"dir":"Reference","previous_headings":"","what":"Find DAP Metadata — dap_meta","title":"Find DAP Metadata — dap_meta","text":"Find DAP Metadata","code":""},{"path":"/reference/dap_meta.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Find DAP Metadata — dap_meta","text":"","code":"dap_meta(raw)"},{"path":"/reference/dap_meta.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Find DAP Metadata — dap_meta","text":"raw data.frame","code":""},{"path":"/reference/dap_meta.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Find DAP Metadata — dap_meta","text":"data.frame","code":""},{"path":[]},{"path":"/reference/dap_summary.html","id":null,"dir":"Reference","previous_headings":"","what":"Print Summary Information About a OpenDAP Resource — dap_summary","title":"Print Summary Information About a OpenDAP Resource — dap_summary","text":"Print summary information DAP summary","code":""},{"path":"/reference/dap_summary.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Print Summary Information About a OpenDAP Resource — dap_summary","text":"","code":"dap_summary(dap = NULL, url = NULL)"},{"path":"/reference/dap_summary.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Print Summary Information About a OpenDAP Resource — dap_summary","text":"dap data.frame catalog dap_crop url Unique Resource Identifier (http local)","code":""},{"path":[]},{"path":"/reference/dap_to_local.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert OpenDAP to start/count call — dap_to_local","title":"Convert OpenDAP to start/count call — dap_to_local","text":"Convert OpenDAP start/count call","code":""},{"path":"/reference/dap_to_local.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert OpenDAP to start/count call — dap_to_local","text":"","code":"dap_to_local(dap, get = TRUE)"},{"path":"/reference/dap_to_local.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert OpenDAP to start/count call — dap_to_local","text":"dap dap description get data collected?","code":""},{"path":"/reference/dap_to_local.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert OpenDAP to start/count call — dap_to_local","text":"numeric array","code":""},{"path":[]},{"path":"/reference/dap_xyzv.html","id":null,"dir":"Reference","previous_headings":"","what":"Get XYTV data from DAP URL — dap_xyzv","title":"Get XYTV data from DAP URL — dap_xyzv","text":"Get XYTV data DAP URL","code":""},{"path":"/reference/dap_xyzv.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get XYTV data from DAP URL — dap_xyzv","text":"","code":"dap_xyzv(obj, varname = NULL, varmeta = FALSE)"},{"path":"/reference/dap_xyzv.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get XYTV data from DAP URL — dap_xyzv","text":"obj OpenDap URL NetCDF object varname name variable extract. NULL, get varmeta variable metadata appended?","code":""},{"path":"/reference/dap_xyzv.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get XYTV data from DAP URL — dap_xyzv","text":"data.frame (varname, X_name, Y_name, T_name)","code":""},{"path":[]},{"path":"/reference/dot-resource_grid.html","id":null,"dir":"Reference","previous_headings":"","what":"Extract grid metadata from NC Pointer — .resource_grid","title":"Extract grid metadata from NC Pointer — .resource_grid","text":"Extract grid metadata NC Pointer","code":""},{"path":"/reference/dot-resource_grid.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Extract grid metadata from NC Pointer — .resource_grid","text":"","code":".resource_grid(URL, X_name = NULL, Y_name = NULL, stopIfNotEqualSpaced = TRUE)"},{"path":"/reference/dot-resource_grid.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Extract grid metadata from NC Pointer — .resource_grid","text":"URL location data process X_name Name X diminsion. NULL found Y_name Name Y diminsion. NULL found stopIfNotEqualSpaced stop equal space grid","code":""},{"path":"/reference/dot-resource_grid.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Extract grid metadata from NC Pointer — .resource_grid","text":"list","code":""},{"path":[]},{"path":"/reference/dot-resource_time.html","id":null,"dir":"Reference","previous_headings":"","what":"Extract time metadata from NC Pointer — .resource_time","title":"Extract time metadata from NC Pointer — .resource_time","text":"Extract time metadata NC Pointer","code":""},{"path":"/reference/dot-resource_time.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Extract time metadata from NC Pointer — .resource_time","text":"","code":".resource_time(URL, T_name = NULL)"},{"path":"/reference/dot-resource_time.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Extract time metadata from NC Pointer — .resource_time","text":"URL location data process T_name Name T dimension. NULL found","code":""},{"path":"/reference/dot-resource_time.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Extract time metadata from NC Pointer — .resource_time","text":"list","code":""},{"path":[]},{"path":"/reference/extract_sites.html","id":null,"dir":"Reference","previous_headings":"","what":"Extract Sites — extract_sites","title":"Extract Sites — extract_sites","text":"extract timeseries values raster stack set points","code":""},{"path":"/reference/extract_sites.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Extract Sites — extract_sites","text":"","code":"extract_sites(r, pts, id)"},{"path":"/reference/extract_sites.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Extract Sites — extract_sites","text":"r SpatRaster object pts point extract id unique identifier point (column name pts)","code":""},{"path":"/reference/extract_sites.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Extract Sites — extract_sites","text":"data.frame columes representing points, rows time periods","code":""},{"path":[]},{"path":"/reference/get3DEP.html","id":null,"dir":"Reference","previous_headings":"","what":"Get USGS 3DEP DEMs — get3DEP","title":"Get USGS 3DEP DEMs — get3DEP","text":"Get USGS 3DEP DEMs","code":""},{"path":"/reference/get3DEP.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get USGS 3DEP DEMs — get3DEP","text":"","code":"get3DEP(AOI, resolution = \"30m\")"},{"path":"/reference/get3DEP.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get USGS 3DEP DEMs — get3DEP","text":"AOI sf SpatVect point polygon extract data resolution DEM resolution (10m 30m (default))","code":""},{"path":"/reference/get3DEP.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get USGS 3DEP DEMs — get3DEP","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getBCCA.html","id":null,"dir":"Reference","previous_headings":"","what":"Get BCCA data — getBCCA","title":"Get BCCA data — getBCCA","text":"Get BCCA data","code":""},{"path":"/reference/getBCCA.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get BCCA data — getBCCA","text":"","code":"getBCCA(   AOI,   varname,   model = \"CCSM4\",   scenario = \"rcp45\",   ensemble = NULL,   startDate,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getBCCA.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get BCCA data — getBCCA","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) model GCM model name generating scenario climate modeling scenario ensemble model ensemble member used generate data startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getBCCA.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get BCCA data — getBCCA","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getCHIRPS.html","id":null,"dir":"Reference","previous_headings":"","what":"Get CHIRPS data — getCHIRPS","title":"Get CHIRPS data — getCHIRPS","text":"Get CHIRPS data","code":""},{"path":"/reference/getCHIRPS.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get CHIRPS data — getCHIRPS","text":"","code":"getCHIRPS(   AOI,   varname = NULL,   timeRes = \"daily\",   startDate,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getCHIRPS.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get CHIRPS data — getCHIRPS","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) timeRes \"Pentad\", \"Annual\", \"Daily\" (default), \"Monthly\" startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getCHIRPS.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get CHIRPS data — getCHIRPS","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getDaymet.html","id":null,"dir":"Reference","previous_headings":"","what":"Get Daymet Climate Data for an Area of Interest — getDaymet","title":"Get Daymet Climate Data for an Area of Interest — getDaymet","text":"dataset provides Daymet Version 4 model output data gridded estimates daily weather parameters North America. Daymet output variables include following parameters: minimum temperature, maximum temperature, precipitation, shortwave radiation, vapor pressure, snow water equivalent, day length. dataset covers period January 1, 1980 December 31 recent full calendar year. subsequent year processed individually close calendar year allowing adequate time input weather station data archive quality.  Daymet variables continuous surfaces provided individual files, year, 1-km x 1-km spatial resolution daily temporal resolution. Data Lambert Conformal Conic projection North America netCDF file format compliant Climate Forecast (CF) metadata conventions.","code":""},{"path":"/reference/getDaymet.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Daymet Climate Data for an Area of Interest — getDaymet","text":"","code":"getDaymet(   AOI,   varname = NULL,   startDate = NULL,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getDaymet.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Daymet Climate Data for an Area of Interest — getDaymet","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getDaymet.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get Daymet Climate Data for an Area of Interest — getDaymet","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getDodsrcPath.html","id":null,"dir":"Reference","previous_headings":"","what":"Get a default dodsrc file path — getDodsrcPath","title":"Get a default dodsrc file path — getDodsrcPath","text":"Get default dodsrc file path","code":""},{"path":"/reference/getDodsrcPath.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get a default dodsrc file path — getDodsrcPath","text":"","code":"getDodsrcPath()"},{"path":"/reference/getDodsrcPath.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get a default dodsrc file path — getDodsrcPath","text":"character vector containing default netrc file path","code":""},{"path":[]},{"path":"/reference/getDodsrcPath.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get a default dodsrc file path — getDodsrcPath","text":"","code":"getDodsrcPath() #> [1] \"/Users/mjohnson/.dodsrc\""},{"path":"/reference/getGLDAS.html","id":null,"dir":"Reference","previous_headings":"","what":"Get GLDAS data — getGLDAS","title":"Get GLDAS data — getGLDAS","text":"Get GLDAS data","code":""},{"path":"/reference/getGLDAS.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get GLDAS data — getGLDAS","text":"","code":"getGLDAS(   AOI,   varname = NULL,   model = NULL,   startDate,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getGLDAS.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get GLDAS data — getGLDAS","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) model GCM model name generating startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getGLDAS.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get GLDAS data — getGLDAS","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getGridMET.html","id":null,"dir":"Reference","previous_headings":"","what":"Get GridMet Climate Data for an Area of Interest — getGridMET","title":"Get GridMet Climate Data for an Area of Interest — getGridMET","text":"gridMET dataset daily high-spatial resolution (~4-km, 1/24th degree) surface meteorological data covering contiguous US 1979-yesterday. data updated daily.","code":""},{"path":"/reference/getGridMET.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get GridMet Climate Data for an Area of Interest — getGridMET","text":"","code":"getGridMET(   AOI,   varname,   startDate,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getGridMET.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get GridMet Climate Data for an Area of Interest — getGridMET","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getGridMET.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get GridMet Climate Data for an Area of Interest — getGridMET","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getLCMAP.html","id":null,"dir":"Reference","previous_headings":"","what":"Get USGS LCMAP — getLCMAP","title":"Get USGS LCMAP — getLCMAP","text":"Land Change Monitoring, Assessment, Projection","code":""},{"path":"/reference/getLCMAP.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get USGS LCMAP — getLCMAP","text":"","code":"getLCMAP(AOI, year = 2019, type = \"primary landcover\")"},{"path":"/reference/getLCMAP.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get USGS LCMAP — getLCMAP","text":"AOI sf SpatVect point polygon extract data year Land cover product year 1985 - 2019 (default = 2019) type product type (primary landcover (default), secondary landcover, primary confidence, secondary confidence, cover change, change day, change magniture, model cquality, spectral stability, spectral lastchance)","code":""},{"path":"/reference/getLCMAP.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get USGS LCMAP — getLCMAP","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getLOCA.html","id":null,"dir":"Reference","previous_headings":"","what":"Get LOCA Climate Data for an Area of Interest — getLOCA","title":"Get LOCA Climate Data for an Area of Interest — getLOCA","text":"LOCA statistical downscaling technique uses past history add improved fine-scale detail global climate models. LOCA used downscale 32 global climate models CMIP5 archive 1/16th degree spatial resolution, covering North America central Mexico Southern Canada. historical period 1950-2005, two future scenarios available: RCP 4.5 RCP 8.5 period 2006-2100 (although models stop 2099). variables currently available daily minimum maximum temperature, daily precipitation. information visit: http://loca.ucsd.edu/.","code":""},{"path":"/reference/getLOCA.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get LOCA Climate Data for an Area of Interest — getLOCA","text":"","code":"getLOCA(   AOI,   varname,   model = \"CCSM4\",   scenario = \"rcp45\",   startDate,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getLOCA.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get LOCA Climate Data for an Area of Interest — getLOCA","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) model GCM model name generating scenario climate modeling scenario startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getLOCA.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get LOCA Climate Data for an Area of Interest — getLOCA","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getLOCA_hydro.html","id":null,"dir":"Reference","previous_headings":"","what":"Get LOCA Hydrology data — getLOCA_hydro","title":"Get LOCA Hydrology data — getLOCA_hydro","text":"Get LOCA Hydrology data","code":""},{"path":"/reference/getLOCA_hydro.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get LOCA Hydrology data — getLOCA_hydro","text":"","code":"getLOCA_hydro(   AOI,   varname,   model = \"CCSM4\",   scenario = \"rcp45\",   startDate,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getLOCA_hydro.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get LOCA Hydrology data — getLOCA_hydro","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) model GCM model name generating scenario climate modeling scenario startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getLOCA_hydro.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get LOCA Hydrology data — getLOCA_hydro","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getLivneh.html","id":null,"dir":"Reference","previous_headings":"","what":"Get Livneh data — getLivneh","title":"Get Livneh data — getLivneh","text":"Get Livneh data","code":""},{"path":"/reference/getLivneh.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Livneh data — getLivneh","text":"","code":"getLivneh(   AOI,   varname = NULL,   startDate,   endDate = NULL,   timeRes = \"daily\",   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getLivneh.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Livneh data — getLivneh","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data timeRes daily monthly verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getLivneh.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get Livneh data — getLivneh","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getLivneh_fluxes.html","id":null,"dir":"Reference","previous_headings":"","what":"Get Livneh Flux data — getLivneh_fluxes","title":"Get Livneh Flux data — getLivneh_fluxes","text":"Get Livneh Flux data","code":""},{"path":"/reference/getLivneh_fluxes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Livneh Flux data — getLivneh_fluxes","text":"","code":"getLivneh_fluxes(   AOI,   varname = NULL,   startDate,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getLivneh_fluxes.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Livneh Flux data — getLivneh_fluxes","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getLivneh_fluxes.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get Livneh Flux data — getLivneh_fluxes","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getMACA.html","id":null,"dir":"Reference","previous_headings":"","what":"Get MACA Climate Data for an Area of Interest — getMACA","title":"Get MACA Climate Data for an Area of Interest — getMACA","text":"Multivariate Adaptive Constructed Analogs (MACA) statistical method downscaling Global Climate Models (GCMs) native coarse resolution higher spatial resolution captures reflects observed patterns daily near-surface meteorology simulated changes GCMs experiments.","code":""},{"path":"/reference/getMACA.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get MACA Climate Data for an Area of Interest — getMACA","text":"","code":"getMACA(   AOI,   varname,   timeRes = \"day\",   model = \"CCSM4\",   scenario = \"rcp45\",   startDate,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getMACA.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get MACA Climate Data for an Area of Interest — getMACA","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) timeRes daily monthly model GCM model name generating scenario climate modeling scenario startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getMACA.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get MACA Climate Data for an Area of Interest — getMACA","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getMODIS.html","id":null,"dir":"Reference","previous_headings":"","what":"Get MODIS data — getMODIS","title":"Get MODIS data — getMODIS","text":"Get MODIS data","code":""},{"path":"/reference/getMODIS.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get MODIS data — getMODIS","text":"","code":"getMODIS(   AOI,   asset = NULL,   varname = NULL,   startDate,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getMODIS.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get MODIS data — getMODIS","text":"AOI sf SpatVect point polygon extract data asset MODIS sensor varname variable name extract (e.g. tmin) startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getMODIS.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get MODIS data — getMODIS","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getNASADEM.html","id":null,"dir":"Reference","previous_headings":"","what":"Get NASA Global DEM — getNASADEM","title":"Get NASA Global DEM — getNASADEM","text":"Get NASA Global DEM","code":""},{"path":"/reference/getNASADEM.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get NASA Global DEM — getNASADEM","text":"","code":"getNASADEM(AOI)"},{"path":"/reference/getNASADEM.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get NASA Global DEM — getNASADEM","text":"AOI sf SpatVect point polygon extract data ","code":""},{"path":"/reference/getNASADEM.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get NASA Global DEM — getNASADEM","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getNLCD.html","id":null,"dir":"Reference","previous_headings":"","what":"Get USGS National Land Cover Dataset — getNLCD","title":"Get USGS National Land Cover Dataset — getNLCD","text":"Get USGS National Land Cover Dataset","code":""},{"path":"/reference/getNLCD.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get USGS National Land Cover Dataset — getNLCD","text":"","code":"getNLCD(AOI, year = 2019, type = \"land cover\")"},{"path":"/reference/getNLCD.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get USGS National Land Cover Dataset — getNLCD","text":"AOI sf SpatVect point polygon extract data year Landcover product year (2001, 2011,2016,2019) type product type","code":""},{"path":"/reference/getNLCD.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get USGS National Land Cover Dataset — getNLCD","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getNLDAS.html","id":null,"dir":"Reference","previous_headings":"","what":"Get NLDAS data — getNLDAS","title":"Get NLDAS data — getNLDAS","text":"Get NLDAS data","code":""},{"path":"/reference/getNLDAS.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get NLDAS data — getNLDAS","text":"","code":"getNLDAS(   AOI,   varname = NULL,   model = NULL,   startDate,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getNLDAS.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get NLDAS data — getNLDAS","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) model GCM model name generating startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getNLDAS.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get NLDAS data — getNLDAS","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getNetrcPath.html","id":null,"dir":"Reference","previous_headings":"","what":"Get the default netrc file path — getNetrcPath","title":"Get the default netrc file path — getNetrcPath","text":"Get default netrc file path","code":""},{"path":"/reference/getNetrcPath.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get the default netrc file path — getNetrcPath","text":"","code":"getNetrcPath()"},{"path":"/reference/getNetrcPath.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get the default netrc file path — getNetrcPath","text":"character vector containing default netrc file path","code":""},{"path":[]},{"path":"/reference/getNetrcPath.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get the default netrc file path — getNetrcPath","text":"","code":"getNetrcPath() #> [1] \"/Users/mjohnson/.netrc\""},{"path":"/reference/getPRISM.html","id":null,"dir":"Reference","previous_headings":"","what":"Get PRISM data — getPRISM","title":"Get PRISM data — getPRISM","text":"Get PRISM data","code":""},{"path":"/reference/getPRISM.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get PRISM data — getPRISM","text":"","code":"getPRISM(   AOI,   varname = NULL,   startDate,   endDate = NULL,   timeRes = \"daily\",   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getPRISM.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get PRISM data — getPRISM","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data timeRes daily monthly verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getPRISM.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get PRISM data — getPRISM","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getTerraClim.html","id":null,"dir":"Reference","previous_headings":"","what":"Get Terra Climate Data for an Area of Interest — getTerraClim","title":"Get Terra Climate Data for an Area of Interest — getTerraClim","text":"Get Terra Climate Data Area Interest","code":""},{"path":"/reference/getTerraClim.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Terra Climate Data for an Area of Interest — getTerraClim","text":"","code":"getTerraClim(   AOI,   varname = NULL,   startDate = NULL,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getTerraClim.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Terra Climate Data for an Area of Interest — getTerraClim","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getTerraClim.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get Terra Climate Data for an Area of Interest — getTerraClim","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getTerraClimNormals.html","id":null,"dir":"Reference","previous_headings":"","what":"Get Terra Climate Normals for an Area of Interest — getTerraClimNormals","title":"Get Terra Climate Normals for an Area of Interest — getTerraClimNormals","text":"layers TerraClimate creating using climatically aided interpolation monthly anomalies CRU Ts4.0 Japanese 55-year Reanalysis (JRA-55) datasets WorldClim v2.0 climatologies.","code":""},{"path":"/reference/getTerraClimNormals.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Terra Climate Normals for an Area of Interest — getTerraClimNormals","text":"","code":"getTerraClimNormals(   AOI,   varname,   scenario = \"19812010\",   month = 1:12,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getTerraClimNormals.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Terra Climate Normals for an Area of Interest — getTerraClimNormals","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) scenario climate modeling scenario month numeric. month vector months access. Default 1:12 verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getTerraClimNormals.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get Terra Climate Normals for an Area of Interest — getTerraClimNormals","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getVIC.html","id":null,"dir":"Reference","previous_headings":"","what":"Get VIC data — getVIC","title":"Get VIC data — getVIC","text":"Get VIC data","code":""},{"path":"/reference/getVIC.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get VIC data — getVIC","text":"","code":"getVIC(   AOI,   varname,   model = \"CCSM4\",   scenario = \"rcp45\",   startDate,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getVIC.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get VIC data — getVIC","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) model GCM model name generating scenario climate modeling scenario startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getVIC.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get VIC data — getVIC","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getWorldClim.html","id":null,"dir":"Reference","previous_headings":"","what":"Get WorlClim gridded weather and climate data for historical (near current) conditions. — getWorldClim","title":"Get WorlClim gridded weather and climate data for historical (near current) conditions. — getWorldClim","text":"WorldClim database high spatial resolution global weather climate data. data can used mapping spatial modeling.","code":""},{"path":"/reference/getWorldClim.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get WorlClim gridded weather and climate data for historical (near current) conditions. — getWorldClim","text":"","code":"getWorldClim(   AOI = NULL,   varname = NULL,   model = \"wc2.1_5m\",   month = 1:12,   verbose = TRUE )"},{"path":"/reference/getWorldClim.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get WorlClim gridded weather and climate data for historical (near current) conditions. — getWorldClim","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) model GCM model name generating month numeric. month vector months access. Default 1:12 verbose messages emited?","code":""},{"path":"/reference/getWorldClim.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get WorlClim gridded weather and climate data for historical (near current) conditions. — getWorldClim","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/get_data.html","id":null,"dir":"Reference","previous_headings":"","what":"Get DAP Array — get_data","title":"Get DAP Array — get_data","text":"Get DAP Array","code":""},{"path":"/reference/get_data.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get DAP Array — get_data","text":"","code":"get_data(dap)"},{"path":"/reference/get_data.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get DAP Array — get_data","text":"dap dap description","code":""},{"path":"/reference/get_data.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get DAP Array — get_data","text":"SpatRast","code":""},{"path":[]},{"path":"/reference/go_get_dap_data.html","id":null,"dir":"Reference","previous_headings":"","what":"Read formated DAP URL as SpatRast — go_get_dap_data","title":"Read formated DAP URL as SpatRast — go_get_dap_data","text":"Read formated DAP URL SpatRast","code":""},{"path":"/reference/go_get_dap_data.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Read formated DAP URL as SpatRast — go_get_dap_data","text":"","code":"go_get_dap_data(dap)"},{"path":"/reference/go_get_dap_data.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Read formated DAP URL as SpatRast — go_get_dap_data","text":"dap output dap_crop","code":""},{"path":"/reference/go_get_dap_data.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Read formated DAP URL as SpatRast — go_get_dap_data","text":"SpatRast","code":""},{"path":[]},{"path":"/reference/grid_meta.html","id":null,"dir":"Reference","previous_headings":"","what":"Find DAP grid metadata — grid_meta","title":"Find DAP grid metadata — grid_meta","text":"Find DAP grid metadata","code":""},{"path":"/reference/grid_meta.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Find DAP grid metadata — grid_meta","text":"","code":"grid_meta(raw)"},{"path":"/reference/grid_meta.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Find DAP grid metadata — grid_meta","text":"raw data.frame","code":""},{"path":"/reference/grid_meta.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Find DAP grid metadata — grid_meta","text":"data.frame","code":""},{"path":[]},{"path":"/reference/make_ext.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert catalog entry to extent — make_ext","title":"Convert catalog entry to extent — make_ext","text":"Convert catalog entry extent","code":""},{"path":"/reference/make_ext.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert catalog entry to extent — make_ext","text":"","code":"make_ext(cat)"},{"path":"/reference/make_ext.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert catalog entry to extent — make_ext","text":"cat catalog entry (data.frame Xn, X1, Yn, Y1, crs)","code":""},{"path":"/reference/make_ext.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert catalog entry to extent — make_ext","text":"SpatExtent","code":""},{"path":[]},{"path":"/reference/make_vect.html","id":null,"dir":"Reference","previous_headings":"","what":"Make Vector — make_vect","title":"Make Vector — make_vect","text":"Make Vector","code":""},{"path":"/reference/make_vect.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Make Vector — make_vect","text":"","code":"make_vect(cat)"},{"path":"/reference/make_vect.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Make Vector — make_vect","text":"cat catalog entry (data.frame Xn, X1, Yn, Y1, crs)","code":""},{"path":"/reference/make_vect.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Make Vector — make_vect","text":"SpatVect","code":""},{"path":[]},{"path":"/reference/merge_across_time.html","id":null,"dir":"Reference","previous_headings":"","what":"Merge List of SpatRaster's across time — merge_across_time","title":"Merge List of SpatRaster's across time — merge_across_time","text":"Given list SpatRasters possibly shared names, merge across time","code":""},{"path":"/reference/merge_across_time.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Merge List of SpatRaster's across time — merge_across_time","text":"","code":"merge_across_time(data)"},{"path":"/reference/merge_across_time.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Merge List of SpatRaster's across time — merge_across_time","text":"data list names SpatRasters","code":""},{"path":"/reference/merge_across_time.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Merge List of SpatRaster's across time — merge_across_time","text":"data.frame (varname, X_name, Y_name, T_name)","code":""},{"path":[]},{"path":"/reference/params.html","id":null,"dir":"Reference","previous_headings":"","what":"ClimateR Catalog — params","title":"ClimateR Catalog — params","text":"ClimateR Catalog","code":""},{"path":"/reference/params.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"ClimateR Catalog — params","text":"","code":"params"},{"path":"/reference/params.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"ClimateR Catalog — params","text":"object class data.table (inherits data.frame) 107857 rows 28 columns.","code":""},{"path":[]},{"path":"/reference/parse_date.html","id":null,"dir":"Reference","previous_headings":"","what":"Parse Dates from duration and interval — parse_date","title":"Parse Dates from duration and interval — parse_date","text":"Parse Dates duration interval","code":""},{"path":"/reference/parse_date.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Parse Dates from duration and interval — parse_date","text":"","code":"parse_date(duration, interval)"},{"path":"/reference/parse_date.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Parse Dates from duration and interval — parse_date","text":"duration time duration interval time interval","code":""},{"path":[]},{"path":"/reference/read_dap_file.html","id":null,"dir":"Reference","previous_headings":"","what":"Read from a OpenDAP landing page — read_dap_file","title":"Read from a OpenDAP landing page — read_dap_file","text":"Reads OpenDap resources returns metadata","code":""},{"path":"/reference/read_dap_file.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Read from a OpenDAP landing page — read_dap_file","text":"","code":"read_dap_file(URL, varname = NULL, id, varmeta = TRUE)"},{"path":"/reference/read_dap_file.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Read from a OpenDAP landing page — read_dap_file","text":"URL URL OpenDap resource varname name variable extract. NULL, get id character. Uniquely named dataset identifier varmeta variable metadata appended?","code":""},{"path":"/reference/read_dap_file.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Read from a OpenDAP landing page — read_dap_file","text":"data.frame","code":""},{"path":[]},{"path":"/reference/read_ftp.html","id":null,"dir":"Reference","previous_headings":"","what":"Read from FTP — read_ftp","title":"Read from FTP — read_ftp","text":"Read FTP","code":""},{"path":"/reference/read_ftp.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Read from FTP — read_ftp","text":"","code":"read_ftp(URL, cat, lyrs = 1, AOI, ext = NULL, crs = NULL, dates = NULL)"},{"path":"/reference/read_ftp.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Read from FTP — read_ftp","text":"URL Unique Resource Identifier (http local) cat catalog element lyrs lyrs extract AOI Area Interest ext extent source (needed) crs crs source (needed) dates dates data","code":""},{"path":"/reference/read_ftp.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Read from FTP — read_ftp","text":"SpatRaster","code":""},{"path":[]},{"path":"/reference/read_live_catalog.html","id":null,"dir":"Reference","previous_headings":"","what":"Read Live Catalog from Github release — read_live_catalog","title":"Read Live Catalog from Github release — read_live_catalog","text":"Every month, data catalog refreshed. function reads current catalog Github release.","code":""},{"path":"/reference/read_live_catalog.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Read Live Catalog from Github release — read_live_catalog","text":"","code":"read_live_catalog(   url =     \"https://github.com/mikejohnson51/climateR-catalogs/releases/latest/download/catalog.parquet\" )"},{"path":"/reference/read_live_catalog.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Read Live Catalog from Github release — read_live_catalog","text":"url URL read","code":""},{"path":"/reference/read_live_catalog.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Read Live Catalog from Github release — read_live_catalog","text":"data.frame","code":""},{"path":[]},{"path":"/reference/time_meta.html","id":null,"dir":"Reference","previous_headings":"","what":"Find DAP time metadata — time_meta","title":"Find DAP time metadata — time_meta","text":"Find DAP time metadata","code":""},{"path":"/reference/time_meta.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Find DAP time metadata — time_meta","text":"","code":"time_meta(raw)"},{"path":"/reference/time_meta.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Find DAP time metadata — time_meta","text":"raw data.frame","code":""},{"path":"/reference/time_meta.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Find DAP time metadata — time_meta","text":"data.frame","code":""},{"path":[]},{"path":"/reference/try_att.html","id":null,"dir":"Reference","previous_headings":"","what":"TryCatch around RNetCDF::att.get.nc() — try_att","title":"TryCatch around RNetCDF::att.get.nc() — try_att","text":"TryCatch around RNetCDF::att.get.nc()","code":""},{"path":"/reference/try_att.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"TryCatch around RNetCDF::att.get.nc() — try_att","text":"","code":"try_att(nc, variable, attribute)"},{"path":"/reference/try_att.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"TryCatch around RNetCDF::att.get.nc() — try_att","text":"nc \"NetCDF\" object points NetCDF dataset. Found RNetCDF::open.nc. variable ID name variable attribute read, \"NC_GLOBAL\" global attribute. attribute Attribute name ID.","code":""},{"path":"/reference/try_att.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"TryCatch around RNetCDF::att.get.nc() — try_att","text":"Vector data type depends NetCDF variable. NetCDF variables type NC_CHAR, R type either character raw, specified argument rawchar. NC_STRING, R type character. Numeric variables read double precision default, smallest R type exactly represents external type used fitnum TRUE.","code":""},{"path":[]},{"path":"/reference/var_to_terra.html","id":null,"dir":"Reference","previous_headings":"","what":"Variable Array to SpatRast — var_to_terra","title":"Variable Array to SpatRast — var_to_terra","text":"Variable Array SpatRast","code":""},{"path":"/reference/var_to_terra.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Variable Array to SpatRast — var_to_terra","text":"","code":"var_to_terra(var, dap)"},{"path":"/reference/var_to_terra.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Variable Array to SpatRast — var_to_terra","text":"var numeric array dap dap description","code":""},{"path":"/reference/var_to_terra.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Variable Array to SpatRast — var_to_terra","text":"SpatRast","code":""},{"path":[]},{"path":"/reference/variable_meta.html","id":null,"dir":"Reference","previous_headings":"","what":"Find DAP variable metadata — variable_meta","title":"Find DAP variable metadata — variable_meta","text":"Find DAP variable metadata","code":""},{"path":"/reference/variable_meta.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Find DAP variable metadata — variable_meta","text":"","code":"variable_meta(raw, verbose = TRUE)"},{"path":"/reference/variable_meta.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Find DAP variable metadata — variable_meta","text":"raw data.frame verbose emit messages","code":""},{"path":"/reference/variable_meta.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Find DAP variable metadata — variable_meta","text":"data.frame","code":""},{"path":[]},{"path":"/reference/vrt_crop_get.html","id":null,"dir":"Reference","previous_headings":"","what":"VRT Crop — vrt_crop_get","title":"VRT Crop — vrt_crop_get","text":"VRT Crop","code":""},{"path":"/reference/vrt_crop_get.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"VRT Crop — vrt_crop_get","text":"","code":"vrt_crop_get(   URL = NULL,   catalog = NULL,   AOI = NULL,   grid = NULL,   varname = NULL,   start = NULL,   end = NULL,   toptobottom = FALSE,   verbose = TRUE )"},{"path":"/reference/vrt_crop_get.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"VRT Crop — vrt_crop_get","text":"URL local file path URL catalog subset open.dap catalog AOI sf SpatVect point polygon extract data grid list containing extent (), crs varname variable name extract (e.g. tmin) start non \"dated\" items, start can called index end non \"dated\" items, end can called index toptobottom data inverse? verbose dap_summary printed?","code":""},{"path":"/reference/vrt_crop_get.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"VRT Crop — vrt_crop_get","text":"SpatRaster","code":""},{"path":[]},{"path":"/reference/writeDodsrc.html","id":null,"dir":"Reference","previous_headings":"","what":"Write dodsrc file — writeDodsrc","title":"Write dodsrc file — writeDodsrc","text":"Write dodsrc file valid netrc file","code":""},{"path":"/reference/writeDodsrc.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Write dodsrc file — writeDodsrc","text":"","code":"writeDodsrc(netrcFile = getNetrcPath(), dodsrcFile = \".dodsrc\")"},{"path":"/reference/writeDodsrc.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Write dodsrc file — writeDodsrc","text":"netrcFile character. path netrc file . dodsrcFile path dodsrc file want write default go home directory, advised","code":""},{"path":"/reference/writeDodsrc.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Write dodsrc file — writeDodsrc","text":"character vector containing netrc file path","code":""},{"path":[]},{"path":"/reference/writeNetrc.html","id":null,"dir":"Reference","previous_headings":"","what":"Write netrc file — writeNetrc","title":"Write netrc file — writeNetrc","text":"Write netrc file valid accessing urs.earthdata.nasa.gov","code":""},{"path":"/reference/writeNetrc.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Write netrc file — writeNetrc","text":"","code":"writeNetrc(   login,   password,   machine = \"urs.earthdata.nasa.gov\",   netrcFile = getNetrcPath(),   overwrite = FALSE )"},{"path":"/reference/writeNetrc.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Write netrc file — writeNetrc","text":"login character. Email address used logging earthdata password character. Password associated login. machine machine logging netrcFile character. path netrc file written. default go home directory, advised overwrite logical. overwrite existing netrc file?","code":""},{"path":"/reference/writeNetrc.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Write netrc file — writeNetrc","text":"character vector containing netrc file path","code":""},{"path":"/reference/writeNetrc.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Write netrc file — writeNetrc","text":"database accessed user's credentials. netrc file storing login password information required. See . set must following (1) Login EarthData (2) Go Applications > Authorized Apps (3) NASA GESDISC DATA ARCHIVE Approved Applications list, select APPROVE APPLICATIONS (4) Find NASA GESDISC DATA ARCHIVE click AUTHORIZE instruction register set DataSpace credential.","code":""},{"path":[]},{"path":"/reference/writeNetrc.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Write netrc file — writeNetrc","text":"","code":"if (FALSE) { writeNetrc(   login = \"XXX@email.com\",   password = \"yourSecretPassword\" ) }"}]
+[{"path":[]},{"path":"/articles/01-intro.html","id":"usful-packages-for-climate-data","dir":"Articles","previous_headings":"","what":"Usful Packages for climate data","title":"Welcome to climateR","text":"","code":"library(AOI) library(climateR) library(tidyterra) library(ggplot2) library(terra) library(tidyr) library(sf)"},{"path":"/articles/01-intro.html","id":"climater-examples","dir":"Articles","previous_headings":"","what":"climateR examples","title":"Welcome to climateR","text":"climateR package supplemented AOI framework established AOI R package. get climate product, area interest must defined:  loading polygon state North Carolina examples constructing AOI calls can found . AOI, can construct call dataset parameter(s) date(s) choice. querying PRISM dataset maximum minimum temperature October 29, 2018:","code":"AOI = aoi_get(state = \"NC\") plot(AOI$geometry) system.time({  p = getPRISM(AOI,                varname = c('tmax','tmin'),                startDate = \"2018-10-29\") }) #>    user  system elapsed  #>   0.442   0.058   2.508"},{"path":"/articles/01-intro.html","id":"data-from-known-bounding-coordinates","dir":"Articles","previous_headings":"","what":"Data from known bounding coordinates","title":"Welcome to climateR","text":"climateR offers support sf, sfc, bbox objects. requesting wind velocity data four corners region USA bounding coordinates.","code":"AOI = st_as_sfc(st_bbox(c(xmin = -112, xmax = -105, ymax = 39, ymin = 34), crs = 4326))  g = getGridMET(st_as_sf(AOI),                 varname = \"vs\",                startDate = \"2018-09-01\")"},{"path":"/articles/01-intro.html","id":"data-through-time","dir":"Articles","previous_headings":"","what":"Data through time …","title":"Welcome to climateR","text":"addition multiple variables can request variables time, let’s look gridMET rainfall Gulf Coast Hurricane Harvey:","code":"harvey = getGridMET(aoi_get(state = c(\"TX\", \"FL\")),                    varname = \"pr\",                    startDate = \"2017-08-20\",                    endDate = \"2017-08-31\")  ggplot() +   geom_spatraster(data = harvey$precipitation_amount) +   facet_wrap(~lyr) +   scale_fill_whitebox_c(     palette = \"muted\",     na.value = \"white\") +    theme_minimal()"},{"path":"/articles/01-intro.html","id":"climate-projections","dir":"Articles","previous_headings":"","what":"Climate Projections","title":"Welcome to climateR","text":"sources downscaled Global Climate Models (GCMs). allow query forecasted ensemble members different models /climate scenarios. One example MACA dataset:  Getting multiple models results also quite simple: don’t know models, can always grab random set specifying number:","code":"system.time({ m = getMACA(AOI = aoi_get(state = \"FL\"),              model = \"CCSM4\",              varname = 'pr',              scenario = c('rcp45', 'rcp85'),              startDate = \"2080-06-29\", endDate = \"2080-06-30\") }) #>    user  system elapsed  #>   0.205   0.036   2.479 models = c(\"BNU-ESM\",\"CanESM2\", \"CCSM4\")  temp =  getMACA(AOI = aoi_get(state = \"CO\"),                 varname = 'tasmin',                  model = models,                  startDate = \"2080-11-29\")  temp[[1]]$mean =  app(temp[[1]], mean)  names(temp[[1]]) = c(models, \"Ensemble Mean\") random = getMACA(aoi_get(state = \"MI\"),                   model = 3,                   varname = \"pr\",                   startDate = \"2050-10-29\")"},{"path":"/articles/01-intro.html","id":"global-datasets","dir":"Articles","previous_headings":"","what":"Global Datasets","title":"Welcome to climateR","text":"datasets USA focused either. TerraClimate offers global, monthly data current year many variables, CHIRPS provides daily rainfall data:","code":"kenya = aoi_get(country = \"Kenya\") tc = getTerraClim(kenya, varname = \"pet\", startDate = \"2018-01-01\") chirps = getCHIRPS(kenya, startDate = \"2018-01-01\", endDate = \"2018-01-04\" )"},{"path":"/articles/01-intro.html","id":"point-based-data","dir":"Articles","previous_headings":"","what":"Point Based Data","title":"Welcome to climateR","text":"Finally, data gathering limited areal extents can retrieved time series locations.","code":"ts = data.frame(lng  = -105.0668, lat = 40.55085) %>%    st_as_sf(coords = c('lng', 'lat'), crs = 4326) %>%    getGridMET(varname =  c(\"pr\", 'srad'),               startDate = \"2021-01-01\",               endDate = \"2021-12-31\")"},{"path":"/articles/01-intro.html","id":"point-based-ensemble","dir":"Articles","previous_headings":"","what":"Point Based Ensemble","title":"Welcome to climateR","text":"","code":"future = getMACA(geocode(\"Fort Collins\", pt = TRUE),                   model = 5,                   varname = \"tasmax\",                   startDate = \"2050-01-01\",                   endDate = \"2050-01-31\")  future_long = pivot_longer(future, -date)   ggplot(data = future_long, aes(x = date, y = value, col = name)) +    geom_line() +    theme_linedraw() +    scale_color_brewer(palette = \"Dark2\") +    labs(title = \"Fort Collins Temperture: January, 2050\",        x = \"Date\",        y = \"Degree K\",        color = \"Model\")"},{"path":"/articles/01-intro.html","id":"multi-site-extraction","dir":"Articles","previous_headings":"","what":"Multi site extraction","title":"Welcome to climateR","text":"Extracting data set points interesting challenge. turns much efficient grab underlying raster stack extract time series opposed iterating locations: Starting set locations Colorado: climateR grab SpatRaster underlying bounding area points  Use extract_sites extract times series locations. id parameter unique identifier site data names resulting columns. make data ‘tidy’ simply pivot date column:","code":"f = system.file(\"co/cities_colorado.rds\", package = \"climateR\") cities = readRDS(f) sites_stack = getTerraClim(AOI   = cities,                             varname = \"tmax\",                             startDate = \"2018-01-01\",                             endDate   = \"2018-12-31\") sites_wide = extract_sites(r = sites_stack, pts = cities, id = \"NAME\") sites_wide[[1]][1:5, 1:5] #>         date ADAMSCITY AGATE AGUILAR AKRON #> 1 2018-01-01       9.5   8.2    11.4   7.1 #> 2 2018-02-01       8.1   7.1     9.9   5.8 #> 3 2018-03-01      14.6  14.1    15.0  13.5 #> 4 2018-04-01      17.5  16.6    17.6  16.2 #> 5 2018-05-01      25.1  25.0    25.5  24.8 tmax = tidyr::pivot_longer(sites_wide[[1]], -date) head(tmax) #> # A tibble: 6 × 3 #>   date                name       value #>                        #> 1 2018-01-01 00:00:00 ADAMSCITY   9.5  #> 2 2018-01-01 00:00:00 AGATE       8.2  #> 3 2018-01-01 00:00:00 AGUILAR    11.4  #> 4 2018-01-01 00:00:00 AKRON       7.10 #> 5 2018-01-01 00:00:00 ALAMOSA     5.2  #> 6 2018-01-01 00:00:00 ALLENSPARK  6.10"},{"path":"/articles/02-catalogs.html","id":"catalogs","dir":"Articles","previous_headings":"","what":"Catalogs","title":"Catalog Automation","text":"order provide evolving, federated collection datasets, climateR makes use preprocessed catalog, updated monthly cycle. catalog hosted generated climateR-catalogs repository. catalog contains 100,000 thousand datasets 2,000 data providers/archives. following section describes design catalog data pipeline.","code":""},{"path":"/articles/02-catalogs.html","id":"design","dir":"Articles","previous_headings":"Catalogs","what":"Design","title":"Catalog Automation","text":"catalog data pipeline uses targets package establish declarative workflow using data sources target creators. particular, data sources treated dynamic plugins data pipeline, data sources composable within pipeline framework utilizing R6 classes. data source R6 classes expose simple interface plugin creators, adding new data source defined giving data source three things: id pull function tidy function id represents unique identifier data source contained final catalog. pull function function containing number arguments gather catalog items endpoint, collect data.frame. tidy function function accepts least single argument output pull function. function perform necessary actions conform argument close catalog schema possible. Using data sources built top R6-based framework, pipeline given targets correspond (1) loading R6 class, (2) calling pull function, (3) calling tidy function. three steps mapped across available data sources loaded pipeline environment, joined together create seamless table representing catalog. Finally, schema table handled ensure conforms catalog specification, outputs JSON Parquet released.","code":""},{"path":[]},{"path":"/articles/02-catalogs.html","id":"targets-serialization","dir":"Articles","previous_headings":"Catalogs > Design > Technical Details","what":"Targets Serialization","title":"Catalog Automation","text":"key point highlight targets R package, individual targets serialized specific format completed. Dependent targets also read serialization format back R necessary. default format targets use R RDS format. However, since pipeline already requires Apache Arrow dependency due Parquet output, take advantage Arrow IPC file/stream formats serialization targets. Specifically, pull tidy targets always return data source R6 class, succeeding targets catalog generation return data frame. targets returning R6 classes, custom serializer performs /O R6 class metadata Arrow IPC Stream format implemented. targets returning data frames, use Arrow IPC File format. Arrow IPC formats chosen fashion due smaller memory footprint performance gained zero-copy pass targets. also enables data sources built various programming languages access data needed, due zero-copy property Arrow’s IPC formats.","code":""},{"path":"/articles/02-catalogs.html","id":"pipeline-infrastructure","dir":"Articles","previous_headings":"Catalogs > Design > Technical Details","what":"Pipeline Infrastructure","title":"Catalog Automation","text":"catalog data pipeline built top R targets package, aid generating catalog, utilize GitHub Actions. Despite primarily CI/CD workflows, concept CI/CD can generalized data well. example, data engineering, Apache Airflow predominant application constructing data workflows. two, primary difference GitHub Actions generalized, offers less direct integrations data engineering. context mind, GitHub Actions workflow catalog data pipeline , essence, runner calls targets::tar_make() run pipeline. targets complete, workflow takes outputted catalog files uploads GitHub repository release. Furthermore, workflow scheduled run monthly basis, ensuring catalog stays consistently date latest datasets offered data providers described data source plugins.","code":""},{"path":"/articles/02-catalogs.html","id":"release-strategy","dir":"Articles","previous_headings":"Catalogs > Design > Technical Details","what":"Release Strategy","title":"Catalog Automation","text":"monthly Github Actions update, new release catalog provided JSON parquet formats release page.","code":""},{"path":"/articles/03-intro-climatepy.html","id":"useful-packages-for-climate-data","dir":"Articles","previous_headings":"","what":"Useful Packages for climate data","title":"Welcome to climatePy","text":"","code":"# climatePy import climatePy  # vector data libs import geopandas as gpd import shapely from shapely.geometry import box  # gridded data libs import xarray as xr  # geoencoding service  import geopy  # misc import numpy as np import pandas as pd import random import joblib  # plotting libs import matplotlib.pyplot as plt import seaborn as sns"},{"path":"/articles/03-intro-climatepy.html","id":"climatepy-examples","dir":"Articles","previous_headings":"","what":"climatePy examples","title":"Welcome to climatePy","text":"climatePy package supplemented geopy Python package allows easy use interface many geocoding APIs. get climate product, area interest must defined:  loading polygon state North Carolina examples constructing AOI calls can found AOI, can construct call dataset parameter(s) date(s) choice. querying PRISM dataset maximum minimum temperature October 29, 2018:","code":"# get AOI polygon from OpenStreetMap API nom = geopy.geocoders.Nominatim(user_agent=\"climatePy\") geolocal = nom.geocode(\"North Carolina\", geometry='wkt')  AOI = gpd.GeoDataFrame(   {\"geometry\" : [shapely.wkt.loads(geolocal.raw['geotext'])]   },    crs = \"EPSG:4326\"   ) p = climatePy.getPRISM(    AOI       = AOI,     varname   = ['tmax','tmin'],     startDate = \"2018-10-29\",    timeRes   = \"daily\",    dopar     = False    )"},{"path":"/articles/03-intro-climatepy.html","id":"data-from-known-bounding-coordinates","dir":"Articles","previous_headings":"","what":"Data from known bounding coordinates","title":"Welcome to climatePy","text":"climatePy offers support shapely geopandas objects. requesting wind velocity data four corners region USA bounding coordinates.","code":"from shapely.geometry import box  # 4 corners region of USA xmin, xmax, ymin, ymax = -112, -105, 34, 39  # make bounding box AOI = box(xmin, ymin, xmax, ymax)  # insert bounding box into geodataframe # AOI = gpd.GeoDataFrame(geometry=[AOI], crs ='EPSG:4326')  g = climatePy.getGridMET(        AOI       = AOI,         varname   = \"vs\",        startDate = \"2018-09-01\",        dopar     = False        )"},{"path":"/articles/03-intro-climatepy.html","id":"data-through-time","dir":"Articles","previous_headings":"","what":"Data through time …","title":"Welcome to climatePy","text":"addition multiple variables can request variables time, let’s look gridMET rainfall Gulf Coast Hurricane Harvey:","code":"texas   = nom.geocode(\"Texas\", geometry='wkt') florida = nom.geocode(\"Florida\", geometry='wkt') AOI     = gpd.GeoDataFrame({   \"geometry\" : [shapely.wkt.loads(texas.raw['geotext']), shapely.wkt.loads(florida.raw['geotext'])]   },    crs = \"EPSG:4326\"   ) harvey = climatePy.getGridMET(   AOI       = AOI,   varname   = \"pr\",   startDate = \"2017-08-20\",   endDate   = \"2017-08-31\",   dopar     = False   )"},{"path":"/articles/03-intro-climatepy.html","id":"climate-projections","dir":"Articles","previous_headings":"","what":"Climate Projections","title":"Welcome to climatePy","text":"sources downscaled Global Climate Models (GCMs). allow query forecasted ensemble members different models /climate scenarios. One example MACA dataset:  Getting multiple models results also quite simple:  don’t know models, can always grab random set specifying number:","code":"AOI = gpd.GeoDataFrame({   \"geometry\" : [shapely.wkt.loads(florida.raw['geotext'])]},    crs = \"EPSG:4326\"   ) m = climatePy.getMACA(   AOI       = AOI,   model     = \"CCSM4\",   varname   = \"pr\",   scenario  = [\"rcp45\", \"rcp85\"],   startDate = \"2080-06-29\",   endDate   = \"2080-06-30\",   dopar     = False   ) AOI     = gpd.GeoDataFrame({\"geometry\" :                  [shapely.wkt.loads(nom.geocode(\"Colorado\", geometry='wkt').raw['geotext'])]},                 crs = \"EPSG:4326\"                 ) models = [\"BNU-ESM\",\"CanESM2\", \"CCSM4\"] temp = climatePy.getMACA(   AOI       = AOI,   varname   = \"tasmin\",   model = models,   startDate = \"2080-11-29\",   dopar     = False   )    # calculate average Data Array avg = temp['tasmin'].mean(dim = \"time\") avg = avg.expand_dims(time = xr.DataArray([\"tasmin_Ensemble_mean\"], dims='time')).transpose('x', 'y', 'time')  # Concatonate original data arrays with average data array temp['tasmin'] = xr.concat([temp['tasmin'], avg], dim=\"time\") # AOI (Michigan, USA) AOI     = gpd.GeoDataFrame({   \"geometry\" : [shapely.wkt.loads(nom.geocode(\"Michigan, USA\", geometry='wkt').raw['geotext'])]   },   crs = \"EPSG:4326\"   ) # get 3 random MACA models random_models = climatePy.getMACA(   AOI       = AOI,   model     = 3,   varname   = \"tasmin\",   startDate = \"2050-10-29\",   dopar     = False   )"},{"path":"/articles/03-intro-climatepy.html","id":"global-datasets","dir":"Articles","previous_headings":"","what":"Global Datasets","title":"Welcome to climatePy","text":"datasets USA focused either. TerraClimate offers global, monthly data current year many variables, CHIRPS provides daily rainfall data:","code":"kenya     = gpd.GeoDataFrame({   \"geometry\" : [shapely.wkt.loads(nom.geocode(\"Kenya\", geometry='wkt').raw['geotext'])]   },    crs = \"EPSG:4326\"   ) # TerraClim PET tc = climatePy.getTerraClim(   AOI       = kenya,   varname   = \"pet\",   startDate = \"2018-01-01\",   dopar     = False   )    # CHIRPS precip chirps = climatePy.getCHIRPS(   AOI       = kenya,   startDate = \"2018-01-01\",   endDate   = \"2018-01-01\",   dopar     = False   )"},{"path":"/articles/03-intro-climatepy.html","id":"point-based-data","dir":"Articles","previous_headings":"","what":"Point Based Data","title":"Welcome to climatePy","text":"Finally, data gathering limited areal extents can retrieved time series locations.","code":"# Create a DataFrame with 'lng' and 'lat' columns df = pd.DataFrame({'lng': [-105.0668], 'lat': [40.55085]}) pt = (gpd.GeoDataFrame(geometry=gpd.points_from_xy(df['lng'], df['lat']), crs='EPSG:4326'))  ts = climatePy.getGridMET(   AOI       = pt,   varname   = [\"pr\", 'srad'],   startDate = \"2021-01-01\",    endDate   = \"2021-12-31\",   dopar     = False   )"},{"path":"/articles/03-intro-climatepy.html","id":"point-based-ensemble","dir":"Articles","previous_headings":"","what":"Point Based Ensemble","title":"Welcome to climatePy","text":"","code":"# Point Based Ensemble future = climatePy.getMACA(     AOI       = pt,     model     = 5,     varname   = \"tasmax\",      startDate = \"2050-01-01\",      endDate   = \"2050-01-31\",     dopar     = False     )"},{"path":"/articles/03-intro-climatepy.html","id":"multi-site-extraction","dir":"Articles","previous_headings":"","what":"Multi Site extraction","title":"Welcome to climatePy","text":"Extracting data set points interesting challenge. turns much efficient grab underlying raster stack extract time series opposed iterating locations: Starting set 50 random points Colorado. climatePy grab DataArray underlying bounding area points  Use extract_sites extract times series locations. id parameter unique identifier site data names resulting columns. Providing stack DataArrays extract_sites points_df extract raster values point across time.","code":"# Colorado state polygon AOI     = gpd.GeoDataFrame({   \"geometry\" : [shapely.wkt.loads(nom.geocode(\"Colorado\", geometry='wkt').raw['geotext'])]   },    crs = \"EPSG:4326\"   ) # create 10 random Lat/lon points within the AOI bounding box points = [shapely.geometry.Point(random.uniform(AOI.bounds.minx[0], AOI.bounds.maxx[0]),           random.uniform(AOI.bounds.miny[0], AOI.bounds.maxy[0])) for _ in range(50)           ]  # make geopandas dataframe from points points_df = gpd.GeoDataFrame(geometry=points, crs = \"EPSG:4326\")  # create a unique identifier column points_df[\"uid\"] = [\"uid_\" + str(i) for i in range(len(points_df))] sites_stack = climatePy.getTerraClim(   AOI       = points_df,    varname   = \"tmax\",    startDate = \"2018-01-01\",    endDate   = \"2018-12-31\"   ) # extract wide sites data sites_wide = climatePy.extract_sites(r = sites_stack[\"tmax\"], pts = points_df, id = \"uid\")"},{"path":"/articles/04-stream-morph.html","id":"examples","dir":"Articles","previous_headings":"","what":"Examples","title":"Continental Stream Morphology Research empowered by open data","text":"can agree access tools perform spatial operations revolutionized field hydrologic sciences offering powerful platforms access satellite imagery, reanalysis products, diverse datasets crucial spatial analysis hydrologic modeling. tools facilitate retrieval processing vast amounts geospatial data, allowing researchers practitioners perform comprehensive analyses various spatial temporal scales, turn greatly benefits field hydrology. team Lynker developed climateR climatePy.key advantages using platforms like climateR accessibility wealth satellite imagery spanning multiple decades. archives satellite data readily available, hydrologists can track changes land cover, monitor hydrologic phenomena, assess impacts climate change water resources. ability access analyze historical data allows identification long-term trends, facilitating better understanding prediction hydrologic processes. Furthermore, climateR foster collaboration knowledge sharing within hydrologic community. provide platform scientists researchers across globe access standardized datasets, share methodologies, collaborate solving complex hydrologic challenges. Also, puts forth easy accessible way perform large spatiotemporal operations support NOAA effort. collaborative environment encourages development innovative models techniques water resource management decision-making. demonstrate several examples access databases using climateR perform massive spatial temporal aggregations.","code":""},{"path":"/articles/04-stream-morph.html","id":"massive-spatial-aggregation-of-terraclimate","dir":"Articles","previous_headings":"Examples","what":"Massive Spatial Aggregation of TerraClimate","title":"Continental Stream Morphology Research empowered by open data","text":"integration reanalysis products various datasets platform enables users perform sophisticated spatial operations analyses. Hydrologists can aggregate data specific points polygons, allowing extraction critical information regarding water resources, precipitation patterns, evapotranspiration rates, soil moisture content. facilitates characterization watersheds, assessment water availability, prediction potential flood drought events. want extract long term historical mean value TerraClimate bands NOAA Next Generation (NextGen) National Hydrologic Geospatial Fabric (hydrofabric) divides entire CONUS. doubt surmised, expensive task go monthly TerraClimate dataset past 20 years average byt climateR easy strait forward task. One can access hydrofabric case NextGen hydrofabric Lynker-spatial s2 account: Now can extract divides layer given VPU extract data TerraClimate: just calculated 20 year average 9 different variables 882,945 divides cover CONUS hour (2472.777 seconds = .68 hours) normal laptop!! impressive.","code":"library(hydrofabric) library(lubridate)  # Then specify the S3 bucket and file path bucket_name <- \"lynker-spatial\" file_key    <- \"v20/gpkg/nextgen_12.gpkg\"   # Now download the GeoPackage file from S3 to a temporary file temp_file <- tempfile(fileext = \".gpkg\") s3read_using(file   = temp_file,               FUN    = get_object,               object = file_key,               bucket = bucket_name)  # Finally read the GeoPackage file into an sf object gpkg_sf <- st_read(temp_file) # List of VPU's for CONUS vpu_list = vpu_boundaries$VPUID[1:21]  # Variables of Interest vars <- c(\"PDSI\",\"aet\",\"soil\",\"def\",\"ppt\",\"q\",\"tmin\",\"tmax\",\"pet\")  # Loop through the VPU's and extract data and time the execution  system.time({     for (vpu in vpu_list) {         # Read the file         file_key <- paste0(\"v20/gpkg/nextgen_\", vpu, \".gpkg\")                  # Download the GeoPackage file from S3 to a temporary file         temp_file <- tempfile(fileext = \".gpkg\")         s3read_using(file = temp_file,                       FUN = get_object,                       object = file_key,                       bucket = bucket_name)          # Just read the divides         divides = read_sf(temp_file, \"divides\")          # Use climateR to extract the variables between 2000-2021         out_raster <- getTerraClim(AOI       = divides,                                    varname   =  vars,                                    startDate = \"2000-01-01\",                                    endDate   = \"2021-01-01\")          # Use rast() to do a temporal mean aggregation and zonal to do a spatial aggregation using divide_id         output = execute_zonal(data = rast(lapply(out_raster, mean)),                                 geom = div,                                 fun = \"mean\",                                 ID = \"divide_id\",                                 join = FALSE)          # Finally write the data frame to a parquet file         write_parquet(output, sprintf(\"/your_path/conus_terraclimate_vpu_%s.parquet\", vpu))     } })"},{"path":"/articles/04-stream-morph.html","id":"comparison-to-gee","dir":"Articles","previous_headings":"Examples","what":"Comparison to GEE","title":"Continental Stream Morphology Research empowered by open data","text":"Now lets compare well known frequently used Google Earth Engine (GEE). start, process 882,945 divides time GEE personal experience shown batches 200 divides ideal size avoid infamous Computation Timed Error. can write script perform batch operation . Breaking batches 200 set two batchs takes 1-3 hours complete (see figure ). Based , scale application, GEE require weeks finsih!!","code":"// This requires uploading the divides into EE assets // A for loop to execute 100 batches of 200 divides as an example for (var i=1; i<100; i++){     runExtract(divides, i, 'last'); }  runExtract(divides, 100, 'first');  function runExtract(data, num, first){     var list_feature = data.toList(data.size());     var batch = num;          switch(first){         case 'first':         var data = ee.FeatureCollection(list_feature.slice(0, 2000-(batch-1)*200));         break;         case 'last':         var data = ee.FeatureCollection(list_feature.slice(2000-batch*200, 2000-(batch-1)*200));         break;         case 'custom':         var data = ee.FeatureCollection(list_feature);         break;     }     batch = batch.toString();      // Load TerraClimate     var dataset = ee.ImageCollection('IDAHO_EPSCOR/TERRACLIMATE')                     .filter(ee.Filter.date('2000-01-01', '2022-01-01'));     // Performs a temporal mean      var aet = dataset.mean().select('aet');        var soil = dataset.mean().select('soil');        var pet = dataset.mean().select('pet');        var def = dataset.mean().select('def');        var pdsi = dataset.mean().select('pdsi');        var ro = dataset.mean().select('ro');       var tmmn = dataset.mean().select('tmmn');      var tmmx = dataset.mean().select('tmmx');       // _______Extract data_________________     function updateDivides(img_dataset, old_dataset, bandname, newname, reducer)     {         function dataExtract(feat)         {                      var stats = img_dataset.reduceRegion({             reducer: reducer,             geometry: feat.geometry(),             scale: 4638.3,               bestEffort: true         });                  return ee.Algorithms.If(ee.Number(stats.size()).eq(0),                                      feat.set(newname, ee.Number(999999999)),                                     feat.set(newname, stats.first().get(bandname)));                  }         var new_dataset = old_dataset.map(dataExtract);         return new_dataset;     }      data = updateStation(aet, data,'aet', 'aet', ee.Reducer.mean());     data = updateStation(soil, data,'soil', 'soil', ee.Reducer.mean());     data = updateStation(pet, data,'pet', 'pet', ee.Reducer.mean());     data = updateStation(def, data,'def', 'def', ee.Reducer.mean());     data = updateStation(pdsi, data,'pdsi', 'pdsi', ee.Reducer.mean());     data = updateStation(ro, data,'ro', 'ro', ee.Reducer.mean());     data = updateStation(tmmn, data,'tmmn', 'tmmn', ee.Reducer.mean());     data = updateStation(tmmx, data,'tmmx', 'tmmx', ee.Reducer.mean());      var exp_name = 'TerraClimate_divide_b'+batch;        Export.table.toDrive(data, exp_name, 'TerraClimate_exports', exp_name, 'CSV'); } knitr::include_graphics(\"../man/figures/ee_task.png\")"},{"path":"/articles/04-stream-morph.html","id":"massive-temporal-and-spatial-aggregation-with-gldas","dir":"Articles","previous_headings":"Examples","what":"Massive Temporal and Spatial Aggregation with GLDAS","title":"Continental Stream Morphology Research empowered by open data","text":"Now lets say even computationally demanding task try find historical mean daily product GLDAS. case can break period chunks (e.g., 4 years) extract data.","code":"# Define start and end dates start_date <- ymd(\"2004-01-01\") end_date <- ymd(\"2021-01-01\")  # Create a sequence of dates with a step of 4 years date_seq <- seq(start_date, end_date, by = \"4 years\")  # New names for the columns vars <- c(\"qsb_tavg\", \"qs_tavg\", \"gws_tavg\", \"esoil_tavg\", \"ecanop_tavg\", \"canopint_tavg\", \"avgsurft_tavg\")  # Loop through the VPU's and extract data and time the execution  system.time({     for (vpu in vpu_list) {         # Read the file         file_key <- paste0(\"v20/gpkg/nextgen_\", vpu, \".gpkg\")                  # Download the GeoPackage file from S3 to a temporary file         temp_file <- tempfile(fileext = \".gpkg\")                  s3read_using(file = temp_file,                       FUN = get_object,                      object = file_key,                       bucket = bucket_name)          # Just read the divides         divides = read_sf(temp_file, \"divides\")          for (i in seq_along(date_seq)) {             current_start <- date_seq[i]             current_end <- current_start + years(4) - days(1)              current_start <- format(current_start, \"%Y-%m-%d\")             current_end <- format(current_end, \"%Y-%m-%d\")             print(paste(\"initiated batch > \", current_start))              # Use climateR to extract the variables between 2004-21             out_raster <- getGLDAS(AOI = div,                                    varname = vars,                                    model = \"CLSM025_DA1_D.2.2\",                                     startDate = current_start,                                    endDate.  = current_end)              output = execute_zonal(data = rast(lapply(out_raster, mean)), geom = div, fun = \"mean\", ID = \"divide_id\", join = FALSE)             current_start_year <- as.character(year(current_start))             current_end_year <- as.character(year(current_end))             write_parquet(output, sprintf(\"/your_path/conus_gldas_vpu_%s_date_%s_%s.parquet\", vpu, current_start_year, current_end_year))         }     } })"},{"path":"/articles/04-stream-morph.html","id":"custom-data","dir":"Articles","previous_headings":"Examples","what":"Custom Data","title":"Continental Stream Morphology Research empowered by open data","text":"can also use custom datasets form local drive s3 bucket perform different aggregations. example can access POLARIS soil dataset just spatial average multiple virtual rasters divide polygons. collection POLARIS data resampled native 30m resolution 300m COG.","code":"vars = c(\"alpha\", \"om\", \"ph\") data = rast(glue('/vsis3/lynker-spatial/gridded-resources/polaris300/{vars}_mean_0_5.tif'))  system.time({     for (vpu in vpu_list) {         # Read the file         file_key <- paste0(\"v20/gpkg/nextgen_\", vpu, \".gpkg\")                  # Download the GeoPackage file from S3 to a temporary file         temp_file <- tempfile(fileext = \".gpkg\")                  s3read_using(file = temp_file,                       FUN = get_object, object = file_key,                       bucket = bucket_name)          # Just read the divides         divides = read_sf(temp_file, \"divides\")          polaris = execute_zonal(data = data,                                  geom = divides, fun = \"mean\",                                  ID = \"divide_id\",                                  join = FALSE)                  # Finally write the data frame to a parquet file         write_parquet(output, sprintf(\"/your_path/conus_polaris_vpu_%s.parquet\", vpu))     } })"},{"path":"/articles/04-stream-morph.html","id":"conclusion","dir":"Articles","previous_headings":"","what":"Conclusion","title":"Continental Stream Morphology Research empowered by open data","text":"summary, using climateR significantly benefits hydrological sciences providing unprecedented access diverse datasets. tools empower researchers, policymakers, water resource managers conduct -depth spatial analyses, ultimately enhancing understanding hydrological processes improving water resource management strategies sustainable future.","code":""},{"path":"/articles/05-mros-climateR.html","id":"rain-or-snow","dir":"Articles","previous_headings":"","what":"Rain or snow?","title":"A one-platform approach to processing citizen science data with climateR","text":"Mountain Rain Snow citizen science project goal better predict precipitation phase funded NASA’s Citizen Science Earth Systems Program (CSESP). Citizen scientists across Continental United States respond ‘falling sky?’ reporting precipitation observations rain, mixed, snow using mobile app. several years, project collected around 40,000 observations (Figure 1). observation easy human observers make challenging atmospheric models predict. valuable dataset provides basis improve models. Citizen science observations 2021-2023.","code":""},{"path":"/articles/05-mros-climateR.html","id":"a-data-assimilation-challenge","dir":"Articles","previous_headings":"Rain or snow?","what":"A data assimilation challenge","title":"A one-platform approach to processing citizen science data with climateR","text":"observation point requires rigorous data processing eventually model outputs air, dew point, wet-bulb temperatures, relative humidity value observation point. Additionally, part project’s mission improve satellite-based algorithms, observation point associated probability liquid precipitation (pLP) IMERG, gridded NASA product. raw outputs observation timestamp, location report (latitude/longitude), reported precipitation phase. Ancillary information like elevation station data meteorological networks near observation critical inputs temperature modeling. Previous processing workflows collected data various platforms providers, brought R analysis. meant accessing elevation pLP data via external platform observation point, exporting data bind dataframe. process required intermediate file storage maintaining code unique data provider. ensure workflow reproducibility simplify processing chain, Mountain Rain Snow team integrated climateR organize workflow. climateR large (growing) catalog data providers. benefit approach allows future changes processing phase observations. New data products model output can quickly subset included without adding additional dependencies codebase writing code robustly access large, gridded files. processing now kept single language (R), seamless retrieval elevation pLP data external providers integration original dataframe. summary process illustrated Figure 2. data Elevation data observation point extracted USGS 3DEP 1/3 arc-second (10-meter) dataset, highest resolution USGS DEM available (see get3DEP function). IMERG pLP data accessed dap function, allows consistent data retrieval NASA’s Goddard Earth Sciences Data Information Services Center (GES DISC). Illustration current versus previous workflow. current workflow uses climateR functions create organized workflow within R. previous workflow steps utilizing external data collection platforms collect data, making difficult reproduce workflow. functions climateR provide solutions may unique Mountain Rain Snow project, integrating multiple data products common problem many projects face. Adding issue, reproducibility core practicing good science, ordered workflows often difficult establish. single platform approach data collection processing climateR solves issues.","code":""},{"path":"/articles/05-mros-climateR.html","id":"acknowledgments","dir":"Articles","previous_headings":"Rain or snow?","what":"Acknowledgments","title":"A one-platform approach to processing citizen science data with climateR","text":"Thank Dillon Ragar (Lynker) Rachel Bash (Lynker) review article. mentioned article, Mountain Rain Snow funded NASA’s Citizen Science Earth Systems Program. Co-PIs Mountain Rain Snow Dr. Keith Jennings (Lynker), Meghan Collins (DRI, UNR), Dr. Monica Arienzo (DRI, UNR).","code":""},{"path":"/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Mike Johnson. Author, maintainer. Justin Singh. Contributor. Angus Watters. Contributor. . Funder. . Funder.","code":""},{"path":"/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Johnson M (2023). climateR: climateR. R package version 0.3.1.4, https://github.com/mikejohnson51/climateR.","code":"@Manual{,   title = {climateR: climateR},   author = {Mike Johnson},   year = {2023},   note = {R package version 0.3.1.4},   url = {https://github.com/mikejohnson51/climateR}, }"},{"path":"/index.html","id":"welcome","dir":"","previous_headings":"","what":"climateR","title":"climateR","text":"climateR simplifies steps needed get climate data R. core provides three main things: catalog 100,000k datasets 2,000 data providers/archives. See (climateR::params) catalog evolving, federated collection datasets can accessed data access utilities. general toolkit accessing remote local gridded data files bounded space, time, variable constraints (dap, dap_crop, read_dap_file) set shortcuts implement methods core set selected catalog elements ⚠️ Python Users: Data catalog access available USGS gdptools package. Directly analogous climateR functionality can found climatePy","code":"nrow(params) #> [1] 107857 length(unique(params$id)) #> [1] 2075 length(unique(params$asset)) #> [1] 4653"},{"path":"/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"climateR","text":"","code":"remotes::install_github(\"mikejohnson51/AOI\") # suggested! remotes::install_github(\"mikejohnson51/climateR\")"},{"path":"/index.html","id":"basic-usage","dir":"","previous_headings":"","what":"Basic Usage","title":"climateR","text":"Finding rainfall Colorado October 29,1991 - November 6, 1991. source dataset example uses getGridMET shortcut.","code":"library(AOI) library(terra) library(climateR)  AOI = aoi_get(state = \"CO\", county = \"all\") system.time({   d = getGridMET(AOI,                varname = \"pr\",                startDate = \"1991-10-29\",                endDate  = \"1991-11-06\") }) #>    user  system elapsed  #>   0.245   0.054   0.982"},{"path":"/index.html","id":"basic-animation","dir":"","previous_headings":"","what":"Basic Animation","title":"climateR","text":"","code":"animation(d$precipitation_amount, AOI = AOI, outfile = \"man/figures/rast_gif.gif\")"},{"path":"/index.html","id":"integration-with-zonal","dir":"","previous_headings":"","what":"Integration with zonal","title":"climateR","text":"","code":"library(zonal)  system.time({   county = execute_zonal(d, geom = AOI, ID = \"fip_code\") }) #>    user  system elapsed  #>   0.328   0.018   0.366 animation(county, feild_pattern = \"pr_\", outfile = \"man/figures/vect_gif.gif\")"},{"path":"/reference/animation.html","id":null,"dir":"Reference","previous_headings":"","what":"Animate Object as GIF — animation","title":"Animate Object as GIF — animation","text":"Animate SpatRaster object gif.","code":""},{"path":"/reference/animation.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Animate Object as GIF — animation","text":"","code":"animation(data, AOI = NULL, feild_pattern = NULL, outfile, colors = blues9)"},{"path":"/reference/animation.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Animate Object as GIF — animation","text":"data SpatVect sf object AOI optional AOI sf SpatVect object overlay gif feild_pattern optional string vector filter desired attributes outfile path write gif file, must .gif extenstion colors colors plot ","code":""},{"path":"/reference/animation.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Animate Object as GIF — animation","text":"file.path","code":""},{"path":[]},{"path":"/reference/animation_raster.html","id":null,"dir":"Reference","previous_headings":"","what":"Animate SpatRast as GIF — animation_raster","title":"Animate SpatRast as GIF — animation_raster","text":"Animate SpatRaster object gif.","code":""},{"path":"/reference/animation_raster.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Animate SpatRast as GIF — animation_raster","text":"","code":"animation_raster(data, AOI = NULL, outfile, colors = blues9)"},{"path":"/reference/animation_raster.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Animate SpatRast as GIF — animation_raster","text":"data single SpatRast object AOI optional AOI sf SpatVect object overlay gif outfile path write gif file, must .gif extenstion colors colors plot ","code":""},{"path":"/reference/animation_raster.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Animate SpatRast as GIF — animation_raster","text":"file.path","code":""},{"path":[]},{"path":"/reference/animation_vector.html","id":null,"dir":"Reference","previous_headings":"","what":"Animate vector as GIF — animation_vector","title":"Animate vector as GIF — animation_vector","text":"Animate sf SpatVect object gif.","code":""},{"path":"/reference/animation_vector.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Animate vector as GIF — animation_vector","text":"","code":"animation_vector(data, feild_pattern = NULL, outfile, colors = blues9)"},{"path":"/reference/animation_vector.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Animate vector as GIF — animation_vector","text":"data SpatVect sf object feild_pattern optional string vector filter desired attributes outfile path write gif file, must .gif extenstion colors colors plot ","code":""},{"path":"/reference/animation_vector.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Animate vector as GIF — animation_vector","text":"file.path","code":""},{"path":[]},{"path":"/reference/catalog.html","id":null,"dir":"Reference","previous_headings":"","what":"ClimateR Catalog — catalog","title":"ClimateR Catalog — catalog","text":"ClimateR Catalog","code":""},{"path":"/reference/catalog.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"ClimateR Catalog — catalog","text":"","code":"catalog"},{"path":"/reference/catalog.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"ClimateR Catalog — catalog","text":"object class tbl_df (inherits tbl, data.frame) 37010 rows 29 columns.","code":""},{"path":[]},{"path":"/reference/checkDodsrc.html","id":null,"dir":"Reference","previous_headings":"","what":"Check dodsrc file — checkDodsrc","title":"Check dodsrc file — checkDodsrc","text":"Check netrc file valid entry urs.earthdata.nasa.gov.","code":""},{"path":"/reference/checkDodsrc.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check dodsrc file — checkDodsrc","text":"","code":"checkDodsrc(dodsrcFile = getDodsrcPath(), netrcFile = getNetrcPath())"},{"path":"/reference/checkDodsrc.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check dodsrc file — checkDodsrc","text":"dodsrcFile File path dodsrc file check. netrcFile File path netrc file check.","code":""},{"path":"/reference/checkDodsrc.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check dodsrc file — checkDodsrc","text":"logical","code":""},{"path":[]},{"path":"/reference/checkNetrc.html","id":null,"dir":"Reference","previous_headings":"","what":"Check netrc file — checkNetrc","title":"Check netrc file — checkNetrc","text":"Check netrc file valid entry urs.earthdata.nasa.gov.","code":""},{"path":"/reference/checkNetrc.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check netrc file — checkNetrc","text":"","code":"checkNetrc(netrcFile = getNetrcPath(), machine = \"urs.earthdata.nasa.gov\")"},{"path":"/reference/checkNetrc.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check netrc file — checkNetrc","text":"netrcFile character. File path netrc file check. machine machine logging ","code":""},{"path":"/reference/checkNetrc.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check netrc file — checkNetrc","text":"logical","code":""},{"path":[]},{"path":"/reference/climater_dap.html","id":null,"dir":"Reference","previous_headings":"","what":"ClimateR dry run — climater_dap","title":"ClimateR dry run — climater_dap","text":"ClimateR dry run","code":""},{"path":"/reference/climater_dap.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"ClimateR dry run — climater_dap","text":"","code":"climater_dap(id, args, verbose, dryrun, print.arg = FALSE)"},{"path":"/reference/climater_dap.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"ClimateR dry run — climater_dap","text":"id resource name, agency, catalog identifier args parent function arguments verbose messages emited? dryrun Return summary data prior retrieving print.arg arguments printed? Usefull debugging","code":""},{"path":"/reference/climater_dap.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"ClimateR dry run — climater_dap","text":"data.frame","code":""},{"path":[]},{"path":"/reference/climater_filter.html","id":null,"dir":"Reference","previous_headings":"","what":"ClimateR Catalog Filter — climater_filter","title":"ClimateR Catalog Filter — climater_filter","text":"Filter climateR catalog based set constraints","code":""},{"path":"/reference/climater_filter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"ClimateR Catalog Filter — climater_filter","text":"","code":"climater_filter(   id = NULL,   asset = NULL,   AOI = NULL,   startDate = NULL,   endDate = NULL,   varname = NULL,   model = NULL,   scenario = NULL,   ensemble = NULL )"},{"path":"/reference/climater_filter.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"ClimateR Catalog Filter — climater_filter","text":"id resource, agency, catalog identifier asset subdataset asset given resource AOI sf SpatVect point polygon extract data startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data varname variable name extract (e.g. tmin) model GCM model name generating scenario climate modeling scenario ensemble model ensemble member used generate data","code":""},{"path":"/reference/climater_filter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"ClimateR Catalog Filter — climater_filter","text":"data.frame","code":""},{"path":[]},{"path":"/reference/dap.html","id":null,"dir":"Reference","previous_headings":"","what":"Get Data (Data Access Protocol) — dap","title":"Get Data (Data Access Protocol) — dap","text":"function provides consistent data access protocol (dap) wide range local remote resources including VRT, TDS, NetCDF Define get data DAP resource","code":""},{"path":"/reference/dap.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Data (Data Access Protocol) — dap","text":"","code":"dap(   URL = NULL,   catalog = NULL,   AOI = NULL,   startDate = NULL,   endDate = NULL,   varname = NULL,   grid = NULL,   start = NULL,   end = NULL,   toptobottom = FALSE,   verbose = TRUE )"},{"path":"/reference/dap.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Data (Data Access Protocol) — dap","text":"URL local file path URL catalog subset open.dap catalog AOI sf SpatVect point polygon extract data startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data varname variable name extract (e.g. tmin) grid list containing extent (), crs start non \"dated\" items, start can called index end non \"dated\" items, end can called index toptobottom data inverse? verbose dap_summary printed?","code":""},{"path":"/reference/dap.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get Data (Data Access Protocol) — dap","text":"data.frame","code":""},{"path":"/reference/dap.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get Data (Data Access Protocol) — dap","text":"Wraps dap_get dap_crop one. AOI NULL spatial crop executed. startDate endDate NULL, temporal crop executed. just endDate NULL defaults startDate.","code":""},{"path":[]},{"path":"/reference/dap_crop.html","id":null,"dir":"Reference","previous_headings":"","what":"Crop DAP file — dap_crop","title":"Crop DAP file — dap_crop","text":"Crop DAP file","code":""},{"path":"/reference/dap_crop.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Crop DAP file — dap_crop","text":"","code":"dap_crop(   URL = NULL,   catalog = NULL,   AOI = NULL,   startDate = NULL,   endDate = NULL,   start = NULL,   end = NULL,   varname = NULL,   verbose = TRUE )"},{"path":"/reference/dap_crop.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Crop DAP file — dap_crop","text":"URL local file path URL catalog subset open.dap catalog AOI sf SpatVect point polygon extract data startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data start non \"dated\" items, start can called index end non \"dated\" items, end can called index varname variable name extract (e.g. tmin) verbose dap_summary printed?","code":""},{"path":"/reference/dap_crop.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Crop DAP file — dap_crop","text":"data.frame","code":""},{"path":[]},{"path":"/reference/dap_get.html","id":null,"dir":"Reference","previous_headings":"","what":"Get DAP resource data — dap_get","title":"Get DAP resource data — dap_get","text":"Get DAP resource data","code":""},{"path":"/reference/dap_get.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get DAP resource data — dap_get","text":"","code":"dap_get(dap, varname = NULL)"},{"path":"/reference/dap_get.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get DAP resource data — dap_get","text":"dap data.frame catalog dap_crop varname name variable extract. NULL, get ","code":""},{"path":"/reference/dap_get.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get DAP resource data — dap_get","text":"SpatRaster","code":""},{"path":[]},{"path":"/reference/dap_meta.html","id":null,"dir":"Reference","previous_headings":"","what":"Find DAP Metadata — dap_meta","title":"Find DAP Metadata — dap_meta","text":"Find DAP Metadata","code":""},{"path":"/reference/dap_meta.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Find DAP Metadata — dap_meta","text":"","code":"dap_meta(raw)"},{"path":"/reference/dap_meta.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Find DAP Metadata — dap_meta","text":"raw data.frame","code":""},{"path":"/reference/dap_meta.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Find DAP Metadata — dap_meta","text":"data.frame","code":""},{"path":[]},{"path":"/reference/dap_summary.html","id":null,"dir":"Reference","previous_headings":"","what":"Print Summary Information About a OpenDAP Resource — dap_summary","title":"Print Summary Information About a OpenDAP Resource — dap_summary","text":"Print summary information DAP summary","code":""},{"path":"/reference/dap_summary.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Print Summary Information About a OpenDAP Resource — dap_summary","text":"","code":"dap_summary(dap = NULL, url = NULL)"},{"path":"/reference/dap_summary.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Print Summary Information About a OpenDAP Resource — dap_summary","text":"dap data.frame catalog dap_crop url Unique Resource Identifier (http local)","code":""},{"path":[]},{"path":"/reference/dap_to_local.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert OpenDAP to start/count call — dap_to_local","title":"Convert OpenDAP to start/count call — dap_to_local","text":"Convert OpenDAP start/count call","code":""},{"path":"/reference/dap_to_local.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert OpenDAP to start/count call — dap_to_local","text":"","code":"dap_to_local(dap, get = TRUE)"},{"path":"/reference/dap_to_local.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert OpenDAP to start/count call — dap_to_local","text":"dap dap description get data collected?","code":""},{"path":"/reference/dap_to_local.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert OpenDAP to start/count call — dap_to_local","text":"numeric array","code":""},{"path":[]},{"path":"/reference/dap_xyzv.html","id":null,"dir":"Reference","previous_headings":"","what":"Get XYTV data from DAP URL — dap_xyzv","title":"Get XYTV data from DAP URL — dap_xyzv","text":"Get XYTV data DAP URL","code":""},{"path":"/reference/dap_xyzv.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get XYTV data from DAP URL — dap_xyzv","text":"","code":"dap_xyzv(obj, varname = NULL, varmeta = FALSE)"},{"path":"/reference/dap_xyzv.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get XYTV data from DAP URL — dap_xyzv","text":"obj OpenDap URL NetCDF object varname name variable extract. NULL, get varmeta variable metadata appended?","code":""},{"path":"/reference/dap_xyzv.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get XYTV data from DAP URL — dap_xyzv","text":"data.frame (varname, X_name, Y_name, T_name)","code":""},{"path":[]},{"path":"/reference/dot-resource_grid.html","id":null,"dir":"Reference","previous_headings":"","what":"Extract grid metadata from NC Pointer — .resource_grid","title":"Extract grid metadata from NC Pointer — .resource_grid","text":"Extract grid metadata NC Pointer","code":""},{"path":"/reference/dot-resource_grid.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Extract grid metadata from NC Pointer — .resource_grid","text":"","code":".resource_grid(URL, X_name = NULL, Y_name = NULL, stopIfNotEqualSpaced = TRUE)"},{"path":"/reference/dot-resource_grid.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Extract grid metadata from NC Pointer — .resource_grid","text":"URL location data process X_name Name X diminsion. NULL found Y_name Name Y diminsion. NULL found stopIfNotEqualSpaced stop equal space grid","code":""},{"path":"/reference/dot-resource_grid.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Extract grid metadata from NC Pointer — .resource_grid","text":"list","code":""},{"path":[]},{"path":"/reference/dot-resource_time.html","id":null,"dir":"Reference","previous_headings":"","what":"Extract time metadata from NC Pointer — .resource_time","title":"Extract time metadata from NC Pointer — .resource_time","text":"Extract time metadata NC Pointer","code":""},{"path":"/reference/dot-resource_time.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Extract time metadata from NC Pointer — .resource_time","text":"","code":".resource_time(URL, T_name = NULL)"},{"path":"/reference/dot-resource_time.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Extract time metadata from NC Pointer — .resource_time","text":"URL location data process T_name Name T dimension. NULL found","code":""},{"path":"/reference/dot-resource_time.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Extract time metadata from NC Pointer — .resource_time","text":"list","code":""},{"path":[]},{"path":"/reference/extract_sites.html","id":null,"dir":"Reference","previous_headings":"","what":"Extract Sites — extract_sites","title":"Extract Sites — extract_sites","text":"extract timeseries values raster stack set points","code":""},{"path":"/reference/extract_sites.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Extract Sites — extract_sites","text":"","code":"extract_sites(r, pts, id)"},{"path":"/reference/extract_sites.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Extract Sites — extract_sites","text":"r SpatRaster object pts point extract id unique identifier point (column name pts)","code":""},{"path":"/reference/extract_sites.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Extract Sites — extract_sites","text":"data.frame columes representing points, rows time periods","code":""},{"path":[]},{"path":"/reference/get3DEP.html","id":null,"dir":"Reference","previous_headings":"","what":"Get USGS 3DEP DEMs — get3DEP","title":"Get USGS 3DEP DEMs — get3DEP","text":"Get USGS 3DEP DEMs","code":""},{"path":"/reference/get3DEP.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get USGS 3DEP DEMs — get3DEP","text":"","code":"get3DEP(AOI, resolution = \"30m\")"},{"path":"/reference/get3DEP.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get USGS 3DEP DEMs — get3DEP","text":"AOI sf SpatVect point polygon extract data resolution DEM resolution (10m 30m (default))","code":""},{"path":"/reference/get3DEP.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get USGS 3DEP DEMs — get3DEP","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getBCCA.html","id":null,"dir":"Reference","previous_headings":"","what":"Get BCCA data — getBCCA","title":"Get BCCA data — getBCCA","text":"Get BCCA data","code":""},{"path":"/reference/getBCCA.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get BCCA data — getBCCA","text":"","code":"getBCCA(   AOI,   varname,   model = \"CCSM4\",   scenario = \"rcp45\",   ensemble = NULL,   startDate,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getBCCA.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get BCCA data — getBCCA","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) model GCM model name generating scenario climate modeling scenario ensemble model ensemble member used generate data startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getBCCA.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get BCCA data — getBCCA","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getCHIRPS.html","id":null,"dir":"Reference","previous_headings":"","what":"Get CHIRPS data — getCHIRPS","title":"Get CHIRPS data — getCHIRPS","text":"Get CHIRPS data","code":""},{"path":"/reference/getCHIRPS.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get CHIRPS data — getCHIRPS","text":"","code":"getCHIRPS(   AOI,   varname = NULL,   timeRes = \"daily\",   startDate,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getCHIRPS.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get CHIRPS data — getCHIRPS","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) timeRes \"Pentad\", \"Annual\", \"Daily\" (default), \"Monthly\" startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getCHIRPS.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get CHIRPS data — getCHIRPS","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getDaymet.html","id":null,"dir":"Reference","previous_headings":"","what":"Get Daymet Climate Data for an Area of Interest — getDaymet","title":"Get Daymet Climate Data for an Area of Interest — getDaymet","text":"dataset provides Daymet Version 4 model output data gridded estimates daily weather parameters North America. Daymet output variables include following parameters: minimum temperature, maximum temperature, precipitation, shortwave radiation, vapor pressure, snow water equivalent, day length. dataset covers period January 1, 1980 December 31 recent full calendar year. subsequent year processed individually close calendar year allowing adequate time input weather station data archive quality.  Daymet variables continuous surfaces provided individual files, year, 1-km x 1-km spatial resolution daily temporal resolution. Data Lambert Conformal Conic projection North America netCDF file format compliant Climate Forecast (CF) metadata conventions.","code":""},{"path":"/reference/getDaymet.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Daymet Climate Data for an Area of Interest — getDaymet","text":"","code":"getDaymet(   AOI,   varname = NULL,   startDate = NULL,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getDaymet.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Daymet Climate Data for an Area of Interest — getDaymet","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getDaymet.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get Daymet Climate Data for an Area of Interest — getDaymet","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getDodsrcPath.html","id":null,"dir":"Reference","previous_headings":"","what":"Get a default dodsrc file path — getDodsrcPath","title":"Get a default dodsrc file path — getDodsrcPath","text":"Get default dodsrc file path","code":""},{"path":"/reference/getDodsrcPath.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get a default dodsrc file path — getDodsrcPath","text":"","code":"getDodsrcPath()"},{"path":"/reference/getDodsrcPath.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get a default dodsrc file path — getDodsrcPath","text":"character vector containing default netrc file path","code":""},{"path":[]},{"path":"/reference/getDodsrcPath.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get a default dodsrc file path — getDodsrcPath","text":"","code":"getDodsrcPath() #> [1] \"/Users/mjohnson/.dodsrc\""},{"path":"/reference/getGLDAS.html","id":null,"dir":"Reference","previous_headings":"","what":"Get GLDAS data — getGLDAS","title":"Get GLDAS data — getGLDAS","text":"Get GLDAS data","code":""},{"path":"/reference/getGLDAS.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get GLDAS data — getGLDAS","text":"","code":"getGLDAS(   AOI,   varname = NULL,   model = NULL,   startDate,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getGLDAS.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get GLDAS data — getGLDAS","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) model GCM model name generating startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getGLDAS.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get GLDAS data — getGLDAS","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getGridMET.html","id":null,"dir":"Reference","previous_headings":"","what":"Get GridMet Climate Data for an Area of Interest — getGridMET","title":"Get GridMet Climate Data for an Area of Interest — getGridMET","text":"gridMET dataset daily high-spatial resolution (~4-km, 1/24th degree) surface meteorological data covering contiguous US 1979-yesterday. data updated daily.","code":""},{"path":"/reference/getGridMET.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get GridMet Climate Data for an Area of Interest — getGridMET","text":"","code":"getGridMET(   AOI,   varname,   startDate,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getGridMET.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get GridMet Climate Data for an Area of Interest — getGridMET","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getGridMET.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get GridMet Climate Data for an Area of Interest — getGridMET","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getLCMAP.html","id":null,"dir":"Reference","previous_headings":"","what":"Get USGS LCMAP — getLCMAP","title":"Get USGS LCMAP — getLCMAP","text":"Land Change Monitoring, Assessment, Projection","code":""},{"path":"/reference/getLCMAP.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get USGS LCMAP — getLCMAP","text":"","code":"getLCMAP(AOI, year = 2019, type = \"primary landcover\")"},{"path":"/reference/getLCMAP.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get USGS LCMAP — getLCMAP","text":"AOI sf SpatVect point polygon extract data year Land cover product year 1985 - 2019 (default = 2019) type product type (primary landcover (default), secondary landcover, primary confidence, secondary confidence, cover change, change day, change magniture, model cquality, spectral stability, spectral lastchance)","code":""},{"path":"/reference/getLCMAP.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get USGS LCMAP — getLCMAP","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getLOCA.html","id":null,"dir":"Reference","previous_headings":"","what":"Get LOCA Climate Data for an Area of Interest — getLOCA","title":"Get LOCA Climate Data for an Area of Interest — getLOCA","text":"LOCA statistical downscaling technique uses past history add improved fine-scale detail global climate models. LOCA used downscale 32 global climate models CMIP5 archive 1/16th degree spatial resolution, covering North America central Mexico Southern Canada. historical period 1950-2005, two future scenarios available: RCP 4.5 RCP 8.5 period 2006-2100 (although models stop 2099). variables currently available daily minimum maximum temperature, daily precipitation. information visit: http://loca.ucsd.edu/.","code":""},{"path":"/reference/getLOCA.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get LOCA Climate Data for an Area of Interest — getLOCA","text":"","code":"getLOCA(   AOI,   varname,   model = \"CCSM4\",   scenario = \"rcp45\",   startDate,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getLOCA.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get LOCA Climate Data for an Area of Interest — getLOCA","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) model GCM model name generating scenario climate modeling scenario startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getLOCA.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get LOCA Climate Data for an Area of Interest — getLOCA","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getLOCA_hydro.html","id":null,"dir":"Reference","previous_headings":"","what":"Get LOCA Hydrology data — getLOCA_hydro","title":"Get LOCA Hydrology data — getLOCA_hydro","text":"Get LOCA Hydrology data","code":""},{"path":"/reference/getLOCA_hydro.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get LOCA Hydrology data — getLOCA_hydro","text":"","code":"getLOCA_hydro(   AOI,   varname,   model = \"CCSM4\",   scenario = \"rcp45\",   startDate,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getLOCA_hydro.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get LOCA Hydrology data — getLOCA_hydro","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) model GCM model name generating scenario climate modeling scenario startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getLOCA_hydro.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get LOCA Hydrology data — getLOCA_hydro","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getLivneh.html","id":null,"dir":"Reference","previous_headings":"","what":"Get Livneh data — getLivneh","title":"Get Livneh data — getLivneh","text":"Get Livneh data","code":""},{"path":"/reference/getLivneh.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Livneh data — getLivneh","text":"","code":"getLivneh(   AOI,   varname = NULL,   startDate,   endDate = NULL,   timeRes = \"daily\",   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getLivneh.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Livneh data — getLivneh","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data timeRes daily monthly verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getLivneh.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get Livneh data — getLivneh","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getLivneh_fluxes.html","id":null,"dir":"Reference","previous_headings":"","what":"Get Livneh Flux data — getLivneh_fluxes","title":"Get Livneh Flux data — getLivneh_fluxes","text":"Get Livneh Flux data","code":""},{"path":"/reference/getLivneh_fluxes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Livneh Flux data — getLivneh_fluxes","text":"","code":"getLivneh_fluxes(   AOI,   varname = NULL,   startDate,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getLivneh_fluxes.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Livneh Flux data — getLivneh_fluxes","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getLivneh_fluxes.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get Livneh Flux data — getLivneh_fluxes","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getMACA.html","id":null,"dir":"Reference","previous_headings":"","what":"Get MACA Climate Data for an Area of Interest — getMACA","title":"Get MACA Climate Data for an Area of Interest — getMACA","text":"Multivariate Adaptive Constructed Analogs (MACA) statistical method downscaling Global Climate Models (GCMs) native coarse resolution higher spatial resolution captures reflects observed patterns daily near-surface meteorology simulated changes GCMs experiments.","code":""},{"path":"/reference/getMACA.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get MACA Climate Data for an Area of Interest — getMACA","text":"","code":"getMACA(   AOI,   varname,   timeRes = \"day\",   model = \"CCSM4\",   scenario = \"rcp45\",   startDate,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getMACA.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get MACA Climate Data for an Area of Interest — getMACA","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) timeRes daily monthly model GCM model name generating scenario climate modeling scenario startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getMACA.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get MACA Climate Data for an Area of Interest — getMACA","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getMODIS.html","id":null,"dir":"Reference","previous_headings":"","what":"Get MODIS data — getMODIS","title":"Get MODIS data — getMODIS","text":"Get MODIS data","code":""},{"path":"/reference/getMODIS.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get MODIS data — getMODIS","text":"","code":"getMODIS(   AOI,   asset = NULL,   varname = NULL,   startDate,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getMODIS.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get MODIS data — getMODIS","text":"AOI sf SpatVect point polygon extract data asset MODIS sensor varname variable name extract (e.g. tmin) startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getMODIS.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get MODIS data — getMODIS","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getNASADEM.html","id":null,"dir":"Reference","previous_headings":"","what":"Get NASA Global DEM — getNASADEM","title":"Get NASA Global DEM — getNASADEM","text":"Get NASA Global DEM","code":""},{"path":"/reference/getNASADEM.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get NASA Global DEM — getNASADEM","text":"","code":"getNASADEM(AOI)"},{"path":"/reference/getNASADEM.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get NASA Global DEM — getNASADEM","text":"AOI sf SpatVect point polygon extract data ","code":""},{"path":"/reference/getNASADEM.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get NASA Global DEM — getNASADEM","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getNLCD.html","id":null,"dir":"Reference","previous_headings":"","what":"Get USGS National Land Cover Dataset — getNLCD","title":"Get USGS National Land Cover Dataset — getNLCD","text":"Get USGS National Land Cover Dataset","code":""},{"path":"/reference/getNLCD.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get USGS National Land Cover Dataset — getNLCD","text":"","code":"getNLCD(AOI, year = 2019, type = \"land cover\")"},{"path":"/reference/getNLCD.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get USGS National Land Cover Dataset — getNLCD","text":"AOI sf SpatVect point polygon extract data year Landcover product year (2001, 2011,2016,2019) type product type","code":""},{"path":"/reference/getNLCD.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get USGS National Land Cover Dataset — getNLCD","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getNLDAS.html","id":null,"dir":"Reference","previous_headings":"","what":"Get NLDAS data — getNLDAS","title":"Get NLDAS data — getNLDAS","text":"Get NLDAS data","code":""},{"path":"/reference/getNLDAS.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get NLDAS data — getNLDAS","text":"","code":"getNLDAS(   AOI,   varname = NULL,   model = \"FORA0125_H.002\",   startDate,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getNLDAS.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get NLDAS data — getNLDAS","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) model GCM model name generating startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getNLDAS.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get NLDAS data — getNLDAS","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getNetrcPath.html","id":null,"dir":"Reference","previous_headings":"","what":"Get the default netrc file path — getNetrcPath","title":"Get the default netrc file path — getNetrcPath","text":"Get default netrc file path","code":""},{"path":"/reference/getNetrcPath.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get the default netrc file path — getNetrcPath","text":"","code":"getNetrcPath()"},{"path":"/reference/getNetrcPath.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get the default netrc file path — getNetrcPath","text":"character vector containing default netrc file path","code":""},{"path":[]},{"path":"/reference/getNetrcPath.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get the default netrc file path — getNetrcPath","text":"","code":"getNetrcPath() #> [1] \"/Users/mjohnson/.netrc\""},{"path":"/reference/getPRISM.html","id":null,"dir":"Reference","previous_headings":"","what":"Get PRISM data — getPRISM","title":"Get PRISM data — getPRISM","text":"Get PRISM data","code":""},{"path":"/reference/getPRISM.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get PRISM data — getPRISM","text":"","code":"getPRISM(   AOI,   varname = NULL,   startDate,   endDate = NULL,   timeRes = \"daily\",   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getPRISM.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get PRISM data — getPRISM","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data timeRes daily monthly verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getPRISM.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get PRISM data — getPRISM","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getTerraClim.html","id":null,"dir":"Reference","previous_headings":"","what":"Get Terra Climate Data for an Area of Interest — getTerraClim","title":"Get Terra Climate Data for an Area of Interest — getTerraClim","text":"Get Terra Climate Data Area Interest","code":""},{"path":"/reference/getTerraClim.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Terra Climate Data for an Area of Interest — getTerraClim","text":"","code":"getTerraClim(   AOI,   varname = NULL,   startDate = NULL,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getTerraClim.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Terra Climate Data for an Area of Interest — getTerraClim","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getTerraClim.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get Terra Climate Data for an Area of Interest — getTerraClim","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getTerraClimNormals.html","id":null,"dir":"Reference","previous_headings":"","what":"Get Terra Climate Normals for an Area of Interest — getTerraClimNormals","title":"Get Terra Climate Normals for an Area of Interest — getTerraClimNormals","text":"layers TerraClimate creating using climatically aided interpolation monthly anomalies CRU Ts4.0 Japanese 55-year Reanalysis (JRA-55) datasets WorldClim v2.0 climatologies.","code":""},{"path":"/reference/getTerraClimNormals.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Terra Climate Normals for an Area of Interest — getTerraClimNormals","text":"","code":"getTerraClimNormals(   AOI,   varname,   scenario = \"19812010\",   month = 1:12,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getTerraClimNormals.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Terra Climate Normals for an Area of Interest — getTerraClimNormals","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) scenario climate modeling scenario month numeric. month vector months access. Default 1:12 verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getTerraClimNormals.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get Terra Climate Normals for an Area of Interest — getTerraClimNormals","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getVIC.html","id":null,"dir":"Reference","previous_headings":"","what":"Get VIC data — getVIC","title":"Get VIC data — getVIC","text":"Get VIC data","code":""},{"path":"/reference/getVIC.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get VIC data — getVIC","text":"","code":"getVIC(   AOI,   varname,   model = \"CCSM4\",   scenario = \"rcp45\",   startDate,   endDate = NULL,   verbose = FALSE,   dryrun = FALSE )"},{"path":"/reference/getVIC.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get VIC data — getVIC","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) model GCM model name generating scenario climate modeling scenario startDate start date given \"YYYY-MM-DD\" extract data endDate end date given \"YYYY-MM-DD\" extract data verbose messages emited? dryrun Return summary data prior retrieving ","code":""},{"path":"/reference/getVIC.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get VIC data — getVIC","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/getWorldClim.html","id":null,"dir":"Reference","previous_headings":"","what":"Get WorlClim gridded weather and climate data for historical (near current) conditions. — getWorldClim","title":"Get WorlClim gridded weather and climate data for historical (near current) conditions. — getWorldClim","text":"WorldClim database high spatial resolution global weather climate data. data can used mapping spatial modeling.","code":""},{"path":"/reference/getWorldClim.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get WorlClim gridded weather and climate data for historical (near current) conditions. — getWorldClim","text":"","code":"getWorldClim(   AOI = NULL,   varname = NULL,   model = \"wc2.1_5m\",   month = 1:12,   verbose = TRUE )"},{"path":"/reference/getWorldClim.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get WorlClim gridded weather and climate data for historical (near current) conditions. — getWorldClim","text":"AOI sf SpatVect point polygon extract data varname variable name extract (e.g. tmin) model GCM model name generating month numeric. month vector months access. Default 1:12 verbose messages emited?","code":""},{"path":"/reference/getWorldClim.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get WorlClim gridded weather and climate data for historical (near current) conditions. — getWorldClim","text":"AOI polygon list SpatRasters, AOI point data.frame modeled records.","code":""},{"path":[]},{"path":"/reference/get_data.html","id":null,"dir":"Reference","previous_headings":"","what":"Get DAP Array — get_data","title":"Get DAP Array — get_data","text":"Get DAP Array","code":""},{"path":"/reference/get_data.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get DAP Array — get_data","text":"","code":"get_data(dap)"},{"path":"/reference/get_data.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get DAP Array — get_data","text":"dap dap description","code":""},{"path":"/reference/get_data.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get DAP Array — get_data","text":"SpatRast","code":""},{"path":[]},{"path":"/reference/go_get_dap_data.html","id":null,"dir":"Reference","previous_headings":"","what":"Read formated DAP URL as SpatRast — go_get_dap_data","title":"Read formated DAP URL as SpatRast — go_get_dap_data","text":"Read formated DAP URL SpatRast","code":""},{"path":"/reference/go_get_dap_data.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Read formated DAP URL as SpatRast — go_get_dap_data","text":"","code":"go_get_dap_data(dap)"},{"path":"/reference/go_get_dap_data.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Read formated DAP URL as SpatRast — go_get_dap_data","text":"dap output dap_crop","code":""},{"path":"/reference/go_get_dap_data.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Read formated DAP URL as SpatRast — go_get_dap_data","text":"SpatRast","code":""},{"path":[]},{"path":"/reference/grid_meta.html","id":null,"dir":"Reference","previous_headings":"","what":"Find DAP grid metadata — grid_meta","title":"Find DAP grid metadata — grid_meta","text":"Find DAP grid metadata","code":""},{"path":"/reference/grid_meta.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Find DAP grid metadata — grid_meta","text":"","code":"grid_meta(raw)"},{"path":"/reference/grid_meta.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Find DAP grid metadata — grid_meta","text":"raw data.frame","code":""},{"path":"/reference/grid_meta.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Find DAP grid metadata — grid_meta","text":"data.frame","code":""},{"path":[]},{"path":"/reference/make_ext.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert catalog entry to extent — make_ext","title":"Convert catalog entry to extent — make_ext","text":"Convert catalog entry extent","code":""},{"path":"/reference/make_ext.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert catalog entry to extent — make_ext","text":"","code":"make_ext(cat)"},{"path":"/reference/make_ext.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert catalog entry to extent — make_ext","text":"cat catalog entry (data.frame Xn, X1, Yn, Y1, crs)","code":""},{"path":"/reference/make_ext.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert catalog entry to extent — make_ext","text":"SpatExtent","code":""},{"path":[]},{"path":"/reference/make_vect.html","id":null,"dir":"Reference","previous_headings":"","what":"Make Vector — make_vect","title":"Make Vector — make_vect","text":"Make Vector","code":""},{"path":"/reference/make_vect.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Make Vector — make_vect","text":"","code":"make_vect(cat)"},{"path":"/reference/make_vect.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Make Vector — make_vect","text":"cat catalog entry (data.frame Xn, X1, Yn, Y1, crs)","code":""},{"path":"/reference/make_vect.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Make Vector — make_vect","text":"SpatVect","code":""},{"path":[]},{"path":"/reference/merge_across_time.html","id":null,"dir":"Reference","previous_headings":"","what":"Merge List of SpatRaster's across time — merge_across_time","title":"Merge List of SpatRaster's across time — merge_across_time","text":"Given list SpatRasters possibly shared names, merge across time","code":""},{"path":"/reference/merge_across_time.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Merge List of SpatRaster's across time — merge_across_time","text":"","code":"merge_across_time(data)"},{"path":"/reference/merge_across_time.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Merge List of SpatRaster's across time — merge_across_time","text":"data list names SpatRasters","code":""},{"path":"/reference/merge_across_time.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Merge List of SpatRaster's across time — merge_across_time","text":"data.frame (varname, X_name, Y_name, T_name)","code":""},{"path":[]},{"path":"/reference/params.html","id":null,"dir":"Reference","previous_headings":"","what":"ClimateR Catalog — params","title":"ClimateR Catalog — params","text":"ClimateR Catalog","code":""},{"path":"/reference/params.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"ClimateR Catalog — params","text":"","code":"params"},{"path":"/reference/params.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"ClimateR Catalog — params","text":"object class data.table (inherits data.frame) 107857 rows 28 columns.","code":""},{"path":[]},{"path":"/reference/parse_date.html","id":null,"dir":"Reference","previous_headings":"","what":"Parse Dates from duration and interval — parse_date","title":"Parse Dates from duration and interval — parse_date","text":"Parse Dates duration interval","code":""},{"path":"/reference/parse_date.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Parse Dates from duration and interval — parse_date","text":"","code":"parse_date(duration, interval)"},{"path":"/reference/parse_date.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Parse Dates from duration and interval — parse_date","text":"duration time duration interval time interval","code":""},{"path":[]},{"path":"/reference/read_dap_file.html","id":null,"dir":"Reference","previous_headings":"","what":"Read from a OpenDAP landing page — read_dap_file","title":"Read from a OpenDAP landing page — read_dap_file","text":"Reads OpenDap resources returns metadata","code":""},{"path":"/reference/read_dap_file.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Read from a OpenDAP landing page — read_dap_file","text":"","code":"read_dap_file(URL, varname = NULL, id, varmeta = TRUE)"},{"path":"/reference/read_dap_file.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Read from a OpenDAP landing page — read_dap_file","text":"URL URL OpenDap resource varname name variable extract. NULL, get id character. Uniquely named dataset identifier varmeta variable metadata appended?","code":""},{"path":"/reference/read_dap_file.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Read from a OpenDAP landing page — read_dap_file","text":"data.frame","code":""},{"path":[]},{"path":"/reference/read_ftp.html","id":null,"dir":"Reference","previous_headings":"","what":"Read from FTP — read_ftp","title":"Read from FTP — read_ftp","text":"Read FTP","code":""},{"path":"/reference/read_ftp.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Read from FTP — read_ftp","text":"","code":"read_ftp(URL, cat, lyrs = 1, AOI, ext = NULL, crs = NULL, dates = NULL)"},{"path":"/reference/read_ftp.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Read from FTP — read_ftp","text":"URL Unique Resource Identifier (http local) cat catalog element lyrs lyrs extract AOI Area Interest ext extent source (needed) crs crs source (needed) dates dates data","code":""},{"path":"/reference/read_ftp.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Read from FTP — read_ftp","text":"SpatRaster","code":""},{"path":[]},{"path":"/reference/read_live_catalog.html","id":null,"dir":"Reference","previous_headings":"","what":"Read Live Catalog from Github release — read_live_catalog","title":"Read Live Catalog from Github release — read_live_catalog","text":"Every month, data catalog refreshed. function reads current catalog Github release.","code":""},{"path":"/reference/read_live_catalog.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Read Live Catalog from Github release — read_live_catalog","text":"","code":"read_live_catalog(   url =     \"https://github.com/mikejohnson51/climateR-catalogs/releases/latest/download/catalog.parquet\" )"},{"path":"/reference/read_live_catalog.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Read Live Catalog from Github release — read_live_catalog","text":"url URL read","code":""},{"path":"/reference/read_live_catalog.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Read Live Catalog from Github release — read_live_catalog","text":"data.frame","code":""},{"path":[]},{"path":"/reference/time_meta.html","id":null,"dir":"Reference","previous_headings":"","what":"Find DAP time metadata — time_meta","title":"Find DAP time metadata — time_meta","text":"Find DAP time metadata","code":""},{"path":"/reference/time_meta.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Find DAP time metadata — time_meta","text":"","code":"time_meta(raw)"},{"path":"/reference/time_meta.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Find DAP time metadata — time_meta","text":"raw data.frame","code":""},{"path":"/reference/time_meta.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Find DAP time metadata — time_meta","text":"data.frame","code":""},{"path":[]},{"path":"/reference/try_att.html","id":null,"dir":"Reference","previous_headings":"","what":"TryCatch around RNetCDF::att.get.nc() — try_att","title":"TryCatch around RNetCDF::att.get.nc() — try_att","text":"TryCatch around RNetCDF::att.get.nc()","code":""},{"path":"/reference/try_att.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"TryCatch around RNetCDF::att.get.nc() — try_att","text":"","code":"try_att(nc, variable, attribute)"},{"path":"/reference/try_att.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"TryCatch around RNetCDF::att.get.nc() — try_att","text":"nc \"NetCDF\" object points NetCDF dataset. Found RNetCDF::open.nc. variable ID name variable attribute read, \"NC_GLOBAL\" global attribute. attribute Attribute name ID.","code":""},{"path":"/reference/try_att.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"TryCatch around RNetCDF::att.get.nc() — try_att","text":"Vector data type depends NetCDF variable. NetCDF variables type NC_CHAR, R type either character raw, specified argument rawchar. NC_STRING, R type character. Numeric variables read double precision default, smallest R type exactly represents external type used fitnum TRUE.","code":""},{"path":[]},{"path":"/reference/var_to_terra.html","id":null,"dir":"Reference","previous_headings":"","what":"Variable Array to SpatRast — var_to_terra","title":"Variable Array to SpatRast — var_to_terra","text":"Variable Array SpatRast","code":""},{"path":"/reference/var_to_terra.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Variable Array to SpatRast — var_to_terra","text":"","code":"var_to_terra(var, dap)"},{"path":"/reference/var_to_terra.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Variable Array to SpatRast — var_to_terra","text":"var numeric array dap dap description","code":""},{"path":"/reference/var_to_terra.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Variable Array to SpatRast — var_to_terra","text":"SpatRast","code":""},{"path":[]},{"path":"/reference/variable_meta.html","id":null,"dir":"Reference","previous_headings":"","what":"Find DAP variable metadata — variable_meta","title":"Find DAP variable metadata — variable_meta","text":"Find DAP variable metadata","code":""},{"path":"/reference/variable_meta.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Find DAP variable metadata — variable_meta","text":"","code":"variable_meta(raw, verbose = TRUE)"},{"path":"/reference/variable_meta.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Find DAP variable metadata — variable_meta","text":"raw data.frame verbose emit messages","code":""},{"path":"/reference/variable_meta.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Find DAP variable metadata — variable_meta","text":"data.frame","code":""},{"path":[]},{"path":"/reference/vrt_crop_get.html","id":null,"dir":"Reference","previous_headings":"","what":"VRT Crop — vrt_crop_get","title":"VRT Crop — vrt_crop_get","text":"VRT Crop","code":""},{"path":"/reference/vrt_crop_get.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"VRT Crop — vrt_crop_get","text":"","code":"vrt_crop_get(   URL = NULL,   catalog = NULL,   AOI = NULL,   grid = NULL,   varname = NULL,   start = NULL,   end = NULL,   toptobottom = FALSE,   verbose = TRUE )"},{"path":"/reference/vrt_crop_get.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"VRT Crop — vrt_crop_get","text":"URL local file path URL catalog subset open.dap catalog AOI sf SpatVect point polygon extract data grid list containing extent (), crs varname variable name extract (e.g. tmin) start non \"dated\" items, start can called index end non \"dated\" items, end can called index toptobottom data inverse? verbose dap_summary printed?","code":""},{"path":"/reference/vrt_crop_get.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"VRT Crop — vrt_crop_get","text":"SpatRaster","code":""},{"path":[]},{"path":"/reference/writeDodsrc.html","id":null,"dir":"Reference","previous_headings":"","what":"Write dodsrc file — writeDodsrc","title":"Write dodsrc file — writeDodsrc","text":"Write dodsrc file valid netrc file","code":""},{"path":"/reference/writeDodsrc.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Write dodsrc file — writeDodsrc","text":"","code":"writeDodsrc(netrcFile = getNetrcPath(), dodsrcFile = \".dodsrc\")"},{"path":"/reference/writeDodsrc.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Write dodsrc file — writeDodsrc","text":"netrcFile character. path netrc file . dodsrcFile path dodsrc file want write default go home directory, advised","code":""},{"path":"/reference/writeDodsrc.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Write dodsrc file — writeDodsrc","text":"character vector containing netrc file path","code":""},{"path":[]},{"path":"/reference/writeNetrc.html","id":null,"dir":"Reference","previous_headings":"","what":"Write netrc file — writeNetrc","title":"Write netrc file — writeNetrc","text":"Write netrc file valid accessing urs.earthdata.nasa.gov","code":""},{"path":"/reference/writeNetrc.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Write netrc file — writeNetrc","text":"","code":"writeNetrc(   login,   password,   machine = \"urs.earthdata.nasa.gov\",   netrcFile = getNetrcPath(),   overwrite = FALSE )"},{"path":"/reference/writeNetrc.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Write netrc file — writeNetrc","text":"login character. Email address used logging earthdata password character. Password associated login. machine machine logging netrcFile character. path netrc file written. default go home directory, advised overwrite logical. overwrite existing netrc file?","code":""},{"path":"/reference/writeNetrc.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Write netrc file — writeNetrc","text":"character vector containing netrc file path","code":""},{"path":"/reference/writeNetrc.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Write netrc file — writeNetrc","text":"database accessed user's credentials. netrc file storing login password information required. See . set must following (1) Login EarthData (2) Go Applications > Authorized Apps (3) NASA GESDISC DATA ARCHIVE Approved Applications list, select APPROVE APPLICATIONS (4) Find NASA GESDISC DATA ARCHIVE click AUTHORIZE instruction register set DataSpace credential.","code":""},{"path":[]},{"path":"/reference/writeNetrc.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Write netrc file — writeNetrc","text":"","code":"if (FALSE) { writeNetrc(   login = \"XXX@email.com\",   password = \"yourSecretPassword\" ) }"}]
diff --git a/docs/sitemap.xml b/docs/sitemap.xml
index 6d4044a..8e6752f 100644
--- a/docs/sitemap.xml
+++ b/docs/sitemap.xml
@@ -18,6 +18,12 @@
   
     /articles/03-intro-climatepy.html
   
+  
+    /articles/04-stream-morph.html
+  
+  
+    /articles/05-mros-climateR.html
+  
   
     /articles/index.html
   
diff --git a/vignettes/01-intro.Rmd b/vignettes/01-intro.Rmd
index 76462ca..be31d52 100644
--- a/vignettes/01-intro.Rmd
+++ b/vignettes/01-intro.Rmd
@@ -74,7 +74,7 @@ ggplot() +
 ```{r}
 AOI = st_as_sfc(st_bbox(c(xmin = -112, xmax = -105, ymax = 39, ymin = 34), crs = 4326))
 
-g = getGridMET(AOI, 
+g = getGridMET(st_as_sf(AOI), 
                varname = "vs",
                startDate = "2018-09-01")
 ```
@@ -223,7 +223,7 @@ Finally, data gathering is not limited to areal extents and can be retrieved as
 
 ```{r}
 ts = data.frame(lng  = -105.0668, lat = 40.55085) %>% 
-  sf::st_as_sf(coords = c('lng', 'lat'), crs = 4326) %>% 
+  st_as_sf(coords = c('lng', 'lat'), crs = 4326) %>% 
   getGridMET(varname =  c("pr", 'srad'), 
              startDate = "2021-01-01", 
              endDate = "2021-12-31")
@@ -248,12 +248,13 @@ ggplot(data = ts, aes(x = date, y = cumsum(pr))) +
 
 ```{r}
 future = getMACA(geocode("Fort Collins", pt = TRUE), 
-                 model = 5, varname = "tasmax", 
-                 startDate = "2050-01-01", endDate = "2050-01-31")
+                 model = 5, 
+                 varname = "tasmax", 
+                 startDate = "2050-01-01", 
+                 endDate = "2050-01-31")
 
 future_long = pivot_longer(future, -date) 
 
-
 ggplot(data = future_long, aes(x = date, y = value, col = name)) + 
   geom_line() + 
   theme_linedraw() + 
diff --git a/vignettes/examples.Rmd b/vignettes/04-stream-morph.Rmd
similarity index 57%
rename from vignettes/examples.Rmd
rename to vignettes/04-stream-morph.Rmd
index 6439d1a..01bd3ac 100644
--- a/vignettes/examples.Rmd
+++ b/vignettes/04-stream-morph.Rmd
@@ -21,61 +21,57 @@ options(width=100)
 knitr::opts_chunk$set(
   collapse = TRUE,
   comment = "#>",
-  fig.path = 'man/figures/',
   out.width = "100%",
-  #warning = FALSE,
+  warning = FALSE,
   message = TRUE
 )
 ```
 # Examples
 
-We all can agree that access to tools to perform spatial operations has revolutionized the field of hydrological sciences by offering a powerful platform to access satellite imagery, reanalysis products, and diverse datasets crucial for spatial analysis and hydrological modeling. These tools facilitate the retrieval and processing of vast amounts of geospatial data, enabling researchers and practitioners to perform comprehensive analyses at various spatial and temporal scales, which in turn greatly benefits the field of hydrology.
+We all can agree that access to tools to perform spatial operations has revolutionized the field of hydrologic sciences by offering a powerful platforms to access satellite imagery, reanalysis products, and diverse datasets crucial for spatial analysis and hydrologic modeling. These tools facilitate the retrieval and processing of vast amounts of geospatial data, allowing researchers and practitioners to perform comprehensive analyses at various spatial and temporal scales, which in turn greatly benefits the field of hydrology.
 
-Our team at Lynker have developed [climateR](https://github.com/mikejohnson51/climateR.git) and [climatePy](https://github.com/anguswg-ucsb/climatePy).The key advantages of using platforms like climateR is the accessibility to a wealth of satellite imagery spanning multiple decades. With archives of satellite data readily available, hydrologists can track changes in land cover, monitor hydrological phenomena, and assess the impacts of climate change on water resources. The ability to access and analyze historical data allows for the identification of long-term trends, facilitating better understanding and prediction of hydrological processes. 
+Our team at Lynker have developed [climateR](https://github.com/mikejohnson51/climateR.git) and [climatePy](https://github.com/LynkerIntel/climatePy).The key advantages of using platforms like climateR is the accessibility to a wealth of satellite imagery spanning multiple decades. With archives of satellite data readily available, hydrologists can track changes in land cover, monitor hydrologic phenomena, and assess the impacts of climate change on water resources. The ability to access and analyze historical data allows for the identification of long-term trends, facilitating better understanding and prediction of hydrologic processes. 
 
-Furthermore, climateR foster collaboration and knowledge sharing within the hydrological community. It provide a platform for scientists and researchers across the globe to access standardized datasets, share methodologies, and collaborate on solving complex hydrological challenges. Also, puts forth an easy and accessible way to perform large spatiotemporal operations that support any NOAA effort. This collaborative environment encourages the development of innovative models and techniques for water resource management and decision-making.
+Furthermore, climateR foster collaboration and knowledge sharing within the hydrologic community. It provide a platform for scientists and researchers across the globe to access standardized datasets, share methodologies, and collaborate on solving complex hydrologic challenges. Also, puts forth an easy and accessible way to perform large spatiotemporal operations that support any NOAA effort. This collaborative environment encourages the development of innovative models and techniques for water resource management and decision-making.
 
 Here we demonstrate several examples of how to access these databases using climateR and perform massive spatial and temporal aggregations.  
 
-## Massive Spatial Aggregation with TerraClimate 
+## Massive Spatial Aggregation of TerraClimate 
 
 The integration of reanalysis products and various datasets in this platform enables users to perform sophisticated spatial operations and analyses. Hydrologists can aggregate data over specific points or polygons, allowing for the extraction of critical information regarding water resources, such as precipitation patterns, evapotranspiration rates, and soil moisture content. This facilitates the characterization of watersheds, the assessment of water availability, and the prediction of potential flood or drought events.
 
-Here I want to extract long term historical mean value of TerraClimate bands for all NOAA Next Generation (NextGen) National Hydrologic Geospatial Fabric (hydrofabric) divides over the entire CONUS. As you no doubt surmised, this is a very expensive task to go over all monthly TerraClimate dataset for the past 20 years and and average all the byt with climateR this will be an easy and strait forward task.
+Here I want to extract long term historical mean value of TerraClimate bands for all NOAA Next Generation (NextGen) National Hydrologic Geospatial Fabric (hydrofabric) divides over the entire CONUS. As you no doubt surmised, this is a very expensive task to go over all monthly TerraClimate dataset for the past 20 years and average all the byt with climateR this will be an easy and strait forward task.
 
-One can access the hydrofabric in this case NextGen hydrofabric form 
+One can access the hydrofabric in this case NextGen hydrofabric from the Lynker-spatial s2 account: 
 
-```r
+```{r, eval = FALSE}
 library(hydrofabric)
 library(lubridate)
 
 # Then specify the S3 bucket and file path
 bucket_name <- "lynker-spatial"
-file_key <- "v20/gpkg/nextgen_12.gpkg"
+file_key    <- "v20/gpkg/nextgen_12.gpkg"
 
 
 # Now download the GeoPackage file from S3 to a temporary file
 temp_file <- tempfile(fileext = ".gpkg")
-aws.s3::s3read_using(file = temp_file, FUN = get_object, object = file_key, bucket = bucket_name)
+s3read_using(file   = temp_file, 
+             FUN    = get_object, 
+             object = file_key, 
+             bucket = bucket_name)
 
 # Finally read the GeoPackage file into an sf object
 gpkg_sf <- st_read(temp_file)
 ```
 
-Now we can extract individual divide files for given VPU and extract data from TerraClimate
-
-
-```r
+Now we can extract the divides layer for the given VPU and extract data from TerraClimate:
 
+```{r, eval = FALSE}
 # List of VPU's for CONUS
-vpu_list = list("01","02","03S","03W","03N","04","05","06","07","08","09","10U","10L","11",
-                  "12","13","14","15","16","17","18")
-
-# List of columns to be renamed
-columns_to_rename <- c("mean,PDSI", "mean,aet", "mean,soil", "mean,def", "mean,ppt", "mean,q", "mean,tmin", "mean,tmax", "mean,pet")
+vpu_list = vpu_boundaries$VPUID[1:21]
 
-# New names for the columns
-new_column_names <- c("PDSI","aet","soil","def","ppt","q","tmin","tmax","pet")
+# Variables of Interest
+vars <- c("PDSI","aet","soil","def","ppt","q","tmin","tmax","pet")
 
 # Loop through the VPU's and extract data and time the execution 
 system.time({
@@ -85,32 +81,44 @@ system.time({
         
         # Download the GeoPackage file from S3 to a temporary file
         temp_file <- tempfile(fileext = ".gpkg")
-        aws.s3::s3read_using(file = temp_file, FUN = get_object, object = file_key, bucket = bucket_name)
+        s3read_using(file = temp_file, 
+                     FUN = get_object, 
+                     object = file_key, 
+                     bucket = bucket_name)
 
         # Just read the divides
         divides = read_sf(temp_file, "divides")
 
-        # Use climateR to extract the variables between 2000-21
-        out_raster <- getTerraClim(AOI = divides,
-                            varname = c(new_column_names),
-                            startDate = "2000-01-01",
-                            endDate = "2021-01-01")
+        # Use climateR to extract the variables between 2000-2021
+        out_raster <- getTerraClim(AOI       = divides,
+                                   varname   =  vars,
+                                   startDate = "2000-01-01",
+                                   endDate   = "2021-01-01")
 
-        # Use rast to do a temporal mean aggregation and Zonal to do a spatial aggregation using divide_id
-        output = execute_zonal(data = rast(lapply(out_raster, mean)), geom = div, fun = "mean", ID = "divide_id", join = FALSE)
+        # Use rast() to do a temporal mean aggregation and zonal to do a spatial aggregation using divide_id
+        output = execute_zonal(data = rast(lapply(out_raster, mean)), 
+                               geom = div, 
+                               fun = "mean", 
+                               ID = "divide_id", 
+                               join = FALSE)
 
         # Finally write the data frame to a parquet file
         write_parquet(output, sprintf("/your_path/conus_terraclimate_vpu_%s.parquet", vpu))
     }
 })
 ```
-We just calculated 20 year average of 9 different bands of TerraClimate over 882,945 divides that cover CONUS and it took under an hour to complete (2472.777 seconds) on my normal laptop!! This is very impressive. 
+
+We just calculated 20 year average of 9 different variables over 882,945 divides that cover CONUS under an hour (2472.777 seconds = .68 hours) on my normal laptop!! This is very impressive. 
 
 ## Comparison to GEE
 
-Now lets compare this to the very well known and frequently used Google Earth Engine (GEE). But one can not process all 882,945 divides at the same time in GEE and my personal experience showed that batches of 200 divides is the ideal size not to get the infamous "Computation Timed Out Error". So we can write a script to perform batch operation such as below.
+Now lets compare this to the well known and frequently used Google Earth Engine (GEE). 
+
+To start, we cannot process all 882,945 divides at the same time in GEE and my personal experience has shown that batches of 200 divides is the ideal size to avoid the infamous `Computation Timed Out Error`. 
 
-```javascript
+So we can write a script to perform batch operation such as below.
+
+```{javascript}
 // This requires uploading the divides into EE assets
 // A for loop to execute 100 batches of 200 divides as an example
 for (var i=1; i<100; i++){
@@ -186,18 +194,19 @@ function runExtract(data, num, first){
     Export.table.toDrive(data, exp_name, 'TerraClimate_exports', exp_name, 'CSV');
 }
 ```
-**Breaking this into batches 200 each two batch takes about 1-3 hours to complete (see figure below) then it will takes weeks to extract all data for 882,945 divides using GEE!! whereas we have done it in less than a hour with climateR.**
 
-
- -
+**Breaking this into batches 200 each set of two batchs takes about 1-3 hours to complete (see figure below). Based on this, for the scale of our application, GEE would require weeks to finsih!! ** -## Massive Temporal and Spatial Aggregation with GLDAS -Now lets say we have even more computationally demanding task as we try to do a historical mean over a daily product form GLDAS. In this case we can break our period into chunks (e.g., 4 years) and extract data. +```{r, echo = FALSE} +knitr::include_graphics("../man/figures/ee_task.png") +``` + +## Massive Temporal and Spatial Aggregation with GLDAS +Now lets say we have even more computationally demanding task as we try to find a historical mean over a daily product from GLDAS. In this case we can break our period into chunks (e.g., 4 years) and extract data. -```r +```{r, eval = FALSE} # Define start and end dates start_date <- ymd("2004-01-01") end_date <- ymd("2021-01-01") @@ -205,11 +214,8 @@ end_date <- ymd("2021-01-01") # Create a sequence of dates with a step of 4 years date_seq <- seq(start_date, end_date, by = "4 years") -# List of columns to be renamed -columns_to_rename <- c("mean,qsb_tavg", "mean,qs_tavg", "mean,gws_tavg", "mean,esoil_tavg", "mean,ecanop_tavg", "mean,canopint_tavg", "mean,avgsurft_tavg") - # New names for the columns -new_column_names <- c("qsb_tavg", "qs_tavg", "gws_tavg", "esoil_tavg", "ecanop_tavg", "canopint_tavg", "avgsurft_tavg") +vars <- c("qsb_tavg", "qs_tavg", "gws_tavg", "esoil_tavg", "ecanop_tavg", "canopint_tavg", "avgsurft_tavg") # Loop through the VPU's and extract data and time the execution system.time({ @@ -219,7 +225,11 @@ system.time({ # Download the GeoPackage file from S3 to a temporary file temp_file <- tempfile(fileext = ".gpkg") - aws.s3::s3read_using(file = temp_file, FUN = get_object, object = file_key, bucket = bucket_name) + + s3read_using(file = temp_file, + FUN = get_object, + object = file_key, + bucket = bucket_name) # Just read the divides divides = read_sf(temp_file, "divides") @@ -234,10 +244,10 @@ system.time({ # Use climateR to extract the variables between 2004-21 out_raster <- getGLDAS(AOI = div, - varname = c(new_column_names), - model = "CLSM025_DA1_D.2.2", - startDate = current_start, - endDate = current_end) + varname = vars, + model = "CLSM025_DA1_D.2.2", + startDate = current_start, + endDate. = current_end) output = execute_zonal(data = rast(lapply(out_raster, mean)), geom = div, fun = "mean", ID = "divide_id", join = FALSE) current_start_year <- as.character(year(current_start)) @@ -252,9 +262,11 @@ system.time({ We can also use custom datasets form our local drive or s3 bucket to perform different aggregations. Here as an example we can access POLARIS soil dataset and do just a spatial average of multiple virtual rasters over all our divide polygons. -```r +This collection of POLARIS data has been resampled from its native 30m resolution to a 300m COG. + +```{r, eval = FALSE} vars = c("alpha", "om", "ph") -data = rast(glue::glue('/vsis3/lynker-spatial/gridded-resources/polaris300/{vars}_mean_0_5.tif')) +data = rast(glue('/vsis3/lynker-spatial/gridded-resources/polaris300/{vars}_mean_0_5.tif')) system.time({ for (vpu in vpu_list) { @@ -263,12 +275,18 @@ system.time({ # Download the GeoPackage file from S3 to a temporary file temp_file <- tempfile(fileext = ".gpkg") - aws.s3::s3read_using(file = temp_file, FUN = get_object, object = file_key, bucket = bucket_name) + + s3read_using(file = temp_file, + FUN = get_object, object = file_key, + bucket = bucket_name) # Just read the divides divides = read_sf(temp_file, "divides") - polaris = execute_zonal(data = data, geom = divides, fun = "mean", ID = "divide_id", join = FALSE) + polaris = execute_zonal(data = data, + geom = divides, fun = "mean", + ID = "divide_id", + join = FALSE) # Finally write the data frame to a parquet file write_parquet(output, sprintf("/your_path/conus_polaris_vpu_%s.parquet", vpu)) @@ -276,27 +294,7 @@ system.time({ }) ``` -## Extract at Points - -We can also extract using coordinates of point data e.g., locations of stations to extract values from POLARIS - -```r -r = rast( - c( - '/vsicurl/http://hydrology.cee.duke.edu/POLARIS/PROPERTIES/v1.0/vrt/theta_r_mean_0_5.vrt', - '/vsicurl/http://hydrology.cee.duke.edu/POLARIS/PROPERTIES/v1.0/vrt/theta_s_mean_0_5.vrt' - ) -) - -# Read datafarme contain lat and long coordinates -pts = read_parquet('your_path/data.parquet') %>% - st_as_sf(coords = c('X', "Y"), crs = 4326, remove = FALSE) %>% - st_transform(st_crs(r)) - -system.time({ t = extract(r, pts) }) -write_parquet(t, "your_path/polaris_data.parquet") -``` # Conclusion -In summary, the utilization of climateR and climatePy significantly benefits hydrological sciences by providing unprecedented access to diverse datasets and satellite imagery. These tools empower researchers, policymakers, and water resource managers to conduct in-depth spatial analyses, ultimately enhancing our understanding of hydrological processes and improving water resource management strategies for a more sustainable future. \ No newline at end of file +In summary, using climateR significantly benefits hydrological sciences by providing unprecedented access to diverse datasets. These tools empower researchers, policymakers, and water resource managers to conduct in-depth spatial analyses, ultimately enhancing our understanding of hydrological processes and improving water resource management strategies for a more sustainable future. \ No newline at end of file diff --git a/vignettes/mros-climateR.Rmd b/vignettes/05-mros-climateR.Rmd similarity index 99% rename from vignettes/mros-climateR.Rmd rename to vignettes/05-mros-climateR.Rmd index 35d69a5..1b50a37 100644 --- a/vignettes/mros-climateR.Rmd +++ b/vignettes/05-mros-climateR.Rmd @@ -6,7 +6,7 @@ author: affiliation_url: https://lynker.com output: distill::distill_article vignette: > - %\VignetteIndexEntry{intro} + %\VignetteIndexEntry{mros} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} ---