From ae769e4cb1f4e3af2db384b8397904dd78d59635 Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Thu, 17 Jul 2025 22:21:21 +0800 Subject: [PATCH] =?UTF-8?q?:tada:=20init-=E4=BB=A3=E7=A0=81=E7=94=9F?= =?UTF-8?q?=E6=88=90=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- auth-module/module-generator-code/pom.xml | 279 + .../GeneratorCodeMainApplication.java | 11 + .../ControllerStringParamTrimConfig.java | 50 + .../module/generator/config/CorsConfig.java | 19 + .../generator/config/Knife4jConfig.java | 44 + .../module/generator/config/VmsHolder.java | 18 + .../controller/GeneratorController.java | 55 + .../controller/SqlParserController.java | 51 + .../generator/controller/TableController.java | 56 + .../generator/controller/VmsController.java | 31 + .../generator/controller/WebController.java | 24 + .../core/dialect/DatabaseDialect.java | 26 + .../generator/core/dialect/MySqlDialect.java | 37 + .../provider/DatabaseMetadataProvider.java | 235 + .../core/provider/IMetadataProvider.java | 27 + .../core/provider/SqlMetadataProvider.java | 121 + .../template/AbstractTemplateGenerator.java | 70 + .../template/VmsTBaseTemplateGenerator.java | 104 + .../generator/domain/dto/VmsArgumentDto.java | 41 + .../domain/entity/ColumnMetaData.java | 38 + .../domain/entity/DatabaseInfoMetaData.java | 42 + .../domain/entity/TableMetaData.java | 41 + .../generator/domain/result/PageResult.java | 34 + .../generator/domain/result/Result.java | 173 + .../domain/result/ResultCodeEnum.java | 90 + .../generator/domain/vo/GeneratorVo.java | 31 + .../module/generator/domain/vo/VmsPathVo.java | 28 + .../exception/GeneratorCodeException.java | 46 + .../exception/GlobalExceptionHandler.java | 105 + .../exception/MetadataNotFoundException.java | 7 + .../exception/MetadataProviderException.java | 7 + .../exception/SqlParseException.java | 7 + .../generator/service/GeneratorService.java | 49 + .../generator/service/TableService.java | 14 + .../module/generator/service/VmsService.java | 17 + .../helper/VmsGeneratorPathHelper.java | 74 + .../service/impl/GeneratorServiceImpl.java | 153 + .../service/impl/TableServiceImpl.java | 44 + .../service/impl/VmsServiceImpl.java | 65 + .../generator/utils/MysqlTypeConvertUtil.java | 52 + .../generator/utils/ResourceFileUtil.java | 134 + .../module/generator/utils/ZipFileUtil.java | 58 + .../src/main/resources/application-dev.yml | 7 + .../src/main/resources/application.yml | 32 + .../src/main/resources/banner.txt | 13 + .../src/main/resources/database.sqlite | 0 .../src/main/resources/logback.xml | 72 + .../src/main/resources/static/error/400.html | 69 + .../src/main/resources/static/error/403.html | 69 + .../src/main/resources/static/error/404.html | 78 + .../src/main/resources/static/error/500.html | 64 + .../src/main/resources/static/error/501.html | 66 + .../src/main/resources/static/error/502.html | 80 + .../src/main/resources/static/error/503.html | 69 + .../src/main/resources/static/error/504.html | 81 + .../src/main/resources/static/error/505.html | 72 + .../src/main/resources/static/error/506.html | 66 + .../src/main/resources/static/error/507.html | 66 + .../src/main/resources/static/error/509.html | 66 + .../src/main/resources/static/error/510.html | 66 + .../src/main/resources/static/favicon.ico | Bin 0 -> 67758 bytes .../static/src/components/AppGeneratorPage.js | 179 + .../static/src/components/AppHeader.js | 54 + .../static/src/config/axios-config.js | 42 + .../static/src/config/highlight-config.js | 5 + .../static/src/config/popper-config.js | 5 + .../lib/css/bootstrap/bootstrap-icons.min.css | 5 + .../src/lib/css/bootstrap/bootstrap.min.css | 6 + .../src/lib/css/fonts/bootstrap-icons.woff | Bin 0 -> 176200 bytes .../src/lib/css/fonts/bootstrap-icons.woff2 | Bin 0 -> 130608 bytes .../lib/css/highlight/atom-one-dark.min.css | 1 + .../resources/static/src/lib/css/index.css | 7 + .../static/src/lib/css/style/style.css | 63 + .../static/src/lib/js/axios/axios.min.js | 3 + .../lib/js/boostrap/bootstrap.bundle.min.js | 7 + .../static/src/lib/js/boostrap/popper.min.js | 6 + .../static/src/lib/js/dayjs/advancedFormat.js | 1 + .../static/src/lib/js/dayjs/antd.min.js | 3 + .../src/lib/js/dayjs/customParseFormat.js | 1 + .../static/src/lib/js/dayjs/dayjs.min.js | 1 + .../static/src/lib/js/dayjs/localeData.js | 1 + .../static/src/lib/js/dayjs/quarterOfYear.js | 1 + .../static/src/lib/js/dayjs/weekOfYear.js | 1 + .../static/src/lib/js/dayjs/weekYear.js | 1 + .../static/src/lib/js/dayjs/weekday.js | 1 + .../src/lib/js/highlightjs/highlight.min.js | 1202 + .../src/lib/js/highlightjs/javascript.min.js | 78 + .../static/src/lib/js/vue/vue.global.js | 18193 ++++++++++++++++ .../static/src/lib/js/vue/vue.global.prod.js | 12 + .../static/src/views/database/DatabaseCard.js | 189 + .../static/src/views/database/DatabaseForm.js | 385 + .../src/views/database/DatabaseTable.js | 383 + .../resources/static/src/views/sql/SqlForm.js | 413 + .../static/src/views/sql/SqlParserInfo.js | 112 + .../main/resources/templates/database.html | 210 + .../src/main/resources/templates/sql.html | 146 + .../vms/server/controller/controller.java.vm | 69 + .../vms/server/mapper/mapper.java.vm | 37 + .../mapper/mapper/resourceMapper.xml.vm | 36 + .../vms/server/model/dto/dto.java.vm | 25 + .../vms/server/model/entity/entity.java.vm | 31 + .../resources/vms/server/model/vo/vo.java.vm | 26 + .../server/service/impl/serviceImpl.java.vm | 84 + .../vms/server/service/service.java.vm | 51 + .../src/main/resources/vms/web/api/api.ts.vm | 22 + .../main/resources/vms/web/store/store.ts.vm | 69 + .../views/$className/components/dialog.vue.vm | 34 + .../vms/web/views/$className/index.vue.vm | 127 + .../web/views/$className/utils/columns.tsx.vm | 31 + .../web/views/$className/utils/hook.tsx.vm | 124 + .../web/views/$className/utils/types.ts.vm | 16 + 111 files changed, 26143 insertions(+) create mode 100644 auth-module/module-generator-code/pom.xml create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/GeneratorCodeMainApplication.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/config/ControllerStringParamTrimConfig.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/config/CorsConfig.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/config/Knife4jConfig.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/config/VmsHolder.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/controller/GeneratorController.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/controller/SqlParserController.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/controller/TableController.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/controller/VmsController.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/controller/WebController.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/dialect/DatabaseDialect.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/dialect/MySqlDialect.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/provider/DatabaseMetadataProvider.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/provider/IMetadataProvider.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/provider/SqlMetadataProvider.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/template/AbstractTemplateGenerator.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/template/VmsTBaseTemplateGenerator.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/dto/VmsArgumentDto.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/entity/ColumnMetaData.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/entity/DatabaseInfoMetaData.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/entity/TableMetaData.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/result/PageResult.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/result/Result.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/result/ResultCodeEnum.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/vo/GeneratorVo.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/vo/VmsPathVo.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/exception/GeneratorCodeException.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/exception/GlobalExceptionHandler.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/exception/MetadataNotFoundException.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/exception/MetadataProviderException.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/exception/SqlParseException.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/GeneratorService.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/TableService.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/VmsService.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/helper/VmsGeneratorPathHelper.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/impl/GeneratorServiceImpl.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/impl/TableServiceImpl.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/impl/VmsServiceImpl.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/utils/MysqlTypeConvertUtil.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/utils/ResourceFileUtil.java create mode 100644 auth-module/module-generator-code/src/main/java/com/auth/module/generator/utils/ZipFileUtil.java create mode 100644 auth-module/module-generator-code/src/main/resources/application-dev.yml create mode 100644 auth-module/module-generator-code/src/main/resources/application.yml create mode 100644 auth-module/module-generator-code/src/main/resources/banner.txt create mode 100644 auth-module/module-generator-code/src/main/resources/database.sqlite create mode 100644 auth-module/module-generator-code/src/main/resources/logback.xml create mode 100644 auth-module/module-generator-code/src/main/resources/static/error/400.html create mode 100644 auth-module/module-generator-code/src/main/resources/static/error/403.html create mode 100644 auth-module/module-generator-code/src/main/resources/static/error/404.html create mode 100644 auth-module/module-generator-code/src/main/resources/static/error/500.html create mode 100644 auth-module/module-generator-code/src/main/resources/static/error/501.html create mode 100644 auth-module/module-generator-code/src/main/resources/static/error/502.html create mode 100644 auth-module/module-generator-code/src/main/resources/static/error/503.html create mode 100644 auth-module/module-generator-code/src/main/resources/static/error/504.html create mode 100644 auth-module/module-generator-code/src/main/resources/static/error/505.html create mode 100644 auth-module/module-generator-code/src/main/resources/static/error/506.html create mode 100644 auth-module/module-generator-code/src/main/resources/static/error/507.html create mode 100644 auth-module/module-generator-code/src/main/resources/static/error/509.html create mode 100644 auth-module/module-generator-code/src/main/resources/static/error/510.html create mode 100644 auth-module/module-generator-code/src/main/resources/static/favicon.ico create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/components/AppGeneratorPage.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/components/AppHeader.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/config/axios-config.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/config/highlight-config.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/config/popper-config.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/css/bootstrap/bootstrap-icons.min.css create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/css/bootstrap/bootstrap.min.css create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/css/fonts/bootstrap-icons.woff create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/css/fonts/bootstrap-icons.woff2 create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/css/highlight/atom-one-dark.min.css create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/css/index.css create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/css/style/style.css create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/js/axios/axios.min.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/js/boostrap/bootstrap.bundle.min.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/js/boostrap/popper.min.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/js/dayjs/advancedFormat.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/js/dayjs/antd.min.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/js/dayjs/customParseFormat.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/js/dayjs/dayjs.min.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/js/dayjs/localeData.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/js/dayjs/quarterOfYear.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/js/dayjs/weekOfYear.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/js/dayjs/weekYear.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/js/dayjs/weekday.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/js/highlightjs/highlight.min.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/js/highlightjs/javascript.min.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/js/vue/vue.global.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/lib/js/vue/vue.global.prod.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/views/database/DatabaseCard.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/views/database/DatabaseForm.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/views/database/DatabaseTable.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/views/sql/SqlForm.js create mode 100644 auth-module/module-generator-code/src/main/resources/static/src/views/sql/SqlParserInfo.js create mode 100644 auth-module/module-generator-code/src/main/resources/templates/database.html create mode 100644 auth-module/module-generator-code/src/main/resources/templates/sql.html create mode 100644 auth-module/module-generator-code/src/main/resources/vms/server/controller/controller.java.vm create mode 100644 auth-module/module-generator-code/src/main/resources/vms/server/mapper/mapper.java.vm create mode 100644 auth-module/module-generator-code/src/main/resources/vms/server/mapper/mapper/resourceMapper.xml.vm create mode 100644 auth-module/module-generator-code/src/main/resources/vms/server/model/dto/dto.java.vm create mode 100644 auth-module/module-generator-code/src/main/resources/vms/server/model/entity/entity.java.vm create mode 100644 auth-module/module-generator-code/src/main/resources/vms/server/model/vo/vo.java.vm create mode 100644 auth-module/module-generator-code/src/main/resources/vms/server/service/impl/serviceImpl.java.vm create mode 100644 auth-module/module-generator-code/src/main/resources/vms/server/service/service.java.vm create mode 100644 auth-module/module-generator-code/src/main/resources/vms/web/api/api.ts.vm create mode 100644 auth-module/module-generator-code/src/main/resources/vms/web/store/store.ts.vm create mode 100644 auth-module/module-generator-code/src/main/resources/vms/web/views/$className/components/dialog.vue.vm create mode 100644 auth-module/module-generator-code/src/main/resources/vms/web/views/$className/index.vue.vm create mode 100644 auth-module/module-generator-code/src/main/resources/vms/web/views/$className/utils/columns.tsx.vm create mode 100644 auth-module/module-generator-code/src/main/resources/vms/web/views/$className/utils/hook.tsx.vm create mode 100644 auth-module/module-generator-code/src/main/resources/vms/web/views/$className/utils/types.ts.vm diff --git a/auth-module/module-generator-code/pom.xml b/auth-module/module-generator-code/pom.xml new file mode 100644 index 0000000..1a38056 --- /dev/null +++ b/auth-module/module-generator-code/pom.xml @@ -0,0 +1,279 @@ + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.4.3 + + + + module-generator-code + jar + module-generator-code + 代码生成器 + https://maven.apache.org + + + UTF-8 + 17 + 17 + 17 + 3.8.1 + 3.5.6 + 9.2.0 + 4.5.0 + 2.0.47 + 8.5.17 + 1.18.32 + 0.12.6 + 4.0.2 + 2.10.1 + 1.9.21 + 6.1.0 + 2.2 + 3.1 + 6.2.1 + 4.3.1 + 2.12.3 + 2.3.2 + + + + + + + junit + junit + ${junit.version} + + + + org.apache.velocity + velocity-engine-core + ${velocity.version} + + + org.apache.velocity.tools + velocity-tools-generic + ${velocity-tools.version} + + + + com.baomidou + mybatis-plus-spring-boot3-starter + ${mybatis-plus.version} + + + com.mysql + mysql-connector-j + ${mysql.version} + + + + com.zaxxer + HikariCP + ${HikariCP.version} + + + + com.baomidou + dynamic-datasource-spring-boot3-starter + ${dynamic.datasource.version} + + + + com.github.xiaoymin + knife4j-openapi3-jakarta-spring-boot-starter + ${knife4j.version} + + + + com.alibaba.fastjson2 + fastjson2 + ${fastjson2.version} + + + + io.minio + minio + ${minio.version} + + + + org.projectlombok + lombok + ${lombok.version} + + + + cn.hutool + hutool-all + 5.8.27 + + + + io.jsonwebtoken + jjwt + ${jwt.version} + + + + com.alibaba + easyexcel + ${easyexcel.version} + + + + org.aspectj + aspectjrt + ${aspectj} + + + + org.aspectj + aspectjweaver + ${aspectj} + + + joda-time + joda-time + ${jodatime.version} + + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + ${jackson-dataType.version} + + + + org.quartz-scheduler + quartz + ${quartz-scheduler.version} + + + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + + org.springframework.boot + spring-boot-starter-validation + + + org.springframework.boot + spring-boot-starter-thymeleaf + + + + junit + junit + + + org.springframework.boot + spring-boot-starter-test + + + + com.mysql + mysql-connector-j + + + com.zaxxer + HikariCP + + + org.springframework.boot + spring-boot-starter-jdbc + + + com.github.jsqlparser + jsqlparser + 5.1 + + + + + org.projectlombok + lombok + + + cn.hutool + hutool-all + + + + + com.github.xiaoymin + knife4j-openapi3-jakarta-spring-boot-starter + + + org.springdoc + springdoc-openapi-starter-webmvc-ui + 2.8.6 + + + io.swagger + swagger-annotations + 1.6.14 + + + + + com.alibaba.fastjson2 + fastjson2 + + + + + com.google.guava + guava + 33.4.7-jre + + + + org.apache.velocity + velocity-engine-core + 2.3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/GeneratorCodeMainApplication.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/GeneratorCodeMainApplication.java new file mode 100644 index 0000000..9216f8f --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/GeneratorCodeMainApplication.java @@ -0,0 +1,11 @@ +package com.auth.module.generator; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class GeneratorCodeMainApplication { + public static void main(String[] args) { + SpringApplication.run(GeneratorCodeMainApplication.class, args); + } +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/config/ControllerStringParamTrimConfig.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/config/ControllerStringParamTrimConfig.java new file mode 100644 index 0000000..3f16777 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/config/ControllerStringParamTrimConfig.java @@ -0,0 +1,50 @@ +package com.auth.module.generator.config; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; +import org.springframework.beans.propertyeditors.StringTrimmerEditor; +import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; +import org.springframework.context.annotation.Bean; +import org.springframework.web.bind.WebDataBinder; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.InitBinder; + +import java.io.IOException; + +/** + * 去除前端传递的空格 + */ +@ControllerAdvice +public class ControllerStringParamTrimConfig { + + /** + * 创建 String trim 编辑器 + * 构造方法中 boolean 参数含义为如果是空白字符串,是否转换为null + * 即如果为true,那么 " " 会被转换为 null,否者为 "" + */ + @InitBinder + public void initBinder(WebDataBinder binder) { + StringTrimmerEditor propertyEditor = new StringTrimmerEditor(false); + // 为 String 类对象注册编辑器 + binder.registerCustomEditor(String.class, propertyEditor); + } + + @Bean + public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() { + return jacksonObjectMapperBuilder -> { + // 为 String 类型自定义反序列化操作 + jacksonObjectMapperBuilder + .deserializerByType(String.class, new StdScalarDeserializer(String.class) { + @Override + public String deserialize(JsonParser jsonParser, DeserializationContext ctx) throws IOException { + // // 去除全部空格 + // return StringUtils.trimAllWhitespace(jsonParser.getValueAsString()); + + // 仅去除前后空格 + return jsonParser.getValueAsString().trim(); + } + }); + }; + } +} \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/config/CorsConfig.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/config/CorsConfig.java new file mode 100644 index 0000000..c72b915 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/config/CorsConfig.java @@ -0,0 +1,19 @@ +package com.auth.module.generator.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class CorsConfig implements WebMvcConfigurer { + + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**") // 所有接口 + .allowedOrigins("*") // 允许所有来源 + .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") // 允许方法 + .allowedHeaders("*") // 允许所有头 + // .allowCredentials(true) // 允许凭证 + .maxAge(3600); // 预检请求缓存时间 + } +} \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/config/Knife4jConfig.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/config/Knife4jConfig.java new file mode 100644 index 0000000..20e71d5 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/config/Knife4jConfig.java @@ -0,0 +1,44 @@ +package com.auth.module.generator.config; + +import io.swagger.v3.oas.models.ExternalDocumentation; +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Contact; +import io.swagger.v3.oas.models.info.Info; +import io.swagger.v3.oas.models.info.License; +import lombok.extern.slf4j.Slf4j; +import org.springdoc.core.models.GroupedOpenApi; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +@Slf4j +public class Knife4jConfig { + + @Value("${server.port}") + private String port; + + @Bean + public OpenAPI openAPI() { + String url = "http://localhost:" + port; + + // 作者等信息 + Contact contact = new Contact().name("Bunny").email("1319900154@qq.com").url(url); + // 使用协议 + License license = new License().name("MIT").url("https://mit-license.org"); + // 相关信息 + Info info = new Info().title("Bunny-Admin") + .contact(contact).license(license) + .description("Bunny代码生成器") + .summary("Bunny的代码生成器") + .termsOfService(url) + .version("v1.0.0"); + + return new OpenAPI().info(info).externalDocs(new ExternalDocumentation()); + } + + @Bean + public GroupedOpenApi all() { + return GroupedOpenApi.builder().group("全部请求接口").pathsToMatch("/api/**").build(); + } +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/config/VmsHolder.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/config/VmsHolder.java new file mode 100644 index 0000000..e257ac9 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/config/VmsHolder.java @@ -0,0 +1,18 @@ +package com.auth.module.generator.config; + +import jakarta.annotation.PostConstruct; +import org.apache.velocity.app.Velocity; +import org.springframework.stereotype.Component; + +import java.util.Properties; + +@Component +public class VmsHolder { + + @PostConstruct + public void init() { + Properties prop = new Properties(); + prop.put("resource.loader.file.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader"); + Velocity.init(prop); + } +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/controller/GeneratorController.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/controller/GeneratorController.java new file mode 100644 index 0000000..1894509 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/controller/GeneratorController.java @@ -0,0 +1,55 @@ +package com.auth.module.generator.controller; + +import com.auth.module.generator.domain.dto.VmsArgumentDto; +import com.auth.module.generator.domain.result.Result; +import com.auth.module.generator.domain.vo.GeneratorVo; +import com.auth.module.generator.service.GeneratorService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.Valid; +import lombok.RequiredArgsConstructor; +import org.apache.logging.log4j.util.Strings; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +/** + * 代码生成器控制器 + * 提供代码生成和打包下载功能 + */ +@Tag(name = "生成模板", description = "生成模板接口") +@RestController +@RequestMapping("/api/generator") +@RequiredArgsConstructor +public class GeneratorController { + + private final GeneratorService generatorService; + + @Operation(summary = "生成代码", description = "根据SQL或数据库表生成代码") + @PostMapping + public Result>> generator(@Valid @RequestBody VmsArgumentDto dto) { + // 判断当前是使用 SQL语句 生成还是 数据库生成 + String sql = dto.getSql(); + + Map> result = Strings.isEmpty(sql) + ? generatorService.generateCodeByDatabase(dto) + : generatorService.generateCodeBySql(dto); + return Result.success(result); + } + + @Operation(summary = "打包下载", description = "将生成的代码打包为ZIP文件下载") + @PostMapping("downloadByZip") + public ResponseEntity downloadByZip(@Valid @RequestBody VmsArgumentDto dto) { + // 判断当前是使用 SQL语句 生成还是 数据库生成 + String sql = dto.getSql(); + + return Strings.isEmpty(sql) + ? generatorService.downloadByZipByDatabase(dto) + : generatorService.downloadByZipBySqL(dto); + } +} \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/controller/SqlParserController.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/controller/SqlParserController.java new file mode 100644 index 0000000..40ca21e --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/controller/SqlParserController.java @@ -0,0 +1,51 @@ +package com.auth.module.generator.controller; + +import com.auth.module.generator.core.provider.SqlMetadataProvider; +import com.auth.module.generator.domain.entity.ColumnMetaData; +import com.auth.module.generator.domain.entity.TableMetaData; +import com.auth.module.generator.domain.result.Result; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * SQL解析控制器 + * 提供SQL语句解析功能,提取表和列元数据 + */ +@Tag(name = "解析SQL", description = "解析SQL接口") +@RestController +@RequestMapping("/api/sqlParser") +@RequiredArgsConstructor +public class SqlParserController { + + private final SqlMetadataProvider sqlMetadataProvider; + + /** + * 解析SQL获取表信息 + * + * @param sql SQL语句 + * @return 表元数据 + */ + @Operation(summary = "解析SQL表信息", description = "解析SQL语句提取表结构信息") + @PostMapping("tableInfo") + public Result tableInfo(String sql) { + return Result.success(sqlMetadataProvider.getTableMetadata(sql)); + } + + /** + * 解析SQL获取列信息 + * + * @param sql SQL语句 + * @return 列元数据列表 + */ + @Operation(summary = "解析SQL列数据", description = "解析SQL语句提取列结构信息") + @PostMapping("columnMetaData") + public Result> columnMetaData(String sql) { + return Result.success(sqlMetadataProvider.getColumnInfoList(sql)); + } +} \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/controller/TableController.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/controller/TableController.java new file mode 100644 index 0000000..aece089 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/controller/TableController.java @@ -0,0 +1,56 @@ +package com.auth.module.generator.controller; + +import com.auth.module.generator.core.provider.DatabaseMetadataProvider; +import com.auth.module.generator.domain.entity.ColumnMetaData; +import com.auth.module.generator.domain.entity.DatabaseInfoMetaData; +import com.auth.module.generator.domain.entity.TableMetaData; +import com.auth.module.generator.domain.result.Result; +import com.auth.module.generator.domain.result.ResultCodeEnum; +import com.auth.module.generator.service.TableService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Tag(name = "数据库表控制器", description = "数据库表信息接口") +@RestController +@RequestMapping("/api/table") +@RequiredArgsConstructor +public class TableController { + + private final TableService tableService; + private final DatabaseMetadataProvider databaseMetadataProvider; + + @Operation(summary = "当前数据库信息", description = "当前连接的数据库信息") + @GetMapping("databaseInfoMetaData") + public Result databaseInfoMetaData() { + DatabaseInfoMetaData databaseInfoMetaData = tableService.databaseInfoMetaData(); + return Result.success(databaseInfoMetaData); + } + + @Operation(summary = "数据库所有的表", description = "获取[当前/所有]数据库表") + @GetMapping("databaseTableList") + public Result> databaseTableList(String dbName) { + List list = databaseMetadataProvider.getTableMetadataBatch(dbName); + return Result.success(list); + } + + @Operation(summary = "表属性", description = "获取当前查询表属性") + @GetMapping("tableMetaData") + public Result tableMetaData(String tableName) { + TableMetaData tableMetaData = databaseMetadataProvider.getTableMetadata(tableName); + return Result.success(tableMetaData); + } + + @Operation(summary = "表的列属性", description = "获取当前查询表中列属性") + @GetMapping("tableColumnInfo") + public Result> tableColumnInfo(String tableName) { + List columnInfo = databaseMetadataProvider.getColumnInfoList(tableName); + return Result.success(columnInfo, ResultCodeEnum.LOAD_FINISHED); + } + +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/controller/VmsController.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/controller/VmsController.java new file mode 100644 index 0000000..8352c96 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/controller/VmsController.java @@ -0,0 +1,31 @@ +package com.auth.module.generator.controller; + +import com.auth.module.generator.domain.result.Result; +import com.auth.module.generator.domain.vo.VmsPathVo; +import com.auth.module.generator.service.VmsService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +@Tag(name = "生成器", description = "代码生成器接口") +@RestController +@RequestMapping("/api/vms") +public class VmsController { + + @Resource + private VmsService vmsService; + + @Operation(summary = "获取vms文件路径", description = "获取所有vms下的文件路径") + @GetMapping("vmsResourcePathList") + public Result>> vmsResourcePathList() { + Map> list = vmsService.vmsResourcePathList(); + return Result.success(list); + } + +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/controller/WebController.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/controller/WebController.java new file mode 100644 index 0000000..5fb1174 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/controller/WebController.java @@ -0,0 +1,24 @@ +package com.auth.module.generator.controller; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; + +@Controller +public class WebController { + + @GetMapping("/") + public String indexPage() { + return "redirect:/database"; + } + + @GetMapping("database") + public String databasePage() { + return "database"; + } + + @GetMapping("/sql") + public String sqlPage() { + return "sql"; + } + +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/dialect/DatabaseDialect.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/dialect/DatabaseDialect.java new file mode 100644 index 0000000..1cdf905 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/dialect/DatabaseDialect.java @@ -0,0 +1,26 @@ +package com.auth.module.generator.core.dialect; + +import java.util.List; + +/** + * 数据库方言 + */ +public interface DatabaseDialect { + + /** + * 提取表注释 + * + * @param tableOptions 选项 + * @return 注释信息 + */ + String extractTableComment(String tableOptions); + + /** + * 提取列注释 + * + * @param columnSpecs 列规格 + * @return 注释信息 + */ + String extractColumnComment(List columnSpecs); + +} \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/dialect/MySqlDialect.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/dialect/MySqlDialect.java new file mode 100644 index 0000000..b34c0c0 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/dialect/MySqlDialect.java @@ -0,0 +1,37 @@ +package com.auth.module.generator.core.dialect; + +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +@Component +public class MySqlDialect implements DatabaseDialect { + + /** + * 提取表注释 + * + * @param tableOptions 选项 + * @return 注释信息 + */ + @Override + public String extractTableComment(String tableOptions) { + Pattern pattern = Pattern.compile("COMMENT\\s*=\\s*'(.*?)'", Pattern.CASE_INSENSITIVE); + Matcher matcher = pattern.matcher(tableOptions); + return matcher.find() ? matcher.group(1) : null; + } + + /** + * 提取列注释 + * + * @param columnSpecs 列规格 + * @return 注释信息 + */ + @Override + public String extractColumnComment(List columnSpecs) { + String columnSpecsString = String.join(" ", columnSpecs); + Matcher columnSpecsStringMatcher = Pattern.compile("COMMENT\\s*'(.*?)'", Pattern.CASE_INSENSITIVE).matcher(columnSpecsString); + return columnSpecsStringMatcher.find() ? columnSpecsStringMatcher.group(1) : null; + } +} \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/provider/DatabaseMetadataProvider.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/provider/DatabaseMetadataProvider.java new file mode 100644 index 0000000..e0b0935 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/provider/DatabaseMetadataProvider.java @@ -0,0 +1,235 @@ +package com.auth.module.generator.core.provider; + +import com.auth.module.generator.domain.entity.ColumnMetaData; +import com.auth.module.generator.domain.entity.DatabaseInfoMetaData; +import com.auth.module.generator.domain.entity.TableMetaData; +import com.auth.module.generator.exception.GeneratorCodeException; +import com.auth.module.generator.exception.MetadataNotFoundException; +import com.auth.module.generator.exception.MetadataProviderException; +import com.auth.module.generator.utils.MysqlTypeConvertUtil; +import com.zaxxer.hikari.HikariDataSource; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import org.springframework.util.StringUtils; + +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 数据库元数据提供者 + * 提供从数据库获取表结构信息的实现 + */ +@Component +@RequiredArgsConstructor +public class DatabaseMetadataProvider implements IMetadataProvider { + + private final HikariDataSource dataSource; + + @Value("${bunny.master.database}") + private String currentDatabase; + + /** + * 根据表名标识符获取单个表的元数据信息 + * + * @param tableName 要查询的表名(大小写敏感度取决于数据库实现) + * @return TableMetaData 包含表元数据的对象,包括: + * - 表名 + * - 表注释/备注 + * - 表所属目录(通常是数据库名) + * - 表类型(通常为"TABLE") + * @throws MetadataNotFoundException 当指定的表不存在时抛出 + * @throws GeneratorCodeException 当查询过程中发生其他异常时抛出 + */ + @Override + public TableMetaData getTableMetadata(String tableName) { + try (Connection connection = dataSource.getConnection()) { + DatabaseMetaData metaData = connection.getMetaData(); + ResultSet tables = metaData.getTables(null, null, tableName, new String[]{"TABLE"}); + + if (tables.next()) { + return TableMetaData.builder() + .tableName(tableName) + .comment(tables.getString("REMARKS")) + .tableCat(tables.getString("TABLE_CAT")) + .tableType(tables.getString("TABLE_TYPE")) + .build(); + } + throw new MetadataNotFoundException("Table not found: " + tableName); + } catch (SQLException e) { + throw new GeneratorCodeException("Failed to get metadata for table: " + tableName, e); + } + } + + + /** + * 获取指定表的所有列信息列表 + * + * @param tableName 要查询的表名(大小写敏感度取决于数据库实现) + * @return 包含所有列元数据的列表,每个列的信息封装在ColumnMetaData对象中 + * @throws MetadataProviderException 当获取列元数据过程中发生异常时抛出 + */ + @Override + public List getColumnInfoList(String tableName) { + try (Connection connection = dataSource.getConnection()) { + Set primaryKeys = getPrimaryKeys(tableName); + DatabaseMetaData metaData = connection.getMetaData(); + + return getColumnMetaData(metaData, tableName, primaryKeys); + } catch (SQLException e) { + throw new GeneratorCodeException("Failed to get column info for table: " + tableName, e); + } + } + + /** + * 获取表的所有主键列名 获取表的主键列名集合 + * + * @param tableName 表名 + * @return 主键列名的集合 + */ + private Set getPrimaryKeys(String tableName) { + Set primaryKeys = new HashSet<>(); + try (Connection connection = dataSource.getConnection()) { + ResultSet pkResultSet = connection.getMetaData().getPrimaryKeys(null, null, tableName); + while (pkResultSet.next()) { + primaryKeys.add(pkResultSet.getString("COLUMN_NAME").toLowerCase()); + } + } catch (SQLException e) { + throw new GeneratorCodeException("Get primary key error: " + e.getMessage()); + } + return primaryKeys; + } + + /** + * 获取列元数据列表 + */ + private List getColumnMetaData(DatabaseMetaData metaData, String tableName, Set primaryKeys) throws SQLException { + Map columnMap = new LinkedHashMap<>(); + try (ResultSet columnsRs = metaData.getColumns(null, null, tableName, null)) { + while (columnsRs.next()) { + ColumnMetaData column = buildColumnMetaData(columnsRs, primaryKeys); + columnMap.putIfAbsent(column.getColumnName(), column); + } + } + return columnMap.values().stream().distinct().collect(Collectors.toList()); + } + + /** + * 构建列元数据对象 + */ + private ColumnMetaData buildColumnMetaData(ResultSet columnsRs, Set primaryKeys) throws SQLException { + String columnName = columnsRs.getString("COLUMN_NAME"); + String typeName = columnsRs.getString("TYPE_NAME"); + + ColumnMetaData column = new ColumnMetaData(); + column.setColumnName(columnName); + column.setLowercaseName(MysqlTypeConvertUtil.convertToCamelCase(columnName, false)); + column.setUppercaseName(MysqlTypeConvertUtil.convertToCamelCase(columnName, true)); + column.setJdbcType(typeName); + column.setJavaType(MysqlTypeConvertUtil.convertToJavaType(typeName)); + column.setJavascriptType(StringUtils.uncapitalize(column.getJavaType())); + column.setComment(columnsRs.getString("REMARKS")); + column.setIsPrimaryKey(primaryKeys.contains(columnName)); + + return column; + } + + /** + * 获取数据库的元数据信息 + * + * @return DatabaseInfoMetaData 包含数据库基本信息的对象,包括: + * - 数据库产品名称和版本 + * - JDBC驱动名称和版本 + * - 连接URL + * - 用户名 + * - 当前数据库名称 + * @throws GeneratorCodeException 如果获取数据库信息时发生SQL异常 + */ + public DatabaseInfoMetaData databaseInfoMetaData() { + // 使用try-with-resources确保Connection自动关闭 + try (Connection connection = dataSource.getConnection()) { + // 获取数据库的元数据对象 + DatabaseMetaData metaData = connection.getMetaData(); + + // 使用Builder模式构建数据库信息对象 + return DatabaseInfoMetaData.builder() + // 数据库产品名称(如MySQL, Oracle等) + .databaseProductName(metaData.getDatabaseProductName()) + // 数据库产品版本号 + .databaseProductVersion(metaData.getDatabaseProductVersion()) + // JDBC驱动名称 + .driverName(metaData.getDriverName()) + // JDBC驱动版本 + .driverVersion(metaData.getDriverVersion()) + // 数据库连接URL + .url(metaData.getURL()) + // 连接使用的用户名 + .username(metaData.getUserName()) + // 当前使用的数据库名称(由类成员变量提供) + .currentDatabase(currentDatabase) + .build(); + } catch (SQLException e) { + // 将SQL异常转换为自定义的业务异常 + throw new GeneratorCodeException("Get database info error:" + e.getMessage()); + } + } + + /** + * 批量获取指定数据库中所有表的元数据信息 + * 获取指定数据库中的所有表信息 + * + * @param dbName 数据库名称 + * @return 包含所有表元数据的列表,每个表的信息封装在TableMetaData对象中 + * @throws MetadataProviderException 如果获取元数据过程中发生异常 + */ + public List getTableMetadataBatch(String dbName) { + // 初始化返回结果列表 + List allTableInfo = new ArrayList<>(); + + // 使用try-with-resources确保Connection资源自动关闭 + try (Connection conn = dataSource.getConnection()) { + // 获取数据库的元数据对象 + DatabaseMetaData metaData = conn.getMetaData(); + + /* + 参数说明: + 1. dbName - 数据库/目录名称,null表示忽略 + 2. null - 模式/模式名称,null表示忽略 + 3. "%" - 表名称模式,"%"表示所有表 + 4. new String[]{"TABLE"} - 类型数组,这里只查询普通表 + */ + ResultSet tables = metaData.getTables(dbName, null, "%", new String[]{"TABLE"}); + + // 遍历查询结果集中的所有表 + while (tables.next()) { + // 从结果集中获取表的各种属性 + String tableName = tables.getString("TABLE_NAME"); // 表名 + String remarks = tables.getString("REMARKS"); // 表备注/注释 + String tableCat = tables.getString("TABLE_CAT"); // 表所属的目录(通常是数据库名) + String tableType = tables.getString("TABLE_TYPE"); // 表类型(这里应该是"TABLE") + + // 使用Builder模式创建TableMetaData对象并设置属性 + TableMetaData tableMetaData = TableMetaData.builder() + .tableName(tableName) // 设置表名 + .comment(remarks) // 设置表注释 + .tableCat(tableCat) // 设置表所属目录 + .tableType(tableType) // 设置表类型 + .build(); + + // 将表元数据对象添加到结果列表 + allTableInfo.add(tableMetaData); + } + } catch (Exception e) { + // 捕获任何异常并转换为自定义异常抛出 + throw new MetadataProviderException("Failed to get batch table metadata", e); + } + + // 返回包含所有表元数据的列表 + return allTableInfo; + } + +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/provider/IMetadataProvider.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/provider/IMetadataProvider.java new file mode 100644 index 0000000..60ff69b --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/provider/IMetadataProvider.java @@ -0,0 +1,27 @@ +package com.auth.module.generator.core.provider; + + +import com.auth.module.generator.domain.entity.ColumnMetaData; +import com.auth.module.generator.domain.entity.TableMetaData; + +import java.util.List; + +public interface IMetadataProvider { + + /** + * 解析 sql 表信息 + * + * @param identifier 表名称或sql + * @return 表西悉尼 + */ + TableMetaData getTableMetadata(String identifier); + + /** + * 获取当前表的列属性 + * + * @param identifier 表名称或sql + * @return 当前表所有的列内容 + */ + List getColumnInfoList(String identifier); + +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/provider/SqlMetadataProvider.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/provider/SqlMetadataProvider.java new file mode 100644 index 0000000..d8b762f --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/provider/SqlMetadataProvider.java @@ -0,0 +1,121 @@ +package com.auth.module.generator.core.provider; + + +import com.auth.module.generator.core.dialect.DatabaseDialect; +import com.auth.module.generator.domain.entity.ColumnMetaData; +import com.auth.module.generator.domain.entity.TableMetaData; +import com.auth.module.generator.exception.GeneratorCodeException; +import com.auth.module.generator.exception.SqlParseException; +import com.auth.module.generator.utils.MysqlTypeConvertUtil; +import lombok.RequiredArgsConstructor; +import net.sf.jsqlparser.JSQLParserException; +import net.sf.jsqlparser.parser.CCJSqlParserUtil; +import net.sf.jsqlparser.statement.Statement; +import net.sf.jsqlparser.statement.create.table.CreateTable; +import org.springframework.stereotype.Component; +import org.springframework.util.StringUtils; + +import java.util.List; + +@Component +@RequiredArgsConstructor +public class SqlMetadataProvider implements IMetadataProvider { + + private final DatabaseDialect dialect; + + /** + * 解析 sql 表信息 + * 先解析SQL语句,解析列字段信息 + * + * @param sqlStatement sql语句 + * @return 表西悉尼 + * @see CCJSqlParserUtil 使用这个工具进行SQL的解析 + */ + @Override + public TableMetaData getTableMetadata(String sqlStatement) { + TableMetaData tableInfo = new TableMetaData(); + + // 解析sql + Statement statement; + try { + statement = CCJSqlParserUtil.parse(sqlStatement); + } catch (JSQLParserException e) { + throw new GeneratorCodeException("SQL解析失败"); + } + + if (!(statement instanceof CreateTable createTable)) { + throw new IllegalArgumentException("缺少SQL语句"); + } + + // 设置表基本信息 + String tableName = createTable.getTable().getName().replaceAll("`", ""); + tableInfo.setTableName(tableName); + tableInfo.setTableType("TABLE"); + String tableOptionsStrings = String.join(" ", createTable.getTableOptionsStrings()); + + // 注释信息 + String comment = dialect.extractTableComment(tableOptionsStrings); + tableInfo.setComment(comment); + + return tableInfo; + } + + /** + * 获取当前表的列属性 + * + * @param sqlStatement sql语句 + * @return 当前表所有的列内容 + */ + @Override + public List getColumnInfoList(String sqlStatement) { + // 解析sql + Statement statement; + try { + statement = CCJSqlParserUtil.parse(sqlStatement); + } catch (JSQLParserException e) { + throw new SqlParseException("Fail parse sql", e.getCause()); + } + + if (!(statement instanceof CreateTable createTable)) { + throw new IllegalArgumentException("Lack of Sql Statement"); + } + + return createTable.getColumnDefinitions() + .stream().map(column -> { + // 列信息 + ColumnMetaData columnInfo = new ColumnMetaData(); + + // 列名称 + String columnName = column.getColumnName().replaceAll("`", ""); + columnInfo.setColumnName(columnName); + + // 设置 JDBC 类型 + String dataType = column.getColDataType().getDataType(); + columnInfo.setJdbcType(dataType); + + // 设置 Java 类型 + String javaType = MysqlTypeConvertUtil.convertToJavaType(dataType.contains("varchar") ? "varchar" : dataType); + columnInfo.setJavaType(javaType); + + // 设置 JavaScript 类型 + columnInfo.setJavascriptType(StringUtils.uncapitalize(javaType)); + + // 列字段转成 下划线 -> 小驼峰 + String lowercaseName = MysqlTypeConvertUtil.convertToCamelCase(columnName, false); + columnInfo.setLowercaseName(lowercaseName); + + // 列字段转成 下划线 -> 大驼峰名称 + String uppercaseName = MysqlTypeConvertUtil.convertToCamelCase(columnName, true); + columnInfo.setUppercaseName(uppercaseName); + + // 解析注释 + List columnSpecs = column.getColumnSpecs(); + + // 设置列属性信息 + String comment = dialect.extractColumnComment(columnSpecs); + columnInfo.setComment(comment); + + return columnInfo; + }).toList(); + } +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/template/AbstractTemplateGenerator.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/template/AbstractTemplateGenerator.java new file mode 100644 index 0000000..ab74d24 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/template/AbstractTemplateGenerator.java @@ -0,0 +1,70 @@ +package com.auth.module.generator.core.template; + + +import com.auth.module.generator.domain.entity.ColumnMetaData; +import com.auth.module.generator.domain.entity.TableMetaData; +import org.apache.velocity.VelocityContext; + +import java.io.StringWriter; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 模板生成抽象基类 + * 定义代码生成的模板方法流程 + */ +public abstract class AbstractTemplateGenerator { + + /** + * 生成代码模板 + * + * @param tableMeta 表元数据 + * @param columns 列信息列表 + * @return 生成的代码内容 + */ + public StringWriter generateCode(TableMetaData tableMeta, List columns) { + VelocityContext context = new VelocityContext(); + prepareVelocityContext(context, tableMeta, columns); + return mergeTemplate(context); + } + + /** + * 准备Velocity上下文数据 + */ + private void prepareVelocityContext(VelocityContext context, TableMetaData tableMeta, List columns) { + context.put("leftBrace", "{"); + context.put("tableName", tableMeta.getTableName()); + context.put("columnInfoList", columns); + context.put("baseColumnList", getDistinctColumnNames(columns)); + addContext(context); // 子类可扩展 + } + + /** + * 获取去重的列名列表 + */ + private String getDistinctColumnNames(List columns) { + return columns.stream() + .map(ColumnMetaData::getColumnName) + .distinct() + .collect(Collectors.joining(",")); + } + + /** + * 合并Velocity模板 + */ + private StringWriter mergeTemplate(VelocityContext context) { + StringWriter writer = new StringWriter(); + templateMerge(context, writer); + return writer; + } + + /** + * 添加生成内容(由子类实现) + */ + protected abstract void addContext(VelocityContext context); + + /** + * 模板合并(由子类实现) + */ + protected abstract void templateMerge(VelocityContext context, StringWriter writer); +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/template/VmsTBaseTemplateGenerator.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/template/VmsTBaseTemplateGenerator.java new file mode 100644 index 0000000..9878639 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/core/template/VmsTBaseTemplateGenerator.java @@ -0,0 +1,104 @@ +package com.auth.module.generator.core.template; + +import com.auth.module.generator.domain.dto.VmsArgumentDto; +import com.auth.module.generator.domain.entity.TableMetaData; +import com.auth.module.generator.utils.MysqlTypeConvertUtil; +import com.google.common.base.CaseFormat; +import org.apache.velocity.Template; +import org.apache.velocity.VelocityContext; +import org.apache.velocity.app.Velocity; +import org.springframework.util.StringUtils; + +import java.io.StringWriter; +import java.text.SimpleDateFormat; +import java.util.Date; + +/** + * 使用模板方法,方便扩展 + * 如果需要继承 AbstractVmsGenerator + */ +public class VmsTBaseTemplateGenerator extends AbstractTemplateGenerator { + + private final VmsArgumentDto dto; + private final String path; + private final TableMetaData tableMetaData; + + /** + * @param dto 类名称可以自定义,格式为 xxx_xxx + * @param path 当前路径 + * @param tableMetaData 表名称 + */ + public VmsTBaseTemplateGenerator(VmsArgumentDto dto, String path, TableMetaData tableMetaData) { + // 处理表名称,替换前缀 + String tableName = tableMetaData.getTableName(); + String[] prefixes = dto.getTablePrefixes().split("[,,]"); + + tableMetaData.setCleanTableName(tableName); + + for (String prefix : prefixes) { + if (tableName.startsWith(prefix)) { + String handlerTableName = tableName.replace(prefix, ""); + tableMetaData.setCleanTableName(handlerTableName); + } + } + + this.dto = dto; + this.path = path; + this.tableMetaData = tableMetaData; + } + + /** + * 添加生成内容 + * + * @param context VelocityContext + */ + @Override + public void addContext(VelocityContext context) { + // 当前的表名 + String cleanTableName = tableMetaData.getCleanTableName(); + cleanTableName = StringUtils.hasText(cleanTableName) ? cleanTableName : tableMetaData.getTableName(); + + // 表的注释内容 + String comment = tableMetaData.getComment(); + + // 当前日期 + String date = new SimpleDateFormat(dto.getSimpleDateFormat()).format(new Date()); + context.put("date", date); + + // 作者名字 + context.put("author", dto.getAuthor()); + + // 每个 Controller 上的请求前缀 + context.put("requestMapping", dto.getRequestMapping()); + + // 表字段的注释内容 + context.put("comment", comment); + + // 设置包名称 + context.put("package", dto.getPackageName()); + + // 将类名称转成小驼峰 + String lowerCamelCase = MysqlTypeConvertUtil.convertToCamelCase(cleanTableName, false); + context.put("classLowercaseName", lowerCamelCase); + + // 将类名称转成大驼峰 + String upperCameCase = MysqlTypeConvertUtil.convertToCamelCase(cleanTableName, true); + context.put("classUppercaseName", upperCameCase); + + // 添加中划线 + String lowerHyphenName = CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_HYPHEN, lowerCamelCase); + context.put("lowerHyphenName", lowerHyphenName); + } + + /** + * Velocity 生成模板 + * + * @param context VelocityContext + * @param writer StringWriter 写入 + */ + @Override + public void templateMerge(VelocityContext context, StringWriter writer) { + Template servicePathTemplate = Velocity.getTemplate("vms/" + path, "UTF-8"); + servicePathTemplate.merge(context, writer); + } +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/dto/VmsArgumentDto.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/dto/VmsArgumentDto.java new file mode 100644 index 0000000..bee3ad5 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/dto/VmsArgumentDto.java @@ -0,0 +1,41 @@ +package com.auth.module.generator.domain.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotEmpty; +import lombok.Data; + +import java.util.List; + +@Data +@Schema(name = "VmsArgumentDto", description = "生成代码请求参数") +public class VmsArgumentDto { + + @Schema(name = "author", description = "作者名称") + String author = ""; + + @Schema(name = "packageName", description = "包名称") + @NotBlank(message = "包名不能为空") + String packageName; + + @Schema(name = "requestMapping", description = "requestMapping 名称") + String requestMapping = ""; + + @Schema(name = "tableNames", description = "表名列表") + private List tableNames; + + @Schema(name = "simpleDateFormat", description = "时间格式") + private String simpleDateFormat = "yyyy-MM-dd HH:mm:ss"; + + @Schema(name = "tablePrefixes", description = "去除表前缀") + private String tablePrefixes = ""; + + @Schema(name = "path", description = "路径") + @NotEmpty(message = "表名称不能为空") + private List path; + + @Schema(name = "sql", description = "SQL 语句") + private String sql; + +} + diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/entity/ColumnMetaData.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/entity/ColumnMetaData.java new file mode 100644 index 0000000..a7abd69 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/entity/ColumnMetaData.java @@ -0,0 +1,38 @@ +package com.auth.module.generator.domain.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class ColumnMetaData { + + /* 列名称 */ + private String columnName; + + /* 字段名称,小驼峰名称 */ + private String lowercaseName; + + /* 大驼峰名称 */ + private String uppercaseName; + + /* 数据库字段类型 */ + private String jdbcType; + + /* Java类型 */ + private String javaType; + + /* Javascript类型 */ + private String javascriptType; + + /* 是否为主键 */ + private Boolean isPrimaryKey; + + /* 字段注释 */ + private String comment; + +} \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/entity/DatabaseInfoMetaData.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/entity/DatabaseInfoMetaData.java new file mode 100644 index 0000000..fb77b01 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/entity/DatabaseInfoMetaData.java @@ -0,0 +1,42 @@ +package com.auth.module.generator.domain.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Schema(name = "DatabaseInfoMetaData", description = "数据库信息") +public class DatabaseInfoMetaData { + + @Schema(name = "databaseList", description = "数据库所有的数据库") + List databaseList; + + @Schema(name = "databaseProductName", description = "数据库产品名称") + private String databaseProductName; + + @Schema(name = "databaseProductVersion", description = "数据库产品版本") + private String databaseProductVersion; + + @Schema(name = "driverName", description = "驱动名称") + private String driverName; + + @Schema(name = "driverVersion", description = "数据库驱动版本") + private String driverVersion; + + @Schema(name = "url", description = "数据链接url") + private String url; + + @Schema(name = "username", description = "数据库用户") + private String username; + + @Schema(name = "currentDatabase", description = "当前数据库名称") + private String currentDatabase; + +} \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/entity/TableMetaData.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/entity/TableMetaData.java new file mode 100644 index 0000000..0e386b1 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/entity/TableMetaData.java @@ -0,0 +1,41 @@ +package com.auth.module.generator.domain.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Schema(name = "TableMetaData", description = "表信息数据") +public class TableMetaData implements Serializable { + + @Schema(name = "tableName", description = "表名") + private String tableName; + + @Schema(name = "handlerTableName", description = "处理后的表名称") + private String cleanTableName; + + @Schema(name = "comment", description = "注释内容") + private String comment; + + @Schema(name = "tableCats", description = "表目录") + private String tableCat; + + @Schema(name = "tableType", description = "表类型(通常是\"TABLE\")") + private String tableType; + + @Schema(name = "className", description = "类名") + private String className; + + @Schema(name = "columns", description = "列名称") + private List columns = new ArrayList<>(); + +} \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/result/PageResult.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/result/PageResult.java new file mode 100644 index 0000000..9bebbe3 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/result/PageResult.java @@ -0,0 +1,34 @@ +package com.auth.module.generator.domain.result; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * 封装分页查询结果 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Schema(name = "PageResult 对象", title = "分页返回结果", description = "分页返回结果") +public class PageResult implements Serializable { + + @Schema(name = "pageNo", title = "当前页") + private Long pageNo; + + @Schema(name = "pageSize", title = "每页记录数") + private Long pageSize; + + @Schema(name = "total", title = "总记录数") + private Long total; + + @Schema(name = "list", title = "当前页数据集合") + private List list; + +} \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/result/Result.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/result/Result.java new file mode 100644 index 0000000..cab6cdc --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/result/Result.java @@ -0,0 +1,173 @@ +package com.auth.module.generator.domain.result; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class Result { + // 状态码 + private Integer code; + // 返回消息 + private String message; + // 返回数据 + private T data; + + /** + * * 自定义返回体 + * + * @param data 返回体 + * @return Result + */ + protected static Result build(T data) { + Result result = new Result<>(); + result.setData(data); + return result; + } + + /** + * * 自定义返回体,使用ResultCodeEnum构建 + * + * @param body 返回体 + * @param codeEnum 返回状态码 + * @return Result + */ + public static Result build(T body, ResultCodeEnum codeEnum) { + Result result = build(body); + result.setCode(codeEnum.getCode()); + result.setMessage(codeEnum.getMessage()); + return result; + } + + /** + * * 自定义返回体 + * + * @param body 返回体 + * @param code 返回状态码 + * @param message 返回消息 + * @return Result + */ + public static Result build(T body, Integer code, String message) { + Result result = build(body); + result.setCode(code); + result.setMessage(message); + result.setData(null); + return result; + } + + /** + * * 操作成功 + * + * @return Result + */ + public static Result success() { + return success(null, ResultCodeEnum.SUCCESS); + } + + /** + * * 操作成功 + * + * @param data baseCategory1List + */ + public static Result success(T data) { + return build(data, ResultCodeEnum.SUCCESS); + } + + /** + * * 操作成功-状态码 + * + * @param codeEnum 状态码 + */ + public static Result success(ResultCodeEnum codeEnum) { + return success(null, codeEnum); + } + + /** + * * 操作成功-自定义返回数据和状态码 + * + * @param data 返回体 + * @param codeEnum 状态码 + */ + public static Result success(T data, ResultCodeEnum codeEnum) { + return build(data, codeEnum); + } + + /** + * * 操作失败-自定义返回数据和状态码 + * + * @param data 返回体 + * @param message 错误信息 + */ + public static Result success(T data, String message) { + return build(data, 200, message); + } + + /** + * * 操作失败-自定义返回数据和状态码 + * + * @param data 返回体 + * @param code 状态码 + * @param message 错误信息 + */ + public static Result success(T data, Integer code, String message) { + return build(data, code, message); + } + + /** + * * 操作失败 + */ + public static Result error() { + return Result.build(null); + } + + /** + * * 操作失败-自定义返回数据 + * + * @param data 返回体 + */ + public static Result error(T data) { + return build(data, ResultCodeEnum.FAIL); + } + + /** + * * 操作失败-状态码 + * + * @param codeEnum 状态码 + */ + public static Result error(ResultCodeEnum codeEnum) { + return build(null, codeEnum); + } + + /** + * * 操作失败-自定义返回数据和状态码 + * + * @param data 返回体 + * @param codeEnum 状态码 + */ + public static Result error(T data, ResultCodeEnum codeEnum) { + return build(data, codeEnum); + } + + /** + * * 操作失败-自定义返回数据和状态码 + * + * @param data 返回体 + * @param code 状态码 + * @param message 错误信息 + */ + public static Result error(T data, Integer code, String message) { + return build(data, code, message); + } + + /** + * * 操作失败-自定义返回数据和状态码 + * + * @param data 返回体 + * @param message 错误信息 + */ + public static Result error(T data, String message) { + return build(null, 500, message); + } +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/result/ResultCodeEnum.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/result/ResultCodeEnum.java new file mode 100644 index 0000000..d188b79 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/result/ResultCodeEnum.java @@ -0,0 +1,90 @@ +package com.auth.module.generator.domain.result; + +import lombok.Getter; + +/** + * 统一返回结果状态信息类 + */ +@Getter +public enum ResultCodeEnum { + // 成功操作 200 + SUCCESS(200, "操作成功"), + LOAD_FINISHED(200, "加载完成"), + ADD_SUCCESS(200, "添加成功"), + UPDATE_SUCCESS(200, "修改成功"), + DELETE_SUCCESS(200, "删除成功"), + SORT_SUCCESS(200, "排序成功"), + SUCCESS_UPLOAD(200, "上传成功"), + SUCCESS_LOGOUT(200, "退出成功"), + EMAIL_CODE_REFRESH(200, "邮箱验证码已刷新"), + EMAIL_CODE_SEND_SUCCESS(200, "邮箱验证码已发送"), + + // 验证错误 201 + USERNAME_OR_PASSWORD_NOT_EMPTY(201, "用户名或密码不能为空"), + EMAIL_CODE_NOT_EMPTY(201, "邮箱验证码不能为空"), + SEND_EMAIL_CODE_NOT_EMPTY(201, "请先发送邮箱验证码"), + EMAIL_CODE_NOT_MATCHING(201, "邮箱验证码不匹配"), + LOGIN_ERROR(500, "账号或密码错误"), + LOGIN_ERROR_USERNAME_PASSWORD_NOT_EMPTY(201, "登录信息不能为空"), + GET_BUCKET_EXCEPTION(201, "获取文件信息失败"), + SEND_MAIL_CODE_ERROR(201, "邮件发送失败"), + EMAIL_CODE_EMPTY(201, "邮箱验证码过期或不存在"), + EMAIL_EXIST(201, "邮箱已存在"), + REQUEST_IS_EMPTY(201, "请求数据为空"), + DATA_TOO_LARGE(201, "请求数据为空"), + UPDATE_NEW_PASSWORD_SAME_AS_OLD_PASSWORD(201, "新密码与密码相同"), + + // 数据相关 206 + ILLEGAL_REQUEST(206, "非法请求"), + REPEAT_SUBMIT(206, "重复提交"), + DATA_ERROR(206, "数据异常"), + EMAIL_USER_TEMPLATE_IS_EMPTY(206, "邮件模板为空"), + EMAIL_TEMPLATE_IS_EMPTY(206, "邮件模板为空"), + EMAIL_USER_IS_EMPTY(206, "关联邮件用户配置为空"), + DATA_EXIST(206, "数据已存在"), + DATA_NOT_EXIST(206, "数据不存在"), + ALREADY_USER_EXCEPTION(206, "用户已存在"), + USER_IS_EMPTY(206, "用户不存在"), + FILE_NOT_EXIST(206, "文件不存在"), + NEW_PASSWORD_SAME_OLD_PASSWORD(206, "新密码不能和旧密码相同"), + MISSING_TEMPLATE_FILES(206, "缺少模板文件"), + + // 身份过期 208 + LOGIN_AUTH(208, "请先登陆"), + AUTHENTICATION_EXPIRED(208, "身份验证过期"), + SESSION_EXPIRATION(208, "会话过期"), + + // 209 + THE_SAME_USER_HAS_LOGGED_IN(209, "相同用户已登录"), + + // 提示错误 + UPDATE_ERROR(216, "修改失败"), + URL_ENCODE_ERROR(216, "URL编码失败"), + ILLEGAL_CALLBACK_REQUEST_ERROR(217, "非法回调请求"), + FETCH_USERINFO_ERROR(219, "获取用户信息失败"), + ILLEGAL_DATA_REQUEST(219, "非法数据请求"), + CLASS_NOT_FOUND(219, "类名不存在"), + ADMIN_ROLE_CAN_NOT_DELETED(219, "无法删除admin角色"), + ROUTER_RANK_NEED_LARGER_THAN_THE_PARENT(219, "设置路由等级需要大于或等于父级的路由等级"), + + // 无权访问 403 + FAIL_NO_ACCESS_DENIED(403, "无权访问"), + FAIL_NO_ACCESS_DENIED_USER_OFFLINE(403, "用户强制下线"), + TOKEN_PARSING_FAILED(403, "token解析失败"), + FAIL_NO_ACCESS_DENIED_USER_LOCKED(403, "该账户已封禁"), + + // 系统错误 500 + UNKNOWN_EXCEPTION(500, "服务异常"), + SERVICE_ERROR(500, "服务异常"), + UPLOAD_ERROR(500, "上传失败"), + FAIL(500, "失败"), + ; + + private final Integer code; + private final String message; + + ResultCodeEnum(Integer code, String message) { + this.code = code; + this.message = message; + } +} \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/vo/GeneratorVo.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/vo/GeneratorVo.java new file mode 100644 index 0000000..017ba67 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/vo/GeneratorVo.java @@ -0,0 +1,31 @@ +package com.auth.module.generator.domain.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Schema(name = "GeneratorVo", description = "生成前端/后端返回参数") +public class GeneratorVo { + + @Schema(name = "id", description = "生成的唯一值") + private String id; + + @Schema(name = "code", description = "生成的代码") + private String code; + + @Schema(name = "tableName", description = "表名") + private String tableName; + + @Schema(name = "comment", description = "注释内容") + private String comment; + + @Schema(name = "path", description = "生成类型路径") + private String path; + +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/vo/VmsPathVo.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/vo/VmsPathVo.java new file mode 100644 index 0000000..a9f0a16 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/domain/vo/VmsPathVo.java @@ -0,0 +1,28 @@ +package com.auth.module.generator.domain.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Schema(name = "GeneratorVo", description = "生成前端/后端路径返回参数") +public class VmsPathVo { + + @Schema(name = "id", description = "生成的唯一值") + private String id; + + @Schema(name = "name", description = "路径名称") + private String name; + + @Schema(name = "label", description = "显示的label") + private String label; + + @Schema(name = "type", description = "文件夹最上级目录名称") + private String type; + +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/exception/GeneratorCodeException.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/exception/GeneratorCodeException.java new file mode 100644 index 0000000..226d0b1 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/exception/GeneratorCodeException.java @@ -0,0 +1,46 @@ +package com.auth.module.generator.exception; + +import com.auth.module.generator.domain.result.ResultCodeEnum; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.extern.slf4j.Slf4j; + +@NoArgsConstructor +@Getter +@ToString +@Slf4j +public class GeneratorCodeException extends RuntimeException { + // 状态码 + Integer code; + + // 描述信息 + String message = "服务异常"; + + // 返回结果状态 + ResultCodeEnum resultCodeEnum; + + public GeneratorCodeException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + public GeneratorCodeException(String message) { + super(message); + this.message = message; + } + + public GeneratorCodeException(ResultCodeEnum codeEnum) { + super(codeEnum.getMessage()); + this.code = codeEnum.getCode(); + this.message = codeEnum.getMessage(); + this.resultCodeEnum = codeEnum; + } + + public GeneratorCodeException(String message, Exception exception) { + super(message); + this.message = message; + log.error(message, exception); + } +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/exception/GlobalExceptionHandler.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/exception/GlobalExceptionHandler.java new file mode 100644 index 0000000..c6442fc --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/exception/GlobalExceptionHandler.java @@ -0,0 +1,105 @@ +package com.auth.module.generator.exception; + +import com.auth.module.generator.domain.result.Result; +import com.auth.module.generator.domain.result.ResultCodeEnum; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.support.DefaultMessageSourceResolvable; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.MethodArgumentNotValidException; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestControllerAdvice; + +import java.sql.SQLIntegrityConstraintViolationException; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +/** + * 全局异常拦截器 + */ +@RestControllerAdvice +@Slf4j +public class GlobalExceptionHandler { + // 自定义异常信息 + @ExceptionHandler(GeneratorCodeException.class) + @ResponseBody + public Result exceptionHandler(GeneratorCodeException exception) { + Integer code = exception.getCode() != null ? exception.getCode() : 500; + return Result.error(null, code, exception.getMessage()); + } + + // 运行时异常信息 + @ExceptionHandler(RuntimeException.class) + @ResponseBody + public Result exceptionHandler(RuntimeException exception) { + String message = exception.getMessage(); + message = StringUtils.hasText(message) ? message : "服务器异常"; + exception.printStackTrace(); + + // 解析异常 + String jsonParseError = "JSON parse error (.*)"; + Matcher jsonParseErrorMatcher = Pattern.compile(jsonParseError).matcher(message); + if (jsonParseErrorMatcher.find()) { + return Result.error(null, 500, "JSON解析异常 " + jsonParseErrorMatcher.group(1)); + } + + // 数据过大 + String dataTooLongError = "Data too long for column (.*?) at row 1"; + Matcher dataTooLongErrorMatcher = Pattern.compile(dataTooLongError).matcher(message); + if (dataTooLongErrorMatcher.find()) { + return Result.error(null, 500, dataTooLongErrorMatcher.group(1) + " 字段数据过大"); + } + + // 主键冲突 + String primaryKeyError = "Duplicate entry '(.*?)' for key .*"; + Matcher primaryKeyErrorMatcher = Pattern.compile(primaryKeyError).matcher(message); + if (primaryKeyErrorMatcher.find()) { + return Result.error(null, 500, "[" + primaryKeyErrorMatcher.group(1) + "]已存在"); + } + + // corn表达式错误 + String cronExpression = "CronExpression '(.*?)' is invalid"; + Matcher cronExpressionMatcher = Pattern.compile(cronExpression).matcher(message); + if (cronExpressionMatcher.find()) { + return Result.error(null, 500, "表达式 " + cronExpressionMatcher.group(1) + " 不合法"); + } + + log.error("GlobalExceptionHandler===>运行时异常信息:{}", message); + return Result.error(null, 500, message); + } + + // 表单验证字段 + @ExceptionHandler(MethodArgumentNotValidException.class) + public Result handleValidationExceptions(MethodArgumentNotValidException ex) { + String errorMessage = ex.getBindingResult().getFieldErrors().stream() + .map(DefaultMessageSourceResolvable::getDefaultMessage) + .distinct() + .collect(Collectors.joining(", ")); + return Result.error(null, 201, errorMessage); + } + + // 特定异常处理 + @ExceptionHandler(ArithmeticException.class) + @ResponseBody + public Result error(ArithmeticException exception) { + log.error("GlobalExceptionHandler===>特定异常信息:{}", exception.getMessage()); + + return Result.error(null, 500, exception.getMessage()); + } + + // 处理SQL异常 + @ExceptionHandler(SQLIntegrityConstraintViolationException.class) + @ResponseBody + public Result exceptionHandler(SQLIntegrityConstraintViolationException exception) { + log.error("GlobalExceptionHandler===>处理SQL异常:{}", exception.getMessage()); + + String message = exception.getMessage(); + if (message.contains("Duplicate entry")) { + // 错误信息 + return Result.error(ResultCodeEnum.USER_IS_EMPTY); + } else { + return Result.error(ResultCodeEnum.UNKNOWN_EXCEPTION); + } + } +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/exception/MetadataNotFoundException.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/exception/MetadataNotFoundException.java new file mode 100644 index 0000000..a1fe805 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/exception/MetadataNotFoundException.java @@ -0,0 +1,7 @@ +package com.auth.module.generator.exception; + +public class MetadataNotFoundException extends RuntimeException { + public MetadataNotFoundException(String message) { + super(message); + } +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/exception/MetadataProviderException.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/exception/MetadataProviderException.java new file mode 100644 index 0000000..f1601ba --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/exception/MetadataProviderException.java @@ -0,0 +1,7 @@ +package com.auth.module.generator.exception; + +public class MetadataProviderException extends RuntimeException { + public MetadataProviderException(String message, Throwable cause) { + super(message, cause); + } +} \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/exception/SqlParseException.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/exception/SqlParseException.java new file mode 100644 index 0000000..4323791 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/exception/SqlParseException.java @@ -0,0 +1,7 @@ +package com.auth.module.generator.exception; + +public class SqlParseException extends MetadataProviderException { + public SqlParseException(String message, Throwable cause) { + super(message, cause); + } +} \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/GeneratorService.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/GeneratorService.java new file mode 100644 index 0000000..4fd95e1 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/GeneratorService.java @@ -0,0 +1,49 @@ +package com.auth.module.generator.service; + +import com.auth.module.generator.domain.dto.VmsArgumentDto; +import com.auth.module.generator.domain.vo.GeneratorVo; +import jakarta.validation.Valid; +import org.springframework.http.ResponseEntity; + +import java.util.List; +import java.util.Map; + +/** + * 代码生成服务接口 + * 提供基于数据库和SQL的代码生成功能 + */ +public interface GeneratorService { + + /** + * 根据数据库表生成代码 + * + * @param dto 生成参数 + * @return 生成的代码,按表名分组 + */ + Map> generateCodeByDatabase(VmsArgumentDto dto); + + /** + * 根据SQL语句生成代码 + * + * @param dto 生成参数 + * @return 生成的代码,按表名分组 + */ + Map> generateCodeBySql(VmsArgumentDto dto); + + /** + * 打包数据库生成的代码为ZIP下载 + * + * @param dto 生成参数 + * @return ZIP文件响应实体 + */ + ResponseEntity downloadByZipByDatabase(@Valid VmsArgumentDto dto); + + /** + * 打包SQL生成的代码为ZIP下载 + * + * @param dto 生成参数 + * @return ZIP文件响应实体 + */ + ResponseEntity downloadByZipBySqL(@Valid VmsArgumentDto dto); + +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/TableService.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/TableService.java new file mode 100644 index 0000000..cec9899 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/TableService.java @@ -0,0 +1,14 @@ +package com.auth.module.generator.service; + +import com.auth.module.generator.domain.entity.DatabaseInfoMetaData; + +public interface TableService { + + /** + * 数据库所有的信息 + * + * @return 当前连接的数据库信息属性 + */ + DatabaseInfoMetaData databaseInfoMetaData(); + +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/VmsService.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/VmsService.java new file mode 100644 index 0000000..fc5d20e --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/VmsService.java @@ -0,0 +1,17 @@ +package com.auth.module.generator.service; + +import com.auth.module.generator.domain.vo.VmsPathVo; + +import java.util.List; +import java.util.Map; + +public interface VmsService { + + /** + * 获取vms文件路径 + * + * @return vms下的文件路径 + */ + Map> vmsResourcePathList(); + +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/helper/VmsGeneratorPathHelper.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/helper/VmsGeneratorPathHelper.java new file mode 100644 index 0000000..9e44b2d --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/helper/VmsGeneratorPathHelper.java @@ -0,0 +1,74 @@ +package com.auth.module.generator.service.helper; + +import com.auth.module.generator.utils.MysqlTypeConvertUtil; +import com.google.common.base.CaseFormat; + +import java.util.Map; + +/** + * 代码生成工具类 + */ +public class VmsGeneratorPathHelper { + private static final Map FILE_TYPE_SUFFIXES = Map.of( + "controller", "Controller", + "service", "Service", + "serviceImpl", "ServiceImpl", + "mapper", "Mapper", + "resourceMapper", "Mapper", + "dto", "Dto", + "entity", "Entity", + "vo", "Vo" + ); + + /** + * 处理模板文件路径和命名 + * + * @param path 原始模板路径 + * @param tableName 数据库表名 + * @return 处理后的文件路径 + */ + public static String processVmPath(String path, String tableName) { + String lowerCamelCase = MysqlTypeConvertUtil.convertToCamelCase(tableName, false); + + if (lowerCamelCase != null) { + String[] pathParts = path.replace("$className", lowerCamelCase).split("/"); + // 处理文件名 + pathParts[pathParts.length - 1] = processFilename( + pathParts[pathParts.length - 1], + lowerCamelCase + ); + + return String.join("/", pathParts); + } + + return path; + } + + /** + * 处理文件名生成 + */ + private static String processFilename(String filename, String tableName) { + filename = filename.replace(".vm", ""); + String[] parts = filename.split("\\."); + String baseName = parts[0]; + String extension = parts.length > 1 ? parts[1] : ""; + + String upperCamelCase = MysqlTypeConvertUtil.convertToCamelCase(tableName, true); + String lowerCamelCase = MysqlTypeConvertUtil.convertToCamelCase(tableName, false); + + // 如果包含Java和xml需要进行处理 + if (filename.contains("java") || filename.contains("xml")) { + return upperCamelCase + FILE_TYPE_SUFFIXES.getOrDefault(baseName, "") + "." + extension; + } + + if (filename.equals("api.ts") || filename.equals("store.ts")) { + return lowerCamelCase + ".ts"; + } + + if (filename.equals("dialog.vue")) { + return CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_HYPHEN, lowerCamelCase) + "-dialog.vue"; + } + + return filename; + } +} \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/impl/GeneratorServiceImpl.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/impl/GeneratorServiceImpl.java new file mode 100644 index 0000000..ae53c6c --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/impl/GeneratorServiceImpl.java @@ -0,0 +1,153 @@ +package com.auth.module.generator.service.impl; + +import com.auth.module.generator.core.provider.IMetadataProvider; +import com.auth.module.generator.core.template.VmsTBaseTemplateGenerator; +import com.auth.module.generator.domain.dto.VmsArgumentDto; +import com.auth.module.generator.domain.entity.ColumnMetaData; +import com.auth.module.generator.domain.entity.TableMetaData; +import com.auth.module.generator.domain.vo.GeneratorVo; +import com.auth.module.generator.service.GeneratorService; +import com.auth.module.generator.service.helper.VmsGeneratorPathHelper; +import com.auth.module.generator.utils.ZipFileUtil; +import lombok.RequiredArgsConstructor; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * 代码生成服务实现类 + * 实现基于数据库和SQL的代码生成逻辑 + */ +@Service +@RequiredArgsConstructor +public class GeneratorServiceImpl implements GeneratorService { + + private final IMetadataProvider databaseMetadataProvider; + private final IMetadataProvider sqlMetadataProvider; + + /** + * 代码生成方法---数据库生成 + * + * @param dto 生成参数 + * @return 生成的代码,按表名分组 + */ + @Override + public Map> generateCodeByDatabase(VmsArgumentDto dto) { + return dto.getTableNames().parallelStream() + .flatMap(tableName -> { + TableMetaData tableMeta = databaseMetadataProvider.getTableMetadata(tableName); + List columns = databaseMetadataProvider.getColumnInfoList(tableName); + return getGeneratorStream(dto, tableMeta, columns); + }) + .collect(Collectors.groupingBy(GeneratorVo::getTableName)); + } + + /** + * 代码生成方法---Sql语句生成 + * + * @param dto 生成参数 + * @return 生成的代码,按表名分组 + */ + @Override + public Map> generateCodeBySql(VmsArgumentDto dto) { + // 根据Sql语句进行分析表的属性和表列字段 + String sql = dto.getSql(); + TableMetaData tableMeta = sqlMetadataProvider.getTableMetadata(sql); + List columns = sqlMetadataProvider.getColumnInfoList(sql); + + // 生成代码 + List generatorVoList = getGeneratorStream(dto, tableMeta, columns).toList(); + + Map> map = new HashMap<>(); + map.put(tableMeta.getTableName(), generatorVoList); + + return map; + } + + /** + * 根据数据库进行生成 + * + * @param dto 生成参数 + * @return 生成的ZIP文件 + */ + @Override + public ResponseEntity downloadByZipByDatabase(VmsArgumentDto dto) { + return downloadByZip(dto, this::generateCodeByDatabase); + } + + /** + * 根据Sql语句及逆行生成 + * + * @param dto 生成参数 + * @return 生成的ZIP文件 + */ + @Override + public ResponseEntity downloadByZipBySqL(VmsArgumentDto dto) { + return downloadByZip(dto, this::generateCodeBySql); + } + + /** + * 通用ZIP打包下载方法 + * + * @param dto 生成参数 + * @param generator 代码生成函数 + * @return ZIP文件响应实体 + */ + private ResponseEntity downloadByZip(VmsArgumentDto dto, + Function>> generator) { + // 调用生成函数 + List generatorVoList = generator.apply(dto) + .values().stream() + .flatMap(Collection::stream) + .toList(); + + // 创建Zip文件 + byte[] zipBytes = ZipFileUtil.createZipFile(generatorVoList); + + // 设置返回给前端的文件名 + String zipFilename = "code-" + UUID.randomUUID().toString().split("-")[0] + ".zip"; + + HttpHeaders headers = new HttpHeaders(); + headers.add("Content-Disposition", "attachment; filename=" + zipFilename); + headers.add("Cache-Control", "no-cache, no-store, must-revalidate"); + headers.add("Pragma", "no-cache"); + headers.add("Expires", "0"); + + return new ResponseEntity<>(zipBytes, headers, HttpStatus.OK); + } + + /** + * 获取生成器流 + * + * @param dto 生成参数 + * @param tableMeta 表元数据 + * @param columns 列信息 + * @return 生成器流 + */ + public Stream getGeneratorStream(VmsArgumentDto dto, TableMetaData tableMeta, List columns) { + // 因为这里使用到了并行流,对 tableMeta 操作正常是会拿到修改后的值,但是在并行流会有线程安全问题,所以直接要手动实现深拷贝 + + return dto.getPath().parallelStream().map(path -> { + // 创建生成模板 + VmsTBaseTemplateGenerator generator = new VmsTBaseTemplateGenerator(dto, path, tableMeta); + + // 生成好的模板 + String code = generator.generateCode(tableMeta, columns).toString(); + String processVmPath = VmsGeneratorPathHelper.processVmPath(path, tableMeta.getCleanTableName()); + + return GeneratorVo.builder() + .id(UUID.randomUUID().toString()) + .code(code) + .comment(tableMeta.getComment()) + .tableName(tableMeta.getTableName()) + .path(processVmPath) + .build(); + }); + } +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/impl/TableServiceImpl.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/impl/TableServiceImpl.java new file mode 100644 index 0000000..0388aa1 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/impl/TableServiceImpl.java @@ -0,0 +1,44 @@ +package com.auth.module.generator.service.impl; + +import com.auth.module.generator.core.provider.DatabaseMetadataProvider; +import com.auth.module.generator.domain.entity.DatabaseInfoMetaData; +import com.auth.module.generator.domain.entity.TableMetaData; +import com.auth.module.generator.service.TableService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.stream.Collectors; + +@Service +@RequiredArgsConstructor +public class TableServiceImpl implements TableService { + + private final DatabaseMetadataProvider databaseMetadataProvider; + + /** + * 数据库所有的信息 + * + * @return 当前连接的数据库信息属性 + */ + @Override + public DatabaseInfoMetaData databaseInfoMetaData() { + List databaseTableList = databaseMetadataProvider.getTableMetadataBatch(null); + + // 将当前数据库表分组,以数据库名称为key + List databaseList = databaseTableList.stream() + .collect(Collectors.groupingBy(TableMetaData::getTableCat)) + .values().stream() + .map(tableInfoVos -> { + TableMetaData tableInfoVo = tableInfoVos.get(0); + tableInfoVo.setTableName(null); + return tableInfoVo; + }) + .toList(); + + DatabaseInfoMetaData databaseInfoMetaData = databaseMetadataProvider.databaseInfoMetaData(); + databaseInfoMetaData.setDatabaseList(databaseList); + + return databaseInfoMetaData; + } +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/impl/VmsServiceImpl.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/impl/VmsServiceImpl.java new file mode 100644 index 0000000..eea8f1c --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/service/impl/VmsServiceImpl.java @@ -0,0 +1,65 @@ +package com.auth.module.generator.service.impl; + +import com.auth.module.generator.domain.vo.VmsPathVo; +import com.auth.module.generator.service.VmsService; +import com.auth.module.generator.utils.ResourceFileUtil; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; +import java.util.UUID; +import java.util.stream.Collectors; + +/** + * VMS服务主实现类,负责协调各子服务完成代码生成、资源管理和打包下载功能 + */ +@Service +@RequiredArgsConstructor +public class VmsServiceImpl implements VmsService { + + /** + * 获取VMS资源文件路径列表并按类型分组 + * + * @return 按类型分组的VMS路径Map,key为类型,value为对应类型的VMS路径列表 + * @throws RuntimeException 当获取资源路径失败时抛出 + */ + @Override + public Map> vmsResourcePathList() { + try { + // 1. 获取vms目录下所有相对路径文件列表 + List vmsRelativeFiles = ResourceFileUtil.getRelativeFiles("vms"); + + // 2. 处理文件路径并分组,将文件路径字符串转换为VmsPathVo对象 + return vmsRelativeFiles.parallelStream() + .map(vmFile -> { + // 分割文件路径 + String[] filepathList = vmFile.split("/"); + + // 获取文件名(不含扩展名) + String filename = filepathList[filepathList.length - 1].replace(".vm", ""); + + /* + 生成前端可用的唯一DOM元素ID + 格式: "id-" + 无横线的UUID (例如: "id-550e8400e29b41d4a716446655440000") + 用途: + 1. 用于关联label标签和input元素的for属性 + 2. 确保列表项在前端有唯一标识 + */ + String id = "id-" + UUID.randomUUID().toString().replace("-", ""); + + return VmsPathVo.builder() + .id(id) + .name(vmFile) + .label(filename) + .type(filepathList[0]) // 使用路径的第一部分作为类型 + .build(); + }) + // 转换为VO对象 + .collect(Collectors.groupingBy(VmsPathVo::getType)); // 按类型分组 + } catch (Exception e) { + throw new RuntimeException("Failed to get VMS resource paths: " + e.getMessage(), e); + } + } + +} \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/utils/MysqlTypeConvertUtil.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/utils/MysqlTypeConvertUtil.java new file mode 100644 index 0000000..519c69d --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/utils/MysqlTypeConvertUtil.java @@ -0,0 +1,52 @@ +package com.auth.module.generator.utils; + +import com.google.common.base.CaseFormat; +import org.assertj.core.util.introspection.CaseFormatUtils; + +/* 类型转换,数据库转Java类型等 */ +public class MysqlTypeConvertUtil { + + /** + * 将数据库类型转换为Java类型 + */ + public static String convertToJavaType(String columnType) { + if (columnType == null) return "Object"; + + columnType = columnType.toLowerCase(); + return switch (columnType) { + case "varchar", "char", "text", "longtext", "mediumtext", "tinytext" -> "String"; + case "int", "integer", "tinyint", "smallint" -> "Integer"; + case "bigint" -> "Long"; + case "decimal", "numeric" -> "BigDecimal"; + case "float" -> "Float"; + case "double" -> "Double"; + case "boolean", "bit", "tinyint unsigned" -> "Boolean"; + case "date", "year" -> "Date"; + case "time" -> "Time"; + case "datetime", "timestamp" -> "LocalDateTime"; + case "blob", "longblob", "mediumblob", "tinyblob" -> "byte[]"; + default -> "Object"; + }; + } + + /** + * 下划线命名转驼峰命名 + * + * @param name 原始名称,传入的值可以是 + * `xxx_xxx` `CaseFormat` + * `caseFormat` + * @param firstLetterCapital 首字母是否大写 + */ + public static String convertToCamelCase(String name, boolean firstLetterCapital) { + if (name == null || name.isEmpty()) return name; + + // 转成小驼峰 + String lowerCamelCase = CaseFormatUtils.toCamelCase(name); + + // 首字母不大写 + if (!firstLetterCapital) return lowerCamelCase; + + // 将小驼峰转成大驼峰 + return CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_CAMEL, lowerCamelCase); + } +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/utils/ResourceFileUtil.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/utils/ResourceFileUtil.java new file mode 100644 index 0000000..c07dec7 --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/utils/ResourceFileUtil.java @@ -0,0 +1,134 @@ +package com.auth.module.generator.utils; + +import java.io.File; +import java.io.IOException; +import java.net.URISyntaxException; +import java.net.URL; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Enumeration; +import java.util.List; +import java.util.jar.JarEntry; +import java.util.jar.JarFile; +import java.util.stream.Stream; + +/* 当前生产/开发下的资源文件 */ +public class ResourceFileUtil { + + /** + * 获取目标文件夹下所有文件完整路径 + * + * @param dirname 文件夹名称 + * @return 目标文件完整路径 + * @throws IOException IOException + */ + public static List getAbsoluteFiles(String dirname) throws IOException { + List fileNames = new ArrayList<>(); + + // 加载当前类 + ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); + Enumeration urls = classLoader.getResources(dirname); + + while (urls.hasMoreElements()) { + URL url = urls.nextElement(); + if (url.getProtocol().equals("file")) { + // 文件系统 + File file = new File(url.getFile()); + if (file.isDirectory()) { + addFullFilesFromDirectory(file, fileNames); + } + } else if (url.getProtocol().equals("jar")) { + // JAR文件 + String jarPath = url.getPath().substring(5, url.getPath().indexOf("!")); + try (JarFile jar = new JarFile(jarPath)) { + Enumeration entries = jar.entries(); + while (entries.hasMoreElements()) { + String name = entries.nextElement().getName(); + if (name.startsWith(dirname + "/") && !name.endsWith("/")) { + fileNames.add(name); + } + } + } + } + } + + return fileNames; + } + + /** + * 添加文件 + * 获取目标文件夹下所有文件完整路径 + * + * @param directory 文件夹 + * @param fileNames 文件名称 + */ + private static void addFullFilesFromDirectory(File directory, List fileNames) { + File[] files = directory.listFiles(); + if (files != null) { + for (File file : files) { + if (file.isFile()) { + fileNames.add(file.getPath()); + } else if (file.isDirectory()) { + addFullFilesFromDirectory(file, fileNames); + } + } + } + } + + /** + * 获取相对文件夹路径 + * + * @return 相对当前的文件夹路径 + * @throws IOException IOException + * @throws URISyntaxException URISyntaxException + */ + public static List getRelativeFiles(String dirname) throws IOException, URISyntaxException { + ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); + URL resource = classLoader.getResource(dirname); + + if (resource == null) return Collections.emptyList(); + + // 处理JAR包内的情况 + if (resource.getProtocol().equals("jar")) { + return getFilesFromJar(resource, dirname); + } else { + // 处理文件系统情况 + return getFilesFromFileSystem(resource); + } + } + + private static List getFilesFromJar(URL jarUrl, String dirname) throws IOException { + List fileNames = new ArrayList<>(); + String jarPath = jarUrl.getPath().substring(5, jarUrl.getPath().indexOf("!")); + + try (JarFile jar = new JarFile(jarPath)) { + jar.entries().asIterator() + .forEachRemaining(entry -> { + String name = entry.getName(); + String prefix = dirname + "/"; + + if (name.startsWith(prefix) && !name.endsWith("/")) { + fileNames.add(name.substring(prefix.length())); + } + }); + } + + return fileNames; + } + + private static List getFilesFromFileSystem(URL resource) throws IOException, URISyntaxException { + Path filepath = Paths.get(resource.toURI()); + + try (Stream paths = Files.walk(filepath)) { + return paths.filter(Files::isRegularFile) + .map(filepath::relativize) + .map(Path::toString) + // 统一使用/作为分隔符 + .map(s -> s.replace('\\', '/')) + .toList(); + } + } +} diff --git a/auth-module/module-generator-code/src/main/java/com/auth/module/generator/utils/ZipFileUtil.java b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/utils/ZipFileUtil.java new file mode 100644 index 0000000..08a5abd --- /dev/null +++ b/auth-module/module-generator-code/src/main/java/com/auth/module/generator/utils/ZipFileUtil.java @@ -0,0 +1,58 @@ +package com.auth.module.generator.utils; + + +import com.auth.module.generator.domain.vo.GeneratorVo; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.List; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; + +/** + * VMS代码生成系统的ZIP打包服务 + * + * 提供将生成的代码模板打包为ZIP文件并支持下载的功能 + */ +public class ZipFileUtil { + + private static final String FILE_EXTENSION = ".vm"; + private static final String UTF_8 = StandardCharsets.UTF_8.name(); + + /** + * 创建ZIP文件 + * + * @param generatorVoList 生成的代码列表 + * @return ZIP文件字节数组 + * @throws RuntimeException 打包失败时抛出 + */ + public static byte[] createZipFile(List generatorVoList) { + try (ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + ZipOutputStream zipOutputStream = new ZipOutputStream(byteArrayOutputStream, StandardCharsets.UTF_8)) { + + generatorVoList.forEach(vo -> addToZip(zipOutputStream, vo)); + return byteArrayOutputStream.toByteArray(); + } catch (IOException e) { + throw new RuntimeException("Failed to create ZIP file", e); + } + } + + /** + * 添加文件到ZIP 将单个代码文件添加到ZIP输出流 + * + * @param zipOutputStream ZIP文件输出流 + * @param generatorVo 代码生成结果对象,包含文件路径和内容 + * @throws RuntimeException 当文件添加失败时抛出,包含失败文件路径信息 + */ + private static void addToZip(ZipOutputStream zipOutputStream, GeneratorVo generatorVo) { + try { + String entryPath = generatorVo.getPath().replace(FILE_EXTENSION, ""); + zipOutputStream.putNextEntry(new ZipEntry(entryPath)); + zipOutputStream.write(generatorVo.getCode().getBytes(UTF_8)); + zipOutputStream.closeEntry(); + } catch (IOException e) { + throw new RuntimeException("Failed to add file to ZIP: " + generatorVo.getPath(), e); + } + } +} \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/application-dev.yml b/auth-module/module-generator-code/src/main/resources/application-dev.yml new file mode 100644 index 0000000..bd0da75 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/application-dev.yml @@ -0,0 +1,7 @@ +bunny: + master: + host: rm-bp12z6hlv46vi6g8mro.mysql.rds.aliyuncs.com + port: 3306 + database: test_auth + username: bunny_test + password: Test1234 \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/application.yml b/auth-module/module-generator-code/src/main/resources/application.yml new file mode 100644 index 0000000..d147074 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/application.yml @@ -0,0 +1,32 @@ +server: + port: 8800 + +spring: + profiles: + active: dev + application: + name: generator-code + devtools: + livereload: + enabled: true + port: 8880 + + thymeleaf: + check-template-location: false + + datasource: + type: com.zaxxer.hikari.HikariDataSource + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://${bunny.master.host}:${bunny.master.port}/${bunny.master.database}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true + username: ${bunny.master.username} + password: ${bunny.master.password} + hikari: + maximum-pool-size: 20 + connection-timeout: 30000 + +logging: + file: + path: "logs/${spring.application.name}" + level: + root: info + com.auth: debug diff --git a/auth-module/module-generator-code/src/main/resources/banner.txt b/auth-module/module-generator-code/src/main/resources/banner.txt new file mode 100644 index 0000000..2bda6cf --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/banner.txt @@ -0,0 +1,13 @@ + + ____ _____ _ + | _ \ / ____| | | + | |_) |_ _ _ __ _ __ _ _ | | __ ___ _ __ ___ _ __ __ _| |_ ___ _ __ + | _ <| | | | '_ \| '_ \| | | | | | |_ |/ _ \ '_ \ / _ \ '__/ _` | __/ _ \| '__| + | |_) | |_| | | | | | | | |_| | | |__| | __/ | | | __/ | | (_| | || (_) | | + |____/ \__,_|_| |_|_| |_|\__, | \_____|\___|_| |_|\___|_| \__,_|\__\___/|_| + __/ | + |___/ + +Service Name${spring.application.name} +SpringBoot Version: ${spring-boot.version}${spring-boot.formatted-version} +Spring Active:${spring.profiles.active} diff --git a/auth-module/module-generator-code/src/main/resources/database.sqlite b/auth-module/module-generator-code/src/main/resources/database.sqlite new file mode 100644 index 0000000..e69de29 diff --git a/auth-module/module-generator-code/src/main/resources/logback.xml b/auth-module/module-generator-code/src/main/resources/logback.xml new file mode 100644 index 0000000..02b7abe --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/logback.xml @@ -0,0 +1,72 @@ + + + logback + + + + + + + + + + + + + + DEBUG + + + + %cyan([%thread %d{yyyy-MM-dd HH:mm:ss}]) %yellow(%-5level) %green(%logger{100}).%boldRed(%method)-%boldMagenta(%line)-%blue(%msg%n) + + ${ENCODING} + + + + + + logs/${APP_NAME}/${datetime}.log + true + + %date{yyyy-MM-dd HH:mm:ss} [%-5level] %thread %file:%line %logger %msg%n + ${ENCODING} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/400.html b/auth-module/module-generator-code/src/main/resources/static/error/400.html new file mode 100644 index 0000000..28842ce --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/400.html @@ -0,0 +1,69 @@ + + + + + 400 错误 - generator-code + + + + + + + + + + + + + + + + + + HTTP 400 - Bad Request + + 错误说明:因为错误的语法导致服务器无法理解请求信息。 + 原因1:客户端发起的请求不符合服务器对请求的某些限制,或者请求本身存在一定的错误。 + 解决办法: + 链接中有特殊字符或者链接长度过长导致,请对应修改. + 原因2:request header 或者 cookie 过大所引起 + 解决办法: + crtl+shift+delete 快捷键清除cookie. + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/403.html b/auth-module/module-generator-code/src/main/resources/static/error/403.html new file mode 100644 index 0000000..377cb48 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/403.html @@ -0,0 +1,69 @@ + + + + + 403 错误 - generator-code + + + + + + + + + + + + + + + + + + 403 - Forbidden 禁止访问: 访问被拒绝 + + 错误说明:禁止访问,服务器拒绝访问 + 原因1:未找到默认的索引文件 + 解决办法: + IIS中【启用默认内容文档】选项中将默认打开文档修改为程序首页文件格式,如:index.html或者index.php + 原因2:文件夹安全权限导致 + 解决办法: + 程序文件-右击-属性-安全-Users-修改为读取和执行权限 + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/404.html b/auth-module/module-generator-code/src/main/resources/static/error/404.html new file mode 100644 index 0000000..ee55cb0 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/404.html @@ -0,0 +1,78 @@ + + + + + 404 错误 - generator-code + + + + + + + + + + + + + + + + + + 404 - Page Not Found 未找到 + + 错误说明:请求的页面不存在 + 原因1:访问的文档权限不够 + 解决办法: + 修改文件权限为755,windos系统修改目录权限为可写可读。 + 原因2:防火墙的原因 + 解决办法: + 先关闭让防火墙通过WWW服务。 + 原因3:站点根目录无默认访问文件 + 解决办法: + 在根目录中创建index.html或者创建index.php。 + 原因4:站点配置目录不正确 + 解决办法: + 将网站应用程序复制到站点目录中,或者修改站点配置目录指定到应用程序目录中。 + 原因5:站点使用了伪静态 + 解决办法: + 将伪静态规则删除,或者重新编写正确的伪静态规则,或关闭伪静态配置。 + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/500.html b/auth-module/module-generator-code/src/main/resources/static/error/500.html new file mode 100644 index 0000000..6071bf4 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/500.html @@ -0,0 +1,64 @@ + + + + + 500 - 服务器错误 + + + + + + :'( + 服务器开小差啦!管理员正在修理中... + 还请阁下静候站点恢复~ + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/501.html b/auth-module/module-generator-code/src/main/resources/static/error/501.html new file mode 100644 index 0000000..feef796 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/501.html @@ -0,0 +1,66 @@ + + + + + 501 错误 - generator-code + + + + + + + + + + + + + + + + + + HTTP 501 - Not Implemented + + 错误说明:服务器没有相应的执行动作来完成当前请求。 + 原因1:Web 服务器不支持实现此请求所需的功能 + 解决办法: + 可以用来HttpWebRequest指定一个UserAgent来试试的,有时候你可以换电脑来测试一下的。 + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/502.html b/auth-module/module-generator-code/src/main/resources/static/error/502.html new file mode 100644 index 0000000..a64a8b0 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/502.html @@ -0,0 +1,80 @@ + + + + + 502 错误 - generator-code + + + + + + + + + + + + + + + + + + HTTP 502 - Bad Gateway 没有响应 + + 错误说明:坏的网关,http向后端节点请求,没有响应 + 原因1:DNS 缓冲 + 解决办法: + 在dos窗口运行 ipconfig /flushdns,该命令会刷新DNS缓冲。 + 原因2:浏览器代理 + 解决办法: + 关掉代理。 + 原因3:dns 被劫持了,即使使用国外的dns,也会被劫持 + 解决办法: + + 去掉VPN服务器的DNS。切换另外的dns。在windows系统中,可以在本地网络连接的属性中,去掉默认的dns,选用国外的dns,比如google的或opendns。 + + 原因4:php执行超时 + 解决办法: + 修改/usr/local/php/etc/php.ini 将max_execution_time 改为300。 + 原因5:nginx等待时间超时 + 解决办法: + 适当增加nginx.conf配置文件中FastCGI的timeout时间。 + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/503.html b/auth-module/module-generator-code/src/main/resources/static/error/503.html new file mode 100644 index 0000000..ddf0194 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/503.html @@ -0,0 +1,69 @@ + + + + + 503 错误 - generator-code + + + + + + + + + + + + + + + + + + HTTP 503 - Service Unavailable 服务不可用 + + 错误说明:服务当前不可用 + 原因1:服务不可用状态 + 解决办法: + 服务器或许就是正在维护或者暂停了,你可以联系一下服务器空间商。 + 原因2:程序占用资源太多 + 解决办法: + 通过设置应用程序池把账户改为NetworkService即可解决。 + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/504.html b/auth-module/module-generator-code/src/main/resources/static/error/504.html new file mode 100644 index 0000000..08b6011 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/504.html @@ -0,0 +1,81 @@ + + + + + 504 错误 - generator-code + + + + + + + + + + + + + + + + + + HTTP 504 - Gateway Timeout 网关超时 + + 错误说明:网关超时,服务器响应时间,达到超出设定的范围 + 原因1:后端电脑之间 IP 通讯缓慢而产生 + 解决办法: + 如果您的 Web 服务器由某一网站托管, 只有负责那个网站设置的人员才能解决这个问题。 + 原因2:由于nginx默认的fastcgi进程响应的缓冲区太小造成的错误 + 解决办法: + 一般默认的fastcgi进程响应的缓冲区是8K,这时可以设置大一点,在nginx.conf里,加入:fastcgi_buffers 8 + 128k这表示设置fastcgi缓冲区为8块128k大小的空间。当然如果在进行某一项即时的操作, 可能需要nginx的超时参数调大点, + 例如设置成60秒:send_timeout 60;经过这两个参数的调整,一般不会再提示“504 Gateway Time-out”错误,问题基本解决。 + + 原因3:PHP环境的配置问题 + 解决办法: + 更改php-fpm的几处配置: 把max_children由之前的10改为现在的30,这样就可以保证有充足的php-cgi进程可以被使用; + 把request_terminate_timeout由之前的0s改为60s,这样php-cgi进程 处理脚本的超时时间就是60秒,可以防止进程都被挂起,提高利用效率。 + 接着再更改nginx的几个配置项,减少FastCGI的请求次数,尽量维持buffers不变: fastcgi_buffers由 4 64k 改为 2 + 256k; fastcgi_buffer_size 由 64k 改为 128K; fastcgi_busy_buffers_size 由 128K 改为 256K; + fastcgi_temp_file_write_size 由 128K 改为 256K。 重新加载php-fpm和nginx的配置,再次测试,如果没有出现“504 + Gateway Time-out”错误,问题解决。 + + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/505.html b/auth-module/module-generator-code/src/main/resources/static/error/505.html new file mode 100644 index 0000000..a178516 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/505.html @@ -0,0 +1,72 @@ + + + + + 505 错误 - generator-code + + + + + + + + + + + + + + + + + + HTTP 505 - HTTP Version Not Supported + + 错误说明:HTTP 版本不受支持。 + 原因1:您的 Web 服务器不支持,或拒绝支持客户端(如您的浏览器)在发送给服务器的 HTTP 请求数据流中指定的 HTTP + 协议版本 + + 解决办法: + 升级您的 Web 服务器软件。 + 原因2:http请求格式的错误 + 解决办法: + 对照一下自己的代码,从打印的信息中终于找到问题所在。可能在请求后面多加了一个空格。http协议真是很严格了。 + + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/506.html b/auth-module/module-generator-code/src/main/resources/static/error/506.html new file mode 100644 index 0000000..5e6c238 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/506.html @@ -0,0 +1,66 @@ + + + + + 506 错误 - generator-code + + + + + + + + + + + + + + + + + + HTTP 506 - Variant Also Negotiates + + 错误说明: + 原因1:服务器存在内部配置错误 + 解决办法: + 被请求的协商变元资源被配置为在透明内容协商中使用自己,因此在一个协商处理中不是一个合适的重点。 + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/507.html b/auth-module/module-generator-code/src/main/resources/static/error/507.html new file mode 100644 index 0000000..b0a328c --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/507.html @@ -0,0 +1,66 @@ + + + + + 507 错误 - generator-code + + + + + + + + + + + + + + + + + + HTTP 507 - Insufficient Storage + + 错误说明: + 原因1:服务器无法存储完成请求所必须的内容 + 解决办法: + 这个状况被认为是临时的。WebDAV (RFC 4918)。 + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/509.html b/auth-module/module-generator-code/src/main/resources/static/error/509.html new file mode 100644 index 0000000..a0a3e49 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/509.html @@ -0,0 +1,66 @@ + + + + + 509 错误 - generator-code + + + + + + + + + + + + + + + + + + HTTP 509 - Bandwidth Limit Exceeded + + 错误说明: + 原因1:网站流量已经超出您所购买的方案限制即服务器达到带宽限制 + 解决办法: + 1.升级方案 2.等到下个月后流量重新计算,网站即可正常浏览。 + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/510.html b/auth-module/module-generator-code/src/main/resources/static/error/510.html new file mode 100644 index 0000000..7fcc8c0 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/510.html @@ -0,0 +1,66 @@ + + + + + 510 错误 - generator-code + + + + + + + + + + + + + + + + + + HTTP 510 - Not Extended + + 错误说明: + 原因1:获取资源所需要的策略并没有被满足 + 解决办法: + 需要请求有额外的扩展内容,服务器才能处理请求。 + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/favicon.ico b/auth-module/module-generator-code/src/main/resources/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..17f9dd11abe93a4170a7879244d0fea91142ca9a GIT binary patch literal 67758 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 qfFZyTUd_qf*=C` literal 0 HcmV?d00001 diff --git a/auth-module/module-generator-code/src/main/resources/static/src/components/AppGeneratorPage.js b/auth-module/module-generator-code/src/main/resources/static/src/components/AppGeneratorPage.js new file mode 100644 index 0000000..b5a79b5 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/src/components/AppGeneratorPage.js @@ -0,0 +1,179 @@ +const AppGeneratorPage = defineComponent({ + name: "MainGeneratorPage", + template: ` + + + + + + 模板生成页面 + + 已生成的文件列表 + + + + + + + + + {{table}} + {{value.length}} 模板 + + + + + + + + + + + + 【{{item.comment}}】{{item.path}} + + + + + + + + + + + + + + + + +{{item.code}} + + + + + + + + + + + + + + + + `, + props: { + // 是否显示生成页面 + generatorPageFlag: {type: Boolean, default: true}, + // 生成模板数据 + generatorData: {type: Object}, + }, + data() { + return { + // 控制图标状态的响应式变量 + copied: ref(false), + // 存储 offcanvas 实例 + offcanvas: ref(null) + } + }, + methods: { + /** + * 点击复制图表 + * 几秒后恢复原状 + */ + async onCopyToClipboard(code) { + this.copied = true; + + try { + await navigator.clipboard.writeText(code); + antd.notification.open({ + type: 'success', + message: '复制成功', + description: '已将内容复制至剪切板', + duration: 3, + }); + } catch (err) { + antd.notification.open({ + type: 'error', + message: '复制失败', + description: err.message``, + duration: 3, + }); + console.error('复制失败:', err); + // 回退到传统方法 + const textarea = document.createElement('textarea'); + textarea.value = code; + document.body.appendChild(textarea); + textarea.select(); + document.execCommand('copy'); + document.body.removeChild(textarea); + } + + // 显示已复制图标时长 + if (this.copied) { + setTimeout(() => { + this.copied = false; + }, 2000) + } + }, + + /* 下载全部文件 */ + onDownloadAllFile() { + // 遍历所有文件并下载 + Object.values(this.generatorData).flat().forEach(item => { + const blob = new Blob([item.code], {type: 'text/plain'}); + const url = URL.createObjectURL(blob); + const link = document.createElement('a'); + + // 从路径中提取文件名 + const fileName = item.path.split('/').pop(); + + link.href = url; + link.download = fileName; + document.body.appendChild(link); + link.click(); + + // 清理 + setTimeout(() => { + document.body.removeChild(link); + URL.revokeObjectURL(url); + }, 100); + }); + }, + + /* 关闭窗口 */ + onGeneratorPageFlagClick() { + this.$emit("update:generatorPageFlag", !this.generatorPageFlag); + }, + }, + mounted() { + // 初始化 OffCanvas + this.offcanvas = new bootstrap.Offcanvas(this.$refs.offcanvasElementRef); + // 监听隐藏事件 + this.$refs.offcanvasElementRef.addEventListener('hidden.bs.offcanvas', () => { + this.$emit("update:generatorPageFlag", false); + }); + }, + watch: { + generatorPageFlag(newVal) { + if (newVal) { + this.offcanvas.show(); + } else { + this.offcanvas.hide(); + } + }, + } +}); \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/src/components/AppHeader.js b/auth-module/module-generator-code/src/main/resources/static/src/components/AppHeader.js new file mode 100644 index 0000000..4b658bd --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/src/components/AppHeader.js @@ -0,0 +1,54 @@ +// 如果一开始定义过了 defineComponent 就不要在下 script 标签中再写了 +const {defineComponent} = Vue; + +// 定义 Header 组件 +const AppHeader = defineComponent({ + name: "AppHeader", + template: ` + + + + + + Bunny{{ title || '代码生成器' }} + + + 快速生成数据库表对应的代码,这里可以跳转到 + 数据库生成 + 或 + SQL语句生成 + + + + + + + + + + GitHub 仓库 + + + + + + + + Gitee 仓库 + + + + + `, + data() { + return { + title: document.title, + } + } +}); diff --git a/auth-module/module-generator-code/src/main/resources/static/src/config/axios-config.js b/auth-module/module-generator-code/src/main/resources/static/src/config/axios-config.js new file mode 100644 index 0000000..6234e1a --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/src/config/axios-config.js @@ -0,0 +1,42 @@ +// axios 配置 +const axiosInstance = axios.create({ + baseURL: 'http://localhost:8800/api', + timeout: 16000, + headers: {'Content-Type': 'application/json;charset=utf-8'}, +}); + + +// 响应拦截器 +axiosInstance.interceptors.response.use( + (response) => { + // 检查配置的响应类型是否为二进制类型('blob' 或 'arraybuffer'), 如果是,直接返回响应对象 + if (response.config.responseType === 'blob' || response.config.responseType === 'arraybuffer') { + return response; + } + + if (response.status === 200) { + const {code, message} = response.data; + if (code !== 200) { + antd.message.error(message); + } + return response.data; + } + + // 系统出错 + return Promise.reject(response.data.message || 'Error'); + }, + (error) => { + // 异常处理 + if (error.response.data) { + const {code, message} = error.response.data; + if (code === 500) { + antd.message.error(message); + } else { + antd.message.error(message || '系统出错'); + } + + return error.response.data; + } + return Promise.reject(error.message); + } +); \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/src/config/highlight-config.js b/auth-module/module-generator-code/src/main/resources/static/src/config/highlight-config.js new file mode 100644 index 0000000..5944267 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/src/config/highlight-config.js @@ -0,0 +1,5 @@ +document.addEventListener('DOMContentLoaded', (event) => { + document.querySelectorAll('pre code').forEach((block) => { + hljs.highlightElement(block); + }); +}); \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/src/config/popper-config.js b/auth-module/module-generator-code/src/main/resources/static/src/config/popper-config.js new file mode 100644 index 0000000..e5516aa --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/src/config/popper-config.js @@ -0,0 +1,5 @@ +document.addEventListener('DOMContentLoaded', function () { + // 初始化所有tooltip + const tooltips = document.querySelectorAll('[data-bs-toggle="tooltip"]'); + [...tooltips].forEach(t => new bootstrap.Tooltip(t)); +}); \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/src/lib/css/bootstrap/bootstrap-icons.min.css b/auth-module/module-generator-code/src/main/resources/static/src/lib/css/bootstrap/bootstrap-icons.min.css new file mode 100644 index 0000000..487ada0 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/src/lib/css/bootstrap/bootstrap-icons.min.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap Icons v1.11.1 (https://icons.getbootstrap.com/) + * Copyright 2019-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE) + */@font-face{font-display:block;font-family:bootstrap-icons;src:url("../fonts/bootstrap-icons.woff2?2820a3852bdb9a5832199cc61cec4e65") format("woff2"),url("../fonts/bootstrap-icons.woff?2820a3852bdb9a5832199cc61cec4e65") format("woff")}.bi::before,[class*=" bi-"]::before,[class^=bi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale} .bi-123::before{content:"\f67f"} .bi-alarm-fill::before{content:"\f101"} .bi-alarm::before{content:"\f102"} .bi-align-bottom::before{content:"\f103"} .bi-align-center::before{content:"\f104"} .bi-align-end::before{content:"\f105"} .bi-align-middle::before{content:"\f106"} .bi-align-start::before{content:"\f107"} .bi-align-top::before{content:"\f108"} .bi-alt::before{content:"\f109"} .bi-app-indicator::before{content:"\f10a"} .bi-app::before{content:"\f10b"} .bi-archive-fill::before{content:"\f10c"} .bi-archive::before{content:"\f10d"} .bi-arrow-90deg-down::before{content:"\f10e"} .bi-arrow-90deg-left::before{content:"\f10f"} .bi-arrow-90deg-right::before{content:"\f110"} .bi-arrow-90deg-up::before{content:"\f111"} .bi-arrow-bar-down::before{content:"\f112"} .bi-arrow-bar-left::before{content:"\f113"} .bi-arrow-bar-right::before{content:"\f114"} .bi-arrow-bar-up::before{content:"\f115"} .bi-arrow-clockwise::before{content:"\f116"} .bi-arrow-counterclockwise::before{content:"\f117"} .bi-arrow-down-circle-fill::before{content:"\f118"} .bi-arrow-down-circle::before{content:"\f119"} .bi-arrow-down-left-circle-fill::before{content:"\f11a"} .bi-arrow-down-left-circle::before{content:"\f11b"} .bi-arrow-down-left-square-fill::before{content:"\f11c"} .bi-arrow-down-left-square::before{content:"\f11d"} .bi-arrow-down-left::before{content:"\f11e"} .bi-arrow-down-right-circle-fill::before{content:"\f11f"} .bi-arrow-down-right-circle::before{content:"\f120"} .bi-arrow-down-right-square-fill::before{content:"\f121"} .bi-arrow-down-right-square::before{content:"\f122"} .bi-arrow-down-right::before{content:"\f123"} .bi-arrow-down-short::before{content:"\f124"} .bi-arrow-down-square-fill::before{content:"\f125"} .bi-arrow-down-square::before{content:"\f126"} .bi-arrow-down-up::before{content:"\f127"} .bi-arrow-down::before{content:"\f128"} .bi-arrow-left-circle-fill::before{content:"\f129"} .bi-arrow-left-circle::before{content:"\f12a"} .bi-arrow-left-right::before{content:"\f12b"} .bi-arrow-left-short::before{content:"\f12c"} .bi-arrow-left-square-fill::before{content:"\f12d"} .bi-arrow-left-square::before{content:"\f12e"} .bi-arrow-left::before{content:"\f12f"} .bi-arrow-repeat::before{content:"\f130"} .bi-arrow-return-left::before{content:"\f131"} .bi-arrow-return-right::before{content:"\f132"} .bi-arrow-right-circle-fill::before{content:"\f133"} .bi-arrow-right-circle::before{content:"\f134"} .bi-arrow-right-short::before{content:"\f135"} .bi-arrow-right-square-fill::before{content:"\f136"} .bi-arrow-right-square::before{content:"\f137"} .bi-arrow-right::before{content:"\f138"} .bi-arrow-up-circle-fill::before{content:"\f139"} .bi-arrow-up-circle::before{content:"\f13a"} .bi-arrow-up-left-circle-fill::before{content:"\f13b"} .bi-arrow-up-left-circle::before{content:"\f13c"} .bi-arrow-up-left-square-fill::before{content:"\f13d"} .bi-arrow-up-left-square::before{content:"\f13e"} .bi-arrow-up-left::before{content:"\f13f"} .bi-arrow-up-right-circle-fill::before{content:"\f140"} .bi-arrow-up-right-circle::before{content:"\f141"} .bi-arrow-up-right-square-fill::before{content:"\f142"} .bi-arrow-up-right-square::before{content:"\f143"} .bi-arrow-up-right::before{content:"\f144"} .bi-arrow-up-short::before{content:"\f145"} .bi-arrow-up-square-fill::before{content:"\f146"} .bi-arrow-up-square::before{content:"\f147"} .bi-arrow-up::before{content:"\f148"} .bi-arrows-angle-contract::before{content:"\f149"} .bi-arrows-angle-expand::before{content:"\f14a"} .bi-arrows-collapse::before{content:"\f14b"} .bi-arrows-expand::before{content:"\f14c"} .bi-arrows-fullscreen::before{content:"\f14d"} .bi-arrows-move::before{content:"\f14e"} .bi-aspect-ratio-fill::before{content:"\f14f"} .bi-aspect-ratio::before{content:"\f150"} .bi-asterisk::before{content:"\f151"} .bi-at::before{content:"\f152"} .bi-award-fill::before{content:"\f153"} .bi-award::before{content:"\f154"} .bi-back::before{content:"\f155"} .bi-backspace-fill::before{content:"\f156"} .bi-backspace-reverse-fill::before{content:"\f157"} .bi-backspace-reverse::before{content:"\f158"} .bi-backspace::before{content:"\f159"} .bi-badge-3d-fill::before{content:"\f15a"} .bi-badge-3d::before{content:"\f15b"} .bi-badge-4k-fill::before{content:"\f15c"} .bi-badge-4k::before{content:"\f15d"} .bi-badge-8k-fill::before{content:"\f15e"} .bi-badge-8k::before{content:"\f15f"} .bi-badge-ad-fill::before{content:"\f160"} .bi-badge-ad::before{content:"\f161"} .bi-badge-ar-fill::before{content:"\f162"} .bi-badge-ar::before{content:"\f163"} .bi-badge-cc-fill::before{content:"\f164"} .bi-badge-cc::before{content:"\f165"} .bi-badge-hd-fill::before{content:"\f166"} .bi-badge-hd::before{content:"\f167"} .bi-badge-tm-fill::before{content:"\f168"} .bi-badge-tm::before{content:"\f169"} .bi-badge-vo-fill::before{content:"\f16a"} .bi-badge-vo::before{content:"\f16b"} .bi-badge-vr-fill::before{content:"\f16c"} .bi-badge-vr::before{content:"\f16d"} .bi-badge-wc-fill::before{content:"\f16e"} .bi-badge-wc::before{content:"\f16f"} .bi-bag-check-fill::before{content:"\f170"} .bi-bag-check::before{content:"\f171"} .bi-bag-dash-fill::before{content:"\f172"} .bi-bag-dash::before{content:"\f173"} .bi-bag-fill::before{content:"\f174"} .bi-bag-plus-fill::before{content:"\f175"} .bi-bag-plus::before{content:"\f176"} .bi-bag-x-fill::before{content:"\f177"} .bi-bag-x::before{content:"\f178"} .bi-bag::before{content:"\f179"} .bi-bar-chart-fill::before{content:"\f17a"} .bi-bar-chart-line-fill::before{content:"\f17b"} .bi-bar-chart-line::before{content:"\f17c"} .bi-bar-chart-steps::before{content:"\f17d"} .bi-bar-chart::before{content:"\f17e"} .bi-basket-fill::before{content:"\f17f"} .bi-basket::before{content:"\f180"} .bi-basket2-fill::before{content:"\f181"} .bi-basket2::before{content:"\f182"} .bi-basket3-fill::before{content:"\f183"} .bi-basket3::before{content:"\f184"} .bi-battery-charging::before{content:"\f185"} .bi-battery-full::before{content:"\f186"} .bi-battery-half::before{content:"\f187"} .bi-battery::before{content:"\f188"} .bi-bell-fill::before{content:"\f189"} .bi-bell::before{content:"\f18a"} .bi-bezier::before{content:"\f18b"} .bi-bezier2::before{content:"\f18c"} .bi-bicycle::before{content:"\f18d"} .bi-binoculars-fill::before{content:"\f18e"} .bi-binoculars::before{content:"\f18f"} .bi-blockquote-left::before{content:"\f190"} .bi-blockquote-right::before{content:"\f191"} .bi-book-fill::before{content:"\f192"} .bi-book-half::before{content:"\f193"} .bi-book::before{content:"\f194"} .bi-bookmark-check-fill::before{content:"\f195"} .bi-bookmark-check::before{content:"\f196"} .bi-bookmark-dash-fill::before{content:"\f197"} .bi-bookmark-dash::before{content:"\f198"} .bi-bookmark-fill::before{content:"\f199"} .bi-bookmark-heart-fill::before{content:"\f19a"} .bi-bookmark-heart::before{content:"\f19b"} .bi-bookmark-plus-fill::before{content:"\f19c"} .bi-bookmark-plus::before{content:"\f19d"} .bi-bookmark-star-fill::before{content:"\f19e"} .bi-bookmark-star::before{content:"\f19f"} .bi-bookmark-x-fill::before{content:"\f1a0"} .bi-bookmark-x::before{content:"\f1a1"} .bi-bookmark::before{content:"\f1a2"} .bi-bookmarks-fill::before{content:"\f1a3"} .bi-bookmarks::before{content:"\f1a4"} .bi-bookshelf::before{content:"\f1a5"} .bi-bootstrap-fill::before{content:"\f1a6"} .bi-bootstrap-reboot::before{content:"\f1a7"} .bi-bootstrap::before{content:"\f1a8"} .bi-border-all::before{content:"\f1a9"} .bi-border-bottom::before{content:"\f1aa"} .bi-border-center::before{content:"\f1ab"} .bi-border-inner::before{content:"\f1ac"} .bi-border-left::before{content:"\f1ad"} .bi-border-middle::before{content:"\f1ae"} .bi-border-outer::before{content:"\f1af"} .bi-border-right::before{content:"\f1b0"} .bi-border-style::before{content:"\f1b1"} .bi-border-top::before{content:"\f1b2"} .bi-border-width::before{content:"\f1b3"} .bi-border::before{content:"\f1b4"} .bi-bounding-box-circles::before{content:"\f1b5"} .bi-bounding-box::before{content:"\f1b6"} .bi-box-arrow-down-left::before{content:"\f1b7"} .bi-box-arrow-down-right::before{content:"\f1b8"} .bi-box-arrow-down::before{content:"\f1b9"} .bi-box-arrow-in-down-left::before{content:"\f1ba"} .bi-box-arrow-in-down-right::before{content:"\f1bb"} .bi-box-arrow-in-down::before{content:"\f1bc"} .bi-box-arrow-in-left::before{content:"\f1bd"} .bi-box-arrow-in-right::before{content:"\f1be"} .bi-box-arrow-in-up-left::before{content:"\f1bf"} .bi-box-arrow-in-up-right::before{content:"\f1c0"} .bi-box-arrow-in-up::before{content:"\f1c1"} .bi-box-arrow-left::before{content:"\f1c2"} .bi-box-arrow-right::before{content:"\f1c3"} .bi-box-arrow-up-left::before{content:"\f1c4"} .bi-box-arrow-up-right::before{content:"\f1c5"} .bi-box-arrow-up::before{content:"\f1c6"} .bi-box-seam::before{content:"\f1c7"} .bi-box::before{content:"\f1c8"} .bi-braces::before{content:"\f1c9"} .bi-bricks::before{content:"\f1ca"} .bi-briefcase-fill::before{content:"\f1cb"} .bi-briefcase::before{content:"\f1cc"} .bi-brightness-alt-high-fill::before{content:"\f1cd"} .bi-brightness-alt-high::before{content:"\f1ce"} .bi-brightness-alt-low-fill::before{content:"\f1cf"} .bi-brightness-alt-low::before{content:"\f1d0"} .bi-brightness-high-fill::before{content:"\f1d1"} .bi-brightness-high::before{content:"\f1d2"} .bi-brightness-low-fill::before{content:"\f1d3"} .bi-brightness-low::before{content:"\f1d4"} .bi-broadcast-pin::before{content:"\f1d5"} .bi-broadcast::before{content:"\f1d6"} .bi-brush-fill::before{content:"\f1d7"} .bi-brush::before{content:"\f1d8"} .bi-bucket-fill::before{content:"\f1d9"} .bi-bucket::before{content:"\f1da"} .bi-bug-fill::before{content:"\f1db"} .bi-bug::before{content:"\f1dc"} .bi-building::before{content:"\f1dd"} .bi-bullseye::before{content:"\f1de"} .bi-calculator-fill::before{content:"\f1df"} .bi-calculator::before{content:"\f1e0"} .bi-calendar-check-fill::before{content:"\f1e1"} .bi-calendar-check::before{content:"\f1e2"} .bi-calendar-date-fill::before{content:"\f1e3"} .bi-calendar-date::before{content:"\f1e4"} .bi-calendar-day-fill::before{content:"\f1e5"} .bi-calendar-day::before{content:"\f1e6"} .bi-calendar-event-fill::before{content:"\f1e7"} .bi-calendar-event::before{content:"\f1e8"} .bi-calendar-fill::before{content:"\f1e9"} .bi-calendar-minus-fill::before{content:"\f1ea"} .bi-calendar-minus::before{content:"\f1eb"} .bi-calendar-month-fill::before{content:"\f1ec"} .bi-calendar-month::before{content:"\f1ed"} .bi-calendar-plus-fill::before{content:"\f1ee"} .bi-calendar-plus::before{content:"\f1ef"} .bi-calendar-range-fill::before{content:"\f1f0"} .bi-calendar-range::before{content:"\f1f1"} .bi-calendar-week-fill::before{content:"\f1f2"} .bi-calendar-week::before{content:"\f1f3"} .bi-calendar-x-fill::before{content:"\f1f4"} .bi-calendar-x::before{content:"\f1f5"} .bi-calendar::before{content:"\f1f6"} .bi-calendar2-check-fill::before{content:"\f1f7"} .bi-calendar2-check::before{content:"\f1f8"} .bi-calendar2-date-fill::before{content:"\f1f9"} .bi-calendar2-date::before{content:"\f1fa"} .bi-calendar2-day-fill::before{content:"\f1fb"} .bi-calendar2-day::before{content:"\f1fc"} .bi-calendar2-event-fill::before{content:"\f1fd"} .bi-calendar2-event::before{content:"\f1fe"} .bi-calendar2-fill::before{content:"\f1ff"} .bi-calendar2-minus-fill::before{content:"\f200"} .bi-calendar2-minus::before{content:"\f201"} .bi-calendar2-month-fill::before{content:"\f202"} .bi-calendar2-month::before{content:"\f203"} .bi-calendar2-plus-fill::before{content:"\f204"} .bi-calendar2-plus::before{content:"\f205"} .bi-calendar2-range-fill::before{content:"\f206"} .bi-calendar2-range::before{content:"\f207"} .bi-calendar2-week-fill::before{content:"\f208"} .bi-calendar2-week::before{content:"\f209"} .bi-calendar2-x-fill::before{content:"\f20a"} .bi-calendar2-x::before{content:"\f20b"} .bi-calendar2::before{content:"\f20c"} .bi-calendar3-event-fill::before{content:"\f20d"} .bi-calendar3-event::before{content:"\f20e"} .bi-calendar3-fill::before{content:"\f20f"} .bi-calendar3-range-fill::before{content:"\f210"} .bi-calendar3-range::before{content:"\f211"} .bi-calendar3-week-fill::before{content:"\f212"} .bi-calendar3-week::before{content:"\f213"} .bi-calendar3::before{content:"\f214"} .bi-calendar4-event::before{content:"\f215"} .bi-calendar4-range::before{content:"\f216"} .bi-calendar4-week::before{content:"\f217"} .bi-calendar4::before{content:"\f218"} .bi-camera-fill::before{content:"\f219"} .bi-camera-reels-fill::before{content:"\f21a"} .bi-camera-reels::before{content:"\f21b"} .bi-camera-video-fill::before{content:"\f21c"} .bi-camera-video-off-fill::before{content:"\f21d"} .bi-camera-video-off::before{content:"\f21e"} .bi-camera-video::before{content:"\f21f"} .bi-camera::before{content:"\f220"} .bi-camera2::before{content:"\f221"} .bi-capslock-fill::before{content:"\f222"} .bi-capslock::before{content:"\f223"} .bi-card-checklist::before{content:"\f224"} .bi-card-heading::before{content:"\f225"} .bi-card-image::before{content:"\f226"} .bi-card-list::before{content:"\f227"} .bi-card-text::before{content:"\f228"} .bi-caret-down-fill::before{content:"\f229"} .bi-caret-down-square-fill::before{content:"\f22a"} .bi-caret-down-square::before{content:"\f22b"} .bi-caret-down::before{content:"\f22c"} .bi-caret-left-fill::before{content:"\f22d"} .bi-caret-left-square-fill::before{content:"\f22e"} .bi-caret-left-square::before{content:"\f22f"} .bi-caret-left::before{content:"\f230"} .bi-caret-right-fill::before{content:"\f231"} .bi-caret-right-square-fill::before{content:"\f232"} .bi-caret-right-square::before{content:"\f233"} .bi-caret-right::before{content:"\f234"} .bi-caret-up-fill::before{content:"\f235"} .bi-caret-up-square-fill::before{content:"\f236"} .bi-caret-up-square::before{content:"\f237"} .bi-caret-up::before{content:"\f238"} .bi-cart-check-fill::before{content:"\f239"} .bi-cart-check::before{content:"\f23a"} .bi-cart-dash-fill::before{content:"\f23b"} .bi-cart-dash::before{content:"\f23c"} .bi-cart-fill::before{content:"\f23d"} .bi-cart-plus-fill::before{content:"\f23e"} .bi-cart-plus::before{content:"\f23f"} .bi-cart-x-fill::before{content:"\f240"} .bi-cart-x::before{content:"\f241"} .bi-cart::before{content:"\f242"} .bi-cart2::before{content:"\f243"} .bi-cart3::before{content:"\f244"} .bi-cart4::before{content:"\f245"} .bi-cash-stack::before{content:"\f246"} .bi-cash::before{content:"\f247"} .bi-cast::before{content:"\f248"} .bi-chat-dots-fill::before{content:"\f249"} .bi-chat-dots::before{content:"\f24a"} .bi-chat-fill::before{content:"\f24b"} .bi-chat-left-dots-fill::before{content:"\f24c"} .bi-chat-left-dots::before{content:"\f24d"} .bi-chat-left-fill::before{content:"\f24e"} .bi-chat-left-quote-fill::before{content:"\f24f"} .bi-chat-left-quote::before{content:"\f250"} .bi-chat-left-text-fill::before{content:"\f251"} .bi-chat-left-text::before{content:"\f252"} .bi-chat-left::before{content:"\f253"} .bi-chat-quote-fill::before{content:"\f254"} .bi-chat-quote::before{content:"\f255"} .bi-chat-right-dots-fill::before{content:"\f256"} .bi-chat-right-dots::before{content:"\f257"} .bi-chat-right-fill::before{content:"\f258"} .bi-chat-right-quote-fill::before{content:"\f259"} .bi-chat-right-quote::before{content:"\f25a"} .bi-chat-right-text-fill::before{content:"\f25b"} .bi-chat-right-text::before{content:"\f25c"} .bi-chat-right::before{content:"\f25d"} .bi-chat-square-dots-fill::before{content:"\f25e"} .bi-chat-square-dots::before{content:"\f25f"} .bi-chat-square-fill::before{content:"\f260"} .bi-chat-square-quote-fill::before{content:"\f261"} .bi-chat-square-quote::before{content:"\f262"} .bi-chat-square-text-fill::before{content:"\f263"} .bi-chat-square-text::before{content:"\f264"} .bi-chat-square::before{content:"\f265"} .bi-chat-text-fill::before{content:"\f266"} .bi-chat-text::before{content:"\f267"} .bi-chat::before{content:"\f268"} .bi-check-all::before{content:"\f269"} .bi-check-circle-fill::before{content:"\f26a"} .bi-check-circle::before{content:"\f26b"} .bi-check-square-fill::before{content:"\f26c"} .bi-check-square::before{content:"\f26d"} .bi-check::before{content:"\f26e"} .bi-check2-all::before{content:"\f26f"} .bi-check2-circle::before{content:"\f270"} .bi-check2-square::before{content:"\f271"} .bi-check2::before{content:"\f272"} .bi-chevron-bar-contract::before{content:"\f273"} .bi-chevron-bar-down::before{content:"\f274"} .bi-chevron-bar-expand::before{content:"\f275"} .bi-chevron-bar-left::before{content:"\f276"} .bi-chevron-bar-right::before{content:"\f277"} .bi-chevron-bar-up::before{content:"\f278"} .bi-chevron-compact-down::before{content:"\f279"} .bi-chevron-compact-left::before{content:"\f27a"} .bi-chevron-compact-right::before{content:"\f27b"} .bi-chevron-compact-up::before{content:"\f27c"} .bi-chevron-contract::before{content:"\f27d"} .bi-chevron-double-down::before{content:"\f27e"} .bi-chevron-double-left::before{content:"\f27f"} .bi-chevron-double-right::before{content:"\f280"} .bi-chevron-double-up::before{content:"\f281"} .bi-chevron-down::before{content:"\f282"} .bi-chevron-expand::before{content:"\f283"} .bi-chevron-left::before{content:"\f284"} .bi-chevron-right::before{content:"\f285"} .bi-chevron-up::before{content:"\f286"} .bi-circle-fill::before{content:"\f287"} .bi-circle-half::before{content:"\f288"} .bi-circle-square::before{content:"\f289"} .bi-circle::before{content:"\f28a"} .bi-clipboard-check::before{content:"\f28b"} .bi-clipboard-data::before{content:"\f28c"} .bi-clipboard-minus::before{content:"\f28d"} .bi-clipboard-plus::before{content:"\f28e"} .bi-clipboard-x::before{content:"\f28f"} .bi-clipboard::before{content:"\f290"} .bi-clock-fill::before{content:"\f291"} .bi-clock-history::before{content:"\f292"} .bi-clock::before{content:"\f293"} .bi-cloud-arrow-down-fill::before{content:"\f294"} .bi-cloud-arrow-down::before{content:"\f295"} .bi-cloud-arrow-up-fill::before{content:"\f296"} .bi-cloud-arrow-up::before{content:"\f297"} .bi-cloud-check-fill::before{content:"\f298"} .bi-cloud-check::before{content:"\f299"} .bi-cloud-download-fill::before{content:"\f29a"} .bi-cloud-download::before{content:"\f29b"} .bi-cloud-drizzle-fill::before{content:"\f29c"} .bi-cloud-drizzle::before{content:"\f29d"} .bi-cloud-fill::before{content:"\f29e"} .bi-cloud-fog-fill::before{content:"\f29f"} .bi-cloud-fog::before{content:"\f2a0"} .bi-cloud-fog2-fill::before{content:"\f2a1"} .bi-cloud-fog2::before{content:"\f2a2"} .bi-cloud-hail-fill::before{content:"\f2a3"} .bi-cloud-hail::before{content:"\f2a4"} .bi-cloud-haze-fill::before{content:"\f2a6"} .bi-cloud-haze::before{content:"\f2a7"} .bi-cloud-haze2-fill::before{content:"\f2a8"} .bi-cloud-lightning-fill::before{content:"\f2a9"} .bi-cloud-lightning-rain-fill::before{content:"\f2aa"} .bi-cloud-lightning-rain::before{content:"\f2ab"} .bi-cloud-lightning::before{content:"\f2ac"} .bi-cloud-minus-fill::before{content:"\f2ad"} .bi-cloud-minus::before{content:"\f2ae"} .bi-cloud-moon-fill::before{content:"\f2af"} .bi-cloud-moon::before{content:"\f2b0"} .bi-cloud-plus-fill::before{content:"\f2b1"} .bi-cloud-plus::before{content:"\f2b2"} .bi-cloud-rain-fill::before{content:"\f2b3"} .bi-cloud-rain-heavy-fill::before{content:"\f2b4"} .bi-cloud-rain-heavy::before{content:"\f2b5"} .bi-cloud-rain::before{content:"\f2b6"} .bi-cloud-slash-fill::before{content:"\f2b7"} .bi-cloud-slash::before{content:"\f2b8"} .bi-cloud-sleet-fill::before{content:"\f2b9"} .bi-cloud-sleet::before{content:"\f2ba"} .bi-cloud-snow-fill::before{content:"\f2bb"} .bi-cloud-snow::before{content:"\f2bc"} .bi-cloud-sun-fill::before{content:"\f2bd"} .bi-cloud-sun::before{content:"\f2be"} .bi-cloud-upload-fill::before{content:"\f2bf"} .bi-cloud-upload::before{content:"\f2c0"} .bi-cloud::before{content:"\f2c1"} .bi-clouds-fill::before{content:"\f2c2"} .bi-clouds::before{content:"\f2c3"} .bi-cloudy-fill::before{content:"\f2c4"} .bi-cloudy::before{content:"\f2c5"} .bi-code-slash::before{content:"\f2c6"} .bi-code-square::before{content:"\f2c7"} .bi-code::before{content:"\f2c8"} .bi-collection-fill::before{content:"\f2c9"} .bi-collection-play-fill::before{content:"\f2ca"} .bi-collection-play::before{content:"\f2cb"} .bi-collection::before{content:"\f2cc"} .bi-columns-gap::before{content:"\f2cd"} .bi-columns::before{content:"\f2ce"} .bi-command::before{content:"\f2cf"} .bi-compass-fill::before{content:"\f2d0"} .bi-compass::before{content:"\f2d1"} .bi-cone-striped::before{content:"\f2d2"} .bi-cone::before{content:"\f2d3"} .bi-controller::before{content:"\f2d4"} .bi-cpu-fill::before{content:"\f2d5"} .bi-cpu::before{content:"\f2d6"} .bi-credit-card-2-back-fill::before{content:"\f2d7"} .bi-credit-card-2-back::before{content:"\f2d8"} .bi-credit-card-2-front-fill::before{content:"\f2d9"} .bi-credit-card-2-front::before{content:"\f2da"} .bi-credit-card-fill::before{content:"\f2db"} .bi-credit-card::before{content:"\f2dc"} .bi-crop::before{content:"\f2dd"} .bi-cup-fill::before{content:"\f2de"} .bi-cup-straw::before{content:"\f2df"} .bi-cup::before{content:"\f2e0"} .bi-cursor-fill::before{content:"\f2e1"} .bi-cursor-text::before{content:"\f2e2"} .bi-cursor::before{content:"\f2e3"} .bi-dash-circle-dotted::before{content:"\f2e4"} .bi-dash-circle-fill::before{content:"\f2e5"} .bi-dash-circle::before{content:"\f2e6"} .bi-dash-square-dotted::before{content:"\f2e7"} .bi-dash-square-fill::before{content:"\f2e8"} .bi-dash-square::before{content:"\f2e9"} .bi-dash::before{content:"\f2ea"} .bi-diagram-2-fill::before{content:"\f2eb"} .bi-diagram-2::before{content:"\f2ec"} .bi-diagram-3-fill::before{content:"\f2ed"} .bi-diagram-3::before{content:"\f2ee"} .bi-diamond-fill::before{content:"\f2ef"} .bi-diamond-half::before{content:"\f2f0"} .bi-diamond::before{content:"\f2f1"} .bi-dice-1-fill::before{content:"\f2f2"} .bi-dice-1::before{content:"\f2f3"} .bi-dice-2-fill::before{content:"\f2f4"} .bi-dice-2::before{content:"\f2f5"} .bi-dice-3-fill::before{content:"\f2f6"} .bi-dice-3::before{content:"\f2f7"} .bi-dice-4-fill::before{content:"\f2f8"} .bi-dice-4::before{content:"\f2f9"} .bi-dice-5-fill::before{content:"\f2fa"} .bi-dice-5::before{content:"\f2fb"} .bi-dice-6-fill::before{content:"\f2fc"} .bi-dice-6::before{content:"\f2fd"} .bi-disc-fill::before{content:"\f2fe"} .bi-disc::before{content:"\f2ff"} .bi-discord::before{content:"\f300"} .bi-display-fill::before{content:"\f301"} .bi-display::before{content:"\f302"} .bi-distribute-horizontal::before{content:"\f303"} .bi-distribute-vertical::before{content:"\f304"} .bi-door-closed-fill::before{content:"\f305"} .bi-door-closed::before{content:"\f306"} .bi-door-open-fill::before{content:"\f307"} .bi-door-open::before{content:"\f308"} .bi-dot::before{content:"\f309"} .bi-download::before{content:"\f30a"} .bi-droplet-fill::before{content:"\f30b"} .bi-droplet-half::before{content:"\f30c"} .bi-droplet::before{content:"\f30d"} .bi-earbuds::before{content:"\f30e"} .bi-easel-fill::before{content:"\f30f"} .bi-easel::before{content:"\f310"} .bi-egg-fill::before{content:"\f311"} .bi-egg-fried::before{content:"\f312"} .bi-egg::before{content:"\f313"} .bi-eject-fill::before{content:"\f314"} .bi-eject::before{content:"\f315"} .bi-emoji-angry-fill::before{content:"\f316"} .bi-emoji-angry::before{content:"\f317"} .bi-emoji-dizzy-fill::before{content:"\f318"} .bi-emoji-dizzy::before{content:"\f319"} .bi-emoji-expressionless-fill::before{content:"\f31a"} .bi-emoji-expressionless::before{content:"\f31b"} .bi-emoji-frown-fill::before{content:"\f31c"} .bi-emoji-frown::before{content:"\f31d"} .bi-emoji-heart-eyes-fill::before{content:"\f31e"} .bi-emoji-heart-eyes::before{content:"\f31f"} .bi-emoji-laughing-fill::before{content:"\f320"} .bi-emoji-laughing::before{content:"\f321"} .bi-emoji-neutral-fill::before{content:"\f322"} .bi-emoji-neutral::before{content:"\f323"} .bi-emoji-smile-fill::before{content:"\f324"} .bi-emoji-smile-upside-down-fill::before{content:"\f325"} .bi-emoji-smile-upside-down::before{content:"\f326"} .bi-emoji-smile::before{content:"\f327"} .bi-emoji-sunglasses-fill::before{content:"\f328"} .bi-emoji-sunglasses::before{content:"\f329"} .bi-emoji-wink-fill::before{content:"\f32a"} .bi-emoji-wink::before{content:"\f32b"} .bi-envelope-fill::before{content:"\f32c"} .bi-envelope-open-fill::before{content:"\f32d"} .bi-envelope-open::before{content:"\f32e"} .bi-envelope::before{content:"\f32f"} .bi-eraser-fill::before{content:"\f330"} .bi-eraser::before{content:"\f331"} .bi-exclamation-circle-fill::before{content:"\f332"} .bi-exclamation-circle::before{content:"\f333"} .bi-exclamation-diamond-fill::before{content:"\f334"} .bi-exclamation-diamond::before{content:"\f335"} .bi-exclamation-octagon-fill::before{content:"\f336"} .bi-exclamation-octagon::before{content:"\f337"} .bi-exclamation-square-fill::before{content:"\f338"} .bi-exclamation-square::before{content:"\f339"} .bi-exclamation-triangle-fill::before{content:"\f33a"} .bi-exclamation-triangle::before{content:"\f33b"} .bi-exclamation::before{content:"\f33c"} .bi-exclude::before{content:"\f33d"} .bi-eye-fill::before{content:"\f33e"} .bi-eye-slash-fill::before{content:"\f33f"} .bi-eye-slash::before{content:"\f340"} .bi-eye::before{content:"\f341"} .bi-eyedropper::before{content:"\f342"} .bi-eyeglasses::before{content:"\f343"} .bi-facebook::before{content:"\f344"} .bi-file-arrow-down-fill::before{content:"\f345"} .bi-file-arrow-down::before{content:"\f346"} .bi-file-arrow-up-fill::before{content:"\f347"} .bi-file-arrow-up::before{content:"\f348"} .bi-file-bar-graph-fill::before{content:"\f349"} .bi-file-bar-graph::before{content:"\f34a"} .bi-file-binary-fill::before{content:"\f34b"} .bi-file-binary::before{content:"\f34c"} .bi-file-break-fill::before{content:"\f34d"} .bi-file-break::before{content:"\f34e"} .bi-file-check-fill::before{content:"\f34f"} .bi-file-check::before{content:"\f350"} .bi-file-code-fill::before{content:"\f351"} .bi-file-code::before{content:"\f352"} .bi-file-diff-fill::before{content:"\f353"} .bi-file-diff::before{content:"\f354"} .bi-file-earmark-arrow-down-fill::before{content:"\f355"} .bi-file-earmark-arrow-down::before{content:"\f356"} .bi-file-earmark-arrow-up-fill::before{content:"\f357"} .bi-file-earmark-arrow-up::before{content:"\f358"} .bi-file-earmark-bar-graph-fill::before{content:"\f359"} .bi-file-earmark-bar-graph::before{content:"\f35a"} .bi-file-earmark-binary-fill::before{content:"\f35b"} .bi-file-earmark-binary::before{content:"\f35c"} .bi-file-earmark-break-fill::before{content:"\f35d"} .bi-file-earmark-break::before{content:"\f35e"} .bi-file-earmark-check-fill::before{content:"\f35f"} .bi-file-earmark-check::before{content:"\f360"} .bi-file-earmark-code-fill::before{content:"\f361"} .bi-file-earmark-code::before{content:"\f362"} .bi-file-earmark-diff-fill::before{content:"\f363"} .bi-file-earmark-diff::before{content:"\f364"} .bi-file-earmark-easel-fill::before{content:"\f365"} .bi-file-earmark-easel::before{content:"\f366"} .bi-file-earmark-excel-fill::before{content:"\f367"} .bi-file-earmark-excel::before{content:"\f368"} .bi-file-earmark-fill::before{content:"\f369"} .bi-file-earmark-font-fill::before{content:"\f36a"} .bi-file-earmark-font::before{content:"\f36b"} .bi-file-earmark-image-fill::before{content:"\f36c"} .bi-file-earmark-image::before{content:"\f36d"} .bi-file-earmark-lock-fill::before{content:"\f36e"} .bi-file-earmark-lock::before{content:"\f36f"} .bi-file-earmark-lock2-fill::before{content:"\f370"} .bi-file-earmark-lock2::before{content:"\f371"} .bi-file-earmark-medical-fill::before{content:"\f372"} .bi-file-earmark-medical::before{content:"\f373"} .bi-file-earmark-minus-fill::before{content:"\f374"} .bi-file-earmark-minus::before{content:"\f375"} .bi-file-earmark-music-fill::before{content:"\f376"} .bi-file-earmark-music::before{content:"\f377"} .bi-file-earmark-person-fill::before{content:"\f378"} .bi-file-earmark-person::before{content:"\f379"} .bi-file-earmark-play-fill::before{content:"\f37a"} .bi-file-earmark-play::before{content:"\f37b"} .bi-file-earmark-plus-fill::before{content:"\f37c"} .bi-file-earmark-plus::before{content:"\f37d"} .bi-file-earmark-post-fill::before{content:"\f37e"} .bi-file-earmark-post::before{content:"\f37f"} .bi-file-earmark-ppt-fill::before{content:"\f380"} .bi-file-earmark-ppt::before{content:"\f381"} .bi-file-earmark-richtext-fill::before{content:"\f382"} .bi-file-earmark-richtext::before{content:"\f383"} .bi-file-earmark-ruled-fill::before{content:"\f384"} .bi-file-earmark-ruled::before{content:"\f385"} .bi-file-earmark-slides-fill::before{content:"\f386"} .bi-file-earmark-slides::before{content:"\f387"} .bi-file-earmark-spreadsheet-fill::before{content:"\f388"} .bi-file-earmark-spreadsheet::before{content:"\f389"} .bi-file-earmark-text-fill::before{content:"\f38a"} .bi-file-earmark-text::before{content:"\f38b"} .bi-file-earmark-word-fill::before{content:"\f38c"} .bi-file-earmark-word::before{content:"\f38d"} .bi-file-earmark-x-fill::before{content:"\f38e"} .bi-file-earmark-x::before{content:"\f38f"} .bi-file-earmark-zip-fill::before{content:"\f390"} .bi-file-earmark-zip::before{content:"\f391"} .bi-file-earmark::before{content:"\f392"} .bi-file-easel-fill::before{content:"\f393"} .bi-file-easel::before{content:"\f394"} .bi-file-excel-fill::before{content:"\f395"} .bi-file-excel::before{content:"\f396"} .bi-file-fill::before{content:"\f397"} .bi-file-font-fill::before{content:"\f398"} .bi-file-font::before{content:"\f399"} .bi-file-image-fill::before{content:"\f39a"} .bi-file-image::before{content:"\f39b"} .bi-file-lock-fill::before{content:"\f39c"} .bi-file-lock::before{content:"\f39d"} .bi-file-lock2-fill::before{content:"\f39e"} .bi-file-lock2::before{content:"\f39f"} .bi-file-medical-fill::before{content:"\f3a0"} .bi-file-medical::before{content:"\f3a1"} .bi-file-minus-fill::before{content:"\f3a2"} .bi-file-minus::before{content:"\f3a3"} .bi-file-music-fill::before{content:"\f3a4"} .bi-file-music::before{content:"\f3a5"} .bi-file-person-fill::before{content:"\f3a6"} .bi-file-person::before{content:"\f3a7"} .bi-file-play-fill::before{content:"\f3a8"} .bi-file-play::before{content:"\f3a9"} .bi-file-plus-fill::before{content:"\f3aa"} .bi-file-plus::before{content:"\f3ab"} .bi-file-post-fill::before{content:"\f3ac"} .bi-file-post::before{content:"\f3ad"} .bi-file-ppt-fill::before{content:"\f3ae"} .bi-file-ppt::before{content:"\f3af"} .bi-file-richtext-fill::before{content:"\f3b0"} .bi-file-richtext::before{content:"\f3b1"} .bi-file-ruled-fill::before{content:"\f3b2"} .bi-file-ruled::before{content:"\f3b3"} .bi-file-slides-fill::before{content:"\f3b4"} .bi-file-slides::before{content:"\f3b5"} .bi-file-spreadsheet-fill::before{content:"\f3b6"} .bi-file-spreadsheet::before{content:"\f3b7"} .bi-file-text-fill::before{content:"\f3b8"} .bi-file-text::before{content:"\f3b9"} .bi-file-word-fill::before{content:"\f3ba"} .bi-file-word::before{content:"\f3bb"} .bi-file-x-fill::before{content:"\f3bc"} .bi-file-x::before{content:"\f3bd"} .bi-file-zip-fill::before{content:"\f3be"} .bi-file-zip::before{content:"\f3bf"} .bi-file::before{content:"\f3c0"} .bi-files-alt::before{content:"\f3c1"} .bi-files::before{content:"\f3c2"} .bi-film::before{content:"\f3c3"} .bi-filter-circle-fill::before{content:"\f3c4"} .bi-filter-circle::before{content:"\f3c5"} .bi-filter-left::before{content:"\f3c6"} .bi-filter-right::before{content:"\f3c7"} .bi-filter-square-fill::before{content:"\f3c8"} .bi-filter-square::before{content:"\f3c9"} .bi-filter::before{content:"\f3ca"} .bi-flag-fill::before{content:"\f3cb"} .bi-flag::before{content:"\f3cc"} .bi-flower1::before{content:"\f3cd"} .bi-flower2::before{content:"\f3ce"} .bi-flower3::before{content:"\f3cf"} .bi-folder-check::before{content:"\f3d0"} .bi-folder-fill::before{content:"\f3d1"} .bi-folder-minus::before{content:"\f3d2"} .bi-folder-plus::before{content:"\f3d3"} .bi-folder-symlink-fill::before{content:"\f3d4"} .bi-folder-symlink::before{content:"\f3d5"} .bi-folder-x::before{content:"\f3d6"} .bi-folder::before{content:"\f3d7"} .bi-folder2-open::before{content:"\f3d8"} .bi-folder2::before{content:"\f3d9"} .bi-fonts::before{content:"\f3da"} .bi-forward-fill::before{content:"\f3db"} .bi-forward::before{content:"\f3dc"} .bi-front::before{content:"\f3dd"} .bi-fullscreen-exit::before{content:"\f3de"} .bi-fullscreen::before{content:"\f3df"} .bi-funnel-fill::before{content:"\f3e0"} .bi-funnel::before{content:"\f3e1"} .bi-gear-fill::before{content:"\f3e2"} .bi-gear-wide-connected::before{content:"\f3e3"} .bi-gear-wide::before{content:"\f3e4"} .bi-gear::before{content:"\f3e5"} .bi-gem::before{content:"\f3e6"} .bi-geo-alt-fill::before{content:"\f3e7"} .bi-geo-alt::before{content:"\f3e8"} .bi-geo-fill::before{content:"\f3e9"} .bi-geo::before{content:"\f3ea"} .bi-gift-fill::before{content:"\f3eb"} .bi-gift::before{content:"\f3ec"} .bi-github::before{content:"\f3ed"} .bi-globe::before{content:"\f3ee"} .bi-globe2::before{content:"\f3ef"} .bi-google::before{content:"\f3f0"} .bi-graph-down::before{content:"\f3f1"} .bi-graph-up::before{content:"\f3f2"} .bi-grid-1x2-fill::before{content:"\f3f3"} .bi-grid-1x2::before{content:"\f3f4"} .bi-grid-3x2-gap-fill::before{content:"\f3f5"} .bi-grid-3x2-gap::before{content:"\f3f6"} .bi-grid-3x2::before{content:"\f3f7"} .bi-grid-3x3-gap-fill::before{content:"\f3f8"} .bi-grid-3x3-gap::before{content:"\f3f9"} .bi-grid-3x3::before{content:"\f3fa"} .bi-grid-fill::before{content:"\f3fb"} .bi-grid::before{content:"\f3fc"} .bi-grip-horizontal::before{content:"\f3fd"} .bi-grip-vertical::before{content:"\f3fe"} .bi-hammer::before{content:"\f3ff"} .bi-hand-index-fill::before{content:"\f400"} .bi-hand-index-thumb-fill::before{content:"\f401"} .bi-hand-index-thumb::before{content:"\f402"} .bi-hand-index::before{content:"\f403"} .bi-hand-thumbs-down-fill::before{content:"\f404"} .bi-hand-thumbs-down::before{content:"\f405"} .bi-hand-thumbs-up-fill::before{content:"\f406"} .bi-hand-thumbs-up::before{content:"\f407"} .bi-handbag-fill::before{content:"\f408"} .bi-handbag::before{content:"\f409"} .bi-hash::before{content:"\f40a"} .bi-hdd-fill::before{content:"\f40b"} .bi-hdd-network-fill::before{content:"\f40c"} .bi-hdd-network::before{content:"\f40d"} .bi-hdd-rack-fill::before{content:"\f40e"} .bi-hdd-rack::before{content:"\f40f"} .bi-hdd-stack-fill::before{content:"\f410"} .bi-hdd-stack::before{content:"\f411"} .bi-hdd::before{content:"\f412"} .bi-headphones::before{content:"\f413"} .bi-headset::before{content:"\f414"} .bi-heart-fill::before{content:"\f415"} .bi-heart-half::before{content:"\f416"} .bi-heart::before{content:"\f417"} .bi-heptagon-fill::before{content:"\f418"} .bi-heptagon-half::before{content:"\f419"} .bi-heptagon::before{content:"\f41a"} .bi-hexagon-fill::before{content:"\f41b"} .bi-hexagon-half::before{content:"\f41c"} .bi-hexagon::before{content:"\f41d"} .bi-hourglass-bottom::before{content:"\f41e"} .bi-hourglass-split::before{content:"\f41f"} .bi-hourglass-top::before{content:"\f420"} .bi-hourglass::before{content:"\f421"} .bi-house-door-fill::before{content:"\f422"} .bi-house-door::before{content:"\f423"} .bi-house-fill::before{content:"\f424"} .bi-house::before{content:"\f425"} .bi-hr::before{content:"\f426"} .bi-hurricane::before{content:"\f427"} .bi-image-alt::before{content:"\f428"} .bi-image-fill::before{content:"\f429"} .bi-image::before{content:"\f42a"} .bi-images::before{content:"\f42b"} .bi-inbox-fill::before{content:"\f42c"} .bi-inbox::before{content:"\f42d"} .bi-inboxes-fill::before{content:"\f42e"} .bi-inboxes::before{content:"\f42f"} .bi-info-circle-fill::before{content:"\f430"} .bi-info-circle::before{content:"\f431"} .bi-info-square-fill::before{content:"\f432"} .bi-info-square::before{content:"\f433"} .bi-info::before{content:"\f434"} .bi-input-cursor-text::before{content:"\f435"} .bi-input-cursor::before{content:"\f436"} .bi-instagram::before{content:"\f437"} .bi-intersect::before{content:"\f438"} .bi-journal-album::before{content:"\f439"} .bi-journal-arrow-down::before{content:"\f43a"} .bi-journal-arrow-up::before{content:"\f43b"} .bi-journal-bookmark-fill::before{content:"\f43c"} .bi-journal-bookmark::before{content:"\f43d"} .bi-journal-check::before{content:"\f43e"} .bi-journal-code::before{content:"\f43f"} .bi-journal-medical::before{content:"\f440"} .bi-journal-minus::before{content:"\f441"} .bi-journal-plus::before{content:"\f442"} .bi-journal-richtext::before{content:"\f443"} .bi-journal-text::before{content:"\f444"} .bi-journal-x::before{content:"\f445"} .bi-journal::before{content:"\f446"} .bi-journals::before{content:"\f447"} .bi-joystick::before{content:"\f448"} .bi-justify-left::before{content:"\f449"} .bi-justify-right::before{content:"\f44a"} .bi-justify::before{content:"\f44b"} .bi-kanban-fill::before{content:"\f44c"} .bi-kanban::before{content:"\f44d"} .bi-key-fill::before{content:"\f44e"} .bi-key::before{content:"\f44f"} .bi-keyboard-fill::before{content:"\f450"} .bi-keyboard::before{content:"\f451"} .bi-ladder::before{content:"\f452"} .bi-lamp-fill::before{content:"\f453"} .bi-lamp::before{content:"\f454"} .bi-laptop-fill::before{content:"\f455"} .bi-laptop::before{content:"\f456"} .bi-layer-backward::before{content:"\f457"} .bi-layer-forward::before{content:"\f458"} .bi-layers-fill::before{content:"\f459"} .bi-layers-half::before{content:"\f45a"} .bi-layers::before{content:"\f45b"} .bi-layout-sidebar-inset-reverse::before{content:"\f45c"} .bi-layout-sidebar-inset::before{content:"\f45d"} .bi-layout-sidebar-reverse::before{content:"\f45e"} .bi-layout-sidebar::before{content:"\f45f"} .bi-layout-split::before{content:"\f460"} .bi-layout-text-sidebar-reverse::before{content:"\f461"} .bi-layout-text-sidebar::before{content:"\f462"} .bi-layout-text-window-reverse::before{content:"\f463"} .bi-layout-text-window::before{content:"\f464"} .bi-layout-three-columns::before{content:"\f465"} .bi-layout-wtf::before{content:"\f466"} .bi-life-preserver::before{content:"\f467"} .bi-lightbulb-fill::before{content:"\f468"} .bi-lightbulb-off-fill::before{content:"\f469"} .bi-lightbulb-off::before{content:"\f46a"} .bi-lightbulb::before{content:"\f46b"} .bi-lightning-charge-fill::before{content:"\f46c"} .bi-lightning-charge::before{content:"\f46d"} .bi-lightning-fill::before{content:"\f46e"} .bi-lightning::before{content:"\f46f"} .bi-link-45deg::before{content:"\f470"} .bi-link::before{content:"\f471"} .bi-linkedin::before{content:"\f472"} .bi-list-check::before{content:"\f473"} .bi-list-nested::before{content:"\f474"} .bi-list-ol::before{content:"\f475"} .bi-list-stars::before{content:"\f476"} .bi-list-task::before{content:"\f477"} .bi-list-ul::before{content:"\f478"} .bi-list::before{content:"\f479"} .bi-lock-fill::before{content:"\f47a"} .bi-lock::before{content:"\f47b"} .bi-mailbox::before{content:"\f47c"} .bi-mailbox2::before{content:"\f47d"} .bi-map-fill::before{content:"\f47e"} .bi-map::before{content:"\f47f"} .bi-markdown-fill::before{content:"\f480"} .bi-markdown::before{content:"\f481"} .bi-mask::before{content:"\f482"} .bi-megaphone-fill::before{content:"\f483"} .bi-megaphone::before{content:"\f484"} .bi-menu-app-fill::before{content:"\f485"} .bi-menu-app::before{content:"\f486"} .bi-menu-button-fill::before{content:"\f487"} .bi-menu-button-wide-fill::before{content:"\f488"} .bi-menu-button-wide::before{content:"\f489"} .bi-menu-button::before{content:"\f48a"} .bi-menu-down::before{content:"\f48b"} .bi-menu-up::before{content:"\f48c"} .bi-mic-fill::before{content:"\f48d"} .bi-mic-mute-fill::before{content:"\f48e"} .bi-mic-mute::before{content:"\f48f"} .bi-mic::before{content:"\f490"} .bi-minecart-loaded::before{content:"\f491"} .bi-minecart::before{content:"\f492"} .bi-moisture::before{content:"\f493"} .bi-moon-fill::before{content:"\f494"} .bi-moon-stars-fill::before{content:"\f495"} .bi-moon-stars::before{content:"\f496"} .bi-moon::before{content:"\f497"} .bi-mouse-fill::before{content:"\f498"} .bi-mouse::before{content:"\f499"} .bi-mouse2-fill::before{content:"\f49a"} .bi-mouse2::before{content:"\f49b"} .bi-mouse3-fill::before{content:"\f49c"} .bi-mouse3::before{content:"\f49d"} .bi-music-note-beamed::before{content:"\f49e"} .bi-music-note-list::before{content:"\f49f"} .bi-music-note::before{content:"\f4a0"} .bi-music-player-fill::before{content:"\f4a1"} .bi-music-player::before{content:"\f4a2"} .bi-newspaper::before{content:"\f4a3"} .bi-node-minus-fill::before{content:"\f4a4"} .bi-node-minus::before{content:"\f4a5"} .bi-node-plus-fill::before{content:"\f4a6"} .bi-node-plus::before{content:"\f4a7"} .bi-nut-fill::before{content:"\f4a8"} .bi-nut::before{content:"\f4a9"} .bi-octagon-fill::before{content:"\f4aa"} .bi-octagon-half::before{content:"\f4ab"} .bi-octagon::before{content:"\f4ac"} .bi-option::before{content:"\f4ad"} .bi-outlet::before{content:"\f4ae"} .bi-paint-bucket::before{content:"\f4af"} .bi-palette-fill::before{content:"\f4b0"} .bi-palette::before{content:"\f4b1"} .bi-palette2::before{content:"\f4b2"} .bi-paperclip::before{content:"\f4b3"} .bi-paragraph::before{content:"\f4b4"} .bi-patch-check-fill::before{content:"\f4b5"} .bi-patch-check::before{content:"\f4b6"} .bi-patch-exclamation-fill::before{content:"\f4b7"} .bi-patch-exclamation::before{content:"\f4b8"} .bi-patch-minus-fill::before{content:"\f4b9"} .bi-patch-minus::before{content:"\f4ba"} .bi-patch-plus-fill::before{content:"\f4bb"} .bi-patch-plus::before{content:"\f4bc"} .bi-patch-question-fill::before{content:"\f4bd"} .bi-patch-question::before{content:"\f4be"} .bi-pause-btn-fill::before{content:"\f4bf"} .bi-pause-btn::before{content:"\f4c0"} .bi-pause-circle-fill::before{content:"\f4c1"} .bi-pause-circle::before{content:"\f4c2"} .bi-pause-fill::before{content:"\f4c3"} .bi-pause::before{content:"\f4c4"} .bi-peace-fill::before{content:"\f4c5"} .bi-peace::before{content:"\f4c6"} .bi-pen-fill::before{content:"\f4c7"} .bi-pen::before{content:"\f4c8"} .bi-pencil-fill::before{content:"\f4c9"} .bi-pencil-square::before{content:"\f4ca"} .bi-pencil::before{content:"\f4cb"} .bi-pentagon-fill::before{content:"\f4cc"} .bi-pentagon-half::before{content:"\f4cd"} .bi-pentagon::before{content:"\f4ce"} .bi-people-fill::before{content:"\f4cf"} .bi-people::before{content:"\f4d0"} .bi-percent::before{content:"\f4d1"} .bi-person-badge-fill::before{content:"\f4d2"} .bi-person-badge::before{content:"\f4d3"} .bi-person-bounding-box::before{content:"\f4d4"} .bi-person-check-fill::before{content:"\f4d5"} .bi-person-check::before{content:"\f4d6"} .bi-person-circle::before{content:"\f4d7"} .bi-person-dash-fill::before{content:"\f4d8"} .bi-person-dash::before{content:"\f4d9"} .bi-person-fill::before{content:"\f4da"} .bi-person-lines-fill::before{content:"\f4db"} .bi-person-plus-fill::before{content:"\f4dc"} .bi-person-plus::before{content:"\f4dd"} .bi-person-square::before{content:"\f4de"} .bi-person-x-fill::before{content:"\f4df"} .bi-person-x::before{content:"\f4e0"} .bi-person::before{content:"\f4e1"} .bi-phone-fill::before{content:"\f4e2"} .bi-phone-landscape-fill::before{content:"\f4e3"} .bi-phone-landscape::before{content:"\f4e4"} .bi-phone-vibrate-fill::before{content:"\f4e5"} .bi-phone-vibrate::before{content:"\f4e6"} .bi-phone::before{content:"\f4e7"} .bi-pie-chart-fill::before{content:"\f4e8"} .bi-pie-chart::before{content:"\f4e9"} .bi-pin-angle-fill::before{content:"\f4ea"} .bi-pin-angle::before{content:"\f4eb"} .bi-pin-fill::before{content:"\f4ec"} .bi-pin::before{content:"\f4ed"} .bi-pip-fill::before{content:"\f4ee"} .bi-pip::before{content:"\f4ef"} .bi-play-btn-fill::before{content:"\f4f0"} .bi-play-btn::before{content:"\f4f1"} .bi-play-circle-fill::before{content:"\f4f2"} .bi-play-circle::before{content:"\f4f3"} .bi-play-fill::before{content:"\f4f4"} .bi-play::before{content:"\f4f5"} .bi-plug-fill::before{content:"\f4f6"} .bi-plug::before{content:"\f4f7"} .bi-plus-circle-dotted::before{content:"\f4f8"} .bi-plus-circle-fill::before{content:"\f4f9"} .bi-plus-circle::before{content:"\f4fa"} .bi-plus-square-dotted::before{content:"\f4fb"} .bi-plus-square-fill::before{content:"\f4fc"} .bi-plus-square::before{content:"\f4fd"} .bi-plus::before{content:"\f4fe"} .bi-power::before{content:"\f4ff"} .bi-printer-fill::before{content:"\f500"} .bi-printer::before{content:"\f501"} .bi-puzzle-fill::before{content:"\f502"} .bi-puzzle::before{content:"\f503"} .bi-question-circle-fill::before{content:"\f504"} .bi-question-circle::before{content:"\f505"} .bi-question-diamond-fill::before{content:"\f506"} .bi-question-diamond::before{content:"\f507"} .bi-question-octagon-fill::before{content:"\f508"} .bi-question-octagon::before{content:"\f509"} .bi-question-square-fill::before{content:"\f50a"} .bi-question-square::before{content:"\f50b"} .bi-question::before{content:"\f50c"} .bi-rainbow::before{content:"\f50d"} .bi-receipt-cutoff::before{content:"\f50e"} .bi-receipt::before{content:"\f50f"} .bi-reception-0::before{content:"\f510"} .bi-reception-1::before{content:"\f511"} .bi-reception-2::before{content:"\f512"} .bi-reception-3::before{content:"\f513"} .bi-reception-4::before{content:"\f514"} .bi-record-btn-fill::before{content:"\f515"} .bi-record-btn::before{content:"\f516"} .bi-record-circle-fill::before{content:"\f517"} .bi-record-circle::before{content:"\f518"} .bi-record-fill::before{content:"\f519"} .bi-record::before{content:"\f51a"} .bi-record2-fill::before{content:"\f51b"} .bi-record2::before{content:"\f51c"} .bi-reply-all-fill::before{content:"\f51d"} .bi-reply-all::before{content:"\f51e"} .bi-reply-fill::before{content:"\f51f"} .bi-reply::before{content:"\f520"} .bi-rss-fill::before{content:"\f521"} .bi-rss::before{content:"\f522"} .bi-rulers::before{content:"\f523"} .bi-save-fill::before{content:"\f524"} .bi-save::before{content:"\f525"} .bi-save2-fill::before{content:"\f526"} .bi-save2::before{content:"\f527"} .bi-scissors::before{content:"\f528"} .bi-screwdriver::before{content:"\f529"} .bi-search::before{content:"\f52a"} .bi-segmented-nav::before{content:"\f52b"} .bi-server::before{content:"\f52c"} .bi-share-fill::before{content:"\f52d"} .bi-share::before{content:"\f52e"} .bi-shield-check::before{content:"\f52f"} .bi-shield-exclamation::before{content:"\f530"} .bi-shield-fill-check::before{content:"\f531"} .bi-shield-fill-exclamation::before{content:"\f532"} .bi-shield-fill-minus::before{content:"\f533"} .bi-shield-fill-plus::before{content:"\f534"} .bi-shield-fill-x::before{content:"\f535"} .bi-shield-fill::before{content:"\f536"} .bi-shield-lock-fill::before{content:"\f537"} .bi-shield-lock::before{content:"\f538"} .bi-shield-minus::before{content:"\f539"} .bi-shield-plus::before{content:"\f53a"} .bi-shield-shaded::before{content:"\f53b"} .bi-shield-slash-fill::before{content:"\f53c"} .bi-shield-slash::before{content:"\f53d"} .bi-shield-x::before{content:"\f53e"} .bi-shield::before{content:"\f53f"} .bi-shift-fill::before{content:"\f540"} .bi-shift::before{content:"\f541"} .bi-shop-window::before{content:"\f542"} .bi-shop::before{content:"\f543"} .bi-shuffle::before{content:"\f544"} .bi-signpost-2-fill::before{content:"\f545"} .bi-signpost-2::before{content:"\f546"} .bi-signpost-fill::before{content:"\f547"} .bi-signpost-split-fill::before{content:"\f548"} .bi-signpost-split::before{content:"\f549"} .bi-signpost::before{content:"\f54a"} .bi-sim-fill::before{content:"\f54b"} .bi-sim::before{content:"\f54c"} .bi-skip-backward-btn-fill::before{content:"\f54d"} .bi-skip-backward-btn::before{content:"\f54e"} .bi-skip-backward-circle-fill::before{content:"\f54f"} .bi-skip-backward-circle::before{content:"\f550"} .bi-skip-backward-fill::before{content:"\f551"} .bi-skip-backward::before{content:"\f552"} .bi-skip-end-btn-fill::before{content:"\f553"} .bi-skip-end-btn::before{content:"\f554"} .bi-skip-end-circle-fill::before{content:"\f555"} .bi-skip-end-circle::before{content:"\f556"} .bi-skip-end-fill::before{content:"\f557"} .bi-skip-end::before{content:"\f558"} .bi-skip-forward-btn-fill::before{content:"\f559"} .bi-skip-forward-btn::before{content:"\f55a"} .bi-skip-forward-circle-fill::before{content:"\f55b"} .bi-skip-forward-circle::before{content:"\f55c"} .bi-skip-forward-fill::before{content:"\f55d"} .bi-skip-forward::before{content:"\f55e"} .bi-skip-start-btn-fill::before{content:"\f55f"} .bi-skip-start-btn::before{content:"\f560"} .bi-skip-start-circle-fill::before{content:"\f561"} .bi-skip-start-circle::before{content:"\f562"} .bi-skip-start-fill::before{content:"\f563"} .bi-skip-start::before{content:"\f564"} .bi-slack::before{content:"\f565"} .bi-slash-circle-fill::before{content:"\f566"} .bi-slash-circle::before{content:"\f567"} .bi-slash-square-fill::before{content:"\f568"} .bi-slash-square::before{content:"\f569"} .bi-slash::before{content:"\f56a"} .bi-sliders::before{content:"\f56b"} .bi-smartwatch::before{content:"\f56c"} .bi-snow::before{content:"\f56d"} .bi-snow2::before{content:"\f56e"} .bi-snow3::before{content:"\f56f"} .bi-sort-alpha-down-alt::before{content:"\f570"} .bi-sort-alpha-down::before{content:"\f571"} .bi-sort-alpha-up-alt::before{content:"\f572"} .bi-sort-alpha-up::before{content:"\f573"} .bi-sort-down-alt::before{content:"\f574"} .bi-sort-down::before{content:"\f575"} .bi-sort-numeric-down-alt::before{content:"\f576"} .bi-sort-numeric-down::before{content:"\f577"} .bi-sort-numeric-up-alt::before{content:"\f578"} .bi-sort-numeric-up::before{content:"\f579"} .bi-sort-up-alt::before{content:"\f57a"} .bi-sort-up::before{content:"\f57b"} .bi-soundwave::before{content:"\f57c"} .bi-speaker-fill::before{content:"\f57d"} .bi-speaker::before{content:"\f57e"} .bi-speedometer::before{content:"\f57f"} .bi-speedometer2::before{content:"\f580"} .bi-spellcheck::before{content:"\f581"} .bi-square-fill::before{content:"\f582"} .bi-square-half::before{content:"\f583"} .bi-square::before{content:"\f584"} .bi-stack::before{content:"\f585"} .bi-star-fill::before{content:"\f586"} .bi-star-half::before{content:"\f587"} .bi-star::before{content:"\f588"} .bi-stars::before{content:"\f589"} .bi-stickies-fill::before{content:"\f58a"} .bi-stickies::before{content:"\f58b"} .bi-sticky-fill::before{content:"\f58c"} .bi-sticky::before{content:"\f58d"} .bi-stop-btn-fill::before{content:"\f58e"} .bi-stop-btn::before{content:"\f58f"} .bi-stop-circle-fill::before{content:"\f590"} .bi-stop-circle::before{content:"\f591"} .bi-stop-fill::before{content:"\f592"} .bi-stop::before{content:"\f593"} .bi-stoplights-fill::before{content:"\f594"} .bi-stoplights::before{content:"\f595"} .bi-stopwatch-fill::before{content:"\f596"} .bi-stopwatch::before{content:"\f597"} .bi-subtract::before{content:"\f598"} .bi-suit-club-fill::before{content:"\f599"} .bi-suit-club::before{content:"\f59a"} .bi-suit-diamond-fill::before{content:"\f59b"} .bi-suit-diamond::before{content:"\f59c"} .bi-suit-heart-fill::before{content:"\f59d"} .bi-suit-heart::before{content:"\f59e"} .bi-suit-spade-fill::before{content:"\f59f"} .bi-suit-spade::before{content:"\f5a0"} .bi-sun-fill::before{content:"\f5a1"} .bi-sun::before{content:"\f5a2"} .bi-sunglasses::before{content:"\f5a3"} .bi-sunrise-fill::before{content:"\f5a4"} .bi-sunrise::before{content:"\f5a5"} .bi-sunset-fill::before{content:"\f5a6"} .bi-sunset::before{content:"\f5a7"} .bi-symmetry-horizontal::before{content:"\f5a8"} .bi-symmetry-vertical::before{content:"\f5a9"} .bi-table::before{content:"\f5aa"} .bi-tablet-fill::before{content:"\f5ab"} .bi-tablet-landscape-fill::before{content:"\f5ac"} .bi-tablet-landscape::before{content:"\f5ad"} .bi-tablet::before{content:"\f5ae"} .bi-tag-fill::before{content:"\f5af"} .bi-tag::before{content:"\f5b0"} .bi-tags-fill::before{content:"\f5b1"} .bi-tags::before{content:"\f5b2"} .bi-telegram::before{content:"\f5b3"} .bi-telephone-fill::before{content:"\f5b4"} .bi-telephone-forward-fill::before{content:"\f5b5"} .bi-telephone-forward::before{content:"\f5b6"} .bi-telephone-inbound-fill::before{content:"\f5b7"} .bi-telephone-inbound::before{content:"\f5b8"} .bi-telephone-minus-fill::before{content:"\f5b9"} .bi-telephone-minus::before{content:"\f5ba"} .bi-telephone-outbound-fill::before{content:"\f5bb"} .bi-telephone-outbound::before{content:"\f5bc"} .bi-telephone-plus-fill::before{content:"\f5bd"} .bi-telephone-plus::before{content:"\f5be"} .bi-telephone-x-fill::before{content:"\f5bf"} .bi-telephone-x::before{content:"\f5c0"} .bi-telephone::before{content:"\f5c1"} .bi-terminal-fill::before{content:"\f5c2"} .bi-terminal::before{content:"\f5c3"} .bi-text-center::before{content:"\f5c4"} .bi-text-indent-left::before{content:"\f5c5"} .bi-text-indent-right::before{content:"\f5c6"} .bi-text-left::before{content:"\f5c7"} .bi-text-paragraph::before{content:"\f5c8"} .bi-text-right::before{content:"\f5c9"} .bi-textarea-resize::before{content:"\f5ca"} .bi-textarea-t::before{content:"\f5cb"} .bi-textarea::before{content:"\f5cc"} .bi-thermometer-half::before{content:"\f5cd"} .bi-thermometer-high::before{content:"\f5ce"} .bi-thermometer-low::before{content:"\f5cf"} .bi-thermometer-snow::before{content:"\f5d0"} .bi-thermometer-sun::before{content:"\f5d1"} .bi-thermometer::before{content:"\f5d2"} .bi-three-dots-vertical::before{content:"\f5d3"} .bi-three-dots::before{content:"\f5d4"} .bi-toggle-off::before{content:"\f5d5"} .bi-toggle-on::before{content:"\f5d6"} .bi-toggle2-off::before{content:"\f5d7"} .bi-toggle2-on::before{content:"\f5d8"} .bi-toggles::before{content:"\f5d9"} .bi-toggles2::before{content:"\f5da"} .bi-tools::before{content:"\f5db"} .bi-tornado::before{content:"\f5dc"} .bi-trash-fill::before{content:"\f5dd"} .bi-trash::before{content:"\f5de"} .bi-trash2-fill::before{content:"\f5df"} .bi-trash2::before{content:"\f5e0"} .bi-tree-fill::before{content:"\f5e1"} .bi-tree::before{content:"\f5e2"} .bi-triangle-fill::before{content:"\f5e3"} .bi-triangle-half::before{content:"\f5e4"} .bi-triangle::before{content:"\f5e5"} .bi-trophy-fill::before{content:"\f5e6"} .bi-trophy::before{content:"\f5e7"} .bi-tropical-storm::before{content:"\f5e8"} .bi-truck-flatbed::before{content:"\f5e9"} .bi-truck::before{content:"\f5ea"} .bi-tsunami::before{content:"\f5eb"} .bi-tv-fill::before{content:"\f5ec"} .bi-tv::before{content:"\f5ed"} .bi-twitch::before{content:"\f5ee"} .bi-twitter::before{content:"\f5ef"} .bi-type-bold::before{content:"\f5f0"} .bi-type-h1::before{content:"\f5f1"} .bi-type-h2::before{content:"\f5f2"} .bi-type-h3::before{content:"\f5f3"} .bi-type-italic::before{content:"\f5f4"} .bi-type-strikethrough::before{content:"\f5f5"} .bi-type-underline::before{content:"\f5f6"} .bi-type::before{content:"\f5f7"} .bi-ui-checks-grid::before{content:"\f5f8"} .bi-ui-checks::before{content:"\f5f9"} .bi-ui-radios-grid::before{content:"\f5fa"} .bi-ui-radios::before{content:"\f5fb"} .bi-umbrella-fill::before{content:"\f5fc"} .bi-umbrella::before{content:"\f5fd"} .bi-union::before{content:"\f5fe"} .bi-unlock-fill::before{content:"\f5ff"} .bi-unlock::before{content:"\f600"} .bi-upc-scan::before{content:"\f601"} .bi-upc::before{content:"\f602"} .bi-upload::before{content:"\f603"} .bi-vector-pen::before{content:"\f604"} .bi-view-list::before{content:"\f605"} .bi-view-stacked::before{content:"\f606"} .bi-vinyl-fill::before{content:"\f607"} .bi-vinyl::before{content:"\f608"} .bi-voicemail::before{content:"\f609"} .bi-volume-down-fill::before{content:"\f60a"} .bi-volume-down::before{content:"\f60b"} .bi-volume-mute-fill::before{content:"\f60c"} .bi-volume-mute::before{content:"\f60d"} .bi-volume-off-fill::before{content:"\f60e"} .bi-volume-off::before{content:"\f60f"} .bi-volume-up-fill::before{content:"\f610"} .bi-volume-up::before{content:"\f611"} .bi-vr::before{content:"\f612"} .bi-wallet-fill::before{content:"\f613"} .bi-wallet::before{content:"\f614"} .bi-wallet2::before{content:"\f615"} .bi-watch::before{content:"\f616"} .bi-water::before{content:"\f617"} .bi-whatsapp::before{content:"\f618"} .bi-wifi-1::before{content:"\f619"} .bi-wifi-2::before{content:"\f61a"} .bi-wifi-off::before{content:"\f61b"} .bi-wifi::before{content:"\f61c"} .bi-wind::before{content:"\f61d"} .bi-window-dock::before{content:"\f61e"} .bi-window-sidebar::before{content:"\f61f"} .bi-window::before{content:"\f620"} .bi-wrench::before{content:"\f621"} .bi-x-circle-fill::before{content:"\f622"} .bi-x-circle::before{content:"\f623"} .bi-x-diamond-fill::before{content:"\f624"} .bi-x-diamond::before{content:"\f625"} .bi-x-octagon-fill::before{content:"\f626"} .bi-x-octagon::before{content:"\f627"} .bi-x-square-fill::before{content:"\f628"} .bi-x-square::before{content:"\f629"} .bi-x::before{content:"\f62a"} .bi-youtube::before{content:"\f62b"} .bi-zoom-in::before{content:"\f62c"} .bi-zoom-out::before{content:"\f62d"} .bi-bank::before{content:"\f62e"} .bi-bank2::before{content:"\f62f"} .bi-bell-slash-fill::before{content:"\f630"} .bi-bell-slash::before{content:"\f631"} .bi-cash-coin::before{content:"\f632"} .bi-check-lg::before{content:"\f633"} .bi-coin::before{content:"\f634"} .bi-currency-bitcoin::before{content:"\f635"} .bi-currency-dollar::before{content:"\f636"} .bi-currency-euro::before{content:"\f637"} .bi-currency-exchange::before{content:"\f638"} .bi-currency-pound::before{content:"\f639"} .bi-currency-yen::before{content:"\f63a"} .bi-dash-lg::before{content:"\f63b"} .bi-exclamation-lg::before{content:"\f63c"} .bi-file-earmark-pdf-fill::before{content:"\f63d"} .bi-file-earmark-pdf::before{content:"\f63e"} .bi-file-pdf-fill::before{content:"\f63f"} .bi-file-pdf::before{content:"\f640"} .bi-gender-ambiguous::before{content:"\f641"} .bi-gender-female::before{content:"\f642"} .bi-gender-male::before{content:"\f643"} .bi-gender-trans::before{content:"\f644"} .bi-headset-vr::before{content:"\f645"} .bi-info-lg::before{content:"\f646"} .bi-mastodon::before{content:"\f647"} .bi-messenger::before{content:"\f648"} .bi-piggy-bank-fill::before{content:"\f649"} .bi-piggy-bank::before{content:"\f64a"} .bi-pin-map-fill::before{content:"\f64b"} .bi-pin-map::before{content:"\f64c"} .bi-plus-lg::before{content:"\f64d"} .bi-question-lg::before{content:"\f64e"} .bi-recycle::before{content:"\f64f"} .bi-reddit::before{content:"\f650"} .bi-safe-fill::before{content:"\f651"} .bi-safe2-fill::before{content:"\f652"} .bi-safe2::before{content:"\f653"} .bi-sd-card-fill::before{content:"\f654"} .bi-sd-card::before{content:"\f655"} .bi-skype::before{content:"\f656"} .bi-slash-lg::before{content:"\f657"} .bi-translate::before{content:"\f658"} .bi-x-lg::before{content:"\f659"} .bi-safe::before{content:"\f65a"} .bi-apple::before{content:"\f65b"} .bi-microsoft::before{content:"\f65d"} .bi-windows::before{content:"\f65e"} .bi-behance::before{content:"\f65c"} .bi-dribbble::before{content:"\f65f"} .bi-line::before{content:"\f660"} .bi-medium::before{content:"\f661"} .bi-paypal::before{content:"\f662"} .bi-pinterest::before{content:"\f663"} .bi-signal::before{content:"\f664"} .bi-snapchat::before{content:"\f665"} .bi-spotify::before{content:"\f666"} .bi-stack-overflow::before{content:"\f667"} .bi-strava::before{content:"\f668"} .bi-wordpress::before{content:"\f669"} .bi-vimeo::before{content:"\f66a"} .bi-activity::before{content:"\f66b"} .bi-easel2-fill::before{content:"\f66c"} .bi-easel2::before{content:"\f66d"} .bi-easel3-fill::before{content:"\f66e"} .bi-easel3::before{content:"\f66f"} .bi-fan::before{content:"\f670"} .bi-fingerprint::before{content:"\f671"} .bi-graph-down-arrow::before{content:"\f672"} .bi-graph-up-arrow::before{content:"\f673"} .bi-hypnotize::before{content:"\f674"} .bi-magic::before{content:"\f675"} .bi-person-rolodex::before{content:"\f676"} .bi-person-video::before{content:"\f677"} .bi-person-video2::before{content:"\f678"} .bi-person-video3::before{content:"\f679"} .bi-person-workspace::before{content:"\f67a"} .bi-radioactive::before{content:"\f67b"} .bi-webcam-fill::before{content:"\f67c"} .bi-webcam::before{content:"\f67d"} .bi-yin-yang::before{content:"\f67e"} .bi-bandaid-fill::before{content:"\f680"} .bi-bandaid::before{content:"\f681"} .bi-bluetooth::before{content:"\f682"} .bi-body-text::before{content:"\f683"} .bi-boombox::before{content:"\f684"} .bi-boxes::before{content:"\f685"} .bi-dpad-fill::before{content:"\f686"} .bi-dpad::before{content:"\f687"} .bi-ear-fill::before{content:"\f688"} .bi-ear::before{content:"\f689"} .bi-envelope-check-fill::before{content:"\f68b"} .bi-envelope-check::before{content:"\f68c"} .bi-envelope-dash-fill::before{content:"\f68e"} .bi-envelope-dash::before{content:"\f68f"} .bi-envelope-exclamation-fill::before{content:"\f691"} .bi-envelope-exclamation::before{content:"\f692"} .bi-envelope-plus-fill::before{content:"\f693"} .bi-envelope-plus::before{content:"\f694"} .bi-envelope-slash-fill::before{content:"\f696"} .bi-envelope-slash::before{content:"\f697"} .bi-envelope-x-fill::before{content:"\f699"} .bi-envelope-x::before{content:"\f69a"} .bi-explicit-fill::before{content:"\f69b"} .bi-explicit::before{content:"\f69c"} .bi-git::before{content:"\f69d"} .bi-infinity::before{content:"\f69e"} .bi-list-columns-reverse::before{content:"\f69f"} .bi-list-columns::before{content:"\f6a0"} .bi-meta::before{content:"\f6a1"} .bi-nintendo-switch::before{content:"\f6a4"} .bi-pc-display-horizontal::before{content:"\f6a5"} .bi-pc-display::before{content:"\f6a6"} .bi-pc-horizontal::before{content:"\f6a7"} .bi-pc::before{content:"\f6a8"} .bi-playstation::before{content:"\f6a9"} .bi-plus-slash-minus::before{content:"\f6aa"} .bi-projector-fill::before{content:"\f6ab"} .bi-projector::before{content:"\f6ac"} .bi-qr-code-scan::before{content:"\f6ad"} .bi-qr-code::before{content:"\f6ae"} .bi-quora::before{content:"\f6af"} .bi-quote::before{content:"\f6b0"} .bi-robot::before{content:"\f6b1"} .bi-send-check-fill::before{content:"\f6b2"} .bi-send-check::before{content:"\f6b3"} .bi-send-dash-fill::before{content:"\f6b4"} .bi-send-dash::before{content:"\f6b5"} .bi-send-exclamation-fill::before{content:"\f6b7"} .bi-send-exclamation::before{content:"\f6b8"} .bi-send-fill::before{content:"\f6b9"} .bi-send-plus-fill::before{content:"\f6ba"} .bi-send-plus::before{content:"\f6bb"} .bi-send-slash-fill::before{content:"\f6bc"} .bi-send-slash::before{content:"\f6bd"} .bi-send-x-fill::before{content:"\f6be"} .bi-send-x::before{content:"\f6bf"} .bi-send::before{content:"\f6c0"} .bi-steam::before{content:"\f6c1"} .bi-terminal-dash::before{content:"\f6c3"} .bi-terminal-plus::before{content:"\f6c4"} .bi-terminal-split::before{content:"\f6c5"} .bi-ticket-detailed-fill::before{content:"\f6c6"} .bi-ticket-detailed::before{content:"\f6c7"} .bi-ticket-fill::before{content:"\f6c8"} .bi-ticket-perforated-fill::before{content:"\f6c9"} .bi-ticket-perforated::before{content:"\f6ca"} .bi-ticket::before{content:"\f6cb"} .bi-tiktok::before{content:"\f6cc"} .bi-window-dash::before{content:"\f6cd"} .bi-window-desktop::before{content:"\f6ce"} .bi-window-fullscreen::before{content:"\f6cf"} .bi-window-plus::before{content:"\f6d0"} .bi-window-split::before{content:"\f6d1"} .bi-window-stack::before{content:"\f6d2"} .bi-window-x::before{content:"\f6d3"} .bi-xbox::before{content:"\f6d4"} .bi-ethernet::before{content:"\f6d5"} .bi-hdmi-fill::before{content:"\f6d6"} .bi-hdmi::before{content:"\f6d7"} .bi-usb-c-fill::before{content:"\f6d8"} .bi-usb-c::before{content:"\f6d9"} .bi-usb-fill::before{content:"\f6da"} .bi-usb-plug-fill::before{content:"\f6db"} .bi-usb-plug::before{content:"\f6dc"} .bi-usb-symbol::before{content:"\f6dd"} .bi-usb::before{content:"\f6de"} .bi-boombox-fill::before{content:"\f6df"} .bi-displayport::before{content:"\f6e1"} .bi-gpu-card::before{content:"\f6e2"} .bi-memory::before{content:"\f6e3"} .bi-modem-fill::before{content:"\f6e4"} .bi-modem::before{content:"\f6e5"} .bi-motherboard-fill::before{content:"\f6e6"} .bi-motherboard::before{content:"\f6e7"} .bi-optical-audio-fill::before{content:"\f6e8"} .bi-optical-audio::before{content:"\f6e9"} .bi-pci-card::before{content:"\f6ea"} .bi-router-fill::before{content:"\f6eb"} .bi-router::before{content:"\f6ec"} .bi-thunderbolt-fill::before{content:"\f6ef"} .bi-thunderbolt::before{content:"\f6f0"} .bi-usb-drive-fill::before{content:"\f6f1"} .bi-usb-drive::before{content:"\f6f2"} .bi-usb-micro-fill::before{content:"\f6f3"} .bi-usb-micro::before{content:"\f6f4"} .bi-usb-mini-fill::before{content:"\f6f5"} .bi-usb-mini::before{content:"\f6f6"} .bi-cloud-haze2::before{content:"\f6f7"} .bi-device-hdd-fill::before{content:"\f6f8"} .bi-device-hdd::before{content:"\f6f9"} .bi-device-ssd-fill::before{content:"\f6fa"} .bi-device-ssd::before{content:"\f6fb"} .bi-displayport-fill::before{content:"\f6fc"} .bi-mortarboard-fill::before{content:"\f6fd"} .bi-mortarboard::before{content:"\f6fe"} .bi-terminal-x::before{content:"\f6ff"} .bi-arrow-through-heart-fill::before{content:"\f700"} .bi-arrow-through-heart::before{content:"\f701"} .bi-badge-sd-fill::before{content:"\f702"} .bi-badge-sd::before{content:"\f703"} .bi-bag-heart-fill::before{content:"\f704"} .bi-bag-heart::before{content:"\f705"} .bi-balloon-fill::before{content:"\f706"} .bi-balloon-heart-fill::before{content:"\f707"} .bi-balloon-heart::before{content:"\f708"} .bi-balloon::before{content:"\f709"} .bi-box2-fill::before{content:"\f70a"} .bi-box2-heart-fill::before{content:"\f70b"} .bi-box2-heart::before{content:"\f70c"} .bi-box2::before{content:"\f70d"} .bi-braces-asterisk::before{content:"\f70e"} .bi-calendar-heart-fill::before{content:"\f70f"} .bi-calendar-heart::before{content:"\f710"} .bi-calendar2-heart-fill::before{content:"\f711"} .bi-calendar2-heart::before{content:"\f712"} .bi-chat-heart-fill::before{content:"\f713"} .bi-chat-heart::before{content:"\f714"} .bi-chat-left-heart-fill::before{content:"\f715"} .bi-chat-left-heart::before{content:"\f716"} .bi-chat-right-heart-fill::before{content:"\f717"} .bi-chat-right-heart::before{content:"\f718"} .bi-chat-square-heart-fill::before{content:"\f719"} .bi-chat-square-heart::before{content:"\f71a"} .bi-clipboard-check-fill::before{content:"\f71b"} .bi-clipboard-data-fill::before{content:"\f71c"} .bi-clipboard-fill::before{content:"\f71d"} .bi-clipboard-heart-fill::before{content:"\f71e"} .bi-clipboard-heart::before{content:"\f71f"} .bi-clipboard-minus-fill::before{content:"\f720"} .bi-clipboard-plus-fill::before{content:"\f721"} .bi-clipboard-pulse::before{content:"\f722"} .bi-clipboard-x-fill::before{content:"\f723"} .bi-clipboard2-check-fill::before{content:"\f724"} .bi-clipboard2-check::before{content:"\f725"} .bi-clipboard2-data-fill::before{content:"\f726"} .bi-clipboard2-data::before{content:"\f727"} .bi-clipboard2-fill::before{content:"\f728"} .bi-clipboard2-heart-fill::before{content:"\f729"} .bi-clipboard2-heart::before{content:"\f72a"} .bi-clipboard2-minus-fill::before{content:"\f72b"} .bi-clipboard2-minus::before{content:"\f72c"} .bi-clipboard2-plus-fill::before{content:"\f72d"} .bi-clipboard2-plus::before{content:"\f72e"} .bi-clipboard2-pulse-fill::before{content:"\f72f"} .bi-clipboard2-pulse::before{content:"\f730"} .bi-clipboard2-x-fill::before{content:"\f731"} .bi-clipboard2-x::before{content:"\f732"} .bi-clipboard2::before{content:"\f733"} .bi-emoji-kiss-fill::before{content:"\f734"} .bi-emoji-kiss::before{content:"\f735"} .bi-envelope-heart-fill::before{content:"\f736"} .bi-envelope-heart::before{content:"\f737"} .bi-envelope-open-heart-fill::before{content:"\f738"} .bi-envelope-open-heart::before{content:"\f739"} .bi-envelope-paper-fill::before{content:"\f73a"} .bi-envelope-paper-heart-fill::before{content:"\f73b"} .bi-envelope-paper-heart::before{content:"\f73c"} .bi-envelope-paper::before{content:"\f73d"} .bi-filetype-aac::before{content:"\f73e"} .bi-filetype-ai::before{content:"\f73f"} .bi-filetype-bmp::before{content:"\f740"} .bi-filetype-cs::before{content:"\f741"} .bi-filetype-css::before{content:"\f742"} .bi-filetype-csv::before{content:"\f743"} .bi-filetype-doc::before{content:"\f744"} .bi-filetype-docx::before{content:"\f745"} .bi-filetype-exe::before{content:"\f746"} .bi-filetype-gif::before{content:"\f747"} .bi-filetype-heic::before{content:"\f748"} .bi-filetype-html::before{content:"\f749"} .bi-filetype-java::before{content:"\f74a"} .bi-filetype-jpg::before{content:"\f74b"} .bi-filetype-js::before{content:"\f74c"} .bi-filetype-jsx::before{content:"\f74d"} .bi-filetype-key::before{content:"\f74e"} .bi-filetype-m4p::before{content:"\f74f"} .bi-filetype-md::before{content:"\f750"} .bi-filetype-mdx::before{content:"\f751"} .bi-filetype-mov::before{content:"\f752"} .bi-filetype-mp3::before{content:"\f753"} .bi-filetype-mp4::before{content:"\f754"} .bi-filetype-otf::before{content:"\f755"} .bi-filetype-pdf::before{content:"\f756"} .bi-filetype-php::before{content:"\f757"} .bi-filetype-png::before{content:"\f758"} .bi-filetype-ppt::before{content:"\f75a"} .bi-filetype-psd::before{content:"\f75b"} .bi-filetype-py::before{content:"\f75c"} .bi-filetype-raw::before{content:"\f75d"} .bi-filetype-rb::before{content:"\f75e"} .bi-filetype-sass::before{content:"\f75f"} .bi-filetype-scss::before{content:"\f760"} .bi-filetype-sh::before{content:"\f761"} .bi-filetype-svg::before{content:"\f762"} .bi-filetype-tiff::before{content:"\f763"} .bi-filetype-tsx::before{content:"\f764"} .bi-filetype-ttf::before{content:"\f765"} .bi-filetype-txt::before{content:"\f766"} .bi-filetype-wav::before{content:"\f767"} .bi-filetype-woff::before{content:"\f768"} .bi-filetype-xls::before{content:"\f76a"} .bi-filetype-xml::before{content:"\f76b"} .bi-filetype-yml::before{content:"\f76c"} .bi-heart-arrow::before{content:"\f76d"} .bi-heart-pulse-fill::before{content:"\f76e"} .bi-heart-pulse::before{content:"\f76f"} .bi-heartbreak-fill::before{content:"\f770"} .bi-heartbreak::before{content:"\f771"} .bi-hearts::before{content:"\f772"} .bi-hospital-fill::before{content:"\f773"} .bi-hospital::before{content:"\f774"} .bi-house-heart-fill::before{content:"\f775"} .bi-house-heart::before{content:"\f776"} .bi-incognito::before{content:"\f777"} .bi-magnet-fill::before{content:"\f778"} .bi-magnet::before{content:"\f779"} .bi-person-heart::before{content:"\f77a"} .bi-person-hearts::before{content:"\f77b"} .bi-phone-flip::before{content:"\f77c"} .bi-plugin::before{content:"\f77d"} .bi-postage-fill::before{content:"\f77e"} .bi-postage-heart-fill::before{content:"\f77f"} .bi-postage-heart::before{content:"\f780"} .bi-postage::before{content:"\f781"} .bi-postcard-fill::before{content:"\f782"} .bi-postcard-heart-fill::before{content:"\f783"} .bi-postcard-heart::before{content:"\f784"} .bi-postcard::before{content:"\f785"} .bi-search-heart-fill::before{content:"\f786"} .bi-search-heart::before{content:"\f787"} .bi-sliders2-vertical::before{content:"\f788"} .bi-sliders2::before{content:"\f789"} .bi-trash3-fill::before{content:"\f78a"} .bi-trash3::before{content:"\f78b"} .bi-valentine::before{content:"\f78c"} .bi-valentine2::before{content:"\f78d"} .bi-wrench-adjustable-circle-fill::before{content:"\f78e"} .bi-wrench-adjustable-circle::before{content:"\f78f"} .bi-wrench-adjustable::before{content:"\f790"} .bi-filetype-json::before{content:"\f791"} .bi-filetype-pptx::before{content:"\f792"} .bi-filetype-xlsx::before{content:"\f793"} .bi-1-circle-fill::before{content:"\f796"} .bi-1-circle::before{content:"\f797"} .bi-1-square-fill::before{content:"\f798"} .bi-1-square::before{content:"\f799"} .bi-2-circle-fill::before{content:"\f79c"} .bi-2-circle::before{content:"\f79d"} .bi-2-square-fill::before{content:"\f79e"} .bi-2-square::before{content:"\f79f"} .bi-3-circle-fill::before{content:"\f7a2"} .bi-3-circle::before{content:"\f7a3"} .bi-3-square-fill::before{content:"\f7a4"} .bi-3-square::before{content:"\f7a5"} .bi-4-circle-fill::before{content:"\f7a8"} .bi-4-circle::before{content:"\f7a9"} .bi-4-square-fill::before{content:"\f7aa"} .bi-4-square::before{content:"\f7ab"} .bi-5-circle-fill::before{content:"\f7ae"} .bi-5-circle::before{content:"\f7af"} .bi-5-square-fill::before{content:"\f7b0"} .bi-5-square::before{content:"\f7b1"} .bi-6-circle-fill::before{content:"\f7b4"} .bi-6-circle::before{content:"\f7b5"} .bi-6-square-fill::before{content:"\f7b6"} .bi-6-square::before{content:"\f7b7"} .bi-7-circle-fill::before{content:"\f7ba"} .bi-7-circle::before{content:"\f7bb"} .bi-7-square-fill::before{content:"\f7bc"} .bi-7-square::before{content:"\f7bd"} .bi-8-circle-fill::before{content:"\f7c0"} .bi-8-circle::before{content:"\f7c1"} .bi-8-square-fill::before{content:"\f7c2"} .bi-8-square::before{content:"\f7c3"} .bi-9-circle-fill::before{content:"\f7c6"} .bi-9-circle::before{content:"\f7c7"} .bi-9-square-fill::before{content:"\f7c8"} .bi-9-square::before{content:"\f7c9"} .bi-airplane-engines-fill::before{content:"\f7ca"} .bi-airplane-engines::before{content:"\f7cb"} .bi-airplane-fill::before{content:"\f7cc"} .bi-airplane::before{content:"\f7cd"} .bi-alexa::before{content:"\f7ce"} .bi-alipay::before{content:"\f7cf"} .bi-android::before{content:"\f7d0"} .bi-android2::before{content:"\f7d1"} .bi-box-fill::before{content:"\f7d2"} .bi-box-seam-fill::before{content:"\f7d3"} .bi-browser-chrome::before{content:"\f7d4"} .bi-browser-edge::before{content:"\f7d5"} .bi-browser-firefox::before{content:"\f7d6"} .bi-browser-safari::before{content:"\f7d7"} .bi-c-circle-fill::before{content:"\f7da"} .bi-c-circle::before{content:"\f7db"} .bi-c-square-fill::before{content:"\f7dc"} .bi-c-square::before{content:"\f7dd"} .bi-capsule-pill::before{content:"\f7de"} .bi-capsule::before{content:"\f7df"} .bi-car-front-fill::before{content:"\f7e0"} .bi-car-front::before{content:"\f7e1"} .bi-cassette-fill::before{content:"\f7e2"} .bi-cassette::before{content:"\f7e3"} .bi-cc-circle-fill::before{content:"\f7e6"} .bi-cc-circle::before{content:"\f7e7"} .bi-cc-square-fill::before{content:"\f7e8"} .bi-cc-square::before{content:"\f7e9"} .bi-cup-hot-fill::before{content:"\f7ea"} .bi-cup-hot::before{content:"\f7eb"} .bi-currency-rupee::before{content:"\f7ec"} .bi-dropbox::before{content:"\f7ed"} .bi-escape::before{content:"\f7ee"} .bi-fast-forward-btn-fill::before{content:"\f7ef"} .bi-fast-forward-btn::before{content:"\f7f0"} .bi-fast-forward-circle-fill::before{content:"\f7f1"} .bi-fast-forward-circle::before{content:"\f7f2"} .bi-fast-forward-fill::before{content:"\f7f3"} .bi-fast-forward::before{content:"\f7f4"} .bi-filetype-sql::before{content:"\f7f5"} .bi-fire::before{content:"\f7f6"} .bi-google-play::before{content:"\f7f7"} .bi-h-circle-fill::before{content:"\f7fa"} .bi-h-circle::before{content:"\f7fb"} .bi-h-square-fill::before{content:"\f7fc"} .bi-h-square::before{content:"\f7fd"} .bi-indent::before{content:"\f7fe"} .bi-lungs-fill::before{content:"\f7ff"} .bi-lungs::before{content:"\f800"} .bi-microsoft-teams::before{content:"\f801"} .bi-p-circle-fill::before{content:"\f804"} .bi-p-circle::before{content:"\f805"} .bi-p-square-fill::before{content:"\f806"} .bi-p-square::before{content:"\f807"} .bi-pass-fill::before{content:"\f808"} .bi-pass::before{content:"\f809"} .bi-prescription::before{content:"\f80a"} .bi-prescription2::before{content:"\f80b"} .bi-r-circle-fill::before{content:"\f80e"} .bi-r-circle::before{content:"\f80f"} .bi-r-square-fill::before{content:"\f810"} .bi-r-square::before{content:"\f811"} .bi-repeat-1::before{content:"\f812"} .bi-repeat::before{content:"\f813"} .bi-rewind-btn-fill::before{content:"\f814"} .bi-rewind-btn::before{content:"\f815"} .bi-rewind-circle-fill::before{content:"\f816"} .bi-rewind-circle::before{content:"\f817"} .bi-rewind-fill::before{content:"\f818"} .bi-rewind::before{content:"\f819"} .bi-train-freight-front-fill::before{content:"\f81a"} .bi-train-freight-front::before{content:"\f81b"} .bi-train-front-fill::before{content:"\f81c"} .bi-train-front::before{content:"\f81d"} .bi-train-lightrail-front-fill::before{content:"\f81e"} .bi-train-lightrail-front::before{content:"\f81f"} .bi-truck-front-fill::before{content:"\f820"} .bi-truck-front::before{content:"\f821"} .bi-ubuntu::before{content:"\f822"} .bi-unindent::before{content:"\f823"} .bi-unity::before{content:"\f824"} .bi-universal-access-circle::before{content:"\f825"} .bi-universal-access::before{content:"\f826"} .bi-virus::before{content:"\f827"} .bi-virus2::before{content:"\f828"} .bi-wechat::before{content:"\f829"} .bi-yelp::before{content:"\f82a"} .bi-sign-stop-fill::before{content:"\f82b"} .bi-sign-stop-lights-fill::before{content:"\f82c"} .bi-sign-stop-lights::before{content:"\f82d"} .bi-sign-stop::before{content:"\f82e"} .bi-sign-turn-left-fill::before{content:"\f82f"} .bi-sign-turn-left::before{content:"\f830"} .bi-sign-turn-right-fill::before{content:"\f831"} .bi-sign-turn-right::before{content:"\f832"} .bi-sign-turn-slight-left-fill::before{content:"\f833"} .bi-sign-turn-slight-left::before{content:"\f834"} .bi-sign-turn-slight-right-fill::before{content:"\f835"} .bi-sign-turn-slight-right::before{content:"\f836"} .bi-sign-yield-fill::before{content:"\f837"} .bi-sign-yield::before{content:"\f838"} .bi-ev-station-fill::before{content:"\f839"} .bi-ev-station::before{content:"\f83a"} .bi-fuel-pump-diesel-fill::before{content:"\f83b"} .bi-fuel-pump-diesel::before{content:"\f83c"} .bi-fuel-pump-fill::before{content:"\f83d"} .bi-fuel-pump::before{content:"\f83e"} .bi-0-circle-fill::before{content:"\f83f"} .bi-0-circle::before{content:"\f840"} .bi-0-square-fill::before{content:"\f841"} .bi-0-square::before{content:"\f842"} .bi-rocket-fill::before{content:"\f843"} .bi-rocket-takeoff-fill::before{content:"\f844"} .bi-rocket-takeoff::before{content:"\f845"} .bi-rocket::before{content:"\f846"} .bi-stripe::before{content:"\f847"} .bi-subscript::before{content:"\f848"} .bi-superscript::before{content:"\f849"} .bi-trello::before{content:"\f84a"} .bi-envelope-at-fill::before{content:"\f84b"} .bi-envelope-at::before{content:"\f84c"} .bi-regex::before{content:"\f84d"} .bi-text-wrap::before{content:"\f84e"} .bi-sign-dead-end-fill::before{content:"\f84f"} .bi-sign-dead-end::before{content:"\f850"} .bi-sign-do-not-enter-fill::before{content:"\f851"} .bi-sign-do-not-enter::before{content:"\f852"} .bi-sign-intersection-fill::before{content:"\f853"} .bi-sign-intersection-side-fill::before{content:"\f854"} .bi-sign-intersection-side::before{content:"\f855"} .bi-sign-intersection-t-fill::before{content:"\f856"} .bi-sign-intersection-t::before{content:"\f857"} .bi-sign-intersection-y-fill::before{content:"\f858"} .bi-sign-intersection-y::before{content:"\f859"} .bi-sign-intersection::before{content:"\f85a"} .bi-sign-merge-left-fill::before{content:"\f85b"} .bi-sign-merge-left::before{content:"\f85c"} .bi-sign-merge-right-fill::before{content:"\f85d"} .bi-sign-merge-right::before{content:"\f85e"} .bi-sign-no-left-turn-fill::before{content:"\f85f"} .bi-sign-no-left-turn::before{content:"\f860"} .bi-sign-no-parking-fill::before{content:"\f861"} .bi-sign-no-parking::before{content:"\f862"} .bi-sign-no-right-turn-fill::before{content:"\f863"} .bi-sign-no-right-turn::before{content:"\f864"} .bi-sign-railroad-fill::before{content:"\f865"} .bi-sign-railroad::before{content:"\f866"} .bi-building-add::before{content:"\f867"} .bi-building-check::before{content:"\f868"} .bi-building-dash::before{content:"\f869"} .bi-building-down::before{content:"\f86a"} .bi-building-exclamation::before{content:"\f86b"} .bi-building-fill-add::before{content:"\f86c"} .bi-building-fill-check::before{content:"\f86d"} .bi-building-fill-dash::before{content:"\f86e"} .bi-building-fill-down::before{content:"\f86f"} .bi-building-fill-exclamation::before{content:"\f870"} .bi-building-fill-gear::before{content:"\f871"} .bi-building-fill-lock::before{content:"\f872"} .bi-building-fill-slash::before{content:"\f873"} .bi-building-fill-up::before{content:"\f874"} .bi-building-fill-x::before{content:"\f875"} .bi-building-fill::before{content:"\f876"} .bi-building-gear::before{content:"\f877"} .bi-building-lock::before{content:"\f878"} .bi-building-slash::before{content:"\f879"} .bi-building-up::before{content:"\f87a"} .bi-building-x::before{content:"\f87b"} .bi-buildings-fill::before{content:"\f87c"} .bi-buildings::before{content:"\f87d"} .bi-bus-front-fill::before{content:"\f87e"} .bi-bus-front::before{content:"\f87f"} .bi-ev-front-fill::before{content:"\f880"} .bi-ev-front::before{content:"\f881"} .bi-globe-americas::before{content:"\f882"} .bi-globe-asia-australia::before{content:"\f883"} .bi-globe-central-south-asia::before{content:"\f884"} .bi-globe-europe-africa::before{content:"\f885"} .bi-house-add-fill::before{content:"\f886"} .bi-house-add::before{content:"\f887"} .bi-house-check-fill::before{content:"\f888"} .bi-house-check::before{content:"\f889"} .bi-house-dash-fill::before{content:"\f88a"} .bi-house-dash::before{content:"\f88b"} .bi-house-down-fill::before{content:"\f88c"} .bi-house-down::before{content:"\f88d"} .bi-house-exclamation-fill::before{content:"\f88e"} .bi-house-exclamation::before{content:"\f88f"} .bi-house-gear-fill::before{content:"\f890"} .bi-house-gear::before{content:"\f891"} .bi-house-lock-fill::before{content:"\f892"} .bi-house-lock::before{content:"\f893"} .bi-house-slash-fill::before{content:"\f894"} .bi-house-slash::before{content:"\f895"} .bi-house-up-fill::before{content:"\f896"} .bi-house-up::before{content:"\f897"} .bi-house-x-fill::before{content:"\f898"} .bi-house-x::before{content:"\f899"} .bi-person-add::before{content:"\f89a"} .bi-person-down::before{content:"\f89b"} .bi-person-exclamation::before{content:"\f89c"} .bi-person-fill-add::before{content:"\f89d"} .bi-person-fill-check::before{content:"\f89e"} .bi-person-fill-dash::before{content:"\f89f"} .bi-person-fill-down::before{content:"\f8a0"} .bi-person-fill-exclamation::before{content:"\f8a1"} .bi-person-fill-gear::before{content:"\f8a2"} .bi-person-fill-lock::before{content:"\f8a3"} .bi-person-fill-slash::before{content:"\f8a4"} .bi-person-fill-up::before{content:"\f8a5"} .bi-person-fill-x::before{content:"\f8a6"} .bi-person-gear::before{content:"\f8a7"} .bi-person-lock::before{content:"\f8a8"} .bi-person-slash::before{content:"\f8a9"} .bi-person-up::before{content:"\f8aa"} .bi-scooter::before{content:"\f8ab"} .bi-taxi-front-fill::before{content:"\f8ac"} .bi-taxi-front::before{content:"\f8ad"} .bi-amd::before{content:"\f8ae"} .bi-database-add::before{content:"\f8af"} .bi-database-check::before{content:"\f8b0"} .bi-database-dash::before{content:"\f8b1"} .bi-database-down::before{content:"\f8b2"} .bi-database-exclamation::before{content:"\f8b3"} .bi-database-fill-add::before{content:"\f8b4"} .bi-database-fill-check::before{content:"\f8b5"} .bi-database-fill-dash::before{content:"\f8b6"} .bi-database-fill-down::before{content:"\f8b7"} .bi-database-fill-exclamation::before{content:"\f8b8"} .bi-database-fill-gear::before{content:"\f8b9"} .bi-database-fill-lock::before{content:"\f8ba"} .bi-database-fill-slash::before{content:"\f8bb"} .bi-database-fill-up::before{content:"\f8bc"} .bi-database-fill-x::before{content:"\f8bd"} .bi-database-fill::before{content:"\f8be"} .bi-database-gear::before{content:"\f8bf"} .bi-database-lock::before{content:"\f8c0"} .bi-database-slash::before{content:"\f8c1"} .bi-database-up::before{content:"\f8c2"} .bi-database-x::before{content:"\f8c3"} .bi-database::before{content:"\f8c4"} .bi-houses-fill::before{content:"\f8c5"} .bi-houses::before{content:"\f8c6"} .bi-nvidia::before{content:"\f8c7"} .bi-person-vcard-fill::before{content:"\f8c8"} .bi-person-vcard::before{content:"\f8c9"} .bi-sina-weibo::before{content:"\f8ca"} .bi-tencent-qq::before{content:"\f8cb"} .bi-wikipedia::before{content:"\f8cc"} .bi-alphabet-uppercase::before{content:"\f2a5"} .bi-alphabet::before{content:"\f68a"} .bi-amazon::before{content:"\f68d"} .bi-arrows-collapse-vertical::before{content:"\f690"} .bi-arrows-expand-vertical::before{content:"\f695"} .bi-arrows-vertical::before{content:"\f698"} .bi-arrows::before{content:"\f6a2"} .bi-ban-fill::before{content:"\f6a3"} .bi-ban::before{content:"\f6b6"} .bi-bing::before{content:"\f6c2"} .bi-cake::before{content:"\f6e0"} .bi-cake2::before{content:"\f6ed"} .bi-cookie::before{content:"\f6ee"} .bi-copy::before{content:"\f759"} .bi-crosshair::before{content:"\f769"} .bi-crosshair2::before{content:"\f794"} .bi-emoji-astonished-fill::before{content:"\f795"} .bi-emoji-astonished::before{content:"\f79a"} .bi-emoji-grimace-fill::before{content:"\f79b"} .bi-emoji-grimace::before{content:"\f7a0"} .bi-emoji-grin-fill::before{content:"\f7a1"} .bi-emoji-grin::before{content:"\f7a6"} .bi-emoji-surprise-fill::before{content:"\f7a7"} .bi-emoji-surprise::before{content:"\f7ac"} .bi-emoji-tear-fill::before{content:"\f7ad"} .bi-emoji-tear::before{content:"\f7b2"} .bi-envelope-arrow-down-fill::before{content:"\f7b3"} .bi-envelope-arrow-down::before{content:"\f7b8"} .bi-envelope-arrow-up-fill::before{content:"\f7b9"} .bi-envelope-arrow-up::before{content:"\f7be"} .bi-feather::before{content:"\f7bf"} .bi-feather2::before{content:"\f7c4"} .bi-floppy-fill::before{content:"\f7c5"} .bi-floppy::before{content:"\f7d8"} .bi-floppy2-fill::before{content:"\f7d9"} .bi-floppy2::before{content:"\f7e4"} .bi-gitlab::before{content:"\f7e5"} .bi-highlighter::before{content:"\f7f8"} .bi-marker-tip::before{content:"\f802"} .bi-nvme-fill::before{content:"\f803"} .bi-nvme::before{content:"\f80c"} .bi-opencollective::before{content:"\f80d"} .bi-pci-card-network::before{content:"\f8cd"} .bi-pci-card-sound::before{content:"\f8ce"} .bi-radar::before{content:"\f8cf"} .bi-send-arrow-down-fill::before{content:"\f8d0"} .bi-send-arrow-down::before{content:"\f8d1"} .bi-send-arrow-up-fill::before{content:"\f8d2"} .bi-send-arrow-up::before{content:"\f8d3"} .bi-sim-slash-fill::before{content:"\f8d4"} .bi-sim-slash::before{content:"\f8d5"} .bi-sourceforge::before{content:"\f8d6"} .bi-substack::before{content:"\f8d7"} .bi-threads-fill::before{content:"\f8d8"} .bi-threads::before{content:"\f8d9"} .bi-transparency::before{content:"\f8da"} .bi-twitter-x::before{content:"\f8db"} .bi-type-h4::before{content:"\f8dc"} .bi-type-h5::before{content:"\f8dd"} .bi-type-h6::before{content:"\f8de"} .bi-backpack-fill::before{content:"\f8df"} .bi-backpack::before{content:"\f8e0"} .bi-backpack2-fill::before{content:"\f8e1"} .bi-backpack2::before{content:"\f8e2"} .bi-backpack3-fill::before{content:"\f8e3"} .bi-backpack3::before{content:"\f8e4"} .bi-backpack4-fill::before{content:"\f8e5"} .bi-backpack4::before{content:"\f8e6"} .bi-brilliance::before{content:"\f8e7"} .bi-cake-fill::before{content:"\f8e8"} .bi-cake2-fill::before{content:"\f8e9"} .bi-duffle-fill::before{content:"\f8ea"} .bi-duffle::before{content:"\f8eb"} .bi-exposure::before{content:"\f8ec"} .bi-gender-neuter::before{content:"\f8ed"} .bi-highlights::before{content:"\f8ee"} .bi-luggage-fill::before{content:"\f8ef"} .bi-luggage::before{content:"\f8f0"} .bi-mailbox-flag::before{content:"\f8f1"} .bi-mailbox2-flag::before{content:"\f8f2"} .bi-noise-reduction::before{content:"\f8f3"} .bi-passport-fill::before{content:"\f8f4"} .bi-passport::before{content:"\f8f5"} .bi-person-arms-up::before{content:"\f8f6"} .bi-person-raised-hand::before{content:"\f8f7"} .bi-person-standing-dress::before{content:"\f8f8"} .bi-person-standing::before{content:"\f8f9"} .bi-person-walking::before{content:"\f8fa"} .bi-person-wheelchair::before{content:"\f8fb"} .bi-shadows::before{content:"\f8fc"} .bi-suitcase-fill::before{content:"\f8fd"} .bi-suitcase-lg-fill::before{content:"\f8fe"} .bi-suitcase-lg::before{content:"\f8ff"} .bi-suitcase::before{content:"\f900"} .bi-suitcase2-fill::before{content:"\f901"} .bi-suitcase2::before{content:"\f902"} .bi-vignette::before{content:"\f903"} \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/src/lib/css/bootstrap/bootstrap.min.css b/auth-module/module-generator-code/src/main/resources/static/src/lib/css/bootstrap/bootstrap.min.css new file mode 100644 index 0000000..e618cd8 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/src/lib/css/bootstrap/bootstrap.min.css @@ -0,0 +1,6 @@ +@charset "UTF-8";/*! + * Bootstrap v5.3.7 (https://getbootstrap.com/) + * Copyright 2011-2025 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,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:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{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:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);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:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);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:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,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}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button: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;line-height:inherit;font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-weight:300;line-height:1.2;font-size:calc(1.625rem + 4.5vw)}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-weight:300;line-height:1.2;font-size:calc(1.575rem + 3.9vw)}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-weight:300;line-height:1.2;font-size:calc(1.525rem + 3.3vw)}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-weight:300;line-height:1.2;font-size:calc(1.475rem + 2.7vw)}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-weight:300;line-height:1.2;font-size:calc(1.425rem + 2.1vw)}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-weight:300;line-height:1.2;font-size:calc(1.375rem + 1.5vw)}@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:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--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,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--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:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--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{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.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}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;max-width:100%;height:100%;padding:1rem .75rem;overflow:hidden;color:rgba(var(--bs-body-color-rgb),.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .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 .75rem}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:.75rem}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>textarea:focus~label::after,.form-floating>textarea:not(:placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>textarea:disabled~label::after{background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.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,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.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,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(-1 * var(--bs-border-width));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:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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.1'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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.1'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;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 .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .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,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{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,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{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-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.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:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--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-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .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 .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-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:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.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;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{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:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--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-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(-1 * var(--bs-border-width))}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(-1 * var(--bs-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-grow:1;flex-basis:0;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:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{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;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child)>.card-header,.card-group>.card:not(:last-child)>.card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child)>.card-footer,.card-group>.card:not(:last-child)>.card-img-bottom{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-header,.card-group>.card:not(:first-child)>.card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child)>.card-footer,.card-group>.card:not(:first-child)>.card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%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-.708'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%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-.708'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .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)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1 * var(--bs-border-width))}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.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:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):focus,.list-group-item-action:not(.active):hover{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:not(.active):active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;filter:var(--bs-btn-close-filter);border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}:root,[data-bs-theme=light]{--bs-btn-close-filter: }[data-bs-theme=dark]{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color:var(--bs-body-color);--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translate(0,-50px);transition:transform .3s ease-out}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left:auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{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-footer,.modal-fullscreen-sm-down .modal-header{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-footer,.modal-fullscreen-md-down .modal-header{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-footer,.modal-fullscreen-lg-down .modal-header{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-footer,.modal-fullscreen-xl-down .modal-header{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-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family: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-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-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-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .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-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-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-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .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:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family: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::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.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-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-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-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.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-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.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}.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%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;filter:var(--bs-carousel-control-icon-filter);border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-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 0'/%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-.708'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .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:var(--bs-carousel-caption-color);text-align:center}.carousel-dark{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}.spinner-border,.spinner-grow{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)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{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;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-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));margin-left:auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.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{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.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:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit: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}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;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-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.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}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!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:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.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}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.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}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit: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-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.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}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.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}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.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}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/src/lib/css/fonts/bootstrap-icons.woff b/auth-module/module-generator-code/src/main/resources/static/src/lib/css/fonts/bootstrap-icons.woff new file mode 100644 index 0000000000000000000000000000000000000000..dbeeb055674125ad78fda0f3d166b36e5cc92336 GIT binary patch literal 176200 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
+ * 提供将生成的代码模板打包为ZIP文件并支持下载的功能 + */ +public class ZipFileUtil { + + private static final String FILE_EXTENSION = ".vm"; + private static final String UTF_8 = StandardCharsets.UTF_8.name(); + + /** + * 创建ZIP文件 + * + * @param generatorVoList 生成的代码列表 + * @return ZIP文件字节数组 + * @throws RuntimeException 打包失败时抛出 + */ + public static byte[] createZipFile(List generatorVoList) { + try (ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + ZipOutputStream zipOutputStream = new ZipOutputStream(byteArrayOutputStream, StandardCharsets.UTF_8)) { + + generatorVoList.forEach(vo -> addToZip(zipOutputStream, vo)); + return byteArrayOutputStream.toByteArray(); + } catch (IOException e) { + throw new RuntimeException("Failed to create ZIP file", e); + } + } + + /** + * 添加文件到ZIP 将单个代码文件添加到ZIP输出流 + * + * @param zipOutputStream ZIP文件输出流 + * @param generatorVo 代码生成结果对象,包含文件路径和内容 + * @throws RuntimeException 当文件添加失败时抛出,包含失败文件路径信息 + */ + private static void addToZip(ZipOutputStream zipOutputStream, GeneratorVo generatorVo) { + try { + String entryPath = generatorVo.getPath().replace(FILE_EXTENSION, ""); + zipOutputStream.putNextEntry(new ZipEntry(entryPath)); + zipOutputStream.write(generatorVo.getCode().getBytes(UTF_8)); + zipOutputStream.closeEntry(); + } catch (IOException e) { + throw new RuntimeException("Failed to add file to ZIP: " + generatorVo.getPath(), e); + } + } +} \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/application-dev.yml b/auth-module/module-generator-code/src/main/resources/application-dev.yml new file mode 100644 index 0000000..bd0da75 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/application-dev.yml @@ -0,0 +1,7 @@ +bunny: + master: + host: rm-bp12z6hlv46vi6g8mro.mysql.rds.aliyuncs.com + port: 3306 + database: test_auth + username: bunny_test + password: Test1234 \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/application.yml b/auth-module/module-generator-code/src/main/resources/application.yml new file mode 100644 index 0000000..d147074 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/application.yml @@ -0,0 +1,32 @@ +server: + port: 8800 + +spring: + profiles: + active: dev + application: + name: generator-code + devtools: + livereload: + enabled: true + port: 8880 + + thymeleaf: + check-template-location: false + + datasource: + type: com.zaxxer.hikari.HikariDataSource + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://${bunny.master.host}:${bunny.master.port}/${bunny.master.database}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true + username: ${bunny.master.username} + password: ${bunny.master.password} + hikari: + maximum-pool-size: 20 + connection-timeout: 30000 + +logging: + file: + path: "logs/${spring.application.name}" + level: + root: info + com.auth: debug diff --git a/auth-module/module-generator-code/src/main/resources/banner.txt b/auth-module/module-generator-code/src/main/resources/banner.txt new file mode 100644 index 0000000..2bda6cf --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/banner.txt @@ -0,0 +1,13 @@ + + ____ _____ _ + | _ \ / ____| | | + | |_) |_ _ _ __ _ __ _ _ | | __ ___ _ __ ___ _ __ __ _| |_ ___ _ __ + | _ <| | | | '_ \| '_ \| | | | | | |_ |/ _ \ '_ \ / _ \ '__/ _` | __/ _ \| '__| + | |_) | |_| | | | | | | | |_| | | |__| | __/ | | | __/ | | (_| | || (_) | | + |____/ \__,_|_| |_|_| |_|\__, | \_____|\___|_| |_|\___|_| \__,_|\__\___/|_| + __/ | + |___/ + +Service Name${spring.application.name} +SpringBoot Version: ${spring-boot.version}${spring-boot.formatted-version} +Spring Active:${spring.profiles.active} diff --git a/auth-module/module-generator-code/src/main/resources/database.sqlite b/auth-module/module-generator-code/src/main/resources/database.sqlite new file mode 100644 index 0000000..e69de29 diff --git a/auth-module/module-generator-code/src/main/resources/logback.xml b/auth-module/module-generator-code/src/main/resources/logback.xml new file mode 100644 index 0000000..02b7abe --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/logback.xml @@ -0,0 +1,72 @@ + + + logback + + + + + + + + + + + + + + DEBUG + + + + %cyan([%thread %d{yyyy-MM-dd HH:mm:ss}]) %yellow(%-5level) %green(%logger{100}).%boldRed(%method)-%boldMagenta(%line)-%blue(%msg%n) + + ${ENCODING} + + + + + + logs/${APP_NAME}/${datetime}.log + true + + %date{yyyy-MM-dd HH:mm:ss} [%-5level] %thread %file:%line %logger %msg%n + ${ENCODING} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/400.html b/auth-module/module-generator-code/src/main/resources/static/error/400.html new file mode 100644 index 0000000..28842ce --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/400.html @@ -0,0 +1,69 @@ + + + + + 400 错误 - generator-code + + + + + + + + + + + + + + + + + + HTTP 400 - Bad Request + + 错误说明:因为错误的语法导致服务器无法理解请求信息。 + 原因1:客户端发起的请求不符合服务器对请求的某些限制,或者请求本身存在一定的错误。 + 解决办法: + 链接中有特殊字符或者链接长度过长导致,请对应修改. + 原因2:request header 或者 cookie 过大所引起 + 解决办法: + crtl+shift+delete 快捷键清除cookie. + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/403.html b/auth-module/module-generator-code/src/main/resources/static/error/403.html new file mode 100644 index 0000000..377cb48 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/403.html @@ -0,0 +1,69 @@ + + + + + 403 错误 - generator-code + + + + + + + + + + + + + + + + + + 403 - Forbidden 禁止访问: 访问被拒绝 + + 错误说明:禁止访问,服务器拒绝访问 + 原因1:未找到默认的索引文件 + 解决办法: + IIS中【启用默认内容文档】选项中将默认打开文档修改为程序首页文件格式,如:index.html或者index.php + 原因2:文件夹安全权限导致 + 解决办法: + 程序文件-右击-属性-安全-Users-修改为读取和执行权限 + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/404.html b/auth-module/module-generator-code/src/main/resources/static/error/404.html new file mode 100644 index 0000000..ee55cb0 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/404.html @@ -0,0 +1,78 @@ + + + + + 404 错误 - generator-code + + + + + + + + + + + + + + + + + + 404 - Page Not Found 未找到 + + 错误说明:请求的页面不存在 + 原因1:访问的文档权限不够 + 解决办法: + 修改文件权限为755,windos系统修改目录权限为可写可读。 + 原因2:防火墙的原因 + 解决办法: + 先关闭让防火墙通过WWW服务。 + 原因3:站点根目录无默认访问文件 + 解决办法: + 在根目录中创建index.html或者创建index.php。 + 原因4:站点配置目录不正确 + 解决办法: + 将网站应用程序复制到站点目录中,或者修改站点配置目录指定到应用程序目录中。 + 原因5:站点使用了伪静态 + 解决办法: + 将伪静态规则删除,或者重新编写正确的伪静态规则,或关闭伪静态配置。 + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/500.html b/auth-module/module-generator-code/src/main/resources/static/error/500.html new file mode 100644 index 0000000..6071bf4 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/500.html @@ -0,0 +1,64 @@ + + + + + 500 - 服务器错误 + + + + + + :'( + 服务器开小差啦!管理员正在修理中... + 还请阁下静候站点恢复~ + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/501.html b/auth-module/module-generator-code/src/main/resources/static/error/501.html new file mode 100644 index 0000000..feef796 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/501.html @@ -0,0 +1,66 @@ + + + + + 501 错误 - generator-code + + + + + + + + + + + + + + + + + + HTTP 501 - Not Implemented + + 错误说明:服务器没有相应的执行动作来完成当前请求。 + 原因1:Web 服务器不支持实现此请求所需的功能 + 解决办法: + 可以用来HttpWebRequest指定一个UserAgent来试试的,有时候你可以换电脑来测试一下的。 + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/502.html b/auth-module/module-generator-code/src/main/resources/static/error/502.html new file mode 100644 index 0000000..a64a8b0 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/502.html @@ -0,0 +1,80 @@ + + + + + 502 错误 - generator-code + + + + + + + + + + + + + + + + + + HTTP 502 - Bad Gateway 没有响应 + + 错误说明:坏的网关,http向后端节点请求,没有响应 + 原因1:DNS 缓冲 + 解决办法: + 在dos窗口运行 ipconfig /flushdns,该命令会刷新DNS缓冲。 + 原因2:浏览器代理 + 解决办法: + 关掉代理。 + 原因3:dns 被劫持了,即使使用国外的dns,也会被劫持 + 解决办法: + + 去掉VPN服务器的DNS。切换另外的dns。在windows系统中,可以在本地网络连接的属性中,去掉默认的dns,选用国外的dns,比如google的或opendns。 + + 原因4:php执行超时 + 解决办法: + 修改/usr/local/php/etc/php.ini 将max_execution_time 改为300。 + 原因5:nginx等待时间超时 + 解决办法: + 适当增加nginx.conf配置文件中FastCGI的timeout时间。 + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/503.html b/auth-module/module-generator-code/src/main/resources/static/error/503.html new file mode 100644 index 0000000..ddf0194 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/503.html @@ -0,0 +1,69 @@ + + + + + 503 错误 - generator-code + + + + + + + + + + + + + + + + + + HTTP 503 - Service Unavailable 服务不可用 + + 错误说明:服务当前不可用 + 原因1:服务不可用状态 + 解决办法: + 服务器或许就是正在维护或者暂停了,你可以联系一下服务器空间商。 + 原因2:程序占用资源太多 + 解决办法: + 通过设置应用程序池把账户改为NetworkService即可解决。 + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/504.html b/auth-module/module-generator-code/src/main/resources/static/error/504.html new file mode 100644 index 0000000..08b6011 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/504.html @@ -0,0 +1,81 @@ + + + + + 504 错误 - generator-code + + + + + + + + + + + + + + + + + + HTTP 504 - Gateway Timeout 网关超时 + + 错误说明:网关超时,服务器响应时间,达到超出设定的范围 + 原因1:后端电脑之间 IP 通讯缓慢而产生 + 解决办法: + 如果您的 Web 服务器由某一网站托管, 只有负责那个网站设置的人员才能解决这个问题。 + 原因2:由于nginx默认的fastcgi进程响应的缓冲区太小造成的错误 + 解决办法: + 一般默认的fastcgi进程响应的缓冲区是8K,这时可以设置大一点,在nginx.conf里,加入:fastcgi_buffers 8 + 128k这表示设置fastcgi缓冲区为8块128k大小的空间。当然如果在进行某一项即时的操作, 可能需要nginx的超时参数调大点, + 例如设置成60秒:send_timeout 60;经过这两个参数的调整,一般不会再提示“504 Gateway Time-out”错误,问题基本解决。 + + 原因3:PHP环境的配置问题 + 解决办法: + 更改php-fpm的几处配置: 把max_children由之前的10改为现在的30,这样就可以保证有充足的php-cgi进程可以被使用; + 把request_terminate_timeout由之前的0s改为60s,这样php-cgi进程 处理脚本的超时时间就是60秒,可以防止进程都被挂起,提高利用效率。 + 接着再更改nginx的几个配置项,减少FastCGI的请求次数,尽量维持buffers不变: fastcgi_buffers由 4 64k 改为 2 + 256k; fastcgi_buffer_size 由 64k 改为 128K; fastcgi_busy_buffers_size 由 128K 改为 256K; + fastcgi_temp_file_write_size 由 128K 改为 256K。 重新加载php-fpm和nginx的配置,再次测试,如果没有出现“504 + Gateway Time-out”错误,问题解决。 + + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/505.html b/auth-module/module-generator-code/src/main/resources/static/error/505.html new file mode 100644 index 0000000..a178516 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/505.html @@ -0,0 +1,72 @@ + + + + + 505 错误 - generator-code + + + + + + + + + + + + + + + + + + HTTP 505 - HTTP Version Not Supported + + 错误说明:HTTP 版本不受支持。 + 原因1:您的 Web 服务器不支持,或拒绝支持客户端(如您的浏览器)在发送给服务器的 HTTP 请求数据流中指定的 HTTP + 协议版本 + + 解决办法: + 升级您的 Web 服务器软件。 + 原因2:http请求格式的错误 + 解决办法: + 对照一下自己的代码,从打印的信息中终于找到问题所在。可能在请求后面多加了一个空格。http协议真是很严格了。 + + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/506.html b/auth-module/module-generator-code/src/main/resources/static/error/506.html new file mode 100644 index 0000000..5e6c238 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/506.html @@ -0,0 +1,66 @@ + + + + + 506 错误 - generator-code + + + + + + + + + + + + + + + + + + HTTP 506 - Variant Also Negotiates + + 错误说明: + 原因1:服务器存在内部配置错误 + 解决办法: + 被请求的协商变元资源被配置为在透明内容协商中使用自己,因此在一个协商处理中不是一个合适的重点。 + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/507.html b/auth-module/module-generator-code/src/main/resources/static/error/507.html new file mode 100644 index 0000000..b0a328c --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/507.html @@ -0,0 +1,66 @@ + + + + + 507 错误 - generator-code + + + + + + + + + + + + + + + + + + HTTP 507 - Insufficient Storage + + 错误说明: + 原因1:服务器无法存储完成请求所必须的内容 + 解决办法: + 这个状况被认为是临时的。WebDAV (RFC 4918)。 + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/509.html b/auth-module/module-generator-code/src/main/resources/static/error/509.html new file mode 100644 index 0000000..a0a3e49 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/509.html @@ -0,0 +1,66 @@ + + + + + 509 错误 - generator-code + + + + + + + + + + + + + + + + + + HTTP 509 - Bandwidth Limit Exceeded + + 错误说明: + 原因1:网站流量已经超出您所购买的方案限制即服务器达到带宽限制 + 解决办法: + 1.升级方案 2.等到下个月后流量重新计算,网站即可正常浏览。 + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/error/510.html b/auth-module/module-generator-code/src/main/resources/static/error/510.html new file mode 100644 index 0000000..7fcc8c0 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/error/510.html @@ -0,0 +1,66 @@ + + + + + 510 错误 - generator-code + + + + + + + + + + + + + + + + + + HTTP 510 - Not Extended + + 错误说明: + 原因1:获取资源所需要的策略并没有被满足 + 解决办法: + 需要请求有额外的扩展内容,服务器才能处理请求。 + + + + + \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/favicon.ico b/auth-module/module-generator-code/src/main/resources/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..17f9dd11abe93a4170a7879244d0fea91142ca9a GIT binary patch literal 67758 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 qfFZyTUd_qf*=C` literal 0 HcmV?d00001 diff --git a/auth-module/module-generator-code/src/main/resources/static/src/components/AppGeneratorPage.js b/auth-module/module-generator-code/src/main/resources/static/src/components/AppGeneratorPage.js new file mode 100644 index 0000000..b5a79b5 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/src/components/AppGeneratorPage.js @@ -0,0 +1,179 @@ +const AppGeneratorPage = defineComponent({ + name: "MainGeneratorPage", + template: ` + + + + + + 模板生成页面 + + 已生成的文件列表 + + + + + + + + + {{table}} + {{value.length}} 模板 + + + + + + + + + + + + 【{{item.comment}}】{{item.path}} + + + + + + + + + + + + + + + + +{{item.code}} + + + + + + + + + + + + + + + + `, + props: { + // 是否显示生成页面 + generatorPageFlag: {type: Boolean, default: true}, + // 生成模板数据 + generatorData: {type: Object}, + }, + data() { + return { + // 控制图标状态的响应式变量 + copied: ref(false), + // 存储 offcanvas 实例 + offcanvas: ref(null) + } + }, + methods: { + /** + * 点击复制图表 + * 几秒后恢复原状 + */ + async onCopyToClipboard(code) { + this.copied = true; + + try { + await navigator.clipboard.writeText(code); + antd.notification.open({ + type: 'success', + message: '复制成功', + description: '已将内容复制至剪切板', + duration: 3, + }); + } catch (err) { + antd.notification.open({ + type: 'error', + message: '复制失败', + description: err.message``, + duration: 3, + }); + console.error('复制失败:', err); + // 回退到传统方法 + const textarea = document.createElement('textarea'); + textarea.value = code; + document.body.appendChild(textarea); + textarea.select(); + document.execCommand('copy'); + document.body.removeChild(textarea); + } + + // 显示已复制图标时长 + if (this.copied) { + setTimeout(() => { + this.copied = false; + }, 2000) + } + }, + + /* 下载全部文件 */ + onDownloadAllFile() { + // 遍历所有文件并下载 + Object.values(this.generatorData).flat().forEach(item => { + const blob = new Blob([item.code], {type: 'text/plain'}); + const url = URL.createObjectURL(blob); + const link = document.createElement('a'); + + // 从路径中提取文件名 + const fileName = item.path.split('/').pop(); + + link.href = url; + link.download = fileName; + document.body.appendChild(link); + link.click(); + + // 清理 + setTimeout(() => { + document.body.removeChild(link); + URL.revokeObjectURL(url); + }, 100); + }); + }, + + /* 关闭窗口 */ + onGeneratorPageFlagClick() { + this.$emit("update:generatorPageFlag", !this.generatorPageFlag); + }, + }, + mounted() { + // 初始化 OffCanvas + this.offcanvas = new bootstrap.Offcanvas(this.$refs.offcanvasElementRef); + // 监听隐藏事件 + this.$refs.offcanvasElementRef.addEventListener('hidden.bs.offcanvas', () => { + this.$emit("update:generatorPageFlag", false); + }); + }, + watch: { + generatorPageFlag(newVal) { + if (newVal) { + this.offcanvas.show(); + } else { + this.offcanvas.hide(); + } + }, + } +}); \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/src/components/AppHeader.js b/auth-module/module-generator-code/src/main/resources/static/src/components/AppHeader.js new file mode 100644 index 0000000..4b658bd --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/src/components/AppHeader.js @@ -0,0 +1,54 @@ +// 如果一开始定义过了 defineComponent 就不要在下 script 标签中再写了 +const {defineComponent} = Vue; + +// 定义 Header 组件 +const AppHeader = defineComponent({ + name: "AppHeader", + template: ` + + + + + + Bunny{{ title || '代码生成器' }} + + + 快速生成数据库表对应的代码,这里可以跳转到 + 数据库生成 + 或 + SQL语句生成 + + + + + + + + + + GitHub 仓库 + + + + + + + + Gitee 仓库 + + + + + `, + data() { + return { + title: document.title, + } + } +}); diff --git a/auth-module/module-generator-code/src/main/resources/static/src/config/axios-config.js b/auth-module/module-generator-code/src/main/resources/static/src/config/axios-config.js new file mode 100644 index 0000000..6234e1a --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/src/config/axios-config.js @@ -0,0 +1,42 @@ +// axios 配置 +const axiosInstance = axios.create({ + baseURL: 'http://localhost:8800/api', + timeout: 16000, + headers: {'Content-Type': 'application/json;charset=utf-8'}, +}); + + +// 响应拦截器 +axiosInstance.interceptors.response.use( + (response) => { + // 检查配置的响应类型是否为二进制类型('blob' 或 'arraybuffer'), 如果是,直接返回响应对象 + if (response.config.responseType === 'blob' || response.config.responseType === 'arraybuffer') { + return response; + } + + if (response.status === 200) { + const {code, message} = response.data; + if (code !== 200) { + antd.message.error(message); + } + return response.data; + } + + // 系统出错 + return Promise.reject(response.data.message || 'Error'); + }, + (error) => { + // 异常处理 + if (error.response.data) { + const {code, message} = error.response.data; + if (code === 500) { + antd.message.error(message); + } else { + antd.message.error(message || '系统出错'); + } + + return error.response.data; + } + return Promise.reject(error.message); + } +); \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/src/config/highlight-config.js b/auth-module/module-generator-code/src/main/resources/static/src/config/highlight-config.js new file mode 100644 index 0000000..5944267 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/src/config/highlight-config.js @@ -0,0 +1,5 @@ +document.addEventListener('DOMContentLoaded', (event) => { + document.querySelectorAll('pre code').forEach((block) => { + hljs.highlightElement(block); + }); +}); \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/src/config/popper-config.js b/auth-module/module-generator-code/src/main/resources/static/src/config/popper-config.js new file mode 100644 index 0000000..e5516aa --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/src/config/popper-config.js @@ -0,0 +1,5 @@ +document.addEventListener('DOMContentLoaded', function () { + // 初始化所有tooltip + const tooltips = document.querySelectorAll('[data-bs-toggle="tooltip"]'); + [...tooltips].forEach(t => new bootstrap.Tooltip(t)); +}); \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/src/lib/css/bootstrap/bootstrap-icons.min.css b/auth-module/module-generator-code/src/main/resources/static/src/lib/css/bootstrap/bootstrap-icons.min.css new file mode 100644 index 0000000..487ada0 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/src/lib/css/bootstrap/bootstrap-icons.min.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap Icons v1.11.1 (https://icons.getbootstrap.com/) + * Copyright 2019-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE) + */@font-face{font-display:block;font-family:bootstrap-icons;src:url("../fonts/bootstrap-icons.woff2?2820a3852bdb9a5832199cc61cec4e65") format("woff2"),url("../fonts/bootstrap-icons.woff?2820a3852bdb9a5832199cc61cec4e65") format("woff")}.bi::before,[class*=" bi-"]::before,[class^=bi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale} .bi-123::before{content:"\f67f"} .bi-alarm-fill::before{content:"\f101"} .bi-alarm::before{content:"\f102"} .bi-align-bottom::before{content:"\f103"} .bi-align-center::before{content:"\f104"} .bi-align-end::before{content:"\f105"} .bi-align-middle::before{content:"\f106"} .bi-align-start::before{content:"\f107"} .bi-align-top::before{content:"\f108"} .bi-alt::before{content:"\f109"} .bi-app-indicator::before{content:"\f10a"} .bi-app::before{content:"\f10b"} .bi-archive-fill::before{content:"\f10c"} .bi-archive::before{content:"\f10d"} .bi-arrow-90deg-down::before{content:"\f10e"} .bi-arrow-90deg-left::before{content:"\f10f"} .bi-arrow-90deg-right::before{content:"\f110"} .bi-arrow-90deg-up::before{content:"\f111"} .bi-arrow-bar-down::before{content:"\f112"} .bi-arrow-bar-left::before{content:"\f113"} .bi-arrow-bar-right::before{content:"\f114"} .bi-arrow-bar-up::before{content:"\f115"} .bi-arrow-clockwise::before{content:"\f116"} .bi-arrow-counterclockwise::before{content:"\f117"} .bi-arrow-down-circle-fill::before{content:"\f118"} .bi-arrow-down-circle::before{content:"\f119"} .bi-arrow-down-left-circle-fill::before{content:"\f11a"} .bi-arrow-down-left-circle::before{content:"\f11b"} .bi-arrow-down-left-square-fill::before{content:"\f11c"} .bi-arrow-down-left-square::before{content:"\f11d"} .bi-arrow-down-left::before{content:"\f11e"} .bi-arrow-down-right-circle-fill::before{content:"\f11f"} .bi-arrow-down-right-circle::before{content:"\f120"} .bi-arrow-down-right-square-fill::before{content:"\f121"} .bi-arrow-down-right-square::before{content:"\f122"} .bi-arrow-down-right::before{content:"\f123"} .bi-arrow-down-short::before{content:"\f124"} .bi-arrow-down-square-fill::before{content:"\f125"} .bi-arrow-down-square::before{content:"\f126"} .bi-arrow-down-up::before{content:"\f127"} .bi-arrow-down::before{content:"\f128"} .bi-arrow-left-circle-fill::before{content:"\f129"} .bi-arrow-left-circle::before{content:"\f12a"} .bi-arrow-left-right::before{content:"\f12b"} .bi-arrow-left-short::before{content:"\f12c"} .bi-arrow-left-square-fill::before{content:"\f12d"} .bi-arrow-left-square::before{content:"\f12e"} .bi-arrow-left::before{content:"\f12f"} .bi-arrow-repeat::before{content:"\f130"} .bi-arrow-return-left::before{content:"\f131"} .bi-arrow-return-right::before{content:"\f132"} .bi-arrow-right-circle-fill::before{content:"\f133"} .bi-arrow-right-circle::before{content:"\f134"} .bi-arrow-right-short::before{content:"\f135"} .bi-arrow-right-square-fill::before{content:"\f136"} .bi-arrow-right-square::before{content:"\f137"} .bi-arrow-right::before{content:"\f138"} .bi-arrow-up-circle-fill::before{content:"\f139"} .bi-arrow-up-circle::before{content:"\f13a"} .bi-arrow-up-left-circle-fill::before{content:"\f13b"} .bi-arrow-up-left-circle::before{content:"\f13c"} .bi-arrow-up-left-square-fill::before{content:"\f13d"} .bi-arrow-up-left-square::before{content:"\f13e"} .bi-arrow-up-left::before{content:"\f13f"} .bi-arrow-up-right-circle-fill::before{content:"\f140"} .bi-arrow-up-right-circle::before{content:"\f141"} .bi-arrow-up-right-square-fill::before{content:"\f142"} .bi-arrow-up-right-square::before{content:"\f143"} .bi-arrow-up-right::before{content:"\f144"} .bi-arrow-up-short::before{content:"\f145"} .bi-arrow-up-square-fill::before{content:"\f146"} .bi-arrow-up-square::before{content:"\f147"} .bi-arrow-up::before{content:"\f148"} .bi-arrows-angle-contract::before{content:"\f149"} .bi-arrows-angle-expand::before{content:"\f14a"} .bi-arrows-collapse::before{content:"\f14b"} .bi-arrows-expand::before{content:"\f14c"} .bi-arrows-fullscreen::before{content:"\f14d"} .bi-arrows-move::before{content:"\f14e"} .bi-aspect-ratio-fill::before{content:"\f14f"} .bi-aspect-ratio::before{content:"\f150"} .bi-asterisk::before{content:"\f151"} .bi-at::before{content:"\f152"} .bi-award-fill::before{content:"\f153"} .bi-award::before{content:"\f154"} .bi-back::before{content:"\f155"} .bi-backspace-fill::before{content:"\f156"} .bi-backspace-reverse-fill::before{content:"\f157"} .bi-backspace-reverse::before{content:"\f158"} .bi-backspace::before{content:"\f159"} .bi-badge-3d-fill::before{content:"\f15a"} .bi-badge-3d::before{content:"\f15b"} .bi-badge-4k-fill::before{content:"\f15c"} .bi-badge-4k::before{content:"\f15d"} .bi-badge-8k-fill::before{content:"\f15e"} .bi-badge-8k::before{content:"\f15f"} .bi-badge-ad-fill::before{content:"\f160"} .bi-badge-ad::before{content:"\f161"} .bi-badge-ar-fill::before{content:"\f162"} .bi-badge-ar::before{content:"\f163"} .bi-badge-cc-fill::before{content:"\f164"} .bi-badge-cc::before{content:"\f165"} .bi-badge-hd-fill::before{content:"\f166"} .bi-badge-hd::before{content:"\f167"} .bi-badge-tm-fill::before{content:"\f168"} .bi-badge-tm::before{content:"\f169"} .bi-badge-vo-fill::before{content:"\f16a"} .bi-badge-vo::before{content:"\f16b"} .bi-badge-vr-fill::before{content:"\f16c"} .bi-badge-vr::before{content:"\f16d"} .bi-badge-wc-fill::before{content:"\f16e"} .bi-badge-wc::before{content:"\f16f"} .bi-bag-check-fill::before{content:"\f170"} .bi-bag-check::before{content:"\f171"} .bi-bag-dash-fill::before{content:"\f172"} .bi-bag-dash::before{content:"\f173"} .bi-bag-fill::before{content:"\f174"} .bi-bag-plus-fill::before{content:"\f175"} .bi-bag-plus::before{content:"\f176"} .bi-bag-x-fill::before{content:"\f177"} .bi-bag-x::before{content:"\f178"} .bi-bag::before{content:"\f179"} .bi-bar-chart-fill::before{content:"\f17a"} .bi-bar-chart-line-fill::before{content:"\f17b"} .bi-bar-chart-line::before{content:"\f17c"} .bi-bar-chart-steps::before{content:"\f17d"} .bi-bar-chart::before{content:"\f17e"} .bi-basket-fill::before{content:"\f17f"} .bi-basket::before{content:"\f180"} .bi-basket2-fill::before{content:"\f181"} .bi-basket2::before{content:"\f182"} .bi-basket3-fill::before{content:"\f183"} .bi-basket3::before{content:"\f184"} .bi-battery-charging::before{content:"\f185"} .bi-battery-full::before{content:"\f186"} .bi-battery-half::before{content:"\f187"} .bi-battery::before{content:"\f188"} .bi-bell-fill::before{content:"\f189"} .bi-bell::before{content:"\f18a"} .bi-bezier::before{content:"\f18b"} .bi-bezier2::before{content:"\f18c"} .bi-bicycle::before{content:"\f18d"} .bi-binoculars-fill::before{content:"\f18e"} .bi-binoculars::before{content:"\f18f"} .bi-blockquote-left::before{content:"\f190"} .bi-blockquote-right::before{content:"\f191"} .bi-book-fill::before{content:"\f192"} .bi-book-half::before{content:"\f193"} .bi-book::before{content:"\f194"} .bi-bookmark-check-fill::before{content:"\f195"} .bi-bookmark-check::before{content:"\f196"} .bi-bookmark-dash-fill::before{content:"\f197"} .bi-bookmark-dash::before{content:"\f198"} .bi-bookmark-fill::before{content:"\f199"} .bi-bookmark-heart-fill::before{content:"\f19a"} .bi-bookmark-heart::before{content:"\f19b"} .bi-bookmark-plus-fill::before{content:"\f19c"} .bi-bookmark-plus::before{content:"\f19d"} .bi-bookmark-star-fill::before{content:"\f19e"} .bi-bookmark-star::before{content:"\f19f"} .bi-bookmark-x-fill::before{content:"\f1a0"} .bi-bookmark-x::before{content:"\f1a1"} .bi-bookmark::before{content:"\f1a2"} .bi-bookmarks-fill::before{content:"\f1a3"} .bi-bookmarks::before{content:"\f1a4"} .bi-bookshelf::before{content:"\f1a5"} .bi-bootstrap-fill::before{content:"\f1a6"} .bi-bootstrap-reboot::before{content:"\f1a7"} .bi-bootstrap::before{content:"\f1a8"} .bi-border-all::before{content:"\f1a9"} .bi-border-bottom::before{content:"\f1aa"} .bi-border-center::before{content:"\f1ab"} .bi-border-inner::before{content:"\f1ac"} .bi-border-left::before{content:"\f1ad"} .bi-border-middle::before{content:"\f1ae"} .bi-border-outer::before{content:"\f1af"} .bi-border-right::before{content:"\f1b0"} .bi-border-style::before{content:"\f1b1"} .bi-border-top::before{content:"\f1b2"} .bi-border-width::before{content:"\f1b3"} .bi-border::before{content:"\f1b4"} .bi-bounding-box-circles::before{content:"\f1b5"} .bi-bounding-box::before{content:"\f1b6"} .bi-box-arrow-down-left::before{content:"\f1b7"} .bi-box-arrow-down-right::before{content:"\f1b8"} .bi-box-arrow-down::before{content:"\f1b9"} .bi-box-arrow-in-down-left::before{content:"\f1ba"} .bi-box-arrow-in-down-right::before{content:"\f1bb"} .bi-box-arrow-in-down::before{content:"\f1bc"} .bi-box-arrow-in-left::before{content:"\f1bd"} .bi-box-arrow-in-right::before{content:"\f1be"} .bi-box-arrow-in-up-left::before{content:"\f1bf"} .bi-box-arrow-in-up-right::before{content:"\f1c0"} .bi-box-arrow-in-up::before{content:"\f1c1"} .bi-box-arrow-left::before{content:"\f1c2"} .bi-box-arrow-right::before{content:"\f1c3"} .bi-box-arrow-up-left::before{content:"\f1c4"} .bi-box-arrow-up-right::before{content:"\f1c5"} .bi-box-arrow-up::before{content:"\f1c6"} .bi-box-seam::before{content:"\f1c7"} .bi-box::before{content:"\f1c8"} .bi-braces::before{content:"\f1c9"} .bi-bricks::before{content:"\f1ca"} .bi-briefcase-fill::before{content:"\f1cb"} .bi-briefcase::before{content:"\f1cc"} .bi-brightness-alt-high-fill::before{content:"\f1cd"} .bi-brightness-alt-high::before{content:"\f1ce"} .bi-brightness-alt-low-fill::before{content:"\f1cf"} .bi-brightness-alt-low::before{content:"\f1d0"} .bi-brightness-high-fill::before{content:"\f1d1"} .bi-brightness-high::before{content:"\f1d2"} .bi-brightness-low-fill::before{content:"\f1d3"} .bi-brightness-low::before{content:"\f1d4"} .bi-broadcast-pin::before{content:"\f1d5"} .bi-broadcast::before{content:"\f1d6"} .bi-brush-fill::before{content:"\f1d7"} .bi-brush::before{content:"\f1d8"} .bi-bucket-fill::before{content:"\f1d9"} .bi-bucket::before{content:"\f1da"} .bi-bug-fill::before{content:"\f1db"} .bi-bug::before{content:"\f1dc"} .bi-building::before{content:"\f1dd"} .bi-bullseye::before{content:"\f1de"} .bi-calculator-fill::before{content:"\f1df"} .bi-calculator::before{content:"\f1e0"} .bi-calendar-check-fill::before{content:"\f1e1"} .bi-calendar-check::before{content:"\f1e2"} .bi-calendar-date-fill::before{content:"\f1e3"} .bi-calendar-date::before{content:"\f1e4"} .bi-calendar-day-fill::before{content:"\f1e5"} .bi-calendar-day::before{content:"\f1e6"} .bi-calendar-event-fill::before{content:"\f1e7"} .bi-calendar-event::before{content:"\f1e8"} .bi-calendar-fill::before{content:"\f1e9"} .bi-calendar-minus-fill::before{content:"\f1ea"} .bi-calendar-minus::before{content:"\f1eb"} .bi-calendar-month-fill::before{content:"\f1ec"} .bi-calendar-month::before{content:"\f1ed"} .bi-calendar-plus-fill::before{content:"\f1ee"} .bi-calendar-plus::before{content:"\f1ef"} .bi-calendar-range-fill::before{content:"\f1f0"} .bi-calendar-range::before{content:"\f1f1"} .bi-calendar-week-fill::before{content:"\f1f2"} .bi-calendar-week::before{content:"\f1f3"} .bi-calendar-x-fill::before{content:"\f1f4"} .bi-calendar-x::before{content:"\f1f5"} .bi-calendar::before{content:"\f1f6"} .bi-calendar2-check-fill::before{content:"\f1f7"} .bi-calendar2-check::before{content:"\f1f8"} .bi-calendar2-date-fill::before{content:"\f1f9"} .bi-calendar2-date::before{content:"\f1fa"} .bi-calendar2-day-fill::before{content:"\f1fb"} .bi-calendar2-day::before{content:"\f1fc"} .bi-calendar2-event-fill::before{content:"\f1fd"} .bi-calendar2-event::before{content:"\f1fe"} .bi-calendar2-fill::before{content:"\f1ff"} .bi-calendar2-minus-fill::before{content:"\f200"} .bi-calendar2-minus::before{content:"\f201"} .bi-calendar2-month-fill::before{content:"\f202"} .bi-calendar2-month::before{content:"\f203"} .bi-calendar2-plus-fill::before{content:"\f204"} .bi-calendar2-plus::before{content:"\f205"} .bi-calendar2-range-fill::before{content:"\f206"} .bi-calendar2-range::before{content:"\f207"} .bi-calendar2-week-fill::before{content:"\f208"} .bi-calendar2-week::before{content:"\f209"} .bi-calendar2-x-fill::before{content:"\f20a"} .bi-calendar2-x::before{content:"\f20b"} .bi-calendar2::before{content:"\f20c"} .bi-calendar3-event-fill::before{content:"\f20d"} .bi-calendar3-event::before{content:"\f20e"} .bi-calendar3-fill::before{content:"\f20f"} .bi-calendar3-range-fill::before{content:"\f210"} .bi-calendar3-range::before{content:"\f211"} .bi-calendar3-week-fill::before{content:"\f212"} .bi-calendar3-week::before{content:"\f213"} .bi-calendar3::before{content:"\f214"} .bi-calendar4-event::before{content:"\f215"} .bi-calendar4-range::before{content:"\f216"} .bi-calendar4-week::before{content:"\f217"} .bi-calendar4::before{content:"\f218"} .bi-camera-fill::before{content:"\f219"} .bi-camera-reels-fill::before{content:"\f21a"} .bi-camera-reels::before{content:"\f21b"} .bi-camera-video-fill::before{content:"\f21c"} .bi-camera-video-off-fill::before{content:"\f21d"} .bi-camera-video-off::before{content:"\f21e"} .bi-camera-video::before{content:"\f21f"} .bi-camera::before{content:"\f220"} .bi-camera2::before{content:"\f221"} .bi-capslock-fill::before{content:"\f222"} .bi-capslock::before{content:"\f223"} .bi-card-checklist::before{content:"\f224"} .bi-card-heading::before{content:"\f225"} .bi-card-image::before{content:"\f226"} .bi-card-list::before{content:"\f227"} .bi-card-text::before{content:"\f228"} .bi-caret-down-fill::before{content:"\f229"} .bi-caret-down-square-fill::before{content:"\f22a"} .bi-caret-down-square::before{content:"\f22b"} .bi-caret-down::before{content:"\f22c"} .bi-caret-left-fill::before{content:"\f22d"} .bi-caret-left-square-fill::before{content:"\f22e"} .bi-caret-left-square::before{content:"\f22f"} .bi-caret-left::before{content:"\f230"} .bi-caret-right-fill::before{content:"\f231"} .bi-caret-right-square-fill::before{content:"\f232"} .bi-caret-right-square::before{content:"\f233"} .bi-caret-right::before{content:"\f234"} .bi-caret-up-fill::before{content:"\f235"} .bi-caret-up-square-fill::before{content:"\f236"} .bi-caret-up-square::before{content:"\f237"} .bi-caret-up::before{content:"\f238"} .bi-cart-check-fill::before{content:"\f239"} .bi-cart-check::before{content:"\f23a"} .bi-cart-dash-fill::before{content:"\f23b"} .bi-cart-dash::before{content:"\f23c"} .bi-cart-fill::before{content:"\f23d"} .bi-cart-plus-fill::before{content:"\f23e"} .bi-cart-plus::before{content:"\f23f"} .bi-cart-x-fill::before{content:"\f240"} .bi-cart-x::before{content:"\f241"} .bi-cart::before{content:"\f242"} .bi-cart2::before{content:"\f243"} .bi-cart3::before{content:"\f244"} .bi-cart4::before{content:"\f245"} .bi-cash-stack::before{content:"\f246"} .bi-cash::before{content:"\f247"} .bi-cast::before{content:"\f248"} .bi-chat-dots-fill::before{content:"\f249"} .bi-chat-dots::before{content:"\f24a"} .bi-chat-fill::before{content:"\f24b"} .bi-chat-left-dots-fill::before{content:"\f24c"} .bi-chat-left-dots::before{content:"\f24d"} .bi-chat-left-fill::before{content:"\f24e"} .bi-chat-left-quote-fill::before{content:"\f24f"} .bi-chat-left-quote::before{content:"\f250"} .bi-chat-left-text-fill::before{content:"\f251"} .bi-chat-left-text::before{content:"\f252"} .bi-chat-left::before{content:"\f253"} .bi-chat-quote-fill::before{content:"\f254"} .bi-chat-quote::before{content:"\f255"} .bi-chat-right-dots-fill::before{content:"\f256"} .bi-chat-right-dots::before{content:"\f257"} .bi-chat-right-fill::before{content:"\f258"} .bi-chat-right-quote-fill::before{content:"\f259"} .bi-chat-right-quote::before{content:"\f25a"} .bi-chat-right-text-fill::before{content:"\f25b"} .bi-chat-right-text::before{content:"\f25c"} .bi-chat-right::before{content:"\f25d"} .bi-chat-square-dots-fill::before{content:"\f25e"} .bi-chat-square-dots::before{content:"\f25f"} .bi-chat-square-fill::before{content:"\f260"} .bi-chat-square-quote-fill::before{content:"\f261"} .bi-chat-square-quote::before{content:"\f262"} .bi-chat-square-text-fill::before{content:"\f263"} .bi-chat-square-text::before{content:"\f264"} .bi-chat-square::before{content:"\f265"} .bi-chat-text-fill::before{content:"\f266"} .bi-chat-text::before{content:"\f267"} .bi-chat::before{content:"\f268"} .bi-check-all::before{content:"\f269"} .bi-check-circle-fill::before{content:"\f26a"} .bi-check-circle::before{content:"\f26b"} .bi-check-square-fill::before{content:"\f26c"} .bi-check-square::before{content:"\f26d"} .bi-check::before{content:"\f26e"} .bi-check2-all::before{content:"\f26f"} .bi-check2-circle::before{content:"\f270"} .bi-check2-square::before{content:"\f271"} .bi-check2::before{content:"\f272"} .bi-chevron-bar-contract::before{content:"\f273"} .bi-chevron-bar-down::before{content:"\f274"} .bi-chevron-bar-expand::before{content:"\f275"} .bi-chevron-bar-left::before{content:"\f276"} .bi-chevron-bar-right::before{content:"\f277"} .bi-chevron-bar-up::before{content:"\f278"} .bi-chevron-compact-down::before{content:"\f279"} .bi-chevron-compact-left::before{content:"\f27a"} .bi-chevron-compact-right::before{content:"\f27b"} .bi-chevron-compact-up::before{content:"\f27c"} .bi-chevron-contract::before{content:"\f27d"} .bi-chevron-double-down::before{content:"\f27e"} .bi-chevron-double-left::before{content:"\f27f"} .bi-chevron-double-right::before{content:"\f280"} .bi-chevron-double-up::before{content:"\f281"} .bi-chevron-down::before{content:"\f282"} .bi-chevron-expand::before{content:"\f283"} .bi-chevron-left::before{content:"\f284"} .bi-chevron-right::before{content:"\f285"} .bi-chevron-up::before{content:"\f286"} .bi-circle-fill::before{content:"\f287"} .bi-circle-half::before{content:"\f288"} .bi-circle-square::before{content:"\f289"} .bi-circle::before{content:"\f28a"} .bi-clipboard-check::before{content:"\f28b"} .bi-clipboard-data::before{content:"\f28c"} .bi-clipboard-minus::before{content:"\f28d"} .bi-clipboard-plus::before{content:"\f28e"} .bi-clipboard-x::before{content:"\f28f"} .bi-clipboard::before{content:"\f290"} .bi-clock-fill::before{content:"\f291"} .bi-clock-history::before{content:"\f292"} .bi-clock::before{content:"\f293"} .bi-cloud-arrow-down-fill::before{content:"\f294"} .bi-cloud-arrow-down::before{content:"\f295"} .bi-cloud-arrow-up-fill::before{content:"\f296"} .bi-cloud-arrow-up::before{content:"\f297"} .bi-cloud-check-fill::before{content:"\f298"} .bi-cloud-check::before{content:"\f299"} .bi-cloud-download-fill::before{content:"\f29a"} .bi-cloud-download::before{content:"\f29b"} .bi-cloud-drizzle-fill::before{content:"\f29c"} .bi-cloud-drizzle::before{content:"\f29d"} .bi-cloud-fill::before{content:"\f29e"} .bi-cloud-fog-fill::before{content:"\f29f"} .bi-cloud-fog::before{content:"\f2a0"} .bi-cloud-fog2-fill::before{content:"\f2a1"} .bi-cloud-fog2::before{content:"\f2a2"} .bi-cloud-hail-fill::before{content:"\f2a3"} .bi-cloud-hail::before{content:"\f2a4"} .bi-cloud-haze-fill::before{content:"\f2a6"} .bi-cloud-haze::before{content:"\f2a7"} .bi-cloud-haze2-fill::before{content:"\f2a8"} .bi-cloud-lightning-fill::before{content:"\f2a9"} .bi-cloud-lightning-rain-fill::before{content:"\f2aa"} .bi-cloud-lightning-rain::before{content:"\f2ab"} .bi-cloud-lightning::before{content:"\f2ac"} .bi-cloud-minus-fill::before{content:"\f2ad"} .bi-cloud-minus::before{content:"\f2ae"} .bi-cloud-moon-fill::before{content:"\f2af"} .bi-cloud-moon::before{content:"\f2b0"} .bi-cloud-plus-fill::before{content:"\f2b1"} .bi-cloud-plus::before{content:"\f2b2"} .bi-cloud-rain-fill::before{content:"\f2b3"} .bi-cloud-rain-heavy-fill::before{content:"\f2b4"} .bi-cloud-rain-heavy::before{content:"\f2b5"} .bi-cloud-rain::before{content:"\f2b6"} .bi-cloud-slash-fill::before{content:"\f2b7"} .bi-cloud-slash::before{content:"\f2b8"} .bi-cloud-sleet-fill::before{content:"\f2b9"} .bi-cloud-sleet::before{content:"\f2ba"} .bi-cloud-snow-fill::before{content:"\f2bb"} .bi-cloud-snow::before{content:"\f2bc"} .bi-cloud-sun-fill::before{content:"\f2bd"} .bi-cloud-sun::before{content:"\f2be"} .bi-cloud-upload-fill::before{content:"\f2bf"} .bi-cloud-upload::before{content:"\f2c0"} .bi-cloud::before{content:"\f2c1"} .bi-clouds-fill::before{content:"\f2c2"} .bi-clouds::before{content:"\f2c3"} .bi-cloudy-fill::before{content:"\f2c4"} .bi-cloudy::before{content:"\f2c5"} .bi-code-slash::before{content:"\f2c6"} .bi-code-square::before{content:"\f2c7"} .bi-code::before{content:"\f2c8"} .bi-collection-fill::before{content:"\f2c9"} .bi-collection-play-fill::before{content:"\f2ca"} .bi-collection-play::before{content:"\f2cb"} .bi-collection::before{content:"\f2cc"} .bi-columns-gap::before{content:"\f2cd"} .bi-columns::before{content:"\f2ce"} .bi-command::before{content:"\f2cf"} .bi-compass-fill::before{content:"\f2d0"} .bi-compass::before{content:"\f2d1"} .bi-cone-striped::before{content:"\f2d2"} .bi-cone::before{content:"\f2d3"} .bi-controller::before{content:"\f2d4"} .bi-cpu-fill::before{content:"\f2d5"} .bi-cpu::before{content:"\f2d6"} .bi-credit-card-2-back-fill::before{content:"\f2d7"} .bi-credit-card-2-back::before{content:"\f2d8"} .bi-credit-card-2-front-fill::before{content:"\f2d9"} .bi-credit-card-2-front::before{content:"\f2da"} .bi-credit-card-fill::before{content:"\f2db"} .bi-credit-card::before{content:"\f2dc"} .bi-crop::before{content:"\f2dd"} .bi-cup-fill::before{content:"\f2de"} .bi-cup-straw::before{content:"\f2df"} .bi-cup::before{content:"\f2e0"} .bi-cursor-fill::before{content:"\f2e1"} .bi-cursor-text::before{content:"\f2e2"} .bi-cursor::before{content:"\f2e3"} .bi-dash-circle-dotted::before{content:"\f2e4"} .bi-dash-circle-fill::before{content:"\f2e5"} .bi-dash-circle::before{content:"\f2e6"} .bi-dash-square-dotted::before{content:"\f2e7"} .bi-dash-square-fill::before{content:"\f2e8"} .bi-dash-square::before{content:"\f2e9"} .bi-dash::before{content:"\f2ea"} .bi-diagram-2-fill::before{content:"\f2eb"} .bi-diagram-2::before{content:"\f2ec"} .bi-diagram-3-fill::before{content:"\f2ed"} .bi-diagram-3::before{content:"\f2ee"} .bi-diamond-fill::before{content:"\f2ef"} .bi-diamond-half::before{content:"\f2f0"} .bi-diamond::before{content:"\f2f1"} .bi-dice-1-fill::before{content:"\f2f2"} .bi-dice-1::before{content:"\f2f3"} .bi-dice-2-fill::before{content:"\f2f4"} .bi-dice-2::before{content:"\f2f5"} .bi-dice-3-fill::before{content:"\f2f6"} .bi-dice-3::before{content:"\f2f7"} .bi-dice-4-fill::before{content:"\f2f8"} .bi-dice-4::before{content:"\f2f9"} .bi-dice-5-fill::before{content:"\f2fa"} .bi-dice-5::before{content:"\f2fb"} .bi-dice-6-fill::before{content:"\f2fc"} .bi-dice-6::before{content:"\f2fd"} .bi-disc-fill::before{content:"\f2fe"} .bi-disc::before{content:"\f2ff"} .bi-discord::before{content:"\f300"} .bi-display-fill::before{content:"\f301"} .bi-display::before{content:"\f302"} .bi-distribute-horizontal::before{content:"\f303"} .bi-distribute-vertical::before{content:"\f304"} .bi-door-closed-fill::before{content:"\f305"} .bi-door-closed::before{content:"\f306"} .bi-door-open-fill::before{content:"\f307"} .bi-door-open::before{content:"\f308"} .bi-dot::before{content:"\f309"} .bi-download::before{content:"\f30a"} .bi-droplet-fill::before{content:"\f30b"} .bi-droplet-half::before{content:"\f30c"} .bi-droplet::before{content:"\f30d"} .bi-earbuds::before{content:"\f30e"} .bi-easel-fill::before{content:"\f30f"} .bi-easel::before{content:"\f310"} .bi-egg-fill::before{content:"\f311"} .bi-egg-fried::before{content:"\f312"} .bi-egg::before{content:"\f313"} .bi-eject-fill::before{content:"\f314"} .bi-eject::before{content:"\f315"} .bi-emoji-angry-fill::before{content:"\f316"} .bi-emoji-angry::before{content:"\f317"} .bi-emoji-dizzy-fill::before{content:"\f318"} .bi-emoji-dizzy::before{content:"\f319"} .bi-emoji-expressionless-fill::before{content:"\f31a"} .bi-emoji-expressionless::before{content:"\f31b"} .bi-emoji-frown-fill::before{content:"\f31c"} .bi-emoji-frown::before{content:"\f31d"} .bi-emoji-heart-eyes-fill::before{content:"\f31e"} .bi-emoji-heart-eyes::before{content:"\f31f"} .bi-emoji-laughing-fill::before{content:"\f320"} .bi-emoji-laughing::before{content:"\f321"} .bi-emoji-neutral-fill::before{content:"\f322"} .bi-emoji-neutral::before{content:"\f323"} .bi-emoji-smile-fill::before{content:"\f324"} .bi-emoji-smile-upside-down-fill::before{content:"\f325"} .bi-emoji-smile-upside-down::before{content:"\f326"} .bi-emoji-smile::before{content:"\f327"} .bi-emoji-sunglasses-fill::before{content:"\f328"} .bi-emoji-sunglasses::before{content:"\f329"} .bi-emoji-wink-fill::before{content:"\f32a"} .bi-emoji-wink::before{content:"\f32b"} .bi-envelope-fill::before{content:"\f32c"} .bi-envelope-open-fill::before{content:"\f32d"} .bi-envelope-open::before{content:"\f32e"} .bi-envelope::before{content:"\f32f"} .bi-eraser-fill::before{content:"\f330"} .bi-eraser::before{content:"\f331"} .bi-exclamation-circle-fill::before{content:"\f332"} .bi-exclamation-circle::before{content:"\f333"} .bi-exclamation-diamond-fill::before{content:"\f334"} .bi-exclamation-diamond::before{content:"\f335"} .bi-exclamation-octagon-fill::before{content:"\f336"} .bi-exclamation-octagon::before{content:"\f337"} .bi-exclamation-square-fill::before{content:"\f338"} .bi-exclamation-square::before{content:"\f339"} .bi-exclamation-triangle-fill::before{content:"\f33a"} .bi-exclamation-triangle::before{content:"\f33b"} .bi-exclamation::before{content:"\f33c"} .bi-exclude::before{content:"\f33d"} .bi-eye-fill::before{content:"\f33e"} .bi-eye-slash-fill::before{content:"\f33f"} .bi-eye-slash::before{content:"\f340"} .bi-eye::before{content:"\f341"} .bi-eyedropper::before{content:"\f342"} .bi-eyeglasses::before{content:"\f343"} .bi-facebook::before{content:"\f344"} .bi-file-arrow-down-fill::before{content:"\f345"} .bi-file-arrow-down::before{content:"\f346"} .bi-file-arrow-up-fill::before{content:"\f347"} .bi-file-arrow-up::before{content:"\f348"} .bi-file-bar-graph-fill::before{content:"\f349"} .bi-file-bar-graph::before{content:"\f34a"} .bi-file-binary-fill::before{content:"\f34b"} .bi-file-binary::before{content:"\f34c"} .bi-file-break-fill::before{content:"\f34d"} .bi-file-break::before{content:"\f34e"} .bi-file-check-fill::before{content:"\f34f"} .bi-file-check::before{content:"\f350"} .bi-file-code-fill::before{content:"\f351"} .bi-file-code::before{content:"\f352"} .bi-file-diff-fill::before{content:"\f353"} .bi-file-diff::before{content:"\f354"} .bi-file-earmark-arrow-down-fill::before{content:"\f355"} .bi-file-earmark-arrow-down::before{content:"\f356"} .bi-file-earmark-arrow-up-fill::before{content:"\f357"} .bi-file-earmark-arrow-up::before{content:"\f358"} .bi-file-earmark-bar-graph-fill::before{content:"\f359"} .bi-file-earmark-bar-graph::before{content:"\f35a"} .bi-file-earmark-binary-fill::before{content:"\f35b"} .bi-file-earmark-binary::before{content:"\f35c"} .bi-file-earmark-break-fill::before{content:"\f35d"} .bi-file-earmark-break::before{content:"\f35e"} .bi-file-earmark-check-fill::before{content:"\f35f"} .bi-file-earmark-check::before{content:"\f360"} .bi-file-earmark-code-fill::before{content:"\f361"} .bi-file-earmark-code::before{content:"\f362"} .bi-file-earmark-diff-fill::before{content:"\f363"} .bi-file-earmark-diff::before{content:"\f364"} .bi-file-earmark-easel-fill::before{content:"\f365"} .bi-file-earmark-easel::before{content:"\f366"} .bi-file-earmark-excel-fill::before{content:"\f367"} .bi-file-earmark-excel::before{content:"\f368"} .bi-file-earmark-fill::before{content:"\f369"} .bi-file-earmark-font-fill::before{content:"\f36a"} .bi-file-earmark-font::before{content:"\f36b"} .bi-file-earmark-image-fill::before{content:"\f36c"} .bi-file-earmark-image::before{content:"\f36d"} .bi-file-earmark-lock-fill::before{content:"\f36e"} .bi-file-earmark-lock::before{content:"\f36f"} .bi-file-earmark-lock2-fill::before{content:"\f370"} .bi-file-earmark-lock2::before{content:"\f371"} .bi-file-earmark-medical-fill::before{content:"\f372"} .bi-file-earmark-medical::before{content:"\f373"} .bi-file-earmark-minus-fill::before{content:"\f374"} .bi-file-earmark-minus::before{content:"\f375"} .bi-file-earmark-music-fill::before{content:"\f376"} .bi-file-earmark-music::before{content:"\f377"} .bi-file-earmark-person-fill::before{content:"\f378"} .bi-file-earmark-person::before{content:"\f379"} .bi-file-earmark-play-fill::before{content:"\f37a"} .bi-file-earmark-play::before{content:"\f37b"} .bi-file-earmark-plus-fill::before{content:"\f37c"} .bi-file-earmark-plus::before{content:"\f37d"} .bi-file-earmark-post-fill::before{content:"\f37e"} .bi-file-earmark-post::before{content:"\f37f"} .bi-file-earmark-ppt-fill::before{content:"\f380"} .bi-file-earmark-ppt::before{content:"\f381"} .bi-file-earmark-richtext-fill::before{content:"\f382"} .bi-file-earmark-richtext::before{content:"\f383"} .bi-file-earmark-ruled-fill::before{content:"\f384"} .bi-file-earmark-ruled::before{content:"\f385"} .bi-file-earmark-slides-fill::before{content:"\f386"} .bi-file-earmark-slides::before{content:"\f387"} .bi-file-earmark-spreadsheet-fill::before{content:"\f388"} .bi-file-earmark-spreadsheet::before{content:"\f389"} .bi-file-earmark-text-fill::before{content:"\f38a"} .bi-file-earmark-text::before{content:"\f38b"} .bi-file-earmark-word-fill::before{content:"\f38c"} .bi-file-earmark-word::before{content:"\f38d"} .bi-file-earmark-x-fill::before{content:"\f38e"} .bi-file-earmark-x::before{content:"\f38f"} .bi-file-earmark-zip-fill::before{content:"\f390"} .bi-file-earmark-zip::before{content:"\f391"} .bi-file-earmark::before{content:"\f392"} .bi-file-easel-fill::before{content:"\f393"} .bi-file-easel::before{content:"\f394"} .bi-file-excel-fill::before{content:"\f395"} .bi-file-excel::before{content:"\f396"} .bi-file-fill::before{content:"\f397"} .bi-file-font-fill::before{content:"\f398"} .bi-file-font::before{content:"\f399"} .bi-file-image-fill::before{content:"\f39a"} .bi-file-image::before{content:"\f39b"} .bi-file-lock-fill::before{content:"\f39c"} .bi-file-lock::before{content:"\f39d"} .bi-file-lock2-fill::before{content:"\f39e"} .bi-file-lock2::before{content:"\f39f"} .bi-file-medical-fill::before{content:"\f3a0"} .bi-file-medical::before{content:"\f3a1"} .bi-file-minus-fill::before{content:"\f3a2"} .bi-file-minus::before{content:"\f3a3"} .bi-file-music-fill::before{content:"\f3a4"} .bi-file-music::before{content:"\f3a5"} .bi-file-person-fill::before{content:"\f3a6"} .bi-file-person::before{content:"\f3a7"} .bi-file-play-fill::before{content:"\f3a8"} .bi-file-play::before{content:"\f3a9"} .bi-file-plus-fill::before{content:"\f3aa"} .bi-file-plus::before{content:"\f3ab"} .bi-file-post-fill::before{content:"\f3ac"} .bi-file-post::before{content:"\f3ad"} .bi-file-ppt-fill::before{content:"\f3ae"} .bi-file-ppt::before{content:"\f3af"} .bi-file-richtext-fill::before{content:"\f3b0"} .bi-file-richtext::before{content:"\f3b1"} .bi-file-ruled-fill::before{content:"\f3b2"} .bi-file-ruled::before{content:"\f3b3"} .bi-file-slides-fill::before{content:"\f3b4"} .bi-file-slides::before{content:"\f3b5"} .bi-file-spreadsheet-fill::before{content:"\f3b6"} .bi-file-spreadsheet::before{content:"\f3b7"} .bi-file-text-fill::before{content:"\f3b8"} .bi-file-text::before{content:"\f3b9"} .bi-file-word-fill::before{content:"\f3ba"} .bi-file-word::before{content:"\f3bb"} .bi-file-x-fill::before{content:"\f3bc"} .bi-file-x::before{content:"\f3bd"} .bi-file-zip-fill::before{content:"\f3be"} .bi-file-zip::before{content:"\f3bf"} .bi-file::before{content:"\f3c0"} .bi-files-alt::before{content:"\f3c1"} .bi-files::before{content:"\f3c2"} .bi-film::before{content:"\f3c3"} .bi-filter-circle-fill::before{content:"\f3c4"} .bi-filter-circle::before{content:"\f3c5"} .bi-filter-left::before{content:"\f3c6"} .bi-filter-right::before{content:"\f3c7"} .bi-filter-square-fill::before{content:"\f3c8"} .bi-filter-square::before{content:"\f3c9"} .bi-filter::before{content:"\f3ca"} .bi-flag-fill::before{content:"\f3cb"} .bi-flag::before{content:"\f3cc"} .bi-flower1::before{content:"\f3cd"} .bi-flower2::before{content:"\f3ce"} .bi-flower3::before{content:"\f3cf"} .bi-folder-check::before{content:"\f3d0"} .bi-folder-fill::before{content:"\f3d1"} .bi-folder-minus::before{content:"\f3d2"} .bi-folder-plus::before{content:"\f3d3"} .bi-folder-symlink-fill::before{content:"\f3d4"} .bi-folder-symlink::before{content:"\f3d5"} .bi-folder-x::before{content:"\f3d6"} .bi-folder::before{content:"\f3d7"} .bi-folder2-open::before{content:"\f3d8"} .bi-folder2::before{content:"\f3d9"} .bi-fonts::before{content:"\f3da"} .bi-forward-fill::before{content:"\f3db"} .bi-forward::before{content:"\f3dc"} .bi-front::before{content:"\f3dd"} .bi-fullscreen-exit::before{content:"\f3de"} .bi-fullscreen::before{content:"\f3df"} .bi-funnel-fill::before{content:"\f3e0"} .bi-funnel::before{content:"\f3e1"} .bi-gear-fill::before{content:"\f3e2"} .bi-gear-wide-connected::before{content:"\f3e3"} .bi-gear-wide::before{content:"\f3e4"} .bi-gear::before{content:"\f3e5"} .bi-gem::before{content:"\f3e6"} .bi-geo-alt-fill::before{content:"\f3e7"} .bi-geo-alt::before{content:"\f3e8"} .bi-geo-fill::before{content:"\f3e9"} .bi-geo::before{content:"\f3ea"} .bi-gift-fill::before{content:"\f3eb"} .bi-gift::before{content:"\f3ec"} .bi-github::before{content:"\f3ed"} .bi-globe::before{content:"\f3ee"} .bi-globe2::before{content:"\f3ef"} .bi-google::before{content:"\f3f0"} .bi-graph-down::before{content:"\f3f1"} .bi-graph-up::before{content:"\f3f2"} .bi-grid-1x2-fill::before{content:"\f3f3"} .bi-grid-1x2::before{content:"\f3f4"} .bi-grid-3x2-gap-fill::before{content:"\f3f5"} .bi-grid-3x2-gap::before{content:"\f3f6"} .bi-grid-3x2::before{content:"\f3f7"} .bi-grid-3x3-gap-fill::before{content:"\f3f8"} .bi-grid-3x3-gap::before{content:"\f3f9"} .bi-grid-3x3::before{content:"\f3fa"} .bi-grid-fill::before{content:"\f3fb"} .bi-grid::before{content:"\f3fc"} .bi-grip-horizontal::before{content:"\f3fd"} .bi-grip-vertical::before{content:"\f3fe"} .bi-hammer::before{content:"\f3ff"} .bi-hand-index-fill::before{content:"\f400"} .bi-hand-index-thumb-fill::before{content:"\f401"} .bi-hand-index-thumb::before{content:"\f402"} .bi-hand-index::before{content:"\f403"} .bi-hand-thumbs-down-fill::before{content:"\f404"} .bi-hand-thumbs-down::before{content:"\f405"} .bi-hand-thumbs-up-fill::before{content:"\f406"} .bi-hand-thumbs-up::before{content:"\f407"} .bi-handbag-fill::before{content:"\f408"} .bi-handbag::before{content:"\f409"} .bi-hash::before{content:"\f40a"} .bi-hdd-fill::before{content:"\f40b"} .bi-hdd-network-fill::before{content:"\f40c"} .bi-hdd-network::before{content:"\f40d"} .bi-hdd-rack-fill::before{content:"\f40e"} .bi-hdd-rack::before{content:"\f40f"} .bi-hdd-stack-fill::before{content:"\f410"} .bi-hdd-stack::before{content:"\f411"} .bi-hdd::before{content:"\f412"} .bi-headphones::before{content:"\f413"} .bi-headset::before{content:"\f414"} .bi-heart-fill::before{content:"\f415"} .bi-heart-half::before{content:"\f416"} .bi-heart::before{content:"\f417"} .bi-heptagon-fill::before{content:"\f418"} .bi-heptagon-half::before{content:"\f419"} .bi-heptagon::before{content:"\f41a"} .bi-hexagon-fill::before{content:"\f41b"} .bi-hexagon-half::before{content:"\f41c"} .bi-hexagon::before{content:"\f41d"} .bi-hourglass-bottom::before{content:"\f41e"} .bi-hourglass-split::before{content:"\f41f"} .bi-hourglass-top::before{content:"\f420"} .bi-hourglass::before{content:"\f421"} .bi-house-door-fill::before{content:"\f422"} .bi-house-door::before{content:"\f423"} .bi-house-fill::before{content:"\f424"} .bi-house::before{content:"\f425"} .bi-hr::before{content:"\f426"} .bi-hurricane::before{content:"\f427"} .bi-image-alt::before{content:"\f428"} .bi-image-fill::before{content:"\f429"} .bi-image::before{content:"\f42a"} .bi-images::before{content:"\f42b"} .bi-inbox-fill::before{content:"\f42c"} .bi-inbox::before{content:"\f42d"} .bi-inboxes-fill::before{content:"\f42e"} .bi-inboxes::before{content:"\f42f"} .bi-info-circle-fill::before{content:"\f430"} .bi-info-circle::before{content:"\f431"} .bi-info-square-fill::before{content:"\f432"} .bi-info-square::before{content:"\f433"} .bi-info::before{content:"\f434"} .bi-input-cursor-text::before{content:"\f435"} .bi-input-cursor::before{content:"\f436"} .bi-instagram::before{content:"\f437"} .bi-intersect::before{content:"\f438"} .bi-journal-album::before{content:"\f439"} .bi-journal-arrow-down::before{content:"\f43a"} .bi-journal-arrow-up::before{content:"\f43b"} .bi-journal-bookmark-fill::before{content:"\f43c"} .bi-journal-bookmark::before{content:"\f43d"} .bi-journal-check::before{content:"\f43e"} .bi-journal-code::before{content:"\f43f"} .bi-journal-medical::before{content:"\f440"} .bi-journal-minus::before{content:"\f441"} .bi-journal-plus::before{content:"\f442"} .bi-journal-richtext::before{content:"\f443"} .bi-journal-text::before{content:"\f444"} .bi-journal-x::before{content:"\f445"} .bi-journal::before{content:"\f446"} .bi-journals::before{content:"\f447"} .bi-joystick::before{content:"\f448"} .bi-justify-left::before{content:"\f449"} .bi-justify-right::before{content:"\f44a"} .bi-justify::before{content:"\f44b"} .bi-kanban-fill::before{content:"\f44c"} .bi-kanban::before{content:"\f44d"} .bi-key-fill::before{content:"\f44e"} .bi-key::before{content:"\f44f"} .bi-keyboard-fill::before{content:"\f450"} .bi-keyboard::before{content:"\f451"} .bi-ladder::before{content:"\f452"} .bi-lamp-fill::before{content:"\f453"} .bi-lamp::before{content:"\f454"} .bi-laptop-fill::before{content:"\f455"} .bi-laptop::before{content:"\f456"} .bi-layer-backward::before{content:"\f457"} .bi-layer-forward::before{content:"\f458"} .bi-layers-fill::before{content:"\f459"} .bi-layers-half::before{content:"\f45a"} .bi-layers::before{content:"\f45b"} .bi-layout-sidebar-inset-reverse::before{content:"\f45c"} .bi-layout-sidebar-inset::before{content:"\f45d"} .bi-layout-sidebar-reverse::before{content:"\f45e"} .bi-layout-sidebar::before{content:"\f45f"} .bi-layout-split::before{content:"\f460"} .bi-layout-text-sidebar-reverse::before{content:"\f461"} .bi-layout-text-sidebar::before{content:"\f462"} .bi-layout-text-window-reverse::before{content:"\f463"} .bi-layout-text-window::before{content:"\f464"} .bi-layout-three-columns::before{content:"\f465"} .bi-layout-wtf::before{content:"\f466"} .bi-life-preserver::before{content:"\f467"} .bi-lightbulb-fill::before{content:"\f468"} .bi-lightbulb-off-fill::before{content:"\f469"} .bi-lightbulb-off::before{content:"\f46a"} .bi-lightbulb::before{content:"\f46b"} .bi-lightning-charge-fill::before{content:"\f46c"} .bi-lightning-charge::before{content:"\f46d"} .bi-lightning-fill::before{content:"\f46e"} .bi-lightning::before{content:"\f46f"} .bi-link-45deg::before{content:"\f470"} .bi-link::before{content:"\f471"} .bi-linkedin::before{content:"\f472"} .bi-list-check::before{content:"\f473"} .bi-list-nested::before{content:"\f474"} .bi-list-ol::before{content:"\f475"} .bi-list-stars::before{content:"\f476"} .bi-list-task::before{content:"\f477"} .bi-list-ul::before{content:"\f478"} .bi-list::before{content:"\f479"} .bi-lock-fill::before{content:"\f47a"} .bi-lock::before{content:"\f47b"} .bi-mailbox::before{content:"\f47c"} .bi-mailbox2::before{content:"\f47d"} .bi-map-fill::before{content:"\f47e"} .bi-map::before{content:"\f47f"} .bi-markdown-fill::before{content:"\f480"} .bi-markdown::before{content:"\f481"} .bi-mask::before{content:"\f482"} .bi-megaphone-fill::before{content:"\f483"} .bi-megaphone::before{content:"\f484"} .bi-menu-app-fill::before{content:"\f485"} .bi-menu-app::before{content:"\f486"} .bi-menu-button-fill::before{content:"\f487"} .bi-menu-button-wide-fill::before{content:"\f488"} .bi-menu-button-wide::before{content:"\f489"} .bi-menu-button::before{content:"\f48a"} .bi-menu-down::before{content:"\f48b"} .bi-menu-up::before{content:"\f48c"} .bi-mic-fill::before{content:"\f48d"} .bi-mic-mute-fill::before{content:"\f48e"} .bi-mic-mute::before{content:"\f48f"} .bi-mic::before{content:"\f490"} .bi-minecart-loaded::before{content:"\f491"} .bi-minecart::before{content:"\f492"} .bi-moisture::before{content:"\f493"} .bi-moon-fill::before{content:"\f494"} .bi-moon-stars-fill::before{content:"\f495"} .bi-moon-stars::before{content:"\f496"} .bi-moon::before{content:"\f497"} .bi-mouse-fill::before{content:"\f498"} .bi-mouse::before{content:"\f499"} .bi-mouse2-fill::before{content:"\f49a"} .bi-mouse2::before{content:"\f49b"} .bi-mouse3-fill::before{content:"\f49c"} .bi-mouse3::before{content:"\f49d"} .bi-music-note-beamed::before{content:"\f49e"} .bi-music-note-list::before{content:"\f49f"} .bi-music-note::before{content:"\f4a0"} .bi-music-player-fill::before{content:"\f4a1"} .bi-music-player::before{content:"\f4a2"} .bi-newspaper::before{content:"\f4a3"} .bi-node-minus-fill::before{content:"\f4a4"} .bi-node-minus::before{content:"\f4a5"} .bi-node-plus-fill::before{content:"\f4a6"} .bi-node-plus::before{content:"\f4a7"} .bi-nut-fill::before{content:"\f4a8"} .bi-nut::before{content:"\f4a9"} .bi-octagon-fill::before{content:"\f4aa"} .bi-octagon-half::before{content:"\f4ab"} .bi-octagon::before{content:"\f4ac"} .bi-option::before{content:"\f4ad"} .bi-outlet::before{content:"\f4ae"} .bi-paint-bucket::before{content:"\f4af"} .bi-palette-fill::before{content:"\f4b0"} .bi-palette::before{content:"\f4b1"} .bi-palette2::before{content:"\f4b2"} .bi-paperclip::before{content:"\f4b3"} .bi-paragraph::before{content:"\f4b4"} .bi-patch-check-fill::before{content:"\f4b5"} .bi-patch-check::before{content:"\f4b6"} .bi-patch-exclamation-fill::before{content:"\f4b7"} .bi-patch-exclamation::before{content:"\f4b8"} .bi-patch-minus-fill::before{content:"\f4b9"} .bi-patch-minus::before{content:"\f4ba"} .bi-patch-plus-fill::before{content:"\f4bb"} .bi-patch-plus::before{content:"\f4bc"} .bi-patch-question-fill::before{content:"\f4bd"} .bi-patch-question::before{content:"\f4be"} .bi-pause-btn-fill::before{content:"\f4bf"} .bi-pause-btn::before{content:"\f4c0"} .bi-pause-circle-fill::before{content:"\f4c1"} .bi-pause-circle::before{content:"\f4c2"} .bi-pause-fill::before{content:"\f4c3"} .bi-pause::before{content:"\f4c4"} .bi-peace-fill::before{content:"\f4c5"} .bi-peace::before{content:"\f4c6"} .bi-pen-fill::before{content:"\f4c7"} .bi-pen::before{content:"\f4c8"} .bi-pencil-fill::before{content:"\f4c9"} .bi-pencil-square::before{content:"\f4ca"} .bi-pencil::before{content:"\f4cb"} .bi-pentagon-fill::before{content:"\f4cc"} .bi-pentagon-half::before{content:"\f4cd"} .bi-pentagon::before{content:"\f4ce"} .bi-people-fill::before{content:"\f4cf"} .bi-people::before{content:"\f4d0"} .bi-percent::before{content:"\f4d1"} .bi-person-badge-fill::before{content:"\f4d2"} .bi-person-badge::before{content:"\f4d3"} .bi-person-bounding-box::before{content:"\f4d4"} .bi-person-check-fill::before{content:"\f4d5"} .bi-person-check::before{content:"\f4d6"} .bi-person-circle::before{content:"\f4d7"} .bi-person-dash-fill::before{content:"\f4d8"} .bi-person-dash::before{content:"\f4d9"} .bi-person-fill::before{content:"\f4da"} .bi-person-lines-fill::before{content:"\f4db"} .bi-person-plus-fill::before{content:"\f4dc"} .bi-person-plus::before{content:"\f4dd"} .bi-person-square::before{content:"\f4de"} .bi-person-x-fill::before{content:"\f4df"} .bi-person-x::before{content:"\f4e0"} .bi-person::before{content:"\f4e1"} .bi-phone-fill::before{content:"\f4e2"} .bi-phone-landscape-fill::before{content:"\f4e3"} .bi-phone-landscape::before{content:"\f4e4"} .bi-phone-vibrate-fill::before{content:"\f4e5"} .bi-phone-vibrate::before{content:"\f4e6"} .bi-phone::before{content:"\f4e7"} .bi-pie-chart-fill::before{content:"\f4e8"} .bi-pie-chart::before{content:"\f4e9"} .bi-pin-angle-fill::before{content:"\f4ea"} .bi-pin-angle::before{content:"\f4eb"} .bi-pin-fill::before{content:"\f4ec"} .bi-pin::before{content:"\f4ed"} .bi-pip-fill::before{content:"\f4ee"} .bi-pip::before{content:"\f4ef"} .bi-play-btn-fill::before{content:"\f4f0"} .bi-play-btn::before{content:"\f4f1"} .bi-play-circle-fill::before{content:"\f4f2"} .bi-play-circle::before{content:"\f4f3"} .bi-play-fill::before{content:"\f4f4"} .bi-play::before{content:"\f4f5"} .bi-plug-fill::before{content:"\f4f6"} .bi-plug::before{content:"\f4f7"} .bi-plus-circle-dotted::before{content:"\f4f8"} .bi-plus-circle-fill::before{content:"\f4f9"} .bi-plus-circle::before{content:"\f4fa"} .bi-plus-square-dotted::before{content:"\f4fb"} .bi-plus-square-fill::before{content:"\f4fc"} .bi-plus-square::before{content:"\f4fd"} .bi-plus::before{content:"\f4fe"} .bi-power::before{content:"\f4ff"} .bi-printer-fill::before{content:"\f500"} .bi-printer::before{content:"\f501"} .bi-puzzle-fill::before{content:"\f502"} .bi-puzzle::before{content:"\f503"} .bi-question-circle-fill::before{content:"\f504"} .bi-question-circle::before{content:"\f505"} .bi-question-diamond-fill::before{content:"\f506"} .bi-question-diamond::before{content:"\f507"} .bi-question-octagon-fill::before{content:"\f508"} .bi-question-octagon::before{content:"\f509"} .bi-question-square-fill::before{content:"\f50a"} .bi-question-square::before{content:"\f50b"} .bi-question::before{content:"\f50c"} .bi-rainbow::before{content:"\f50d"} .bi-receipt-cutoff::before{content:"\f50e"} .bi-receipt::before{content:"\f50f"} .bi-reception-0::before{content:"\f510"} .bi-reception-1::before{content:"\f511"} .bi-reception-2::before{content:"\f512"} .bi-reception-3::before{content:"\f513"} .bi-reception-4::before{content:"\f514"} .bi-record-btn-fill::before{content:"\f515"} .bi-record-btn::before{content:"\f516"} .bi-record-circle-fill::before{content:"\f517"} .bi-record-circle::before{content:"\f518"} .bi-record-fill::before{content:"\f519"} .bi-record::before{content:"\f51a"} .bi-record2-fill::before{content:"\f51b"} .bi-record2::before{content:"\f51c"} .bi-reply-all-fill::before{content:"\f51d"} .bi-reply-all::before{content:"\f51e"} .bi-reply-fill::before{content:"\f51f"} .bi-reply::before{content:"\f520"} .bi-rss-fill::before{content:"\f521"} .bi-rss::before{content:"\f522"} .bi-rulers::before{content:"\f523"} .bi-save-fill::before{content:"\f524"} .bi-save::before{content:"\f525"} .bi-save2-fill::before{content:"\f526"} .bi-save2::before{content:"\f527"} .bi-scissors::before{content:"\f528"} .bi-screwdriver::before{content:"\f529"} .bi-search::before{content:"\f52a"} .bi-segmented-nav::before{content:"\f52b"} .bi-server::before{content:"\f52c"} .bi-share-fill::before{content:"\f52d"} .bi-share::before{content:"\f52e"} .bi-shield-check::before{content:"\f52f"} .bi-shield-exclamation::before{content:"\f530"} .bi-shield-fill-check::before{content:"\f531"} .bi-shield-fill-exclamation::before{content:"\f532"} .bi-shield-fill-minus::before{content:"\f533"} .bi-shield-fill-plus::before{content:"\f534"} .bi-shield-fill-x::before{content:"\f535"} .bi-shield-fill::before{content:"\f536"} .bi-shield-lock-fill::before{content:"\f537"} .bi-shield-lock::before{content:"\f538"} .bi-shield-minus::before{content:"\f539"} .bi-shield-plus::before{content:"\f53a"} .bi-shield-shaded::before{content:"\f53b"} .bi-shield-slash-fill::before{content:"\f53c"} .bi-shield-slash::before{content:"\f53d"} .bi-shield-x::before{content:"\f53e"} .bi-shield::before{content:"\f53f"} .bi-shift-fill::before{content:"\f540"} .bi-shift::before{content:"\f541"} .bi-shop-window::before{content:"\f542"} .bi-shop::before{content:"\f543"} .bi-shuffle::before{content:"\f544"} .bi-signpost-2-fill::before{content:"\f545"} .bi-signpost-2::before{content:"\f546"} .bi-signpost-fill::before{content:"\f547"} .bi-signpost-split-fill::before{content:"\f548"} .bi-signpost-split::before{content:"\f549"} .bi-signpost::before{content:"\f54a"} .bi-sim-fill::before{content:"\f54b"} .bi-sim::before{content:"\f54c"} .bi-skip-backward-btn-fill::before{content:"\f54d"} .bi-skip-backward-btn::before{content:"\f54e"} .bi-skip-backward-circle-fill::before{content:"\f54f"} .bi-skip-backward-circle::before{content:"\f550"} .bi-skip-backward-fill::before{content:"\f551"} .bi-skip-backward::before{content:"\f552"} .bi-skip-end-btn-fill::before{content:"\f553"} .bi-skip-end-btn::before{content:"\f554"} .bi-skip-end-circle-fill::before{content:"\f555"} .bi-skip-end-circle::before{content:"\f556"} .bi-skip-end-fill::before{content:"\f557"} .bi-skip-end::before{content:"\f558"} .bi-skip-forward-btn-fill::before{content:"\f559"} .bi-skip-forward-btn::before{content:"\f55a"} .bi-skip-forward-circle-fill::before{content:"\f55b"} .bi-skip-forward-circle::before{content:"\f55c"} .bi-skip-forward-fill::before{content:"\f55d"} .bi-skip-forward::before{content:"\f55e"} .bi-skip-start-btn-fill::before{content:"\f55f"} .bi-skip-start-btn::before{content:"\f560"} .bi-skip-start-circle-fill::before{content:"\f561"} .bi-skip-start-circle::before{content:"\f562"} .bi-skip-start-fill::before{content:"\f563"} .bi-skip-start::before{content:"\f564"} .bi-slack::before{content:"\f565"} .bi-slash-circle-fill::before{content:"\f566"} .bi-slash-circle::before{content:"\f567"} .bi-slash-square-fill::before{content:"\f568"} .bi-slash-square::before{content:"\f569"} .bi-slash::before{content:"\f56a"} .bi-sliders::before{content:"\f56b"} .bi-smartwatch::before{content:"\f56c"} .bi-snow::before{content:"\f56d"} .bi-snow2::before{content:"\f56e"} .bi-snow3::before{content:"\f56f"} .bi-sort-alpha-down-alt::before{content:"\f570"} .bi-sort-alpha-down::before{content:"\f571"} .bi-sort-alpha-up-alt::before{content:"\f572"} .bi-sort-alpha-up::before{content:"\f573"} .bi-sort-down-alt::before{content:"\f574"} .bi-sort-down::before{content:"\f575"} .bi-sort-numeric-down-alt::before{content:"\f576"} .bi-sort-numeric-down::before{content:"\f577"} .bi-sort-numeric-up-alt::before{content:"\f578"} .bi-sort-numeric-up::before{content:"\f579"} .bi-sort-up-alt::before{content:"\f57a"} .bi-sort-up::before{content:"\f57b"} .bi-soundwave::before{content:"\f57c"} .bi-speaker-fill::before{content:"\f57d"} .bi-speaker::before{content:"\f57e"} .bi-speedometer::before{content:"\f57f"} .bi-speedometer2::before{content:"\f580"} .bi-spellcheck::before{content:"\f581"} .bi-square-fill::before{content:"\f582"} .bi-square-half::before{content:"\f583"} .bi-square::before{content:"\f584"} .bi-stack::before{content:"\f585"} .bi-star-fill::before{content:"\f586"} .bi-star-half::before{content:"\f587"} .bi-star::before{content:"\f588"} .bi-stars::before{content:"\f589"} .bi-stickies-fill::before{content:"\f58a"} .bi-stickies::before{content:"\f58b"} .bi-sticky-fill::before{content:"\f58c"} .bi-sticky::before{content:"\f58d"} .bi-stop-btn-fill::before{content:"\f58e"} .bi-stop-btn::before{content:"\f58f"} .bi-stop-circle-fill::before{content:"\f590"} .bi-stop-circle::before{content:"\f591"} .bi-stop-fill::before{content:"\f592"} .bi-stop::before{content:"\f593"} .bi-stoplights-fill::before{content:"\f594"} .bi-stoplights::before{content:"\f595"} .bi-stopwatch-fill::before{content:"\f596"} .bi-stopwatch::before{content:"\f597"} .bi-subtract::before{content:"\f598"} .bi-suit-club-fill::before{content:"\f599"} .bi-suit-club::before{content:"\f59a"} .bi-suit-diamond-fill::before{content:"\f59b"} .bi-suit-diamond::before{content:"\f59c"} .bi-suit-heart-fill::before{content:"\f59d"} .bi-suit-heart::before{content:"\f59e"} .bi-suit-spade-fill::before{content:"\f59f"} .bi-suit-spade::before{content:"\f5a0"} .bi-sun-fill::before{content:"\f5a1"} .bi-sun::before{content:"\f5a2"} .bi-sunglasses::before{content:"\f5a3"} .bi-sunrise-fill::before{content:"\f5a4"} .bi-sunrise::before{content:"\f5a5"} .bi-sunset-fill::before{content:"\f5a6"} .bi-sunset::before{content:"\f5a7"} .bi-symmetry-horizontal::before{content:"\f5a8"} .bi-symmetry-vertical::before{content:"\f5a9"} .bi-table::before{content:"\f5aa"} .bi-tablet-fill::before{content:"\f5ab"} .bi-tablet-landscape-fill::before{content:"\f5ac"} .bi-tablet-landscape::before{content:"\f5ad"} .bi-tablet::before{content:"\f5ae"} .bi-tag-fill::before{content:"\f5af"} .bi-tag::before{content:"\f5b0"} .bi-tags-fill::before{content:"\f5b1"} .bi-tags::before{content:"\f5b2"} .bi-telegram::before{content:"\f5b3"} .bi-telephone-fill::before{content:"\f5b4"} .bi-telephone-forward-fill::before{content:"\f5b5"} .bi-telephone-forward::before{content:"\f5b6"} .bi-telephone-inbound-fill::before{content:"\f5b7"} .bi-telephone-inbound::before{content:"\f5b8"} .bi-telephone-minus-fill::before{content:"\f5b9"} .bi-telephone-minus::before{content:"\f5ba"} .bi-telephone-outbound-fill::before{content:"\f5bb"} .bi-telephone-outbound::before{content:"\f5bc"} .bi-telephone-plus-fill::before{content:"\f5bd"} .bi-telephone-plus::before{content:"\f5be"} .bi-telephone-x-fill::before{content:"\f5bf"} .bi-telephone-x::before{content:"\f5c0"} .bi-telephone::before{content:"\f5c1"} .bi-terminal-fill::before{content:"\f5c2"} .bi-terminal::before{content:"\f5c3"} .bi-text-center::before{content:"\f5c4"} .bi-text-indent-left::before{content:"\f5c5"} .bi-text-indent-right::before{content:"\f5c6"} .bi-text-left::before{content:"\f5c7"} .bi-text-paragraph::before{content:"\f5c8"} .bi-text-right::before{content:"\f5c9"} .bi-textarea-resize::before{content:"\f5ca"} .bi-textarea-t::before{content:"\f5cb"} .bi-textarea::before{content:"\f5cc"} .bi-thermometer-half::before{content:"\f5cd"} .bi-thermometer-high::before{content:"\f5ce"} .bi-thermometer-low::before{content:"\f5cf"} .bi-thermometer-snow::before{content:"\f5d0"} .bi-thermometer-sun::before{content:"\f5d1"} .bi-thermometer::before{content:"\f5d2"} .bi-three-dots-vertical::before{content:"\f5d3"} .bi-three-dots::before{content:"\f5d4"} .bi-toggle-off::before{content:"\f5d5"} .bi-toggle-on::before{content:"\f5d6"} .bi-toggle2-off::before{content:"\f5d7"} .bi-toggle2-on::before{content:"\f5d8"} .bi-toggles::before{content:"\f5d9"} .bi-toggles2::before{content:"\f5da"} .bi-tools::before{content:"\f5db"} .bi-tornado::before{content:"\f5dc"} .bi-trash-fill::before{content:"\f5dd"} .bi-trash::before{content:"\f5de"} .bi-trash2-fill::before{content:"\f5df"} .bi-trash2::before{content:"\f5e0"} .bi-tree-fill::before{content:"\f5e1"} .bi-tree::before{content:"\f5e2"} .bi-triangle-fill::before{content:"\f5e3"} .bi-triangle-half::before{content:"\f5e4"} .bi-triangle::before{content:"\f5e5"} .bi-trophy-fill::before{content:"\f5e6"} .bi-trophy::before{content:"\f5e7"} .bi-tropical-storm::before{content:"\f5e8"} .bi-truck-flatbed::before{content:"\f5e9"} .bi-truck::before{content:"\f5ea"} .bi-tsunami::before{content:"\f5eb"} .bi-tv-fill::before{content:"\f5ec"} .bi-tv::before{content:"\f5ed"} .bi-twitch::before{content:"\f5ee"} .bi-twitter::before{content:"\f5ef"} .bi-type-bold::before{content:"\f5f0"} .bi-type-h1::before{content:"\f5f1"} .bi-type-h2::before{content:"\f5f2"} .bi-type-h3::before{content:"\f5f3"} .bi-type-italic::before{content:"\f5f4"} .bi-type-strikethrough::before{content:"\f5f5"} .bi-type-underline::before{content:"\f5f6"} .bi-type::before{content:"\f5f7"} .bi-ui-checks-grid::before{content:"\f5f8"} .bi-ui-checks::before{content:"\f5f9"} .bi-ui-radios-grid::before{content:"\f5fa"} .bi-ui-radios::before{content:"\f5fb"} .bi-umbrella-fill::before{content:"\f5fc"} .bi-umbrella::before{content:"\f5fd"} .bi-union::before{content:"\f5fe"} .bi-unlock-fill::before{content:"\f5ff"} .bi-unlock::before{content:"\f600"} .bi-upc-scan::before{content:"\f601"} .bi-upc::before{content:"\f602"} .bi-upload::before{content:"\f603"} .bi-vector-pen::before{content:"\f604"} .bi-view-list::before{content:"\f605"} .bi-view-stacked::before{content:"\f606"} .bi-vinyl-fill::before{content:"\f607"} .bi-vinyl::before{content:"\f608"} .bi-voicemail::before{content:"\f609"} .bi-volume-down-fill::before{content:"\f60a"} .bi-volume-down::before{content:"\f60b"} .bi-volume-mute-fill::before{content:"\f60c"} .bi-volume-mute::before{content:"\f60d"} .bi-volume-off-fill::before{content:"\f60e"} .bi-volume-off::before{content:"\f60f"} .bi-volume-up-fill::before{content:"\f610"} .bi-volume-up::before{content:"\f611"} .bi-vr::before{content:"\f612"} .bi-wallet-fill::before{content:"\f613"} .bi-wallet::before{content:"\f614"} .bi-wallet2::before{content:"\f615"} .bi-watch::before{content:"\f616"} .bi-water::before{content:"\f617"} .bi-whatsapp::before{content:"\f618"} .bi-wifi-1::before{content:"\f619"} .bi-wifi-2::before{content:"\f61a"} .bi-wifi-off::before{content:"\f61b"} .bi-wifi::before{content:"\f61c"} .bi-wind::before{content:"\f61d"} .bi-window-dock::before{content:"\f61e"} .bi-window-sidebar::before{content:"\f61f"} .bi-window::before{content:"\f620"} .bi-wrench::before{content:"\f621"} .bi-x-circle-fill::before{content:"\f622"} .bi-x-circle::before{content:"\f623"} .bi-x-diamond-fill::before{content:"\f624"} .bi-x-diamond::before{content:"\f625"} .bi-x-octagon-fill::before{content:"\f626"} .bi-x-octagon::before{content:"\f627"} .bi-x-square-fill::before{content:"\f628"} .bi-x-square::before{content:"\f629"} .bi-x::before{content:"\f62a"} .bi-youtube::before{content:"\f62b"} .bi-zoom-in::before{content:"\f62c"} .bi-zoom-out::before{content:"\f62d"} .bi-bank::before{content:"\f62e"} .bi-bank2::before{content:"\f62f"} .bi-bell-slash-fill::before{content:"\f630"} .bi-bell-slash::before{content:"\f631"} .bi-cash-coin::before{content:"\f632"} .bi-check-lg::before{content:"\f633"} .bi-coin::before{content:"\f634"} .bi-currency-bitcoin::before{content:"\f635"} .bi-currency-dollar::before{content:"\f636"} .bi-currency-euro::before{content:"\f637"} .bi-currency-exchange::before{content:"\f638"} .bi-currency-pound::before{content:"\f639"} .bi-currency-yen::before{content:"\f63a"} .bi-dash-lg::before{content:"\f63b"} .bi-exclamation-lg::before{content:"\f63c"} .bi-file-earmark-pdf-fill::before{content:"\f63d"} .bi-file-earmark-pdf::before{content:"\f63e"} .bi-file-pdf-fill::before{content:"\f63f"} .bi-file-pdf::before{content:"\f640"} .bi-gender-ambiguous::before{content:"\f641"} .bi-gender-female::before{content:"\f642"} .bi-gender-male::before{content:"\f643"} .bi-gender-trans::before{content:"\f644"} .bi-headset-vr::before{content:"\f645"} .bi-info-lg::before{content:"\f646"} .bi-mastodon::before{content:"\f647"} .bi-messenger::before{content:"\f648"} .bi-piggy-bank-fill::before{content:"\f649"} .bi-piggy-bank::before{content:"\f64a"} .bi-pin-map-fill::before{content:"\f64b"} .bi-pin-map::before{content:"\f64c"} .bi-plus-lg::before{content:"\f64d"} .bi-question-lg::before{content:"\f64e"} .bi-recycle::before{content:"\f64f"} .bi-reddit::before{content:"\f650"} .bi-safe-fill::before{content:"\f651"} .bi-safe2-fill::before{content:"\f652"} .bi-safe2::before{content:"\f653"} .bi-sd-card-fill::before{content:"\f654"} .bi-sd-card::before{content:"\f655"} .bi-skype::before{content:"\f656"} .bi-slash-lg::before{content:"\f657"} .bi-translate::before{content:"\f658"} .bi-x-lg::before{content:"\f659"} .bi-safe::before{content:"\f65a"} .bi-apple::before{content:"\f65b"} .bi-microsoft::before{content:"\f65d"} .bi-windows::before{content:"\f65e"} .bi-behance::before{content:"\f65c"} .bi-dribbble::before{content:"\f65f"} .bi-line::before{content:"\f660"} .bi-medium::before{content:"\f661"} .bi-paypal::before{content:"\f662"} .bi-pinterest::before{content:"\f663"} .bi-signal::before{content:"\f664"} .bi-snapchat::before{content:"\f665"} .bi-spotify::before{content:"\f666"} .bi-stack-overflow::before{content:"\f667"} .bi-strava::before{content:"\f668"} .bi-wordpress::before{content:"\f669"} .bi-vimeo::before{content:"\f66a"} .bi-activity::before{content:"\f66b"} .bi-easel2-fill::before{content:"\f66c"} .bi-easel2::before{content:"\f66d"} .bi-easel3-fill::before{content:"\f66e"} .bi-easel3::before{content:"\f66f"} .bi-fan::before{content:"\f670"} .bi-fingerprint::before{content:"\f671"} .bi-graph-down-arrow::before{content:"\f672"} .bi-graph-up-arrow::before{content:"\f673"} .bi-hypnotize::before{content:"\f674"} .bi-magic::before{content:"\f675"} .bi-person-rolodex::before{content:"\f676"} .bi-person-video::before{content:"\f677"} .bi-person-video2::before{content:"\f678"} .bi-person-video3::before{content:"\f679"} .bi-person-workspace::before{content:"\f67a"} .bi-radioactive::before{content:"\f67b"} .bi-webcam-fill::before{content:"\f67c"} .bi-webcam::before{content:"\f67d"} .bi-yin-yang::before{content:"\f67e"} .bi-bandaid-fill::before{content:"\f680"} .bi-bandaid::before{content:"\f681"} .bi-bluetooth::before{content:"\f682"} .bi-body-text::before{content:"\f683"} .bi-boombox::before{content:"\f684"} .bi-boxes::before{content:"\f685"} .bi-dpad-fill::before{content:"\f686"} .bi-dpad::before{content:"\f687"} .bi-ear-fill::before{content:"\f688"} .bi-ear::before{content:"\f689"} .bi-envelope-check-fill::before{content:"\f68b"} .bi-envelope-check::before{content:"\f68c"} .bi-envelope-dash-fill::before{content:"\f68e"} .bi-envelope-dash::before{content:"\f68f"} .bi-envelope-exclamation-fill::before{content:"\f691"} .bi-envelope-exclamation::before{content:"\f692"} .bi-envelope-plus-fill::before{content:"\f693"} .bi-envelope-plus::before{content:"\f694"} .bi-envelope-slash-fill::before{content:"\f696"} .bi-envelope-slash::before{content:"\f697"} .bi-envelope-x-fill::before{content:"\f699"} .bi-envelope-x::before{content:"\f69a"} .bi-explicit-fill::before{content:"\f69b"} .bi-explicit::before{content:"\f69c"} .bi-git::before{content:"\f69d"} .bi-infinity::before{content:"\f69e"} .bi-list-columns-reverse::before{content:"\f69f"} .bi-list-columns::before{content:"\f6a0"} .bi-meta::before{content:"\f6a1"} .bi-nintendo-switch::before{content:"\f6a4"} .bi-pc-display-horizontal::before{content:"\f6a5"} .bi-pc-display::before{content:"\f6a6"} .bi-pc-horizontal::before{content:"\f6a7"} .bi-pc::before{content:"\f6a8"} .bi-playstation::before{content:"\f6a9"} .bi-plus-slash-minus::before{content:"\f6aa"} .bi-projector-fill::before{content:"\f6ab"} .bi-projector::before{content:"\f6ac"} .bi-qr-code-scan::before{content:"\f6ad"} .bi-qr-code::before{content:"\f6ae"} .bi-quora::before{content:"\f6af"} .bi-quote::before{content:"\f6b0"} .bi-robot::before{content:"\f6b1"} .bi-send-check-fill::before{content:"\f6b2"} .bi-send-check::before{content:"\f6b3"} .bi-send-dash-fill::before{content:"\f6b4"} .bi-send-dash::before{content:"\f6b5"} .bi-send-exclamation-fill::before{content:"\f6b7"} .bi-send-exclamation::before{content:"\f6b8"} .bi-send-fill::before{content:"\f6b9"} .bi-send-plus-fill::before{content:"\f6ba"} .bi-send-plus::before{content:"\f6bb"} .bi-send-slash-fill::before{content:"\f6bc"} .bi-send-slash::before{content:"\f6bd"} .bi-send-x-fill::before{content:"\f6be"} .bi-send-x::before{content:"\f6bf"} .bi-send::before{content:"\f6c0"} .bi-steam::before{content:"\f6c1"} .bi-terminal-dash::before{content:"\f6c3"} .bi-terminal-plus::before{content:"\f6c4"} .bi-terminal-split::before{content:"\f6c5"} .bi-ticket-detailed-fill::before{content:"\f6c6"} .bi-ticket-detailed::before{content:"\f6c7"} .bi-ticket-fill::before{content:"\f6c8"} .bi-ticket-perforated-fill::before{content:"\f6c9"} .bi-ticket-perforated::before{content:"\f6ca"} .bi-ticket::before{content:"\f6cb"} .bi-tiktok::before{content:"\f6cc"} .bi-window-dash::before{content:"\f6cd"} .bi-window-desktop::before{content:"\f6ce"} .bi-window-fullscreen::before{content:"\f6cf"} .bi-window-plus::before{content:"\f6d0"} .bi-window-split::before{content:"\f6d1"} .bi-window-stack::before{content:"\f6d2"} .bi-window-x::before{content:"\f6d3"} .bi-xbox::before{content:"\f6d4"} .bi-ethernet::before{content:"\f6d5"} .bi-hdmi-fill::before{content:"\f6d6"} .bi-hdmi::before{content:"\f6d7"} .bi-usb-c-fill::before{content:"\f6d8"} .bi-usb-c::before{content:"\f6d9"} .bi-usb-fill::before{content:"\f6da"} .bi-usb-plug-fill::before{content:"\f6db"} .bi-usb-plug::before{content:"\f6dc"} .bi-usb-symbol::before{content:"\f6dd"} .bi-usb::before{content:"\f6de"} .bi-boombox-fill::before{content:"\f6df"} .bi-displayport::before{content:"\f6e1"} .bi-gpu-card::before{content:"\f6e2"} .bi-memory::before{content:"\f6e3"} .bi-modem-fill::before{content:"\f6e4"} .bi-modem::before{content:"\f6e5"} .bi-motherboard-fill::before{content:"\f6e6"} .bi-motherboard::before{content:"\f6e7"} .bi-optical-audio-fill::before{content:"\f6e8"} .bi-optical-audio::before{content:"\f6e9"} .bi-pci-card::before{content:"\f6ea"} .bi-router-fill::before{content:"\f6eb"} .bi-router::before{content:"\f6ec"} .bi-thunderbolt-fill::before{content:"\f6ef"} .bi-thunderbolt::before{content:"\f6f0"} .bi-usb-drive-fill::before{content:"\f6f1"} .bi-usb-drive::before{content:"\f6f2"} .bi-usb-micro-fill::before{content:"\f6f3"} .bi-usb-micro::before{content:"\f6f4"} .bi-usb-mini-fill::before{content:"\f6f5"} .bi-usb-mini::before{content:"\f6f6"} .bi-cloud-haze2::before{content:"\f6f7"} .bi-device-hdd-fill::before{content:"\f6f8"} .bi-device-hdd::before{content:"\f6f9"} .bi-device-ssd-fill::before{content:"\f6fa"} .bi-device-ssd::before{content:"\f6fb"} .bi-displayport-fill::before{content:"\f6fc"} .bi-mortarboard-fill::before{content:"\f6fd"} .bi-mortarboard::before{content:"\f6fe"} .bi-terminal-x::before{content:"\f6ff"} .bi-arrow-through-heart-fill::before{content:"\f700"} .bi-arrow-through-heart::before{content:"\f701"} .bi-badge-sd-fill::before{content:"\f702"} .bi-badge-sd::before{content:"\f703"} .bi-bag-heart-fill::before{content:"\f704"} .bi-bag-heart::before{content:"\f705"} .bi-balloon-fill::before{content:"\f706"} .bi-balloon-heart-fill::before{content:"\f707"} .bi-balloon-heart::before{content:"\f708"} .bi-balloon::before{content:"\f709"} .bi-box2-fill::before{content:"\f70a"} .bi-box2-heart-fill::before{content:"\f70b"} .bi-box2-heart::before{content:"\f70c"} .bi-box2::before{content:"\f70d"} .bi-braces-asterisk::before{content:"\f70e"} .bi-calendar-heart-fill::before{content:"\f70f"} .bi-calendar-heart::before{content:"\f710"} .bi-calendar2-heart-fill::before{content:"\f711"} .bi-calendar2-heart::before{content:"\f712"} .bi-chat-heart-fill::before{content:"\f713"} .bi-chat-heart::before{content:"\f714"} .bi-chat-left-heart-fill::before{content:"\f715"} .bi-chat-left-heart::before{content:"\f716"} .bi-chat-right-heart-fill::before{content:"\f717"} .bi-chat-right-heart::before{content:"\f718"} .bi-chat-square-heart-fill::before{content:"\f719"} .bi-chat-square-heart::before{content:"\f71a"} .bi-clipboard-check-fill::before{content:"\f71b"} .bi-clipboard-data-fill::before{content:"\f71c"} .bi-clipboard-fill::before{content:"\f71d"} .bi-clipboard-heart-fill::before{content:"\f71e"} .bi-clipboard-heart::before{content:"\f71f"} .bi-clipboard-minus-fill::before{content:"\f720"} .bi-clipboard-plus-fill::before{content:"\f721"} .bi-clipboard-pulse::before{content:"\f722"} .bi-clipboard-x-fill::before{content:"\f723"} .bi-clipboard2-check-fill::before{content:"\f724"} .bi-clipboard2-check::before{content:"\f725"} .bi-clipboard2-data-fill::before{content:"\f726"} .bi-clipboard2-data::before{content:"\f727"} .bi-clipboard2-fill::before{content:"\f728"} .bi-clipboard2-heart-fill::before{content:"\f729"} .bi-clipboard2-heart::before{content:"\f72a"} .bi-clipboard2-minus-fill::before{content:"\f72b"} .bi-clipboard2-minus::before{content:"\f72c"} .bi-clipboard2-plus-fill::before{content:"\f72d"} .bi-clipboard2-plus::before{content:"\f72e"} .bi-clipboard2-pulse-fill::before{content:"\f72f"} .bi-clipboard2-pulse::before{content:"\f730"} .bi-clipboard2-x-fill::before{content:"\f731"} .bi-clipboard2-x::before{content:"\f732"} .bi-clipboard2::before{content:"\f733"} .bi-emoji-kiss-fill::before{content:"\f734"} .bi-emoji-kiss::before{content:"\f735"} .bi-envelope-heart-fill::before{content:"\f736"} .bi-envelope-heart::before{content:"\f737"} .bi-envelope-open-heart-fill::before{content:"\f738"} .bi-envelope-open-heart::before{content:"\f739"} .bi-envelope-paper-fill::before{content:"\f73a"} .bi-envelope-paper-heart-fill::before{content:"\f73b"} .bi-envelope-paper-heart::before{content:"\f73c"} .bi-envelope-paper::before{content:"\f73d"} .bi-filetype-aac::before{content:"\f73e"} .bi-filetype-ai::before{content:"\f73f"} .bi-filetype-bmp::before{content:"\f740"} .bi-filetype-cs::before{content:"\f741"} .bi-filetype-css::before{content:"\f742"} .bi-filetype-csv::before{content:"\f743"} .bi-filetype-doc::before{content:"\f744"} .bi-filetype-docx::before{content:"\f745"} .bi-filetype-exe::before{content:"\f746"} .bi-filetype-gif::before{content:"\f747"} .bi-filetype-heic::before{content:"\f748"} .bi-filetype-html::before{content:"\f749"} .bi-filetype-java::before{content:"\f74a"} .bi-filetype-jpg::before{content:"\f74b"} .bi-filetype-js::before{content:"\f74c"} .bi-filetype-jsx::before{content:"\f74d"} .bi-filetype-key::before{content:"\f74e"} .bi-filetype-m4p::before{content:"\f74f"} .bi-filetype-md::before{content:"\f750"} .bi-filetype-mdx::before{content:"\f751"} .bi-filetype-mov::before{content:"\f752"} .bi-filetype-mp3::before{content:"\f753"} .bi-filetype-mp4::before{content:"\f754"} .bi-filetype-otf::before{content:"\f755"} .bi-filetype-pdf::before{content:"\f756"} .bi-filetype-php::before{content:"\f757"} .bi-filetype-png::before{content:"\f758"} .bi-filetype-ppt::before{content:"\f75a"} .bi-filetype-psd::before{content:"\f75b"} .bi-filetype-py::before{content:"\f75c"} .bi-filetype-raw::before{content:"\f75d"} .bi-filetype-rb::before{content:"\f75e"} .bi-filetype-sass::before{content:"\f75f"} .bi-filetype-scss::before{content:"\f760"} .bi-filetype-sh::before{content:"\f761"} .bi-filetype-svg::before{content:"\f762"} .bi-filetype-tiff::before{content:"\f763"} .bi-filetype-tsx::before{content:"\f764"} .bi-filetype-ttf::before{content:"\f765"} .bi-filetype-txt::before{content:"\f766"} .bi-filetype-wav::before{content:"\f767"} .bi-filetype-woff::before{content:"\f768"} .bi-filetype-xls::before{content:"\f76a"} .bi-filetype-xml::before{content:"\f76b"} .bi-filetype-yml::before{content:"\f76c"} .bi-heart-arrow::before{content:"\f76d"} .bi-heart-pulse-fill::before{content:"\f76e"} .bi-heart-pulse::before{content:"\f76f"} .bi-heartbreak-fill::before{content:"\f770"} .bi-heartbreak::before{content:"\f771"} .bi-hearts::before{content:"\f772"} .bi-hospital-fill::before{content:"\f773"} .bi-hospital::before{content:"\f774"} .bi-house-heart-fill::before{content:"\f775"} .bi-house-heart::before{content:"\f776"} .bi-incognito::before{content:"\f777"} .bi-magnet-fill::before{content:"\f778"} .bi-magnet::before{content:"\f779"} .bi-person-heart::before{content:"\f77a"} .bi-person-hearts::before{content:"\f77b"} .bi-phone-flip::before{content:"\f77c"} .bi-plugin::before{content:"\f77d"} .bi-postage-fill::before{content:"\f77e"} .bi-postage-heart-fill::before{content:"\f77f"} .bi-postage-heart::before{content:"\f780"} .bi-postage::before{content:"\f781"} .bi-postcard-fill::before{content:"\f782"} .bi-postcard-heart-fill::before{content:"\f783"} .bi-postcard-heart::before{content:"\f784"} .bi-postcard::before{content:"\f785"} .bi-search-heart-fill::before{content:"\f786"} .bi-search-heart::before{content:"\f787"} .bi-sliders2-vertical::before{content:"\f788"} .bi-sliders2::before{content:"\f789"} .bi-trash3-fill::before{content:"\f78a"} .bi-trash3::before{content:"\f78b"} .bi-valentine::before{content:"\f78c"} .bi-valentine2::before{content:"\f78d"} .bi-wrench-adjustable-circle-fill::before{content:"\f78e"} .bi-wrench-adjustable-circle::before{content:"\f78f"} .bi-wrench-adjustable::before{content:"\f790"} .bi-filetype-json::before{content:"\f791"} .bi-filetype-pptx::before{content:"\f792"} .bi-filetype-xlsx::before{content:"\f793"} .bi-1-circle-fill::before{content:"\f796"} .bi-1-circle::before{content:"\f797"} .bi-1-square-fill::before{content:"\f798"} .bi-1-square::before{content:"\f799"} .bi-2-circle-fill::before{content:"\f79c"} .bi-2-circle::before{content:"\f79d"} .bi-2-square-fill::before{content:"\f79e"} .bi-2-square::before{content:"\f79f"} .bi-3-circle-fill::before{content:"\f7a2"} .bi-3-circle::before{content:"\f7a3"} .bi-3-square-fill::before{content:"\f7a4"} .bi-3-square::before{content:"\f7a5"} .bi-4-circle-fill::before{content:"\f7a8"} .bi-4-circle::before{content:"\f7a9"} .bi-4-square-fill::before{content:"\f7aa"} .bi-4-square::before{content:"\f7ab"} .bi-5-circle-fill::before{content:"\f7ae"} .bi-5-circle::before{content:"\f7af"} .bi-5-square-fill::before{content:"\f7b0"} .bi-5-square::before{content:"\f7b1"} .bi-6-circle-fill::before{content:"\f7b4"} .bi-6-circle::before{content:"\f7b5"} .bi-6-square-fill::before{content:"\f7b6"} .bi-6-square::before{content:"\f7b7"} .bi-7-circle-fill::before{content:"\f7ba"} .bi-7-circle::before{content:"\f7bb"} .bi-7-square-fill::before{content:"\f7bc"} .bi-7-square::before{content:"\f7bd"} .bi-8-circle-fill::before{content:"\f7c0"} .bi-8-circle::before{content:"\f7c1"} .bi-8-square-fill::before{content:"\f7c2"} .bi-8-square::before{content:"\f7c3"} .bi-9-circle-fill::before{content:"\f7c6"} .bi-9-circle::before{content:"\f7c7"} .bi-9-square-fill::before{content:"\f7c8"} .bi-9-square::before{content:"\f7c9"} .bi-airplane-engines-fill::before{content:"\f7ca"} .bi-airplane-engines::before{content:"\f7cb"} .bi-airplane-fill::before{content:"\f7cc"} .bi-airplane::before{content:"\f7cd"} .bi-alexa::before{content:"\f7ce"} .bi-alipay::before{content:"\f7cf"} .bi-android::before{content:"\f7d0"} .bi-android2::before{content:"\f7d1"} .bi-box-fill::before{content:"\f7d2"} .bi-box-seam-fill::before{content:"\f7d3"} .bi-browser-chrome::before{content:"\f7d4"} .bi-browser-edge::before{content:"\f7d5"} .bi-browser-firefox::before{content:"\f7d6"} .bi-browser-safari::before{content:"\f7d7"} .bi-c-circle-fill::before{content:"\f7da"} .bi-c-circle::before{content:"\f7db"} .bi-c-square-fill::before{content:"\f7dc"} .bi-c-square::before{content:"\f7dd"} .bi-capsule-pill::before{content:"\f7de"} .bi-capsule::before{content:"\f7df"} .bi-car-front-fill::before{content:"\f7e0"} .bi-car-front::before{content:"\f7e1"} .bi-cassette-fill::before{content:"\f7e2"} .bi-cassette::before{content:"\f7e3"} .bi-cc-circle-fill::before{content:"\f7e6"} .bi-cc-circle::before{content:"\f7e7"} .bi-cc-square-fill::before{content:"\f7e8"} .bi-cc-square::before{content:"\f7e9"} .bi-cup-hot-fill::before{content:"\f7ea"} .bi-cup-hot::before{content:"\f7eb"} .bi-currency-rupee::before{content:"\f7ec"} .bi-dropbox::before{content:"\f7ed"} .bi-escape::before{content:"\f7ee"} .bi-fast-forward-btn-fill::before{content:"\f7ef"} .bi-fast-forward-btn::before{content:"\f7f0"} .bi-fast-forward-circle-fill::before{content:"\f7f1"} .bi-fast-forward-circle::before{content:"\f7f2"} .bi-fast-forward-fill::before{content:"\f7f3"} .bi-fast-forward::before{content:"\f7f4"} .bi-filetype-sql::before{content:"\f7f5"} .bi-fire::before{content:"\f7f6"} .bi-google-play::before{content:"\f7f7"} .bi-h-circle-fill::before{content:"\f7fa"} .bi-h-circle::before{content:"\f7fb"} .bi-h-square-fill::before{content:"\f7fc"} .bi-h-square::before{content:"\f7fd"} .bi-indent::before{content:"\f7fe"} .bi-lungs-fill::before{content:"\f7ff"} .bi-lungs::before{content:"\f800"} .bi-microsoft-teams::before{content:"\f801"} .bi-p-circle-fill::before{content:"\f804"} .bi-p-circle::before{content:"\f805"} .bi-p-square-fill::before{content:"\f806"} .bi-p-square::before{content:"\f807"} .bi-pass-fill::before{content:"\f808"} .bi-pass::before{content:"\f809"} .bi-prescription::before{content:"\f80a"} .bi-prescription2::before{content:"\f80b"} .bi-r-circle-fill::before{content:"\f80e"} .bi-r-circle::before{content:"\f80f"} .bi-r-square-fill::before{content:"\f810"} .bi-r-square::before{content:"\f811"} .bi-repeat-1::before{content:"\f812"} .bi-repeat::before{content:"\f813"} .bi-rewind-btn-fill::before{content:"\f814"} .bi-rewind-btn::before{content:"\f815"} .bi-rewind-circle-fill::before{content:"\f816"} .bi-rewind-circle::before{content:"\f817"} .bi-rewind-fill::before{content:"\f818"} .bi-rewind::before{content:"\f819"} .bi-train-freight-front-fill::before{content:"\f81a"} .bi-train-freight-front::before{content:"\f81b"} .bi-train-front-fill::before{content:"\f81c"} .bi-train-front::before{content:"\f81d"} .bi-train-lightrail-front-fill::before{content:"\f81e"} .bi-train-lightrail-front::before{content:"\f81f"} .bi-truck-front-fill::before{content:"\f820"} .bi-truck-front::before{content:"\f821"} .bi-ubuntu::before{content:"\f822"} .bi-unindent::before{content:"\f823"} .bi-unity::before{content:"\f824"} .bi-universal-access-circle::before{content:"\f825"} .bi-universal-access::before{content:"\f826"} .bi-virus::before{content:"\f827"} .bi-virus2::before{content:"\f828"} .bi-wechat::before{content:"\f829"} .bi-yelp::before{content:"\f82a"} .bi-sign-stop-fill::before{content:"\f82b"} .bi-sign-stop-lights-fill::before{content:"\f82c"} .bi-sign-stop-lights::before{content:"\f82d"} .bi-sign-stop::before{content:"\f82e"} .bi-sign-turn-left-fill::before{content:"\f82f"} .bi-sign-turn-left::before{content:"\f830"} .bi-sign-turn-right-fill::before{content:"\f831"} .bi-sign-turn-right::before{content:"\f832"} .bi-sign-turn-slight-left-fill::before{content:"\f833"} .bi-sign-turn-slight-left::before{content:"\f834"} .bi-sign-turn-slight-right-fill::before{content:"\f835"} .bi-sign-turn-slight-right::before{content:"\f836"} .bi-sign-yield-fill::before{content:"\f837"} .bi-sign-yield::before{content:"\f838"} .bi-ev-station-fill::before{content:"\f839"} .bi-ev-station::before{content:"\f83a"} .bi-fuel-pump-diesel-fill::before{content:"\f83b"} .bi-fuel-pump-diesel::before{content:"\f83c"} .bi-fuel-pump-fill::before{content:"\f83d"} .bi-fuel-pump::before{content:"\f83e"} .bi-0-circle-fill::before{content:"\f83f"} .bi-0-circle::before{content:"\f840"} .bi-0-square-fill::before{content:"\f841"} .bi-0-square::before{content:"\f842"} .bi-rocket-fill::before{content:"\f843"} .bi-rocket-takeoff-fill::before{content:"\f844"} .bi-rocket-takeoff::before{content:"\f845"} .bi-rocket::before{content:"\f846"} .bi-stripe::before{content:"\f847"} .bi-subscript::before{content:"\f848"} .bi-superscript::before{content:"\f849"} .bi-trello::before{content:"\f84a"} .bi-envelope-at-fill::before{content:"\f84b"} .bi-envelope-at::before{content:"\f84c"} .bi-regex::before{content:"\f84d"} .bi-text-wrap::before{content:"\f84e"} .bi-sign-dead-end-fill::before{content:"\f84f"} .bi-sign-dead-end::before{content:"\f850"} .bi-sign-do-not-enter-fill::before{content:"\f851"} .bi-sign-do-not-enter::before{content:"\f852"} .bi-sign-intersection-fill::before{content:"\f853"} .bi-sign-intersection-side-fill::before{content:"\f854"} .bi-sign-intersection-side::before{content:"\f855"} .bi-sign-intersection-t-fill::before{content:"\f856"} .bi-sign-intersection-t::before{content:"\f857"} .bi-sign-intersection-y-fill::before{content:"\f858"} .bi-sign-intersection-y::before{content:"\f859"} .bi-sign-intersection::before{content:"\f85a"} .bi-sign-merge-left-fill::before{content:"\f85b"} .bi-sign-merge-left::before{content:"\f85c"} .bi-sign-merge-right-fill::before{content:"\f85d"} .bi-sign-merge-right::before{content:"\f85e"} .bi-sign-no-left-turn-fill::before{content:"\f85f"} .bi-sign-no-left-turn::before{content:"\f860"} .bi-sign-no-parking-fill::before{content:"\f861"} .bi-sign-no-parking::before{content:"\f862"} .bi-sign-no-right-turn-fill::before{content:"\f863"} .bi-sign-no-right-turn::before{content:"\f864"} .bi-sign-railroad-fill::before{content:"\f865"} .bi-sign-railroad::before{content:"\f866"} .bi-building-add::before{content:"\f867"} .bi-building-check::before{content:"\f868"} .bi-building-dash::before{content:"\f869"} .bi-building-down::before{content:"\f86a"} .bi-building-exclamation::before{content:"\f86b"} .bi-building-fill-add::before{content:"\f86c"} .bi-building-fill-check::before{content:"\f86d"} .bi-building-fill-dash::before{content:"\f86e"} .bi-building-fill-down::before{content:"\f86f"} .bi-building-fill-exclamation::before{content:"\f870"} .bi-building-fill-gear::before{content:"\f871"} .bi-building-fill-lock::before{content:"\f872"} .bi-building-fill-slash::before{content:"\f873"} .bi-building-fill-up::before{content:"\f874"} .bi-building-fill-x::before{content:"\f875"} .bi-building-fill::before{content:"\f876"} .bi-building-gear::before{content:"\f877"} .bi-building-lock::before{content:"\f878"} .bi-building-slash::before{content:"\f879"} .bi-building-up::before{content:"\f87a"} .bi-building-x::before{content:"\f87b"} .bi-buildings-fill::before{content:"\f87c"} .bi-buildings::before{content:"\f87d"} .bi-bus-front-fill::before{content:"\f87e"} .bi-bus-front::before{content:"\f87f"} .bi-ev-front-fill::before{content:"\f880"} .bi-ev-front::before{content:"\f881"} .bi-globe-americas::before{content:"\f882"} .bi-globe-asia-australia::before{content:"\f883"} .bi-globe-central-south-asia::before{content:"\f884"} .bi-globe-europe-africa::before{content:"\f885"} .bi-house-add-fill::before{content:"\f886"} .bi-house-add::before{content:"\f887"} .bi-house-check-fill::before{content:"\f888"} .bi-house-check::before{content:"\f889"} .bi-house-dash-fill::before{content:"\f88a"} .bi-house-dash::before{content:"\f88b"} .bi-house-down-fill::before{content:"\f88c"} .bi-house-down::before{content:"\f88d"} .bi-house-exclamation-fill::before{content:"\f88e"} .bi-house-exclamation::before{content:"\f88f"} .bi-house-gear-fill::before{content:"\f890"} .bi-house-gear::before{content:"\f891"} .bi-house-lock-fill::before{content:"\f892"} .bi-house-lock::before{content:"\f893"} .bi-house-slash-fill::before{content:"\f894"} .bi-house-slash::before{content:"\f895"} .bi-house-up-fill::before{content:"\f896"} .bi-house-up::before{content:"\f897"} .bi-house-x-fill::before{content:"\f898"} .bi-house-x::before{content:"\f899"} .bi-person-add::before{content:"\f89a"} .bi-person-down::before{content:"\f89b"} .bi-person-exclamation::before{content:"\f89c"} .bi-person-fill-add::before{content:"\f89d"} .bi-person-fill-check::before{content:"\f89e"} .bi-person-fill-dash::before{content:"\f89f"} .bi-person-fill-down::before{content:"\f8a0"} .bi-person-fill-exclamation::before{content:"\f8a1"} .bi-person-fill-gear::before{content:"\f8a2"} .bi-person-fill-lock::before{content:"\f8a3"} .bi-person-fill-slash::before{content:"\f8a4"} .bi-person-fill-up::before{content:"\f8a5"} .bi-person-fill-x::before{content:"\f8a6"} .bi-person-gear::before{content:"\f8a7"} .bi-person-lock::before{content:"\f8a8"} .bi-person-slash::before{content:"\f8a9"} .bi-person-up::before{content:"\f8aa"} .bi-scooter::before{content:"\f8ab"} .bi-taxi-front-fill::before{content:"\f8ac"} .bi-taxi-front::before{content:"\f8ad"} .bi-amd::before{content:"\f8ae"} .bi-database-add::before{content:"\f8af"} .bi-database-check::before{content:"\f8b0"} .bi-database-dash::before{content:"\f8b1"} .bi-database-down::before{content:"\f8b2"} .bi-database-exclamation::before{content:"\f8b3"} .bi-database-fill-add::before{content:"\f8b4"} .bi-database-fill-check::before{content:"\f8b5"} .bi-database-fill-dash::before{content:"\f8b6"} .bi-database-fill-down::before{content:"\f8b7"} .bi-database-fill-exclamation::before{content:"\f8b8"} .bi-database-fill-gear::before{content:"\f8b9"} .bi-database-fill-lock::before{content:"\f8ba"} .bi-database-fill-slash::before{content:"\f8bb"} .bi-database-fill-up::before{content:"\f8bc"} .bi-database-fill-x::before{content:"\f8bd"} .bi-database-fill::before{content:"\f8be"} .bi-database-gear::before{content:"\f8bf"} .bi-database-lock::before{content:"\f8c0"} .bi-database-slash::before{content:"\f8c1"} .bi-database-up::before{content:"\f8c2"} .bi-database-x::before{content:"\f8c3"} .bi-database::before{content:"\f8c4"} .bi-houses-fill::before{content:"\f8c5"} .bi-houses::before{content:"\f8c6"} .bi-nvidia::before{content:"\f8c7"} .bi-person-vcard-fill::before{content:"\f8c8"} .bi-person-vcard::before{content:"\f8c9"} .bi-sina-weibo::before{content:"\f8ca"} .bi-tencent-qq::before{content:"\f8cb"} .bi-wikipedia::before{content:"\f8cc"} .bi-alphabet-uppercase::before{content:"\f2a5"} .bi-alphabet::before{content:"\f68a"} .bi-amazon::before{content:"\f68d"} .bi-arrows-collapse-vertical::before{content:"\f690"} .bi-arrows-expand-vertical::before{content:"\f695"} .bi-arrows-vertical::before{content:"\f698"} .bi-arrows::before{content:"\f6a2"} .bi-ban-fill::before{content:"\f6a3"} .bi-ban::before{content:"\f6b6"} .bi-bing::before{content:"\f6c2"} .bi-cake::before{content:"\f6e0"} .bi-cake2::before{content:"\f6ed"} .bi-cookie::before{content:"\f6ee"} .bi-copy::before{content:"\f759"} .bi-crosshair::before{content:"\f769"} .bi-crosshair2::before{content:"\f794"} .bi-emoji-astonished-fill::before{content:"\f795"} .bi-emoji-astonished::before{content:"\f79a"} .bi-emoji-grimace-fill::before{content:"\f79b"} .bi-emoji-grimace::before{content:"\f7a0"} .bi-emoji-grin-fill::before{content:"\f7a1"} .bi-emoji-grin::before{content:"\f7a6"} .bi-emoji-surprise-fill::before{content:"\f7a7"} .bi-emoji-surprise::before{content:"\f7ac"} .bi-emoji-tear-fill::before{content:"\f7ad"} .bi-emoji-tear::before{content:"\f7b2"} .bi-envelope-arrow-down-fill::before{content:"\f7b3"} .bi-envelope-arrow-down::before{content:"\f7b8"} .bi-envelope-arrow-up-fill::before{content:"\f7b9"} .bi-envelope-arrow-up::before{content:"\f7be"} .bi-feather::before{content:"\f7bf"} .bi-feather2::before{content:"\f7c4"} .bi-floppy-fill::before{content:"\f7c5"} .bi-floppy::before{content:"\f7d8"} .bi-floppy2-fill::before{content:"\f7d9"} .bi-floppy2::before{content:"\f7e4"} .bi-gitlab::before{content:"\f7e5"} .bi-highlighter::before{content:"\f7f8"} .bi-marker-tip::before{content:"\f802"} .bi-nvme-fill::before{content:"\f803"} .bi-nvme::before{content:"\f80c"} .bi-opencollective::before{content:"\f80d"} .bi-pci-card-network::before{content:"\f8cd"} .bi-pci-card-sound::before{content:"\f8ce"} .bi-radar::before{content:"\f8cf"} .bi-send-arrow-down-fill::before{content:"\f8d0"} .bi-send-arrow-down::before{content:"\f8d1"} .bi-send-arrow-up-fill::before{content:"\f8d2"} .bi-send-arrow-up::before{content:"\f8d3"} .bi-sim-slash-fill::before{content:"\f8d4"} .bi-sim-slash::before{content:"\f8d5"} .bi-sourceforge::before{content:"\f8d6"} .bi-substack::before{content:"\f8d7"} .bi-threads-fill::before{content:"\f8d8"} .bi-threads::before{content:"\f8d9"} .bi-transparency::before{content:"\f8da"} .bi-twitter-x::before{content:"\f8db"} .bi-type-h4::before{content:"\f8dc"} .bi-type-h5::before{content:"\f8dd"} .bi-type-h6::before{content:"\f8de"} .bi-backpack-fill::before{content:"\f8df"} .bi-backpack::before{content:"\f8e0"} .bi-backpack2-fill::before{content:"\f8e1"} .bi-backpack2::before{content:"\f8e2"} .bi-backpack3-fill::before{content:"\f8e3"} .bi-backpack3::before{content:"\f8e4"} .bi-backpack4-fill::before{content:"\f8e5"} .bi-backpack4::before{content:"\f8e6"} .bi-brilliance::before{content:"\f8e7"} .bi-cake-fill::before{content:"\f8e8"} .bi-cake2-fill::before{content:"\f8e9"} .bi-duffle-fill::before{content:"\f8ea"} .bi-duffle::before{content:"\f8eb"} .bi-exposure::before{content:"\f8ec"} .bi-gender-neuter::before{content:"\f8ed"} .bi-highlights::before{content:"\f8ee"} .bi-luggage-fill::before{content:"\f8ef"} .bi-luggage::before{content:"\f8f0"} .bi-mailbox-flag::before{content:"\f8f1"} .bi-mailbox2-flag::before{content:"\f8f2"} .bi-noise-reduction::before{content:"\f8f3"} .bi-passport-fill::before{content:"\f8f4"} .bi-passport::before{content:"\f8f5"} .bi-person-arms-up::before{content:"\f8f6"} .bi-person-raised-hand::before{content:"\f8f7"} .bi-person-standing-dress::before{content:"\f8f8"} .bi-person-standing::before{content:"\f8f9"} .bi-person-walking::before{content:"\f8fa"} .bi-person-wheelchair::before{content:"\f8fb"} .bi-shadows::before{content:"\f8fc"} .bi-suitcase-fill::before{content:"\f8fd"} .bi-suitcase-lg-fill::before{content:"\f8fe"} .bi-suitcase-lg::before{content:"\f8ff"} .bi-suitcase::before{content:"\f900"} .bi-suitcase2-fill::before{content:"\f901"} .bi-suitcase2::before{content:"\f902"} .bi-vignette::before{content:"\f903"} \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/src/lib/css/bootstrap/bootstrap.min.css b/auth-module/module-generator-code/src/main/resources/static/src/lib/css/bootstrap/bootstrap.min.css new file mode 100644 index 0000000..e618cd8 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/src/lib/css/bootstrap/bootstrap.min.css @@ -0,0 +1,6 @@ +@charset "UTF-8";/*! + * Bootstrap v5.3.7 (https://getbootstrap.com/) + * Copyright 2011-2025 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,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:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{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:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);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:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);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:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,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}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button: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;line-height:inherit;font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-weight:300;line-height:1.2;font-size:calc(1.625rem + 4.5vw)}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-weight:300;line-height:1.2;font-size:calc(1.575rem + 3.9vw)}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-weight:300;line-height:1.2;font-size:calc(1.525rem + 3.3vw)}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-weight:300;line-height:1.2;font-size:calc(1.475rem + 2.7vw)}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-weight:300;line-height:1.2;font-size:calc(1.425rem + 2.1vw)}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-weight:300;line-height:1.2;font-size:calc(1.375rem + 1.5vw)}@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:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--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,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--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:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--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{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.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}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;max-width:100%;height:100%;padding:1rem .75rem;overflow:hidden;color:rgba(var(--bs-body-color-rgb),.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .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 .75rem}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:.75rem}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>textarea:focus~label::after,.form-floating>textarea:not(:placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>textarea:disabled~label::after{background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.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,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.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,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(-1 * var(--bs-border-width));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:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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.1'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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.1'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;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 .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .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,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{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,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{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-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.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:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--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-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .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 .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-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:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.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;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{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:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--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-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(-1 * var(--bs-border-width))}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(-1 * var(--bs-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-grow:1;flex-basis:0;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:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{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;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child)>.card-header,.card-group>.card:not(:last-child)>.card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child)>.card-footer,.card-group>.card:not(:last-child)>.card-img-bottom{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-header,.card-group>.card:not(:first-child)>.card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child)>.card-footer,.card-group>.card:not(:first-child)>.card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%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-.708'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%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-.708'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .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)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1 * var(--bs-border-width))}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.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:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):focus,.list-group-item-action:not(.active):hover{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:not(.active):active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;filter:var(--bs-btn-close-filter);border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}:root,[data-bs-theme=light]{--bs-btn-close-filter: }[data-bs-theme=dark]{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color:var(--bs-body-color);--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translate(0,-50px);transition:transform .3s ease-out}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left:auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{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-footer,.modal-fullscreen-sm-down .modal-header{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-footer,.modal-fullscreen-md-down .modal-header{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-footer,.modal-fullscreen-lg-down .modal-header{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-footer,.modal-fullscreen-xl-down .modal-header{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-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family: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-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-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-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .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-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-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-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .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:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family: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::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.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-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-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-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.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-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.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}.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%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;filter:var(--bs-carousel-control-icon-filter);border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-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 0'/%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-.708'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .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:var(--bs-carousel-caption-color);text-align:center}.carousel-dark{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}.spinner-border,.spinner-grow{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)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{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;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-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));margin-left:auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.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{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.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:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit: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}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;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-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.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}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!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:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.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}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.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}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit: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-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.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}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.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}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.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}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/src/lib/css/fonts/bootstrap-icons.woff b/auth-module/module-generator-code/src/main/resources/static/src/lib/css/fonts/bootstrap-icons.woff new file mode 100644 index 0000000000000000000000000000000000000000..dbeeb055674125ad78fda0f3d166b36e5cc92336 GIT binary patch literal 176200 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
服务器开小差啦!管理员正在修理中...
还请阁下静候站点恢复~
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 qfFZyTUd_qf*=C` literal 0 HcmV?d00001 diff --git a/auth-module/module-generator-code/src/main/resources/static/src/components/AppGeneratorPage.js b/auth-module/module-generator-code/src/main/resources/static/src/components/AppGeneratorPage.js new file mode 100644 index 0000000..b5a79b5 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/src/components/AppGeneratorPage.js @@ -0,0 +1,179 @@ +const AppGeneratorPage = defineComponent({ + name: "MainGeneratorPage", + template: ` + + + + + + 模板生成页面 + + 已生成的文件列表 + + + + + + + + + {{table}} + {{value.length}} 模板 + + + + + + + + + + + + 【{{item.comment}}】{{item.path}} + + + + + + + + + + + + + + + + +{{item.code}} + + + + + + + + + + + + + + + + `, + props: { + // 是否显示生成页面 + generatorPageFlag: {type: Boolean, default: true}, + // 生成模板数据 + generatorData: {type: Object}, + }, + data() { + return { + // 控制图标状态的响应式变量 + copied: ref(false), + // 存储 offcanvas 实例 + offcanvas: ref(null) + } + }, + methods: { + /** + * 点击复制图表 + * 几秒后恢复原状 + */ + async onCopyToClipboard(code) { + this.copied = true; + + try { + await navigator.clipboard.writeText(code); + antd.notification.open({ + type: 'success', + message: '复制成功', + description: '已将内容复制至剪切板', + duration: 3, + }); + } catch (err) { + antd.notification.open({ + type: 'error', + message: '复制失败', + description: err.message``, + duration: 3, + }); + console.error('复制失败:', err); + // 回退到传统方法 + const textarea = document.createElement('textarea'); + textarea.value = code; + document.body.appendChild(textarea); + textarea.select(); + document.execCommand('copy'); + document.body.removeChild(textarea); + } + + // 显示已复制图标时长 + if (this.copied) { + setTimeout(() => { + this.copied = false; + }, 2000) + } + }, + + /* 下载全部文件 */ + onDownloadAllFile() { + // 遍历所有文件并下载 + Object.values(this.generatorData).flat().forEach(item => { + const blob = new Blob([item.code], {type: 'text/plain'}); + const url = URL.createObjectURL(blob); + const link = document.createElement('a'); + + // 从路径中提取文件名 + const fileName = item.path.split('/').pop(); + + link.href = url; + link.download = fileName; + document.body.appendChild(link); + link.click(); + + // 清理 + setTimeout(() => { + document.body.removeChild(link); + URL.revokeObjectURL(url); + }, 100); + }); + }, + + /* 关闭窗口 */ + onGeneratorPageFlagClick() { + this.$emit("update:generatorPageFlag", !this.generatorPageFlag); + }, + }, + mounted() { + // 初始化 OffCanvas + this.offcanvas = new bootstrap.Offcanvas(this.$refs.offcanvasElementRef); + // 监听隐藏事件 + this.$refs.offcanvasElementRef.addEventListener('hidden.bs.offcanvas', () => { + this.$emit("update:generatorPageFlag", false); + }); + }, + watch: { + generatorPageFlag(newVal) { + if (newVal) { + this.offcanvas.show(); + } else { + this.offcanvas.hide(); + } + }, + } +}); \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/src/components/AppHeader.js b/auth-module/module-generator-code/src/main/resources/static/src/components/AppHeader.js new file mode 100644 index 0000000..4b658bd --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/src/components/AppHeader.js @@ -0,0 +1,54 @@ +// 如果一开始定义过了 defineComponent 就不要在下 script 标签中再写了 +const {defineComponent} = Vue; + +// 定义 Header 组件 +const AppHeader = defineComponent({ + name: "AppHeader", + template: ` + + + + + + Bunny{{ title || '代码生成器' }} + + + 快速生成数据库表对应的代码,这里可以跳转到 + 数据库生成 + 或 + SQL语句生成 + + + + + + + + + + GitHub 仓库 + + + + + + + + Gitee 仓库 + + + + + `, + data() { + return { + title: document.title, + } + } +}); diff --git a/auth-module/module-generator-code/src/main/resources/static/src/config/axios-config.js b/auth-module/module-generator-code/src/main/resources/static/src/config/axios-config.js new file mode 100644 index 0000000..6234e1a --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/src/config/axios-config.js @@ -0,0 +1,42 @@ +// axios 配置 +const axiosInstance = axios.create({ + baseURL: 'http://localhost:8800/api', + timeout: 16000, + headers: {'Content-Type': 'application/json;charset=utf-8'}, +}); + + +// 响应拦截器 +axiosInstance.interceptors.response.use( + (response) => { + // 检查配置的响应类型是否为二进制类型('blob' 或 'arraybuffer'), 如果是,直接返回响应对象 + if (response.config.responseType === 'blob' || response.config.responseType === 'arraybuffer') { + return response; + } + + if (response.status === 200) { + const {code, message} = response.data; + if (code !== 200) { + antd.message.error(message); + } + return response.data; + } + + // 系统出错 + return Promise.reject(response.data.message || 'Error'); + }, + (error) => { + // 异常处理 + if (error.response.data) { + const {code, message} = error.response.data; + if (code === 500) { + antd.message.error(message); + } else { + antd.message.error(message || '系统出错'); + } + + return error.response.data; + } + return Promise.reject(error.message); + } +); \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/src/config/highlight-config.js b/auth-module/module-generator-code/src/main/resources/static/src/config/highlight-config.js new file mode 100644 index 0000000..5944267 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/src/config/highlight-config.js @@ -0,0 +1,5 @@ +document.addEventListener('DOMContentLoaded', (event) => { + document.querySelectorAll('pre code').forEach((block) => { + hljs.highlightElement(block); + }); +}); \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/src/config/popper-config.js b/auth-module/module-generator-code/src/main/resources/static/src/config/popper-config.js new file mode 100644 index 0000000..e5516aa --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/src/config/popper-config.js @@ -0,0 +1,5 @@ +document.addEventListener('DOMContentLoaded', function () { + // 初始化所有tooltip + const tooltips = document.querySelectorAll('[data-bs-toggle="tooltip"]'); + [...tooltips].forEach(t => new bootstrap.Tooltip(t)); +}); \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/src/lib/css/bootstrap/bootstrap-icons.min.css b/auth-module/module-generator-code/src/main/resources/static/src/lib/css/bootstrap/bootstrap-icons.min.css new file mode 100644 index 0000000..487ada0 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/src/lib/css/bootstrap/bootstrap-icons.min.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap Icons v1.11.1 (https://icons.getbootstrap.com/) + * Copyright 2019-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE) + */@font-face{font-display:block;font-family:bootstrap-icons;src:url("../fonts/bootstrap-icons.woff2?2820a3852bdb9a5832199cc61cec4e65") format("woff2"),url("../fonts/bootstrap-icons.woff?2820a3852bdb9a5832199cc61cec4e65") format("woff")}.bi::before,[class*=" bi-"]::before,[class^=bi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale} .bi-123::before{content:"\f67f"} .bi-alarm-fill::before{content:"\f101"} .bi-alarm::before{content:"\f102"} .bi-align-bottom::before{content:"\f103"} .bi-align-center::before{content:"\f104"} .bi-align-end::before{content:"\f105"} .bi-align-middle::before{content:"\f106"} .bi-align-start::before{content:"\f107"} .bi-align-top::before{content:"\f108"} .bi-alt::before{content:"\f109"} .bi-app-indicator::before{content:"\f10a"} .bi-app::before{content:"\f10b"} .bi-archive-fill::before{content:"\f10c"} .bi-archive::before{content:"\f10d"} .bi-arrow-90deg-down::before{content:"\f10e"} .bi-arrow-90deg-left::before{content:"\f10f"} .bi-arrow-90deg-right::before{content:"\f110"} .bi-arrow-90deg-up::before{content:"\f111"} .bi-arrow-bar-down::before{content:"\f112"} .bi-arrow-bar-left::before{content:"\f113"} .bi-arrow-bar-right::before{content:"\f114"} .bi-arrow-bar-up::before{content:"\f115"} .bi-arrow-clockwise::before{content:"\f116"} .bi-arrow-counterclockwise::before{content:"\f117"} .bi-arrow-down-circle-fill::before{content:"\f118"} .bi-arrow-down-circle::before{content:"\f119"} .bi-arrow-down-left-circle-fill::before{content:"\f11a"} .bi-arrow-down-left-circle::before{content:"\f11b"} .bi-arrow-down-left-square-fill::before{content:"\f11c"} .bi-arrow-down-left-square::before{content:"\f11d"} .bi-arrow-down-left::before{content:"\f11e"} .bi-arrow-down-right-circle-fill::before{content:"\f11f"} .bi-arrow-down-right-circle::before{content:"\f120"} .bi-arrow-down-right-square-fill::before{content:"\f121"} .bi-arrow-down-right-square::before{content:"\f122"} .bi-arrow-down-right::before{content:"\f123"} .bi-arrow-down-short::before{content:"\f124"} .bi-arrow-down-square-fill::before{content:"\f125"} .bi-arrow-down-square::before{content:"\f126"} .bi-arrow-down-up::before{content:"\f127"} .bi-arrow-down::before{content:"\f128"} .bi-arrow-left-circle-fill::before{content:"\f129"} .bi-arrow-left-circle::before{content:"\f12a"} .bi-arrow-left-right::before{content:"\f12b"} .bi-arrow-left-short::before{content:"\f12c"} .bi-arrow-left-square-fill::before{content:"\f12d"} .bi-arrow-left-square::before{content:"\f12e"} .bi-arrow-left::before{content:"\f12f"} .bi-arrow-repeat::before{content:"\f130"} .bi-arrow-return-left::before{content:"\f131"} .bi-arrow-return-right::before{content:"\f132"} .bi-arrow-right-circle-fill::before{content:"\f133"} .bi-arrow-right-circle::before{content:"\f134"} .bi-arrow-right-short::before{content:"\f135"} .bi-arrow-right-square-fill::before{content:"\f136"} .bi-arrow-right-square::before{content:"\f137"} .bi-arrow-right::before{content:"\f138"} .bi-arrow-up-circle-fill::before{content:"\f139"} .bi-arrow-up-circle::before{content:"\f13a"} .bi-arrow-up-left-circle-fill::before{content:"\f13b"} .bi-arrow-up-left-circle::before{content:"\f13c"} .bi-arrow-up-left-square-fill::before{content:"\f13d"} .bi-arrow-up-left-square::before{content:"\f13e"} .bi-arrow-up-left::before{content:"\f13f"} .bi-arrow-up-right-circle-fill::before{content:"\f140"} .bi-arrow-up-right-circle::before{content:"\f141"} .bi-arrow-up-right-square-fill::before{content:"\f142"} .bi-arrow-up-right-square::before{content:"\f143"} .bi-arrow-up-right::before{content:"\f144"} .bi-arrow-up-short::before{content:"\f145"} .bi-arrow-up-square-fill::before{content:"\f146"} .bi-arrow-up-square::before{content:"\f147"} .bi-arrow-up::before{content:"\f148"} .bi-arrows-angle-contract::before{content:"\f149"} .bi-arrows-angle-expand::before{content:"\f14a"} .bi-arrows-collapse::before{content:"\f14b"} .bi-arrows-expand::before{content:"\f14c"} .bi-arrows-fullscreen::before{content:"\f14d"} .bi-arrows-move::before{content:"\f14e"} .bi-aspect-ratio-fill::before{content:"\f14f"} .bi-aspect-ratio::before{content:"\f150"} .bi-asterisk::before{content:"\f151"} .bi-at::before{content:"\f152"} .bi-award-fill::before{content:"\f153"} .bi-award::before{content:"\f154"} .bi-back::before{content:"\f155"} .bi-backspace-fill::before{content:"\f156"} .bi-backspace-reverse-fill::before{content:"\f157"} .bi-backspace-reverse::before{content:"\f158"} .bi-backspace::before{content:"\f159"} .bi-badge-3d-fill::before{content:"\f15a"} .bi-badge-3d::before{content:"\f15b"} .bi-badge-4k-fill::before{content:"\f15c"} .bi-badge-4k::before{content:"\f15d"} .bi-badge-8k-fill::before{content:"\f15e"} .bi-badge-8k::before{content:"\f15f"} .bi-badge-ad-fill::before{content:"\f160"} .bi-badge-ad::before{content:"\f161"} .bi-badge-ar-fill::before{content:"\f162"} .bi-badge-ar::before{content:"\f163"} .bi-badge-cc-fill::before{content:"\f164"} .bi-badge-cc::before{content:"\f165"} .bi-badge-hd-fill::before{content:"\f166"} .bi-badge-hd::before{content:"\f167"} .bi-badge-tm-fill::before{content:"\f168"} .bi-badge-tm::before{content:"\f169"} .bi-badge-vo-fill::before{content:"\f16a"} .bi-badge-vo::before{content:"\f16b"} .bi-badge-vr-fill::before{content:"\f16c"} .bi-badge-vr::before{content:"\f16d"} .bi-badge-wc-fill::before{content:"\f16e"} .bi-badge-wc::before{content:"\f16f"} .bi-bag-check-fill::before{content:"\f170"} .bi-bag-check::before{content:"\f171"} .bi-bag-dash-fill::before{content:"\f172"} .bi-bag-dash::before{content:"\f173"} .bi-bag-fill::before{content:"\f174"} .bi-bag-plus-fill::before{content:"\f175"} .bi-bag-plus::before{content:"\f176"} .bi-bag-x-fill::before{content:"\f177"} .bi-bag-x::before{content:"\f178"} .bi-bag::before{content:"\f179"} .bi-bar-chart-fill::before{content:"\f17a"} .bi-bar-chart-line-fill::before{content:"\f17b"} .bi-bar-chart-line::before{content:"\f17c"} .bi-bar-chart-steps::before{content:"\f17d"} .bi-bar-chart::before{content:"\f17e"} .bi-basket-fill::before{content:"\f17f"} .bi-basket::before{content:"\f180"} .bi-basket2-fill::before{content:"\f181"} .bi-basket2::before{content:"\f182"} .bi-basket3-fill::before{content:"\f183"} .bi-basket3::before{content:"\f184"} .bi-battery-charging::before{content:"\f185"} .bi-battery-full::before{content:"\f186"} .bi-battery-half::before{content:"\f187"} .bi-battery::before{content:"\f188"} .bi-bell-fill::before{content:"\f189"} .bi-bell::before{content:"\f18a"} .bi-bezier::before{content:"\f18b"} .bi-bezier2::before{content:"\f18c"} .bi-bicycle::before{content:"\f18d"} .bi-binoculars-fill::before{content:"\f18e"} .bi-binoculars::before{content:"\f18f"} .bi-blockquote-left::before{content:"\f190"} .bi-blockquote-right::before{content:"\f191"} .bi-book-fill::before{content:"\f192"} .bi-book-half::before{content:"\f193"} .bi-book::before{content:"\f194"} .bi-bookmark-check-fill::before{content:"\f195"} .bi-bookmark-check::before{content:"\f196"} .bi-bookmark-dash-fill::before{content:"\f197"} .bi-bookmark-dash::before{content:"\f198"} .bi-bookmark-fill::before{content:"\f199"} .bi-bookmark-heart-fill::before{content:"\f19a"} .bi-bookmark-heart::before{content:"\f19b"} .bi-bookmark-plus-fill::before{content:"\f19c"} .bi-bookmark-plus::before{content:"\f19d"} .bi-bookmark-star-fill::before{content:"\f19e"} .bi-bookmark-star::before{content:"\f19f"} .bi-bookmark-x-fill::before{content:"\f1a0"} .bi-bookmark-x::before{content:"\f1a1"} .bi-bookmark::before{content:"\f1a2"} .bi-bookmarks-fill::before{content:"\f1a3"} .bi-bookmarks::before{content:"\f1a4"} .bi-bookshelf::before{content:"\f1a5"} .bi-bootstrap-fill::before{content:"\f1a6"} .bi-bootstrap-reboot::before{content:"\f1a7"} .bi-bootstrap::before{content:"\f1a8"} .bi-border-all::before{content:"\f1a9"} .bi-border-bottom::before{content:"\f1aa"} .bi-border-center::before{content:"\f1ab"} .bi-border-inner::before{content:"\f1ac"} .bi-border-left::before{content:"\f1ad"} .bi-border-middle::before{content:"\f1ae"} .bi-border-outer::before{content:"\f1af"} .bi-border-right::before{content:"\f1b0"} .bi-border-style::before{content:"\f1b1"} .bi-border-top::before{content:"\f1b2"} .bi-border-width::before{content:"\f1b3"} .bi-border::before{content:"\f1b4"} .bi-bounding-box-circles::before{content:"\f1b5"} .bi-bounding-box::before{content:"\f1b6"} .bi-box-arrow-down-left::before{content:"\f1b7"} .bi-box-arrow-down-right::before{content:"\f1b8"} .bi-box-arrow-down::before{content:"\f1b9"} .bi-box-arrow-in-down-left::before{content:"\f1ba"} .bi-box-arrow-in-down-right::before{content:"\f1bb"} .bi-box-arrow-in-down::before{content:"\f1bc"} .bi-box-arrow-in-left::before{content:"\f1bd"} .bi-box-arrow-in-right::before{content:"\f1be"} .bi-box-arrow-in-up-left::before{content:"\f1bf"} .bi-box-arrow-in-up-right::before{content:"\f1c0"} .bi-box-arrow-in-up::before{content:"\f1c1"} .bi-box-arrow-left::before{content:"\f1c2"} .bi-box-arrow-right::before{content:"\f1c3"} .bi-box-arrow-up-left::before{content:"\f1c4"} .bi-box-arrow-up-right::before{content:"\f1c5"} .bi-box-arrow-up::before{content:"\f1c6"} .bi-box-seam::before{content:"\f1c7"} .bi-box::before{content:"\f1c8"} .bi-braces::before{content:"\f1c9"} .bi-bricks::before{content:"\f1ca"} .bi-briefcase-fill::before{content:"\f1cb"} .bi-briefcase::before{content:"\f1cc"} .bi-brightness-alt-high-fill::before{content:"\f1cd"} .bi-brightness-alt-high::before{content:"\f1ce"} .bi-brightness-alt-low-fill::before{content:"\f1cf"} .bi-brightness-alt-low::before{content:"\f1d0"} .bi-brightness-high-fill::before{content:"\f1d1"} .bi-brightness-high::before{content:"\f1d2"} .bi-brightness-low-fill::before{content:"\f1d3"} .bi-brightness-low::before{content:"\f1d4"} .bi-broadcast-pin::before{content:"\f1d5"} .bi-broadcast::before{content:"\f1d6"} .bi-brush-fill::before{content:"\f1d7"} .bi-brush::before{content:"\f1d8"} .bi-bucket-fill::before{content:"\f1d9"} .bi-bucket::before{content:"\f1da"} .bi-bug-fill::before{content:"\f1db"} .bi-bug::before{content:"\f1dc"} .bi-building::before{content:"\f1dd"} .bi-bullseye::before{content:"\f1de"} .bi-calculator-fill::before{content:"\f1df"} .bi-calculator::before{content:"\f1e0"} .bi-calendar-check-fill::before{content:"\f1e1"} .bi-calendar-check::before{content:"\f1e2"} .bi-calendar-date-fill::before{content:"\f1e3"} .bi-calendar-date::before{content:"\f1e4"} .bi-calendar-day-fill::before{content:"\f1e5"} .bi-calendar-day::before{content:"\f1e6"} .bi-calendar-event-fill::before{content:"\f1e7"} .bi-calendar-event::before{content:"\f1e8"} .bi-calendar-fill::before{content:"\f1e9"} .bi-calendar-minus-fill::before{content:"\f1ea"} .bi-calendar-minus::before{content:"\f1eb"} .bi-calendar-month-fill::before{content:"\f1ec"} .bi-calendar-month::before{content:"\f1ed"} .bi-calendar-plus-fill::before{content:"\f1ee"} .bi-calendar-plus::before{content:"\f1ef"} .bi-calendar-range-fill::before{content:"\f1f0"} .bi-calendar-range::before{content:"\f1f1"} .bi-calendar-week-fill::before{content:"\f1f2"} .bi-calendar-week::before{content:"\f1f3"} .bi-calendar-x-fill::before{content:"\f1f4"} .bi-calendar-x::before{content:"\f1f5"} .bi-calendar::before{content:"\f1f6"} .bi-calendar2-check-fill::before{content:"\f1f7"} .bi-calendar2-check::before{content:"\f1f8"} .bi-calendar2-date-fill::before{content:"\f1f9"} .bi-calendar2-date::before{content:"\f1fa"} .bi-calendar2-day-fill::before{content:"\f1fb"} .bi-calendar2-day::before{content:"\f1fc"} .bi-calendar2-event-fill::before{content:"\f1fd"} .bi-calendar2-event::before{content:"\f1fe"} .bi-calendar2-fill::before{content:"\f1ff"} .bi-calendar2-minus-fill::before{content:"\f200"} .bi-calendar2-minus::before{content:"\f201"} .bi-calendar2-month-fill::before{content:"\f202"} .bi-calendar2-month::before{content:"\f203"} .bi-calendar2-plus-fill::before{content:"\f204"} .bi-calendar2-plus::before{content:"\f205"} .bi-calendar2-range-fill::before{content:"\f206"} .bi-calendar2-range::before{content:"\f207"} .bi-calendar2-week-fill::before{content:"\f208"} .bi-calendar2-week::before{content:"\f209"} .bi-calendar2-x-fill::before{content:"\f20a"} .bi-calendar2-x::before{content:"\f20b"} .bi-calendar2::before{content:"\f20c"} .bi-calendar3-event-fill::before{content:"\f20d"} .bi-calendar3-event::before{content:"\f20e"} .bi-calendar3-fill::before{content:"\f20f"} .bi-calendar3-range-fill::before{content:"\f210"} .bi-calendar3-range::before{content:"\f211"} .bi-calendar3-week-fill::before{content:"\f212"} .bi-calendar3-week::before{content:"\f213"} .bi-calendar3::before{content:"\f214"} .bi-calendar4-event::before{content:"\f215"} .bi-calendar4-range::before{content:"\f216"} .bi-calendar4-week::before{content:"\f217"} .bi-calendar4::before{content:"\f218"} .bi-camera-fill::before{content:"\f219"} .bi-camera-reels-fill::before{content:"\f21a"} .bi-camera-reels::before{content:"\f21b"} .bi-camera-video-fill::before{content:"\f21c"} .bi-camera-video-off-fill::before{content:"\f21d"} .bi-camera-video-off::before{content:"\f21e"} .bi-camera-video::before{content:"\f21f"} .bi-camera::before{content:"\f220"} .bi-camera2::before{content:"\f221"} .bi-capslock-fill::before{content:"\f222"} .bi-capslock::before{content:"\f223"} .bi-card-checklist::before{content:"\f224"} .bi-card-heading::before{content:"\f225"} .bi-card-image::before{content:"\f226"} .bi-card-list::before{content:"\f227"} .bi-card-text::before{content:"\f228"} .bi-caret-down-fill::before{content:"\f229"} .bi-caret-down-square-fill::before{content:"\f22a"} .bi-caret-down-square::before{content:"\f22b"} .bi-caret-down::before{content:"\f22c"} .bi-caret-left-fill::before{content:"\f22d"} .bi-caret-left-square-fill::before{content:"\f22e"} .bi-caret-left-square::before{content:"\f22f"} .bi-caret-left::before{content:"\f230"} .bi-caret-right-fill::before{content:"\f231"} .bi-caret-right-square-fill::before{content:"\f232"} .bi-caret-right-square::before{content:"\f233"} .bi-caret-right::before{content:"\f234"} .bi-caret-up-fill::before{content:"\f235"} .bi-caret-up-square-fill::before{content:"\f236"} .bi-caret-up-square::before{content:"\f237"} .bi-caret-up::before{content:"\f238"} .bi-cart-check-fill::before{content:"\f239"} .bi-cart-check::before{content:"\f23a"} .bi-cart-dash-fill::before{content:"\f23b"} .bi-cart-dash::before{content:"\f23c"} .bi-cart-fill::before{content:"\f23d"} .bi-cart-plus-fill::before{content:"\f23e"} .bi-cart-plus::before{content:"\f23f"} .bi-cart-x-fill::before{content:"\f240"} .bi-cart-x::before{content:"\f241"} .bi-cart::before{content:"\f242"} .bi-cart2::before{content:"\f243"} .bi-cart3::before{content:"\f244"} .bi-cart4::before{content:"\f245"} .bi-cash-stack::before{content:"\f246"} .bi-cash::before{content:"\f247"} .bi-cast::before{content:"\f248"} .bi-chat-dots-fill::before{content:"\f249"} .bi-chat-dots::before{content:"\f24a"} .bi-chat-fill::before{content:"\f24b"} .bi-chat-left-dots-fill::before{content:"\f24c"} .bi-chat-left-dots::before{content:"\f24d"} .bi-chat-left-fill::before{content:"\f24e"} .bi-chat-left-quote-fill::before{content:"\f24f"} .bi-chat-left-quote::before{content:"\f250"} .bi-chat-left-text-fill::before{content:"\f251"} .bi-chat-left-text::before{content:"\f252"} .bi-chat-left::before{content:"\f253"} .bi-chat-quote-fill::before{content:"\f254"} .bi-chat-quote::before{content:"\f255"} .bi-chat-right-dots-fill::before{content:"\f256"} .bi-chat-right-dots::before{content:"\f257"} .bi-chat-right-fill::before{content:"\f258"} .bi-chat-right-quote-fill::before{content:"\f259"} .bi-chat-right-quote::before{content:"\f25a"} .bi-chat-right-text-fill::before{content:"\f25b"} .bi-chat-right-text::before{content:"\f25c"} .bi-chat-right::before{content:"\f25d"} .bi-chat-square-dots-fill::before{content:"\f25e"} .bi-chat-square-dots::before{content:"\f25f"} .bi-chat-square-fill::before{content:"\f260"} .bi-chat-square-quote-fill::before{content:"\f261"} .bi-chat-square-quote::before{content:"\f262"} .bi-chat-square-text-fill::before{content:"\f263"} .bi-chat-square-text::before{content:"\f264"} .bi-chat-square::before{content:"\f265"} .bi-chat-text-fill::before{content:"\f266"} .bi-chat-text::before{content:"\f267"} .bi-chat::before{content:"\f268"} .bi-check-all::before{content:"\f269"} .bi-check-circle-fill::before{content:"\f26a"} .bi-check-circle::before{content:"\f26b"} .bi-check-square-fill::before{content:"\f26c"} .bi-check-square::before{content:"\f26d"} .bi-check::before{content:"\f26e"} .bi-check2-all::before{content:"\f26f"} .bi-check2-circle::before{content:"\f270"} .bi-check2-square::before{content:"\f271"} .bi-check2::before{content:"\f272"} .bi-chevron-bar-contract::before{content:"\f273"} .bi-chevron-bar-down::before{content:"\f274"} .bi-chevron-bar-expand::before{content:"\f275"} .bi-chevron-bar-left::before{content:"\f276"} .bi-chevron-bar-right::before{content:"\f277"} .bi-chevron-bar-up::before{content:"\f278"} .bi-chevron-compact-down::before{content:"\f279"} .bi-chevron-compact-left::before{content:"\f27a"} .bi-chevron-compact-right::before{content:"\f27b"} .bi-chevron-compact-up::before{content:"\f27c"} .bi-chevron-contract::before{content:"\f27d"} .bi-chevron-double-down::before{content:"\f27e"} .bi-chevron-double-left::before{content:"\f27f"} .bi-chevron-double-right::before{content:"\f280"} .bi-chevron-double-up::before{content:"\f281"} .bi-chevron-down::before{content:"\f282"} .bi-chevron-expand::before{content:"\f283"} .bi-chevron-left::before{content:"\f284"} .bi-chevron-right::before{content:"\f285"} .bi-chevron-up::before{content:"\f286"} .bi-circle-fill::before{content:"\f287"} .bi-circle-half::before{content:"\f288"} .bi-circle-square::before{content:"\f289"} .bi-circle::before{content:"\f28a"} .bi-clipboard-check::before{content:"\f28b"} .bi-clipboard-data::before{content:"\f28c"} .bi-clipboard-minus::before{content:"\f28d"} .bi-clipboard-plus::before{content:"\f28e"} .bi-clipboard-x::before{content:"\f28f"} .bi-clipboard::before{content:"\f290"} .bi-clock-fill::before{content:"\f291"} .bi-clock-history::before{content:"\f292"} .bi-clock::before{content:"\f293"} .bi-cloud-arrow-down-fill::before{content:"\f294"} .bi-cloud-arrow-down::before{content:"\f295"} .bi-cloud-arrow-up-fill::before{content:"\f296"} .bi-cloud-arrow-up::before{content:"\f297"} .bi-cloud-check-fill::before{content:"\f298"} .bi-cloud-check::before{content:"\f299"} .bi-cloud-download-fill::before{content:"\f29a"} .bi-cloud-download::before{content:"\f29b"} .bi-cloud-drizzle-fill::before{content:"\f29c"} .bi-cloud-drizzle::before{content:"\f29d"} .bi-cloud-fill::before{content:"\f29e"} .bi-cloud-fog-fill::before{content:"\f29f"} .bi-cloud-fog::before{content:"\f2a0"} .bi-cloud-fog2-fill::before{content:"\f2a1"} .bi-cloud-fog2::before{content:"\f2a2"} .bi-cloud-hail-fill::before{content:"\f2a3"} .bi-cloud-hail::before{content:"\f2a4"} .bi-cloud-haze-fill::before{content:"\f2a6"} .bi-cloud-haze::before{content:"\f2a7"} .bi-cloud-haze2-fill::before{content:"\f2a8"} .bi-cloud-lightning-fill::before{content:"\f2a9"} .bi-cloud-lightning-rain-fill::before{content:"\f2aa"} .bi-cloud-lightning-rain::before{content:"\f2ab"} .bi-cloud-lightning::before{content:"\f2ac"} .bi-cloud-minus-fill::before{content:"\f2ad"} .bi-cloud-minus::before{content:"\f2ae"} .bi-cloud-moon-fill::before{content:"\f2af"} .bi-cloud-moon::before{content:"\f2b0"} .bi-cloud-plus-fill::before{content:"\f2b1"} .bi-cloud-plus::before{content:"\f2b2"} .bi-cloud-rain-fill::before{content:"\f2b3"} .bi-cloud-rain-heavy-fill::before{content:"\f2b4"} .bi-cloud-rain-heavy::before{content:"\f2b5"} .bi-cloud-rain::before{content:"\f2b6"} .bi-cloud-slash-fill::before{content:"\f2b7"} .bi-cloud-slash::before{content:"\f2b8"} .bi-cloud-sleet-fill::before{content:"\f2b9"} .bi-cloud-sleet::before{content:"\f2ba"} .bi-cloud-snow-fill::before{content:"\f2bb"} .bi-cloud-snow::before{content:"\f2bc"} .bi-cloud-sun-fill::before{content:"\f2bd"} .bi-cloud-sun::before{content:"\f2be"} .bi-cloud-upload-fill::before{content:"\f2bf"} .bi-cloud-upload::before{content:"\f2c0"} .bi-cloud::before{content:"\f2c1"} .bi-clouds-fill::before{content:"\f2c2"} .bi-clouds::before{content:"\f2c3"} .bi-cloudy-fill::before{content:"\f2c4"} .bi-cloudy::before{content:"\f2c5"} .bi-code-slash::before{content:"\f2c6"} .bi-code-square::before{content:"\f2c7"} .bi-code::before{content:"\f2c8"} .bi-collection-fill::before{content:"\f2c9"} .bi-collection-play-fill::before{content:"\f2ca"} .bi-collection-play::before{content:"\f2cb"} .bi-collection::before{content:"\f2cc"} .bi-columns-gap::before{content:"\f2cd"} .bi-columns::before{content:"\f2ce"} .bi-command::before{content:"\f2cf"} .bi-compass-fill::before{content:"\f2d0"} .bi-compass::before{content:"\f2d1"} .bi-cone-striped::before{content:"\f2d2"} .bi-cone::before{content:"\f2d3"} .bi-controller::before{content:"\f2d4"} .bi-cpu-fill::before{content:"\f2d5"} .bi-cpu::before{content:"\f2d6"} .bi-credit-card-2-back-fill::before{content:"\f2d7"} .bi-credit-card-2-back::before{content:"\f2d8"} .bi-credit-card-2-front-fill::before{content:"\f2d9"} .bi-credit-card-2-front::before{content:"\f2da"} .bi-credit-card-fill::before{content:"\f2db"} .bi-credit-card::before{content:"\f2dc"} .bi-crop::before{content:"\f2dd"} .bi-cup-fill::before{content:"\f2de"} .bi-cup-straw::before{content:"\f2df"} .bi-cup::before{content:"\f2e0"} .bi-cursor-fill::before{content:"\f2e1"} .bi-cursor-text::before{content:"\f2e2"} .bi-cursor::before{content:"\f2e3"} .bi-dash-circle-dotted::before{content:"\f2e4"} .bi-dash-circle-fill::before{content:"\f2e5"} .bi-dash-circle::before{content:"\f2e6"} .bi-dash-square-dotted::before{content:"\f2e7"} .bi-dash-square-fill::before{content:"\f2e8"} .bi-dash-square::before{content:"\f2e9"} .bi-dash::before{content:"\f2ea"} .bi-diagram-2-fill::before{content:"\f2eb"} .bi-diagram-2::before{content:"\f2ec"} .bi-diagram-3-fill::before{content:"\f2ed"} .bi-diagram-3::before{content:"\f2ee"} .bi-diamond-fill::before{content:"\f2ef"} .bi-diamond-half::before{content:"\f2f0"} .bi-diamond::before{content:"\f2f1"} .bi-dice-1-fill::before{content:"\f2f2"} .bi-dice-1::before{content:"\f2f3"} .bi-dice-2-fill::before{content:"\f2f4"} .bi-dice-2::before{content:"\f2f5"} .bi-dice-3-fill::before{content:"\f2f6"} .bi-dice-3::before{content:"\f2f7"} .bi-dice-4-fill::before{content:"\f2f8"} .bi-dice-4::before{content:"\f2f9"} .bi-dice-5-fill::before{content:"\f2fa"} .bi-dice-5::before{content:"\f2fb"} .bi-dice-6-fill::before{content:"\f2fc"} .bi-dice-6::before{content:"\f2fd"} .bi-disc-fill::before{content:"\f2fe"} .bi-disc::before{content:"\f2ff"} .bi-discord::before{content:"\f300"} .bi-display-fill::before{content:"\f301"} .bi-display::before{content:"\f302"} .bi-distribute-horizontal::before{content:"\f303"} .bi-distribute-vertical::before{content:"\f304"} .bi-door-closed-fill::before{content:"\f305"} .bi-door-closed::before{content:"\f306"} .bi-door-open-fill::before{content:"\f307"} .bi-door-open::before{content:"\f308"} .bi-dot::before{content:"\f309"} .bi-download::before{content:"\f30a"} .bi-droplet-fill::before{content:"\f30b"} .bi-droplet-half::before{content:"\f30c"} .bi-droplet::before{content:"\f30d"} .bi-earbuds::before{content:"\f30e"} .bi-easel-fill::before{content:"\f30f"} .bi-easel::before{content:"\f310"} .bi-egg-fill::before{content:"\f311"} .bi-egg-fried::before{content:"\f312"} .bi-egg::before{content:"\f313"} .bi-eject-fill::before{content:"\f314"} .bi-eject::before{content:"\f315"} .bi-emoji-angry-fill::before{content:"\f316"} .bi-emoji-angry::before{content:"\f317"} .bi-emoji-dizzy-fill::before{content:"\f318"} .bi-emoji-dizzy::before{content:"\f319"} .bi-emoji-expressionless-fill::before{content:"\f31a"} .bi-emoji-expressionless::before{content:"\f31b"} .bi-emoji-frown-fill::before{content:"\f31c"} .bi-emoji-frown::before{content:"\f31d"} .bi-emoji-heart-eyes-fill::before{content:"\f31e"} .bi-emoji-heart-eyes::before{content:"\f31f"} .bi-emoji-laughing-fill::before{content:"\f320"} .bi-emoji-laughing::before{content:"\f321"} .bi-emoji-neutral-fill::before{content:"\f322"} .bi-emoji-neutral::before{content:"\f323"} .bi-emoji-smile-fill::before{content:"\f324"} .bi-emoji-smile-upside-down-fill::before{content:"\f325"} .bi-emoji-smile-upside-down::before{content:"\f326"} .bi-emoji-smile::before{content:"\f327"} .bi-emoji-sunglasses-fill::before{content:"\f328"} .bi-emoji-sunglasses::before{content:"\f329"} .bi-emoji-wink-fill::before{content:"\f32a"} .bi-emoji-wink::before{content:"\f32b"} .bi-envelope-fill::before{content:"\f32c"} .bi-envelope-open-fill::before{content:"\f32d"} .bi-envelope-open::before{content:"\f32e"} .bi-envelope::before{content:"\f32f"} .bi-eraser-fill::before{content:"\f330"} .bi-eraser::before{content:"\f331"} .bi-exclamation-circle-fill::before{content:"\f332"} .bi-exclamation-circle::before{content:"\f333"} .bi-exclamation-diamond-fill::before{content:"\f334"} .bi-exclamation-diamond::before{content:"\f335"} .bi-exclamation-octagon-fill::before{content:"\f336"} .bi-exclamation-octagon::before{content:"\f337"} .bi-exclamation-square-fill::before{content:"\f338"} .bi-exclamation-square::before{content:"\f339"} .bi-exclamation-triangle-fill::before{content:"\f33a"} .bi-exclamation-triangle::before{content:"\f33b"} .bi-exclamation::before{content:"\f33c"} .bi-exclude::before{content:"\f33d"} .bi-eye-fill::before{content:"\f33e"} .bi-eye-slash-fill::before{content:"\f33f"} .bi-eye-slash::before{content:"\f340"} .bi-eye::before{content:"\f341"} .bi-eyedropper::before{content:"\f342"} .bi-eyeglasses::before{content:"\f343"} .bi-facebook::before{content:"\f344"} .bi-file-arrow-down-fill::before{content:"\f345"} .bi-file-arrow-down::before{content:"\f346"} .bi-file-arrow-up-fill::before{content:"\f347"} .bi-file-arrow-up::before{content:"\f348"} .bi-file-bar-graph-fill::before{content:"\f349"} .bi-file-bar-graph::before{content:"\f34a"} .bi-file-binary-fill::before{content:"\f34b"} .bi-file-binary::before{content:"\f34c"} .bi-file-break-fill::before{content:"\f34d"} .bi-file-break::before{content:"\f34e"} .bi-file-check-fill::before{content:"\f34f"} .bi-file-check::before{content:"\f350"} .bi-file-code-fill::before{content:"\f351"} .bi-file-code::before{content:"\f352"} .bi-file-diff-fill::before{content:"\f353"} .bi-file-diff::before{content:"\f354"} .bi-file-earmark-arrow-down-fill::before{content:"\f355"} .bi-file-earmark-arrow-down::before{content:"\f356"} .bi-file-earmark-arrow-up-fill::before{content:"\f357"} .bi-file-earmark-arrow-up::before{content:"\f358"} .bi-file-earmark-bar-graph-fill::before{content:"\f359"} .bi-file-earmark-bar-graph::before{content:"\f35a"} .bi-file-earmark-binary-fill::before{content:"\f35b"} .bi-file-earmark-binary::before{content:"\f35c"} .bi-file-earmark-break-fill::before{content:"\f35d"} .bi-file-earmark-break::before{content:"\f35e"} .bi-file-earmark-check-fill::before{content:"\f35f"} .bi-file-earmark-check::before{content:"\f360"} .bi-file-earmark-code-fill::before{content:"\f361"} .bi-file-earmark-code::before{content:"\f362"} .bi-file-earmark-diff-fill::before{content:"\f363"} .bi-file-earmark-diff::before{content:"\f364"} .bi-file-earmark-easel-fill::before{content:"\f365"} .bi-file-earmark-easel::before{content:"\f366"} .bi-file-earmark-excel-fill::before{content:"\f367"} .bi-file-earmark-excel::before{content:"\f368"} .bi-file-earmark-fill::before{content:"\f369"} .bi-file-earmark-font-fill::before{content:"\f36a"} .bi-file-earmark-font::before{content:"\f36b"} .bi-file-earmark-image-fill::before{content:"\f36c"} .bi-file-earmark-image::before{content:"\f36d"} .bi-file-earmark-lock-fill::before{content:"\f36e"} .bi-file-earmark-lock::before{content:"\f36f"} .bi-file-earmark-lock2-fill::before{content:"\f370"} .bi-file-earmark-lock2::before{content:"\f371"} .bi-file-earmark-medical-fill::before{content:"\f372"} .bi-file-earmark-medical::before{content:"\f373"} .bi-file-earmark-minus-fill::before{content:"\f374"} .bi-file-earmark-minus::before{content:"\f375"} .bi-file-earmark-music-fill::before{content:"\f376"} .bi-file-earmark-music::before{content:"\f377"} .bi-file-earmark-person-fill::before{content:"\f378"} .bi-file-earmark-person::before{content:"\f379"} .bi-file-earmark-play-fill::before{content:"\f37a"} .bi-file-earmark-play::before{content:"\f37b"} .bi-file-earmark-plus-fill::before{content:"\f37c"} .bi-file-earmark-plus::before{content:"\f37d"} .bi-file-earmark-post-fill::before{content:"\f37e"} .bi-file-earmark-post::before{content:"\f37f"} .bi-file-earmark-ppt-fill::before{content:"\f380"} .bi-file-earmark-ppt::before{content:"\f381"} .bi-file-earmark-richtext-fill::before{content:"\f382"} .bi-file-earmark-richtext::before{content:"\f383"} .bi-file-earmark-ruled-fill::before{content:"\f384"} .bi-file-earmark-ruled::before{content:"\f385"} .bi-file-earmark-slides-fill::before{content:"\f386"} .bi-file-earmark-slides::before{content:"\f387"} .bi-file-earmark-spreadsheet-fill::before{content:"\f388"} .bi-file-earmark-spreadsheet::before{content:"\f389"} .bi-file-earmark-text-fill::before{content:"\f38a"} .bi-file-earmark-text::before{content:"\f38b"} .bi-file-earmark-word-fill::before{content:"\f38c"} .bi-file-earmark-word::before{content:"\f38d"} .bi-file-earmark-x-fill::before{content:"\f38e"} .bi-file-earmark-x::before{content:"\f38f"} .bi-file-earmark-zip-fill::before{content:"\f390"} .bi-file-earmark-zip::before{content:"\f391"} .bi-file-earmark::before{content:"\f392"} .bi-file-easel-fill::before{content:"\f393"} .bi-file-easel::before{content:"\f394"} .bi-file-excel-fill::before{content:"\f395"} .bi-file-excel::before{content:"\f396"} .bi-file-fill::before{content:"\f397"} .bi-file-font-fill::before{content:"\f398"} .bi-file-font::before{content:"\f399"} .bi-file-image-fill::before{content:"\f39a"} .bi-file-image::before{content:"\f39b"} .bi-file-lock-fill::before{content:"\f39c"} .bi-file-lock::before{content:"\f39d"} .bi-file-lock2-fill::before{content:"\f39e"} .bi-file-lock2::before{content:"\f39f"} .bi-file-medical-fill::before{content:"\f3a0"} .bi-file-medical::before{content:"\f3a1"} .bi-file-minus-fill::before{content:"\f3a2"} .bi-file-minus::before{content:"\f3a3"} .bi-file-music-fill::before{content:"\f3a4"} .bi-file-music::before{content:"\f3a5"} .bi-file-person-fill::before{content:"\f3a6"} .bi-file-person::before{content:"\f3a7"} .bi-file-play-fill::before{content:"\f3a8"} .bi-file-play::before{content:"\f3a9"} .bi-file-plus-fill::before{content:"\f3aa"} .bi-file-plus::before{content:"\f3ab"} .bi-file-post-fill::before{content:"\f3ac"} .bi-file-post::before{content:"\f3ad"} .bi-file-ppt-fill::before{content:"\f3ae"} .bi-file-ppt::before{content:"\f3af"} .bi-file-richtext-fill::before{content:"\f3b0"} .bi-file-richtext::before{content:"\f3b1"} .bi-file-ruled-fill::before{content:"\f3b2"} .bi-file-ruled::before{content:"\f3b3"} .bi-file-slides-fill::before{content:"\f3b4"} .bi-file-slides::before{content:"\f3b5"} .bi-file-spreadsheet-fill::before{content:"\f3b6"} .bi-file-spreadsheet::before{content:"\f3b7"} .bi-file-text-fill::before{content:"\f3b8"} .bi-file-text::before{content:"\f3b9"} .bi-file-word-fill::before{content:"\f3ba"} .bi-file-word::before{content:"\f3bb"} .bi-file-x-fill::before{content:"\f3bc"} .bi-file-x::before{content:"\f3bd"} .bi-file-zip-fill::before{content:"\f3be"} .bi-file-zip::before{content:"\f3bf"} .bi-file::before{content:"\f3c0"} .bi-files-alt::before{content:"\f3c1"} .bi-files::before{content:"\f3c2"} .bi-film::before{content:"\f3c3"} .bi-filter-circle-fill::before{content:"\f3c4"} .bi-filter-circle::before{content:"\f3c5"} .bi-filter-left::before{content:"\f3c6"} .bi-filter-right::before{content:"\f3c7"} .bi-filter-square-fill::before{content:"\f3c8"} .bi-filter-square::before{content:"\f3c9"} .bi-filter::before{content:"\f3ca"} .bi-flag-fill::before{content:"\f3cb"} .bi-flag::before{content:"\f3cc"} .bi-flower1::before{content:"\f3cd"} .bi-flower2::before{content:"\f3ce"} .bi-flower3::before{content:"\f3cf"} .bi-folder-check::before{content:"\f3d0"} .bi-folder-fill::before{content:"\f3d1"} .bi-folder-minus::before{content:"\f3d2"} .bi-folder-plus::before{content:"\f3d3"} .bi-folder-symlink-fill::before{content:"\f3d4"} .bi-folder-symlink::before{content:"\f3d5"} .bi-folder-x::before{content:"\f3d6"} .bi-folder::before{content:"\f3d7"} .bi-folder2-open::before{content:"\f3d8"} .bi-folder2::before{content:"\f3d9"} .bi-fonts::before{content:"\f3da"} .bi-forward-fill::before{content:"\f3db"} .bi-forward::before{content:"\f3dc"} .bi-front::before{content:"\f3dd"} .bi-fullscreen-exit::before{content:"\f3de"} .bi-fullscreen::before{content:"\f3df"} .bi-funnel-fill::before{content:"\f3e0"} .bi-funnel::before{content:"\f3e1"} .bi-gear-fill::before{content:"\f3e2"} .bi-gear-wide-connected::before{content:"\f3e3"} .bi-gear-wide::before{content:"\f3e4"} .bi-gear::before{content:"\f3e5"} .bi-gem::before{content:"\f3e6"} .bi-geo-alt-fill::before{content:"\f3e7"} .bi-geo-alt::before{content:"\f3e8"} .bi-geo-fill::before{content:"\f3e9"} .bi-geo::before{content:"\f3ea"} .bi-gift-fill::before{content:"\f3eb"} .bi-gift::before{content:"\f3ec"} .bi-github::before{content:"\f3ed"} .bi-globe::before{content:"\f3ee"} .bi-globe2::before{content:"\f3ef"} .bi-google::before{content:"\f3f0"} .bi-graph-down::before{content:"\f3f1"} .bi-graph-up::before{content:"\f3f2"} .bi-grid-1x2-fill::before{content:"\f3f3"} .bi-grid-1x2::before{content:"\f3f4"} .bi-grid-3x2-gap-fill::before{content:"\f3f5"} .bi-grid-3x2-gap::before{content:"\f3f6"} .bi-grid-3x2::before{content:"\f3f7"} .bi-grid-3x3-gap-fill::before{content:"\f3f8"} .bi-grid-3x3-gap::before{content:"\f3f9"} .bi-grid-3x3::before{content:"\f3fa"} .bi-grid-fill::before{content:"\f3fb"} .bi-grid::before{content:"\f3fc"} .bi-grip-horizontal::before{content:"\f3fd"} .bi-grip-vertical::before{content:"\f3fe"} .bi-hammer::before{content:"\f3ff"} .bi-hand-index-fill::before{content:"\f400"} .bi-hand-index-thumb-fill::before{content:"\f401"} .bi-hand-index-thumb::before{content:"\f402"} .bi-hand-index::before{content:"\f403"} .bi-hand-thumbs-down-fill::before{content:"\f404"} .bi-hand-thumbs-down::before{content:"\f405"} .bi-hand-thumbs-up-fill::before{content:"\f406"} .bi-hand-thumbs-up::before{content:"\f407"} .bi-handbag-fill::before{content:"\f408"} .bi-handbag::before{content:"\f409"} .bi-hash::before{content:"\f40a"} .bi-hdd-fill::before{content:"\f40b"} .bi-hdd-network-fill::before{content:"\f40c"} .bi-hdd-network::before{content:"\f40d"} .bi-hdd-rack-fill::before{content:"\f40e"} .bi-hdd-rack::before{content:"\f40f"} .bi-hdd-stack-fill::before{content:"\f410"} .bi-hdd-stack::before{content:"\f411"} .bi-hdd::before{content:"\f412"} .bi-headphones::before{content:"\f413"} .bi-headset::before{content:"\f414"} .bi-heart-fill::before{content:"\f415"} .bi-heart-half::before{content:"\f416"} .bi-heart::before{content:"\f417"} .bi-heptagon-fill::before{content:"\f418"} .bi-heptagon-half::before{content:"\f419"} .bi-heptagon::before{content:"\f41a"} .bi-hexagon-fill::before{content:"\f41b"} .bi-hexagon-half::before{content:"\f41c"} .bi-hexagon::before{content:"\f41d"} .bi-hourglass-bottom::before{content:"\f41e"} .bi-hourglass-split::before{content:"\f41f"} .bi-hourglass-top::before{content:"\f420"} .bi-hourglass::before{content:"\f421"} .bi-house-door-fill::before{content:"\f422"} .bi-house-door::before{content:"\f423"} .bi-house-fill::before{content:"\f424"} .bi-house::before{content:"\f425"} .bi-hr::before{content:"\f426"} .bi-hurricane::before{content:"\f427"} .bi-image-alt::before{content:"\f428"} .bi-image-fill::before{content:"\f429"} .bi-image::before{content:"\f42a"} .bi-images::before{content:"\f42b"} .bi-inbox-fill::before{content:"\f42c"} .bi-inbox::before{content:"\f42d"} .bi-inboxes-fill::before{content:"\f42e"} .bi-inboxes::before{content:"\f42f"} .bi-info-circle-fill::before{content:"\f430"} .bi-info-circle::before{content:"\f431"} .bi-info-square-fill::before{content:"\f432"} .bi-info-square::before{content:"\f433"} .bi-info::before{content:"\f434"} .bi-input-cursor-text::before{content:"\f435"} .bi-input-cursor::before{content:"\f436"} .bi-instagram::before{content:"\f437"} .bi-intersect::before{content:"\f438"} .bi-journal-album::before{content:"\f439"} .bi-journal-arrow-down::before{content:"\f43a"} .bi-journal-arrow-up::before{content:"\f43b"} .bi-journal-bookmark-fill::before{content:"\f43c"} .bi-journal-bookmark::before{content:"\f43d"} .bi-journal-check::before{content:"\f43e"} .bi-journal-code::before{content:"\f43f"} .bi-journal-medical::before{content:"\f440"} .bi-journal-minus::before{content:"\f441"} .bi-journal-plus::before{content:"\f442"} .bi-journal-richtext::before{content:"\f443"} .bi-journal-text::before{content:"\f444"} .bi-journal-x::before{content:"\f445"} .bi-journal::before{content:"\f446"} .bi-journals::before{content:"\f447"} .bi-joystick::before{content:"\f448"} .bi-justify-left::before{content:"\f449"} .bi-justify-right::before{content:"\f44a"} .bi-justify::before{content:"\f44b"} .bi-kanban-fill::before{content:"\f44c"} .bi-kanban::before{content:"\f44d"} .bi-key-fill::before{content:"\f44e"} .bi-key::before{content:"\f44f"} .bi-keyboard-fill::before{content:"\f450"} .bi-keyboard::before{content:"\f451"} .bi-ladder::before{content:"\f452"} .bi-lamp-fill::before{content:"\f453"} .bi-lamp::before{content:"\f454"} .bi-laptop-fill::before{content:"\f455"} .bi-laptop::before{content:"\f456"} .bi-layer-backward::before{content:"\f457"} .bi-layer-forward::before{content:"\f458"} .bi-layers-fill::before{content:"\f459"} .bi-layers-half::before{content:"\f45a"} .bi-layers::before{content:"\f45b"} .bi-layout-sidebar-inset-reverse::before{content:"\f45c"} .bi-layout-sidebar-inset::before{content:"\f45d"} .bi-layout-sidebar-reverse::before{content:"\f45e"} .bi-layout-sidebar::before{content:"\f45f"} .bi-layout-split::before{content:"\f460"} .bi-layout-text-sidebar-reverse::before{content:"\f461"} .bi-layout-text-sidebar::before{content:"\f462"} .bi-layout-text-window-reverse::before{content:"\f463"} .bi-layout-text-window::before{content:"\f464"} .bi-layout-three-columns::before{content:"\f465"} .bi-layout-wtf::before{content:"\f466"} .bi-life-preserver::before{content:"\f467"} .bi-lightbulb-fill::before{content:"\f468"} .bi-lightbulb-off-fill::before{content:"\f469"} .bi-lightbulb-off::before{content:"\f46a"} .bi-lightbulb::before{content:"\f46b"} .bi-lightning-charge-fill::before{content:"\f46c"} .bi-lightning-charge::before{content:"\f46d"} .bi-lightning-fill::before{content:"\f46e"} .bi-lightning::before{content:"\f46f"} .bi-link-45deg::before{content:"\f470"} .bi-link::before{content:"\f471"} .bi-linkedin::before{content:"\f472"} .bi-list-check::before{content:"\f473"} .bi-list-nested::before{content:"\f474"} .bi-list-ol::before{content:"\f475"} .bi-list-stars::before{content:"\f476"} .bi-list-task::before{content:"\f477"} .bi-list-ul::before{content:"\f478"} .bi-list::before{content:"\f479"} .bi-lock-fill::before{content:"\f47a"} .bi-lock::before{content:"\f47b"} .bi-mailbox::before{content:"\f47c"} .bi-mailbox2::before{content:"\f47d"} .bi-map-fill::before{content:"\f47e"} .bi-map::before{content:"\f47f"} .bi-markdown-fill::before{content:"\f480"} .bi-markdown::before{content:"\f481"} .bi-mask::before{content:"\f482"} .bi-megaphone-fill::before{content:"\f483"} .bi-megaphone::before{content:"\f484"} .bi-menu-app-fill::before{content:"\f485"} .bi-menu-app::before{content:"\f486"} .bi-menu-button-fill::before{content:"\f487"} .bi-menu-button-wide-fill::before{content:"\f488"} .bi-menu-button-wide::before{content:"\f489"} .bi-menu-button::before{content:"\f48a"} .bi-menu-down::before{content:"\f48b"} .bi-menu-up::before{content:"\f48c"} .bi-mic-fill::before{content:"\f48d"} .bi-mic-mute-fill::before{content:"\f48e"} .bi-mic-mute::before{content:"\f48f"} .bi-mic::before{content:"\f490"} .bi-minecart-loaded::before{content:"\f491"} .bi-minecart::before{content:"\f492"} .bi-moisture::before{content:"\f493"} .bi-moon-fill::before{content:"\f494"} .bi-moon-stars-fill::before{content:"\f495"} .bi-moon-stars::before{content:"\f496"} .bi-moon::before{content:"\f497"} .bi-mouse-fill::before{content:"\f498"} .bi-mouse::before{content:"\f499"} .bi-mouse2-fill::before{content:"\f49a"} .bi-mouse2::before{content:"\f49b"} .bi-mouse3-fill::before{content:"\f49c"} .bi-mouse3::before{content:"\f49d"} .bi-music-note-beamed::before{content:"\f49e"} .bi-music-note-list::before{content:"\f49f"} .bi-music-note::before{content:"\f4a0"} .bi-music-player-fill::before{content:"\f4a1"} .bi-music-player::before{content:"\f4a2"} .bi-newspaper::before{content:"\f4a3"} .bi-node-minus-fill::before{content:"\f4a4"} .bi-node-minus::before{content:"\f4a5"} .bi-node-plus-fill::before{content:"\f4a6"} .bi-node-plus::before{content:"\f4a7"} .bi-nut-fill::before{content:"\f4a8"} .bi-nut::before{content:"\f4a9"} .bi-octagon-fill::before{content:"\f4aa"} .bi-octagon-half::before{content:"\f4ab"} .bi-octagon::before{content:"\f4ac"} .bi-option::before{content:"\f4ad"} .bi-outlet::before{content:"\f4ae"} .bi-paint-bucket::before{content:"\f4af"} .bi-palette-fill::before{content:"\f4b0"} .bi-palette::before{content:"\f4b1"} .bi-palette2::before{content:"\f4b2"} .bi-paperclip::before{content:"\f4b3"} .bi-paragraph::before{content:"\f4b4"} .bi-patch-check-fill::before{content:"\f4b5"} .bi-patch-check::before{content:"\f4b6"} .bi-patch-exclamation-fill::before{content:"\f4b7"} .bi-patch-exclamation::before{content:"\f4b8"} .bi-patch-minus-fill::before{content:"\f4b9"} .bi-patch-minus::before{content:"\f4ba"} .bi-patch-plus-fill::before{content:"\f4bb"} .bi-patch-plus::before{content:"\f4bc"} .bi-patch-question-fill::before{content:"\f4bd"} .bi-patch-question::before{content:"\f4be"} .bi-pause-btn-fill::before{content:"\f4bf"} .bi-pause-btn::before{content:"\f4c0"} .bi-pause-circle-fill::before{content:"\f4c1"} .bi-pause-circle::before{content:"\f4c2"} .bi-pause-fill::before{content:"\f4c3"} .bi-pause::before{content:"\f4c4"} .bi-peace-fill::before{content:"\f4c5"} .bi-peace::before{content:"\f4c6"} .bi-pen-fill::before{content:"\f4c7"} .bi-pen::before{content:"\f4c8"} .bi-pencil-fill::before{content:"\f4c9"} .bi-pencil-square::before{content:"\f4ca"} .bi-pencil::before{content:"\f4cb"} .bi-pentagon-fill::before{content:"\f4cc"} .bi-pentagon-half::before{content:"\f4cd"} .bi-pentagon::before{content:"\f4ce"} .bi-people-fill::before{content:"\f4cf"} .bi-people::before{content:"\f4d0"} .bi-percent::before{content:"\f4d1"} .bi-person-badge-fill::before{content:"\f4d2"} .bi-person-badge::before{content:"\f4d3"} .bi-person-bounding-box::before{content:"\f4d4"} .bi-person-check-fill::before{content:"\f4d5"} .bi-person-check::before{content:"\f4d6"} .bi-person-circle::before{content:"\f4d7"} .bi-person-dash-fill::before{content:"\f4d8"} .bi-person-dash::before{content:"\f4d9"} .bi-person-fill::before{content:"\f4da"} .bi-person-lines-fill::before{content:"\f4db"} .bi-person-plus-fill::before{content:"\f4dc"} .bi-person-plus::before{content:"\f4dd"} .bi-person-square::before{content:"\f4de"} .bi-person-x-fill::before{content:"\f4df"} .bi-person-x::before{content:"\f4e0"} .bi-person::before{content:"\f4e1"} .bi-phone-fill::before{content:"\f4e2"} .bi-phone-landscape-fill::before{content:"\f4e3"} .bi-phone-landscape::before{content:"\f4e4"} .bi-phone-vibrate-fill::before{content:"\f4e5"} .bi-phone-vibrate::before{content:"\f4e6"} .bi-phone::before{content:"\f4e7"} .bi-pie-chart-fill::before{content:"\f4e8"} .bi-pie-chart::before{content:"\f4e9"} .bi-pin-angle-fill::before{content:"\f4ea"} .bi-pin-angle::before{content:"\f4eb"} .bi-pin-fill::before{content:"\f4ec"} .bi-pin::before{content:"\f4ed"} .bi-pip-fill::before{content:"\f4ee"} .bi-pip::before{content:"\f4ef"} .bi-play-btn-fill::before{content:"\f4f0"} .bi-play-btn::before{content:"\f4f1"} .bi-play-circle-fill::before{content:"\f4f2"} .bi-play-circle::before{content:"\f4f3"} .bi-play-fill::before{content:"\f4f4"} .bi-play::before{content:"\f4f5"} .bi-plug-fill::before{content:"\f4f6"} .bi-plug::before{content:"\f4f7"} .bi-plus-circle-dotted::before{content:"\f4f8"} .bi-plus-circle-fill::before{content:"\f4f9"} .bi-plus-circle::before{content:"\f4fa"} .bi-plus-square-dotted::before{content:"\f4fb"} .bi-plus-square-fill::before{content:"\f4fc"} .bi-plus-square::before{content:"\f4fd"} .bi-plus::before{content:"\f4fe"} .bi-power::before{content:"\f4ff"} .bi-printer-fill::before{content:"\f500"} .bi-printer::before{content:"\f501"} .bi-puzzle-fill::before{content:"\f502"} .bi-puzzle::before{content:"\f503"} .bi-question-circle-fill::before{content:"\f504"} .bi-question-circle::before{content:"\f505"} .bi-question-diamond-fill::before{content:"\f506"} .bi-question-diamond::before{content:"\f507"} .bi-question-octagon-fill::before{content:"\f508"} .bi-question-octagon::before{content:"\f509"} .bi-question-square-fill::before{content:"\f50a"} .bi-question-square::before{content:"\f50b"} .bi-question::before{content:"\f50c"} .bi-rainbow::before{content:"\f50d"} .bi-receipt-cutoff::before{content:"\f50e"} .bi-receipt::before{content:"\f50f"} .bi-reception-0::before{content:"\f510"} .bi-reception-1::before{content:"\f511"} .bi-reception-2::before{content:"\f512"} .bi-reception-3::before{content:"\f513"} .bi-reception-4::before{content:"\f514"} .bi-record-btn-fill::before{content:"\f515"} .bi-record-btn::before{content:"\f516"} .bi-record-circle-fill::before{content:"\f517"} .bi-record-circle::before{content:"\f518"} .bi-record-fill::before{content:"\f519"} .bi-record::before{content:"\f51a"} .bi-record2-fill::before{content:"\f51b"} .bi-record2::before{content:"\f51c"} .bi-reply-all-fill::before{content:"\f51d"} .bi-reply-all::before{content:"\f51e"} .bi-reply-fill::before{content:"\f51f"} .bi-reply::before{content:"\f520"} .bi-rss-fill::before{content:"\f521"} .bi-rss::before{content:"\f522"} .bi-rulers::before{content:"\f523"} .bi-save-fill::before{content:"\f524"} .bi-save::before{content:"\f525"} .bi-save2-fill::before{content:"\f526"} .bi-save2::before{content:"\f527"} .bi-scissors::before{content:"\f528"} .bi-screwdriver::before{content:"\f529"} .bi-search::before{content:"\f52a"} .bi-segmented-nav::before{content:"\f52b"} .bi-server::before{content:"\f52c"} .bi-share-fill::before{content:"\f52d"} .bi-share::before{content:"\f52e"} .bi-shield-check::before{content:"\f52f"} .bi-shield-exclamation::before{content:"\f530"} .bi-shield-fill-check::before{content:"\f531"} .bi-shield-fill-exclamation::before{content:"\f532"} .bi-shield-fill-minus::before{content:"\f533"} .bi-shield-fill-plus::before{content:"\f534"} .bi-shield-fill-x::before{content:"\f535"} .bi-shield-fill::before{content:"\f536"} .bi-shield-lock-fill::before{content:"\f537"} .bi-shield-lock::before{content:"\f538"} .bi-shield-minus::before{content:"\f539"} .bi-shield-plus::before{content:"\f53a"} .bi-shield-shaded::before{content:"\f53b"} .bi-shield-slash-fill::before{content:"\f53c"} .bi-shield-slash::before{content:"\f53d"} .bi-shield-x::before{content:"\f53e"} .bi-shield::before{content:"\f53f"} .bi-shift-fill::before{content:"\f540"} .bi-shift::before{content:"\f541"} .bi-shop-window::before{content:"\f542"} .bi-shop::before{content:"\f543"} .bi-shuffle::before{content:"\f544"} .bi-signpost-2-fill::before{content:"\f545"} .bi-signpost-2::before{content:"\f546"} .bi-signpost-fill::before{content:"\f547"} .bi-signpost-split-fill::before{content:"\f548"} .bi-signpost-split::before{content:"\f549"} .bi-signpost::before{content:"\f54a"} .bi-sim-fill::before{content:"\f54b"} .bi-sim::before{content:"\f54c"} .bi-skip-backward-btn-fill::before{content:"\f54d"} .bi-skip-backward-btn::before{content:"\f54e"} .bi-skip-backward-circle-fill::before{content:"\f54f"} .bi-skip-backward-circle::before{content:"\f550"} .bi-skip-backward-fill::before{content:"\f551"} .bi-skip-backward::before{content:"\f552"} .bi-skip-end-btn-fill::before{content:"\f553"} .bi-skip-end-btn::before{content:"\f554"} .bi-skip-end-circle-fill::before{content:"\f555"} .bi-skip-end-circle::before{content:"\f556"} .bi-skip-end-fill::before{content:"\f557"} .bi-skip-end::before{content:"\f558"} .bi-skip-forward-btn-fill::before{content:"\f559"} .bi-skip-forward-btn::before{content:"\f55a"} .bi-skip-forward-circle-fill::before{content:"\f55b"} .bi-skip-forward-circle::before{content:"\f55c"} .bi-skip-forward-fill::before{content:"\f55d"} .bi-skip-forward::before{content:"\f55e"} .bi-skip-start-btn-fill::before{content:"\f55f"} .bi-skip-start-btn::before{content:"\f560"} .bi-skip-start-circle-fill::before{content:"\f561"} .bi-skip-start-circle::before{content:"\f562"} .bi-skip-start-fill::before{content:"\f563"} .bi-skip-start::before{content:"\f564"} .bi-slack::before{content:"\f565"} .bi-slash-circle-fill::before{content:"\f566"} .bi-slash-circle::before{content:"\f567"} .bi-slash-square-fill::before{content:"\f568"} .bi-slash-square::before{content:"\f569"} .bi-slash::before{content:"\f56a"} .bi-sliders::before{content:"\f56b"} .bi-smartwatch::before{content:"\f56c"} .bi-snow::before{content:"\f56d"} .bi-snow2::before{content:"\f56e"} .bi-snow3::before{content:"\f56f"} .bi-sort-alpha-down-alt::before{content:"\f570"} .bi-sort-alpha-down::before{content:"\f571"} .bi-sort-alpha-up-alt::before{content:"\f572"} .bi-sort-alpha-up::before{content:"\f573"} .bi-sort-down-alt::before{content:"\f574"} .bi-sort-down::before{content:"\f575"} .bi-sort-numeric-down-alt::before{content:"\f576"} .bi-sort-numeric-down::before{content:"\f577"} .bi-sort-numeric-up-alt::before{content:"\f578"} .bi-sort-numeric-up::before{content:"\f579"} .bi-sort-up-alt::before{content:"\f57a"} .bi-sort-up::before{content:"\f57b"} .bi-soundwave::before{content:"\f57c"} .bi-speaker-fill::before{content:"\f57d"} .bi-speaker::before{content:"\f57e"} .bi-speedometer::before{content:"\f57f"} .bi-speedometer2::before{content:"\f580"} .bi-spellcheck::before{content:"\f581"} .bi-square-fill::before{content:"\f582"} .bi-square-half::before{content:"\f583"} .bi-square::before{content:"\f584"} .bi-stack::before{content:"\f585"} .bi-star-fill::before{content:"\f586"} .bi-star-half::before{content:"\f587"} .bi-star::before{content:"\f588"} .bi-stars::before{content:"\f589"} .bi-stickies-fill::before{content:"\f58a"} .bi-stickies::before{content:"\f58b"} .bi-sticky-fill::before{content:"\f58c"} .bi-sticky::before{content:"\f58d"} .bi-stop-btn-fill::before{content:"\f58e"} .bi-stop-btn::before{content:"\f58f"} .bi-stop-circle-fill::before{content:"\f590"} .bi-stop-circle::before{content:"\f591"} .bi-stop-fill::before{content:"\f592"} .bi-stop::before{content:"\f593"} .bi-stoplights-fill::before{content:"\f594"} .bi-stoplights::before{content:"\f595"} .bi-stopwatch-fill::before{content:"\f596"} .bi-stopwatch::before{content:"\f597"} .bi-subtract::before{content:"\f598"} .bi-suit-club-fill::before{content:"\f599"} .bi-suit-club::before{content:"\f59a"} .bi-suit-diamond-fill::before{content:"\f59b"} .bi-suit-diamond::before{content:"\f59c"} .bi-suit-heart-fill::before{content:"\f59d"} .bi-suit-heart::before{content:"\f59e"} .bi-suit-spade-fill::before{content:"\f59f"} .bi-suit-spade::before{content:"\f5a0"} .bi-sun-fill::before{content:"\f5a1"} .bi-sun::before{content:"\f5a2"} .bi-sunglasses::before{content:"\f5a3"} .bi-sunrise-fill::before{content:"\f5a4"} .bi-sunrise::before{content:"\f5a5"} .bi-sunset-fill::before{content:"\f5a6"} .bi-sunset::before{content:"\f5a7"} .bi-symmetry-horizontal::before{content:"\f5a8"} .bi-symmetry-vertical::before{content:"\f5a9"} .bi-table::before{content:"\f5aa"} .bi-tablet-fill::before{content:"\f5ab"} .bi-tablet-landscape-fill::before{content:"\f5ac"} .bi-tablet-landscape::before{content:"\f5ad"} .bi-tablet::before{content:"\f5ae"} .bi-tag-fill::before{content:"\f5af"} .bi-tag::before{content:"\f5b0"} .bi-tags-fill::before{content:"\f5b1"} .bi-tags::before{content:"\f5b2"} .bi-telegram::before{content:"\f5b3"} .bi-telephone-fill::before{content:"\f5b4"} .bi-telephone-forward-fill::before{content:"\f5b5"} .bi-telephone-forward::before{content:"\f5b6"} .bi-telephone-inbound-fill::before{content:"\f5b7"} .bi-telephone-inbound::before{content:"\f5b8"} .bi-telephone-minus-fill::before{content:"\f5b9"} .bi-telephone-minus::before{content:"\f5ba"} .bi-telephone-outbound-fill::before{content:"\f5bb"} .bi-telephone-outbound::before{content:"\f5bc"} .bi-telephone-plus-fill::before{content:"\f5bd"} .bi-telephone-plus::before{content:"\f5be"} .bi-telephone-x-fill::before{content:"\f5bf"} .bi-telephone-x::before{content:"\f5c0"} .bi-telephone::before{content:"\f5c1"} .bi-terminal-fill::before{content:"\f5c2"} .bi-terminal::before{content:"\f5c3"} .bi-text-center::before{content:"\f5c4"} .bi-text-indent-left::before{content:"\f5c5"} .bi-text-indent-right::before{content:"\f5c6"} .bi-text-left::before{content:"\f5c7"} .bi-text-paragraph::before{content:"\f5c8"} .bi-text-right::before{content:"\f5c9"} .bi-textarea-resize::before{content:"\f5ca"} .bi-textarea-t::before{content:"\f5cb"} .bi-textarea::before{content:"\f5cc"} .bi-thermometer-half::before{content:"\f5cd"} .bi-thermometer-high::before{content:"\f5ce"} .bi-thermometer-low::before{content:"\f5cf"} .bi-thermometer-snow::before{content:"\f5d0"} .bi-thermometer-sun::before{content:"\f5d1"} .bi-thermometer::before{content:"\f5d2"} .bi-three-dots-vertical::before{content:"\f5d3"} .bi-three-dots::before{content:"\f5d4"} .bi-toggle-off::before{content:"\f5d5"} .bi-toggle-on::before{content:"\f5d6"} .bi-toggle2-off::before{content:"\f5d7"} .bi-toggle2-on::before{content:"\f5d8"} .bi-toggles::before{content:"\f5d9"} .bi-toggles2::before{content:"\f5da"} .bi-tools::before{content:"\f5db"} .bi-tornado::before{content:"\f5dc"} .bi-trash-fill::before{content:"\f5dd"} .bi-trash::before{content:"\f5de"} .bi-trash2-fill::before{content:"\f5df"} .bi-trash2::before{content:"\f5e0"} .bi-tree-fill::before{content:"\f5e1"} .bi-tree::before{content:"\f5e2"} .bi-triangle-fill::before{content:"\f5e3"} .bi-triangle-half::before{content:"\f5e4"} .bi-triangle::before{content:"\f5e5"} .bi-trophy-fill::before{content:"\f5e6"} .bi-trophy::before{content:"\f5e7"} .bi-tropical-storm::before{content:"\f5e8"} .bi-truck-flatbed::before{content:"\f5e9"} .bi-truck::before{content:"\f5ea"} .bi-tsunami::before{content:"\f5eb"} .bi-tv-fill::before{content:"\f5ec"} .bi-tv::before{content:"\f5ed"} .bi-twitch::before{content:"\f5ee"} .bi-twitter::before{content:"\f5ef"} .bi-type-bold::before{content:"\f5f0"} .bi-type-h1::before{content:"\f5f1"} .bi-type-h2::before{content:"\f5f2"} .bi-type-h3::before{content:"\f5f3"} .bi-type-italic::before{content:"\f5f4"} .bi-type-strikethrough::before{content:"\f5f5"} .bi-type-underline::before{content:"\f5f6"} .bi-type::before{content:"\f5f7"} .bi-ui-checks-grid::before{content:"\f5f8"} .bi-ui-checks::before{content:"\f5f9"} .bi-ui-radios-grid::before{content:"\f5fa"} .bi-ui-radios::before{content:"\f5fb"} .bi-umbrella-fill::before{content:"\f5fc"} .bi-umbrella::before{content:"\f5fd"} .bi-union::before{content:"\f5fe"} .bi-unlock-fill::before{content:"\f5ff"} .bi-unlock::before{content:"\f600"} .bi-upc-scan::before{content:"\f601"} .bi-upc::before{content:"\f602"} .bi-upload::before{content:"\f603"} .bi-vector-pen::before{content:"\f604"} .bi-view-list::before{content:"\f605"} .bi-view-stacked::before{content:"\f606"} .bi-vinyl-fill::before{content:"\f607"} .bi-vinyl::before{content:"\f608"} .bi-voicemail::before{content:"\f609"} .bi-volume-down-fill::before{content:"\f60a"} .bi-volume-down::before{content:"\f60b"} .bi-volume-mute-fill::before{content:"\f60c"} .bi-volume-mute::before{content:"\f60d"} .bi-volume-off-fill::before{content:"\f60e"} .bi-volume-off::before{content:"\f60f"} .bi-volume-up-fill::before{content:"\f610"} .bi-volume-up::before{content:"\f611"} .bi-vr::before{content:"\f612"} .bi-wallet-fill::before{content:"\f613"} .bi-wallet::before{content:"\f614"} .bi-wallet2::before{content:"\f615"} .bi-watch::before{content:"\f616"} .bi-water::before{content:"\f617"} .bi-whatsapp::before{content:"\f618"} .bi-wifi-1::before{content:"\f619"} .bi-wifi-2::before{content:"\f61a"} .bi-wifi-off::before{content:"\f61b"} .bi-wifi::before{content:"\f61c"} .bi-wind::before{content:"\f61d"} .bi-window-dock::before{content:"\f61e"} .bi-window-sidebar::before{content:"\f61f"} .bi-window::before{content:"\f620"} .bi-wrench::before{content:"\f621"} .bi-x-circle-fill::before{content:"\f622"} .bi-x-circle::before{content:"\f623"} .bi-x-diamond-fill::before{content:"\f624"} .bi-x-diamond::before{content:"\f625"} .bi-x-octagon-fill::before{content:"\f626"} .bi-x-octagon::before{content:"\f627"} .bi-x-square-fill::before{content:"\f628"} .bi-x-square::before{content:"\f629"} .bi-x::before{content:"\f62a"} .bi-youtube::before{content:"\f62b"} .bi-zoom-in::before{content:"\f62c"} .bi-zoom-out::before{content:"\f62d"} .bi-bank::before{content:"\f62e"} .bi-bank2::before{content:"\f62f"} .bi-bell-slash-fill::before{content:"\f630"} .bi-bell-slash::before{content:"\f631"} .bi-cash-coin::before{content:"\f632"} .bi-check-lg::before{content:"\f633"} .bi-coin::before{content:"\f634"} .bi-currency-bitcoin::before{content:"\f635"} .bi-currency-dollar::before{content:"\f636"} .bi-currency-euro::before{content:"\f637"} .bi-currency-exchange::before{content:"\f638"} .bi-currency-pound::before{content:"\f639"} .bi-currency-yen::before{content:"\f63a"} .bi-dash-lg::before{content:"\f63b"} .bi-exclamation-lg::before{content:"\f63c"} .bi-file-earmark-pdf-fill::before{content:"\f63d"} .bi-file-earmark-pdf::before{content:"\f63e"} .bi-file-pdf-fill::before{content:"\f63f"} .bi-file-pdf::before{content:"\f640"} .bi-gender-ambiguous::before{content:"\f641"} .bi-gender-female::before{content:"\f642"} .bi-gender-male::before{content:"\f643"} .bi-gender-trans::before{content:"\f644"} .bi-headset-vr::before{content:"\f645"} .bi-info-lg::before{content:"\f646"} .bi-mastodon::before{content:"\f647"} .bi-messenger::before{content:"\f648"} .bi-piggy-bank-fill::before{content:"\f649"} .bi-piggy-bank::before{content:"\f64a"} .bi-pin-map-fill::before{content:"\f64b"} .bi-pin-map::before{content:"\f64c"} .bi-plus-lg::before{content:"\f64d"} .bi-question-lg::before{content:"\f64e"} .bi-recycle::before{content:"\f64f"} .bi-reddit::before{content:"\f650"} .bi-safe-fill::before{content:"\f651"} .bi-safe2-fill::before{content:"\f652"} .bi-safe2::before{content:"\f653"} .bi-sd-card-fill::before{content:"\f654"} .bi-sd-card::before{content:"\f655"} .bi-skype::before{content:"\f656"} .bi-slash-lg::before{content:"\f657"} .bi-translate::before{content:"\f658"} .bi-x-lg::before{content:"\f659"} .bi-safe::before{content:"\f65a"} .bi-apple::before{content:"\f65b"} .bi-microsoft::before{content:"\f65d"} .bi-windows::before{content:"\f65e"} .bi-behance::before{content:"\f65c"} .bi-dribbble::before{content:"\f65f"} .bi-line::before{content:"\f660"} .bi-medium::before{content:"\f661"} .bi-paypal::before{content:"\f662"} .bi-pinterest::before{content:"\f663"} .bi-signal::before{content:"\f664"} .bi-snapchat::before{content:"\f665"} .bi-spotify::before{content:"\f666"} .bi-stack-overflow::before{content:"\f667"} .bi-strava::before{content:"\f668"} .bi-wordpress::before{content:"\f669"} .bi-vimeo::before{content:"\f66a"} .bi-activity::before{content:"\f66b"} .bi-easel2-fill::before{content:"\f66c"} .bi-easel2::before{content:"\f66d"} .bi-easel3-fill::before{content:"\f66e"} .bi-easel3::before{content:"\f66f"} .bi-fan::before{content:"\f670"} .bi-fingerprint::before{content:"\f671"} .bi-graph-down-arrow::before{content:"\f672"} .bi-graph-up-arrow::before{content:"\f673"} .bi-hypnotize::before{content:"\f674"} .bi-magic::before{content:"\f675"} .bi-person-rolodex::before{content:"\f676"} .bi-person-video::before{content:"\f677"} .bi-person-video2::before{content:"\f678"} .bi-person-video3::before{content:"\f679"} .bi-person-workspace::before{content:"\f67a"} .bi-radioactive::before{content:"\f67b"} .bi-webcam-fill::before{content:"\f67c"} .bi-webcam::before{content:"\f67d"} .bi-yin-yang::before{content:"\f67e"} .bi-bandaid-fill::before{content:"\f680"} .bi-bandaid::before{content:"\f681"} .bi-bluetooth::before{content:"\f682"} .bi-body-text::before{content:"\f683"} .bi-boombox::before{content:"\f684"} .bi-boxes::before{content:"\f685"} .bi-dpad-fill::before{content:"\f686"} .bi-dpad::before{content:"\f687"} .bi-ear-fill::before{content:"\f688"} .bi-ear::before{content:"\f689"} .bi-envelope-check-fill::before{content:"\f68b"} .bi-envelope-check::before{content:"\f68c"} .bi-envelope-dash-fill::before{content:"\f68e"} .bi-envelope-dash::before{content:"\f68f"} .bi-envelope-exclamation-fill::before{content:"\f691"} .bi-envelope-exclamation::before{content:"\f692"} .bi-envelope-plus-fill::before{content:"\f693"} .bi-envelope-plus::before{content:"\f694"} .bi-envelope-slash-fill::before{content:"\f696"} .bi-envelope-slash::before{content:"\f697"} .bi-envelope-x-fill::before{content:"\f699"} .bi-envelope-x::before{content:"\f69a"} .bi-explicit-fill::before{content:"\f69b"} .bi-explicit::before{content:"\f69c"} .bi-git::before{content:"\f69d"} .bi-infinity::before{content:"\f69e"} .bi-list-columns-reverse::before{content:"\f69f"} .bi-list-columns::before{content:"\f6a0"} .bi-meta::before{content:"\f6a1"} .bi-nintendo-switch::before{content:"\f6a4"} .bi-pc-display-horizontal::before{content:"\f6a5"} .bi-pc-display::before{content:"\f6a6"} .bi-pc-horizontal::before{content:"\f6a7"} .bi-pc::before{content:"\f6a8"} .bi-playstation::before{content:"\f6a9"} .bi-plus-slash-minus::before{content:"\f6aa"} .bi-projector-fill::before{content:"\f6ab"} .bi-projector::before{content:"\f6ac"} .bi-qr-code-scan::before{content:"\f6ad"} .bi-qr-code::before{content:"\f6ae"} .bi-quora::before{content:"\f6af"} .bi-quote::before{content:"\f6b0"} .bi-robot::before{content:"\f6b1"} .bi-send-check-fill::before{content:"\f6b2"} .bi-send-check::before{content:"\f6b3"} .bi-send-dash-fill::before{content:"\f6b4"} .bi-send-dash::before{content:"\f6b5"} .bi-send-exclamation-fill::before{content:"\f6b7"} .bi-send-exclamation::before{content:"\f6b8"} .bi-send-fill::before{content:"\f6b9"} .bi-send-plus-fill::before{content:"\f6ba"} .bi-send-plus::before{content:"\f6bb"} .bi-send-slash-fill::before{content:"\f6bc"} .bi-send-slash::before{content:"\f6bd"} .bi-send-x-fill::before{content:"\f6be"} .bi-send-x::before{content:"\f6bf"} .bi-send::before{content:"\f6c0"} .bi-steam::before{content:"\f6c1"} .bi-terminal-dash::before{content:"\f6c3"} .bi-terminal-plus::before{content:"\f6c4"} .bi-terminal-split::before{content:"\f6c5"} .bi-ticket-detailed-fill::before{content:"\f6c6"} .bi-ticket-detailed::before{content:"\f6c7"} .bi-ticket-fill::before{content:"\f6c8"} .bi-ticket-perforated-fill::before{content:"\f6c9"} .bi-ticket-perforated::before{content:"\f6ca"} .bi-ticket::before{content:"\f6cb"} .bi-tiktok::before{content:"\f6cc"} .bi-window-dash::before{content:"\f6cd"} .bi-window-desktop::before{content:"\f6ce"} .bi-window-fullscreen::before{content:"\f6cf"} .bi-window-plus::before{content:"\f6d0"} .bi-window-split::before{content:"\f6d1"} .bi-window-stack::before{content:"\f6d2"} .bi-window-x::before{content:"\f6d3"} .bi-xbox::before{content:"\f6d4"} .bi-ethernet::before{content:"\f6d5"} .bi-hdmi-fill::before{content:"\f6d6"} .bi-hdmi::before{content:"\f6d7"} .bi-usb-c-fill::before{content:"\f6d8"} .bi-usb-c::before{content:"\f6d9"} .bi-usb-fill::before{content:"\f6da"} .bi-usb-plug-fill::before{content:"\f6db"} .bi-usb-plug::before{content:"\f6dc"} .bi-usb-symbol::before{content:"\f6dd"} .bi-usb::before{content:"\f6de"} .bi-boombox-fill::before{content:"\f6df"} .bi-displayport::before{content:"\f6e1"} .bi-gpu-card::before{content:"\f6e2"} .bi-memory::before{content:"\f6e3"} .bi-modem-fill::before{content:"\f6e4"} .bi-modem::before{content:"\f6e5"} .bi-motherboard-fill::before{content:"\f6e6"} .bi-motherboard::before{content:"\f6e7"} .bi-optical-audio-fill::before{content:"\f6e8"} .bi-optical-audio::before{content:"\f6e9"} .bi-pci-card::before{content:"\f6ea"} .bi-router-fill::before{content:"\f6eb"} .bi-router::before{content:"\f6ec"} .bi-thunderbolt-fill::before{content:"\f6ef"} .bi-thunderbolt::before{content:"\f6f0"} .bi-usb-drive-fill::before{content:"\f6f1"} .bi-usb-drive::before{content:"\f6f2"} .bi-usb-micro-fill::before{content:"\f6f3"} .bi-usb-micro::before{content:"\f6f4"} .bi-usb-mini-fill::before{content:"\f6f5"} .bi-usb-mini::before{content:"\f6f6"} .bi-cloud-haze2::before{content:"\f6f7"} .bi-device-hdd-fill::before{content:"\f6f8"} .bi-device-hdd::before{content:"\f6f9"} .bi-device-ssd-fill::before{content:"\f6fa"} .bi-device-ssd::before{content:"\f6fb"} .bi-displayport-fill::before{content:"\f6fc"} .bi-mortarboard-fill::before{content:"\f6fd"} .bi-mortarboard::before{content:"\f6fe"} .bi-terminal-x::before{content:"\f6ff"} .bi-arrow-through-heart-fill::before{content:"\f700"} .bi-arrow-through-heart::before{content:"\f701"} .bi-badge-sd-fill::before{content:"\f702"} .bi-badge-sd::before{content:"\f703"} .bi-bag-heart-fill::before{content:"\f704"} .bi-bag-heart::before{content:"\f705"} .bi-balloon-fill::before{content:"\f706"} .bi-balloon-heart-fill::before{content:"\f707"} .bi-balloon-heart::before{content:"\f708"} .bi-balloon::before{content:"\f709"} .bi-box2-fill::before{content:"\f70a"} .bi-box2-heart-fill::before{content:"\f70b"} .bi-box2-heart::before{content:"\f70c"} .bi-box2::before{content:"\f70d"} .bi-braces-asterisk::before{content:"\f70e"} .bi-calendar-heart-fill::before{content:"\f70f"} .bi-calendar-heart::before{content:"\f710"} .bi-calendar2-heart-fill::before{content:"\f711"} .bi-calendar2-heart::before{content:"\f712"} .bi-chat-heart-fill::before{content:"\f713"} .bi-chat-heart::before{content:"\f714"} .bi-chat-left-heart-fill::before{content:"\f715"} .bi-chat-left-heart::before{content:"\f716"} .bi-chat-right-heart-fill::before{content:"\f717"} .bi-chat-right-heart::before{content:"\f718"} .bi-chat-square-heart-fill::before{content:"\f719"} .bi-chat-square-heart::before{content:"\f71a"} .bi-clipboard-check-fill::before{content:"\f71b"} .bi-clipboard-data-fill::before{content:"\f71c"} .bi-clipboard-fill::before{content:"\f71d"} .bi-clipboard-heart-fill::before{content:"\f71e"} .bi-clipboard-heart::before{content:"\f71f"} .bi-clipboard-minus-fill::before{content:"\f720"} .bi-clipboard-plus-fill::before{content:"\f721"} .bi-clipboard-pulse::before{content:"\f722"} .bi-clipboard-x-fill::before{content:"\f723"} .bi-clipboard2-check-fill::before{content:"\f724"} .bi-clipboard2-check::before{content:"\f725"} .bi-clipboard2-data-fill::before{content:"\f726"} .bi-clipboard2-data::before{content:"\f727"} .bi-clipboard2-fill::before{content:"\f728"} .bi-clipboard2-heart-fill::before{content:"\f729"} .bi-clipboard2-heart::before{content:"\f72a"} .bi-clipboard2-minus-fill::before{content:"\f72b"} .bi-clipboard2-minus::before{content:"\f72c"} .bi-clipboard2-plus-fill::before{content:"\f72d"} .bi-clipboard2-plus::before{content:"\f72e"} .bi-clipboard2-pulse-fill::before{content:"\f72f"} .bi-clipboard2-pulse::before{content:"\f730"} .bi-clipboard2-x-fill::before{content:"\f731"} .bi-clipboard2-x::before{content:"\f732"} .bi-clipboard2::before{content:"\f733"} .bi-emoji-kiss-fill::before{content:"\f734"} .bi-emoji-kiss::before{content:"\f735"} .bi-envelope-heart-fill::before{content:"\f736"} .bi-envelope-heart::before{content:"\f737"} .bi-envelope-open-heart-fill::before{content:"\f738"} .bi-envelope-open-heart::before{content:"\f739"} .bi-envelope-paper-fill::before{content:"\f73a"} .bi-envelope-paper-heart-fill::before{content:"\f73b"} .bi-envelope-paper-heart::before{content:"\f73c"} .bi-envelope-paper::before{content:"\f73d"} .bi-filetype-aac::before{content:"\f73e"} .bi-filetype-ai::before{content:"\f73f"} .bi-filetype-bmp::before{content:"\f740"} .bi-filetype-cs::before{content:"\f741"} .bi-filetype-css::before{content:"\f742"} .bi-filetype-csv::before{content:"\f743"} .bi-filetype-doc::before{content:"\f744"} .bi-filetype-docx::before{content:"\f745"} .bi-filetype-exe::before{content:"\f746"} .bi-filetype-gif::before{content:"\f747"} .bi-filetype-heic::before{content:"\f748"} .bi-filetype-html::before{content:"\f749"} .bi-filetype-java::before{content:"\f74a"} .bi-filetype-jpg::before{content:"\f74b"} .bi-filetype-js::before{content:"\f74c"} .bi-filetype-jsx::before{content:"\f74d"} .bi-filetype-key::before{content:"\f74e"} .bi-filetype-m4p::before{content:"\f74f"} .bi-filetype-md::before{content:"\f750"} .bi-filetype-mdx::before{content:"\f751"} .bi-filetype-mov::before{content:"\f752"} .bi-filetype-mp3::before{content:"\f753"} .bi-filetype-mp4::before{content:"\f754"} .bi-filetype-otf::before{content:"\f755"} .bi-filetype-pdf::before{content:"\f756"} .bi-filetype-php::before{content:"\f757"} .bi-filetype-png::before{content:"\f758"} .bi-filetype-ppt::before{content:"\f75a"} .bi-filetype-psd::before{content:"\f75b"} .bi-filetype-py::before{content:"\f75c"} .bi-filetype-raw::before{content:"\f75d"} .bi-filetype-rb::before{content:"\f75e"} .bi-filetype-sass::before{content:"\f75f"} .bi-filetype-scss::before{content:"\f760"} .bi-filetype-sh::before{content:"\f761"} .bi-filetype-svg::before{content:"\f762"} .bi-filetype-tiff::before{content:"\f763"} .bi-filetype-tsx::before{content:"\f764"} .bi-filetype-ttf::before{content:"\f765"} .bi-filetype-txt::before{content:"\f766"} .bi-filetype-wav::before{content:"\f767"} .bi-filetype-woff::before{content:"\f768"} .bi-filetype-xls::before{content:"\f76a"} .bi-filetype-xml::before{content:"\f76b"} .bi-filetype-yml::before{content:"\f76c"} .bi-heart-arrow::before{content:"\f76d"} .bi-heart-pulse-fill::before{content:"\f76e"} .bi-heart-pulse::before{content:"\f76f"} .bi-heartbreak-fill::before{content:"\f770"} .bi-heartbreak::before{content:"\f771"} .bi-hearts::before{content:"\f772"} .bi-hospital-fill::before{content:"\f773"} .bi-hospital::before{content:"\f774"} .bi-house-heart-fill::before{content:"\f775"} .bi-house-heart::before{content:"\f776"} .bi-incognito::before{content:"\f777"} .bi-magnet-fill::before{content:"\f778"} .bi-magnet::before{content:"\f779"} .bi-person-heart::before{content:"\f77a"} .bi-person-hearts::before{content:"\f77b"} .bi-phone-flip::before{content:"\f77c"} .bi-plugin::before{content:"\f77d"} .bi-postage-fill::before{content:"\f77e"} .bi-postage-heart-fill::before{content:"\f77f"} .bi-postage-heart::before{content:"\f780"} .bi-postage::before{content:"\f781"} .bi-postcard-fill::before{content:"\f782"} .bi-postcard-heart-fill::before{content:"\f783"} .bi-postcard-heart::before{content:"\f784"} .bi-postcard::before{content:"\f785"} .bi-search-heart-fill::before{content:"\f786"} .bi-search-heart::before{content:"\f787"} .bi-sliders2-vertical::before{content:"\f788"} .bi-sliders2::before{content:"\f789"} .bi-trash3-fill::before{content:"\f78a"} .bi-trash3::before{content:"\f78b"} .bi-valentine::before{content:"\f78c"} .bi-valentine2::before{content:"\f78d"} .bi-wrench-adjustable-circle-fill::before{content:"\f78e"} .bi-wrench-adjustable-circle::before{content:"\f78f"} .bi-wrench-adjustable::before{content:"\f790"} .bi-filetype-json::before{content:"\f791"} .bi-filetype-pptx::before{content:"\f792"} .bi-filetype-xlsx::before{content:"\f793"} .bi-1-circle-fill::before{content:"\f796"} .bi-1-circle::before{content:"\f797"} .bi-1-square-fill::before{content:"\f798"} .bi-1-square::before{content:"\f799"} .bi-2-circle-fill::before{content:"\f79c"} .bi-2-circle::before{content:"\f79d"} .bi-2-square-fill::before{content:"\f79e"} .bi-2-square::before{content:"\f79f"} .bi-3-circle-fill::before{content:"\f7a2"} .bi-3-circle::before{content:"\f7a3"} .bi-3-square-fill::before{content:"\f7a4"} .bi-3-square::before{content:"\f7a5"} .bi-4-circle-fill::before{content:"\f7a8"} .bi-4-circle::before{content:"\f7a9"} .bi-4-square-fill::before{content:"\f7aa"} .bi-4-square::before{content:"\f7ab"} .bi-5-circle-fill::before{content:"\f7ae"} .bi-5-circle::before{content:"\f7af"} .bi-5-square-fill::before{content:"\f7b0"} .bi-5-square::before{content:"\f7b1"} .bi-6-circle-fill::before{content:"\f7b4"} .bi-6-circle::before{content:"\f7b5"} .bi-6-square-fill::before{content:"\f7b6"} .bi-6-square::before{content:"\f7b7"} .bi-7-circle-fill::before{content:"\f7ba"} .bi-7-circle::before{content:"\f7bb"} .bi-7-square-fill::before{content:"\f7bc"} .bi-7-square::before{content:"\f7bd"} .bi-8-circle-fill::before{content:"\f7c0"} .bi-8-circle::before{content:"\f7c1"} .bi-8-square-fill::before{content:"\f7c2"} .bi-8-square::before{content:"\f7c3"} .bi-9-circle-fill::before{content:"\f7c6"} .bi-9-circle::before{content:"\f7c7"} .bi-9-square-fill::before{content:"\f7c8"} .bi-9-square::before{content:"\f7c9"} .bi-airplane-engines-fill::before{content:"\f7ca"} .bi-airplane-engines::before{content:"\f7cb"} .bi-airplane-fill::before{content:"\f7cc"} .bi-airplane::before{content:"\f7cd"} .bi-alexa::before{content:"\f7ce"} .bi-alipay::before{content:"\f7cf"} .bi-android::before{content:"\f7d0"} .bi-android2::before{content:"\f7d1"} .bi-box-fill::before{content:"\f7d2"} .bi-box-seam-fill::before{content:"\f7d3"} .bi-browser-chrome::before{content:"\f7d4"} .bi-browser-edge::before{content:"\f7d5"} .bi-browser-firefox::before{content:"\f7d6"} .bi-browser-safari::before{content:"\f7d7"} .bi-c-circle-fill::before{content:"\f7da"} .bi-c-circle::before{content:"\f7db"} .bi-c-square-fill::before{content:"\f7dc"} .bi-c-square::before{content:"\f7dd"} .bi-capsule-pill::before{content:"\f7de"} .bi-capsule::before{content:"\f7df"} .bi-car-front-fill::before{content:"\f7e0"} .bi-car-front::before{content:"\f7e1"} .bi-cassette-fill::before{content:"\f7e2"} .bi-cassette::before{content:"\f7e3"} .bi-cc-circle-fill::before{content:"\f7e6"} .bi-cc-circle::before{content:"\f7e7"} .bi-cc-square-fill::before{content:"\f7e8"} .bi-cc-square::before{content:"\f7e9"} .bi-cup-hot-fill::before{content:"\f7ea"} .bi-cup-hot::before{content:"\f7eb"} .bi-currency-rupee::before{content:"\f7ec"} .bi-dropbox::before{content:"\f7ed"} .bi-escape::before{content:"\f7ee"} .bi-fast-forward-btn-fill::before{content:"\f7ef"} .bi-fast-forward-btn::before{content:"\f7f0"} .bi-fast-forward-circle-fill::before{content:"\f7f1"} .bi-fast-forward-circle::before{content:"\f7f2"} .bi-fast-forward-fill::before{content:"\f7f3"} .bi-fast-forward::before{content:"\f7f4"} .bi-filetype-sql::before{content:"\f7f5"} .bi-fire::before{content:"\f7f6"} .bi-google-play::before{content:"\f7f7"} .bi-h-circle-fill::before{content:"\f7fa"} .bi-h-circle::before{content:"\f7fb"} .bi-h-square-fill::before{content:"\f7fc"} .bi-h-square::before{content:"\f7fd"} .bi-indent::before{content:"\f7fe"} .bi-lungs-fill::before{content:"\f7ff"} .bi-lungs::before{content:"\f800"} .bi-microsoft-teams::before{content:"\f801"} .bi-p-circle-fill::before{content:"\f804"} .bi-p-circle::before{content:"\f805"} .bi-p-square-fill::before{content:"\f806"} .bi-p-square::before{content:"\f807"} .bi-pass-fill::before{content:"\f808"} .bi-pass::before{content:"\f809"} .bi-prescription::before{content:"\f80a"} .bi-prescription2::before{content:"\f80b"} .bi-r-circle-fill::before{content:"\f80e"} .bi-r-circle::before{content:"\f80f"} .bi-r-square-fill::before{content:"\f810"} .bi-r-square::before{content:"\f811"} .bi-repeat-1::before{content:"\f812"} .bi-repeat::before{content:"\f813"} .bi-rewind-btn-fill::before{content:"\f814"} .bi-rewind-btn::before{content:"\f815"} .bi-rewind-circle-fill::before{content:"\f816"} .bi-rewind-circle::before{content:"\f817"} .bi-rewind-fill::before{content:"\f818"} .bi-rewind::before{content:"\f819"} .bi-train-freight-front-fill::before{content:"\f81a"} .bi-train-freight-front::before{content:"\f81b"} .bi-train-front-fill::before{content:"\f81c"} .bi-train-front::before{content:"\f81d"} .bi-train-lightrail-front-fill::before{content:"\f81e"} .bi-train-lightrail-front::before{content:"\f81f"} .bi-truck-front-fill::before{content:"\f820"} .bi-truck-front::before{content:"\f821"} .bi-ubuntu::before{content:"\f822"} .bi-unindent::before{content:"\f823"} .bi-unity::before{content:"\f824"} .bi-universal-access-circle::before{content:"\f825"} .bi-universal-access::before{content:"\f826"} .bi-virus::before{content:"\f827"} .bi-virus2::before{content:"\f828"} .bi-wechat::before{content:"\f829"} .bi-yelp::before{content:"\f82a"} .bi-sign-stop-fill::before{content:"\f82b"} .bi-sign-stop-lights-fill::before{content:"\f82c"} .bi-sign-stop-lights::before{content:"\f82d"} .bi-sign-stop::before{content:"\f82e"} .bi-sign-turn-left-fill::before{content:"\f82f"} .bi-sign-turn-left::before{content:"\f830"} .bi-sign-turn-right-fill::before{content:"\f831"} .bi-sign-turn-right::before{content:"\f832"} .bi-sign-turn-slight-left-fill::before{content:"\f833"} .bi-sign-turn-slight-left::before{content:"\f834"} .bi-sign-turn-slight-right-fill::before{content:"\f835"} .bi-sign-turn-slight-right::before{content:"\f836"} .bi-sign-yield-fill::before{content:"\f837"} .bi-sign-yield::before{content:"\f838"} .bi-ev-station-fill::before{content:"\f839"} .bi-ev-station::before{content:"\f83a"} .bi-fuel-pump-diesel-fill::before{content:"\f83b"} .bi-fuel-pump-diesel::before{content:"\f83c"} .bi-fuel-pump-fill::before{content:"\f83d"} .bi-fuel-pump::before{content:"\f83e"} .bi-0-circle-fill::before{content:"\f83f"} .bi-0-circle::before{content:"\f840"} .bi-0-square-fill::before{content:"\f841"} .bi-0-square::before{content:"\f842"} .bi-rocket-fill::before{content:"\f843"} .bi-rocket-takeoff-fill::before{content:"\f844"} .bi-rocket-takeoff::before{content:"\f845"} .bi-rocket::before{content:"\f846"} .bi-stripe::before{content:"\f847"} .bi-subscript::before{content:"\f848"} .bi-superscript::before{content:"\f849"} .bi-trello::before{content:"\f84a"} .bi-envelope-at-fill::before{content:"\f84b"} .bi-envelope-at::before{content:"\f84c"} .bi-regex::before{content:"\f84d"} .bi-text-wrap::before{content:"\f84e"} .bi-sign-dead-end-fill::before{content:"\f84f"} .bi-sign-dead-end::before{content:"\f850"} .bi-sign-do-not-enter-fill::before{content:"\f851"} .bi-sign-do-not-enter::before{content:"\f852"} .bi-sign-intersection-fill::before{content:"\f853"} .bi-sign-intersection-side-fill::before{content:"\f854"} .bi-sign-intersection-side::before{content:"\f855"} .bi-sign-intersection-t-fill::before{content:"\f856"} .bi-sign-intersection-t::before{content:"\f857"} .bi-sign-intersection-y-fill::before{content:"\f858"} .bi-sign-intersection-y::before{content:"\f859"} .bi-sign-intersection::before{content:"\f85a"} .bi-sign-merge-left-fill::before{content:"\f85b"} .bi-sign-merge-left::before{content:"\f85c"} .bi-sign-merge-right-fill::before{content:"\f85d"} .bi-sign-merge-right::before{content:"\f85e"} .bi-sign-no-left-turn-fill::before{content:"\f85f"} .bi-sign-no-left-turn::before{content:"\f860"} .bi-sign-no-parking-fill::before{content:"\f861"} .bi-sign-no-parking::before{content:"\f862"} .bi-sign-no-right-turn-fill::before{content:"\f863"} .bi-sign-no-right-turn::before{content:"\f864"} .bi-sign-railroad-fill::before{content:"\f865"} .bi-sign-railroad::before{content:"\f866"} .bi-building-add::before{content:"\f867"} .bi-building-check::before{content:"\f868"} .bi-building-dash::before{content:"\f869"} .bi-building-down::before{content:"\f86a"} .bi-building-exclamation::before{content:"\f86b"} .bi-building-fill-add::before{content:"\f86c"} .bi-building-fill-check::before{content:"\f86d"} .bi-building-fill-dash::before{content:"\f86e"} .bi-building-fill-down::before{content:"\f86f"} .bi-building-fill-exclamation::before{content:"\f870"} .bi-building-fill-gear::before{content:"\f871"} .bi-building-fill-lock::before{content:"\f872"} .bi-building-fill-slash::before{content:"\f873"} .bi-building-fill-up::before{content:"\f874"} .bi-building-fill-x::before{content:"\f875"} .bi-building-fill::before{content:"\f876"} .bi-building-gear::before{content:"\f877"} .bi-building-lock::before{content:"\f878"} .bi-building-slash::before{content:"\f879"} .bi-building-up::before{content:"\f87a"} .bi-building-x::before{content:"\f87b"} .bi-buildings-fill::before{content:"\f87c"} .bi-buildings::before{content:"\f87d"} .bi-bus-front-fill::before{content:"\f87e"} .bi-bus-front::before{content:"\f87f"} .bi-ev-front-fill::before{content:"\f880"} .bi-ev-front::before{content:"\f881"} .bi-globe-americas::before{content:"\f882"} .bi-globe-asia-australia::before{content:"\f883"} .bi-globe-central-south-asia::before{content:"\f884"} .bi-globe-europe-africa::before{content:"\f885"} .bi-house-add-fill::before{content:"\f886"} .bi-house-add::before{content:"\f887"} .bi-house-check-fill::before{content:"\f888"} .bi-house-check::before{content:"\f889"} .bi-house-dash-fill::before{content:"\f88a"} .bi-house-dash::before{content:"\f88b"} .bi-house-down-fill::before{content:"\f88c"} .bi-house-down::before{content:"\f88d"} .bi-house-exclamation-fill::before{content:"\f88e"} .bi-house-exclamation::before{content:"\f88f"} .bi-house-gear-fill::before{content:"\f890"} .bi-house-gear::before{content:"\f891"} .bi-house-lock-fill::before{content:"\f892"} .bi-house-lock::before{content:"\f893"} .bi-house-slash-fill::before{content:"\f894"} .bi-house-slash::before{content:"\f895"} .bi-house-up-fill::before{content:"\f896"} .bi-house-up::before{content:"\f897"} .bi-house-x-fill::before{content:"\f898"} .bi-house-x::before{content:"\f899"} .bi-person-add::before{content:"\f89a"} .bi-person-down::before{content:"\f89b"} .bi-person-exclamation::before{content:"\f89c"} .bi-person-fill-add::before{content:"\f89d"} .bi-person-fill-check::before{content:"\f89e"} .bi-person-fill-dash::before{content:"\f89f"} .bi-person-fill-down::before{content:"\f8a0"} .bi-person-fill-exclamation::before{content:"\f8a1"} .bi-person-fill-gear::before{content:"\f8a2"} .bi-person-fill-lock::before{content:"\f8a3"} .bi-person-fill-slash::before{content:"\f8a4"} .bi-person-fill-up::before{content:"\f8a5"} .bi-person-fill-x::before{content:"\f8a6"} .bi-person-gear::before{content:"\f8a7"} .bi-person-lock::before{content:"\f8a8"} .bi-person-slash::before{content:"\f8a9"} .bi-person-up::before{content:"\f8aa"} .bi-scooter::before{content:"\f8ab"} .bi-taxi-front-fill::before{content:"\f8ac"} .bi-taxi-front::before{content:"\f8ad"} .bi-amd::before{content:"\f8ae"} .bi-database-add::before{content:"\f8af"} .bi-database-check::before{content:"\f8b0"} .bi-database-dash::before{content:"\f8b1"} .bi-database-down::before{content:"\f8b2"} .bi-database-exclamation::before{content:"\f8b3"} .bi-database-fill-add::before{content:"\f8b4"} .bi-database-fill-check::before{content:"\f8b5"} .bi-database-fill-dash::before{content:"\f8b6"} .bi-database-fill-down::before{content:"\f8b7"} .bi-database-fill-exclamation::before{content:"\f8b8"} .bi-database-fill-gear::before{content:"\f8b9"} .bi-database-fill-lock::before{content:"\f8ba"} .bi-database-fill-slash::before{content:"\f8bb"} .bi-database-fill-up::before{content:"\f8bc"} .bi-database-fill-x::before{content:"\f8bd"} .bi-database-fill::before{content:"\f8be"} .bi-database-gear::before{content:"\f8bf"} .bi-database-lock::before{content:"\f8c0"} .bi-database-slash::before{content:"\f8c1"} .bi-database-up::before{content:"\f8c2"} .bi-database-x::before{content:"\f8c3"} .bi-database::before{content:"\f8c4"} .bi-houses-fill::before{content:"\f8c5"} .bi-houses::before{content:"\f8c6"} .bi-nvidia::before{content:"\f8c7"} .bi-person-vcard-fill::before{content:"\f8c8"} .bi-person-vcard::before{content:"\f8c9"} .bi-sina-weibo::before{content:"\f8ca"} .bi-tencent-qq::before{content:"\f8cb"} .bi-wikipedia::before{content:"\f8cc"} .bi-alphabet-uppercase::before{content:"\f2a5"} .bi-alphabet::before{content:"\f68a"} .bi-amazon::before{content:"\f68d"} .bi-arrows-collapse-vertical::before{content:"\f690"} .bi-arrows-expand-vertical::before{content:"\f695"} .bi-arrows-vertical::before{content:"\f698"} .bi-arrows::before{content:"\f6a2"} .bi-ban-fill::before{content:"\f6a3"} .bi-ban::before{content:"\f6b6"} .bi-bing::before{content:"\f6c2"} .bi-cake::before{content:"\f6e0"} .bi-cake2::before{content:"\f6ed"} .bi-cookie::before{content:"\f6ee"} .bi-copy::before{content:"\f759"} .bi-crosshair::before{content:"\f769"} .bi-crosshair2::before{content:"\f794"} .bi-emoji-astonished-fill::before{content:"\f795"} .bi-emoji-astonished::before{content:"\f79a"} .bi-emoji-grimace-fill::before{content:"\f79b"} .bi-emoji-grimace::before{content:"\f7a0"} .bi-emoji-grin-fill::before{content:"\f7a1"} .bi-emoji-grin::before{content:"\f7a6"} .bi-emoji-surprise-fill::before{content:"\f7a7"} .bi-emoji-surprise::before{content:"\f7ac"} .bi-emoji-tear-fill::before{content:"\f7ad"} .bi-emoji-tear::before{content:"\f7b2"} .bi-envelope-arrow-down-fill::before{content:"\f7b3"} .bi-envelope-arrow-down::before{content:"\f7b8"} .bi-envelope-arrow-up-fill::before{content:"\f7b9"} .bi-envelope-arrow-up::before{content:"\f7be"} .bi-feather::before{content:"\f7bf"} .bi-feather2::before{content:"\f7c4"} .bi-floppy-fill::before{content:"\f7c5"} .bi-floppy::before{content:"\f7d8"} .bi-floppy2-fill::before{content:"\f7d9"} .bi-floppy2::before{content:"\f7e4"} .bi-gitlab::before{content:"\f7e5"} .bi-highlighter::before{content:"\f7f8"} .bi-marker-tip::before{content:"\f802"} .bi-nvme-fill::before{content:"\f803"} .bi-nvme::before{content:"\f80c"} .bi-opencollective::before{content:"\f80d"} .bi-pci-card-network::before{content:"\f8cd"} .bi-pci-card-sound::before{content:"\f8ce"} .bi-radar::before{content:"\f8cf"} .bi-send-arrow-down-fill::before{content:"\f8d0"} .bi-send-arrow-down::before{content:"\f8d1"} .bi-send-arrow-up-fill::before{content:"\f8d2"} .bi-send-arrow-up::before{content:"\f8d3"} .bi-sim-slash-fill::before{content:"\f8d4"} .bi-sim-slash::before{content:"\f8d5"} .bi-sourceforge::before{content:"\f8d6"} .bi-substack::before{content:"\f8d7"} .bi-threads-fill::before{content:"\f8d8"} .bi-threads::before{content:"\f8d9"} .bi-transparency::before{content:"\f8da"} .bi-twitter-x::before{content:"\f8db"} .bi-type-h4::before{content:"\f8dc"} .bi-type-h5::before{content:"\f8dd"} .bi-type-h6::before{content:"\f8de"} .bi-backpack-fill::before{content:"\f8df"} .bi-backpack::before{content:"\f8e0"} .bi-backpack2-fill::before{content:"\f8e1"} .bi-backpack2::before{content:"\f8e2"} .bi-backpack3-fill::before{content:"\f8e3"} .bi-backpack3::before{content:"\f8e4"} .bi-backpack4-fill::before{content:"\f8e5"} .bi-backpack4::before{content:"\f8e6"} .bi-brilliance::before{content:"\f8e7"} .bi-cake-fill::before{content:"\f8e8"} .bi-cake2-fill::before{content:"\f8e9"} .bi-duffle-fill::before{content:"\f8ea"} .bi-duffle::before{content:"\f8eb"} .bi-exposure::before{content:"\f8ec"} .bi-gender-neuter::before{content:"\f8ed"} .bi-highlights::before{content:"\f8ee"} .bi-luggage-fill::before{content:"\f8ef"} .bi-luggage::before{content:"\f8f0"} .bi-mailbox-flag::before{content:"\f8f1"} .bi-mailbox2-flag::before{content:"\f8f2"} .bi-noise-reduction::before{content:"\f8f3"} .bi-passport-fill::before{content:"\f8f4"} .bi-passport::before{content:"\f8f5"} .bi-person-arms-up::before{content:"\f8f6"} .bi-person-raised-hand::before{content:"\f8f7"} .bi-person-standing-dress::before{content:"\f8f8"} .bi-person-standing::before{content:"\f8f9"} .bi-person-walking::before{content:"\f8fa"} .bi-person-wheelchair::before{content:"\f8fb"} .bi-shadows::before{content:"\f8fc"} .bi-suitcase-fill::before{content:"\f8fd"} .bi-suitcase-lg-fill::before{content:"\f8fe"} .bi-suitcase-lg::before{content:"\f8ff"} .bi-suitcase::before{content:"\f900"} .bi-suitcase2-fill::before{content:"\f901"} .bi-suitcase2::before{content:"\f902"} .bi-vignette::before{content:"\f903"} \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/src/lib/css/bootstrap/bootstrap.min.css b/auth-module/module-generator-code/src/main/resources/static/src/lib/css/bootstrap/bootstrap.min.css new file mode 100644 index 0000000..e618cd8 --- /dev/null +++ b/auth-module/module-generator-code/src/main/resources/static/src/lib/css/bootstrap/bootstrap.min.css @@ -0,0 +1,6 @@ +@charset "UTF-8";/*! + * Bootstrap v5.3.7 (https://getbootstrap.com/) + * Copyright 2011-2025 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,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:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{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:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);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:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);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:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,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}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button: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;line-height:inherit;font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-weight:300;line-height:1.2;font-size:calc(1.625rem + 4.5vw)}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-weight:300;line-height:1.2;font-size:calc(1.575rem + 3.9vw)}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-weight:300;line-height:1.2;font-size:calc(1.525rem + 3.3vw)}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-weight:300;line-height:1.2;font-size:calc(1.475rem + 2.7vw)}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-weight:300;line-height:1.2;font-size:calc(1.425rem + 2.1vw)}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-weight:300;line-height:1.2;font-size:calc(1.375rem + 1.5vw)}@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:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--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,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--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:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--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{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.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}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;max-width:100%;height:100%;padding:1rem .75rem;overflow:hidden;color:rgba(var(--bs-body-color-rgb),.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .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 .75rem}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:.75rem}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>textarea:focus~label::after,.form-floating>textarea:not(:placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>textarea:disabled~label::after{background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.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,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.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,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(-1 * var(--bs-border-width));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:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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.1'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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.1'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;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 .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .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,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{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,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{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-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.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:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--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-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .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 .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-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:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.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;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{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:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--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-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(-1 * var(--bs-border-width))}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(-1 * var(--bs-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-grow:1;flex-basis:0;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:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{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;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child)>.card-header,.card-group>.card:not(:last-child)>.card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child)>.card-footer,.card-group>.card:not(:last-child)>.card-img-bottom{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-header,.card-group>.card:not(:first-child)>.card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child)>.card-footer,.card-group>.card:not(:first-child)>.card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%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-.708'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%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-.708'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .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)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1 * var(--bs-border-width))}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.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:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):focus,.list-group-item-action:not(.active):hover{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:not(.active):active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;filter:var(--bs-btn-close-filter);border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}:root,[data-bs-theme=light]{--bs-btn-close-filter: }[data-bs-theme=dark]{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color:var(--bs-body-color);--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translate(0,-50px);transition:transform .3s ease-out}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left:auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{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-footer,.modal-fullscreen-sm-down .modal-header{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-footer,.modal-fullscreen-md-down .modal-header{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-footer,.modal-fullscreen-lg-down .modal-header{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-footer,.modal-fullscreen-xl-down .modal-header{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-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family: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-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-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-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .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-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-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-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .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:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family: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::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.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-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-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-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.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-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.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}.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%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;filter:var(--bs-carousel-control-icon-filter);border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-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 0'/%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-.708'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .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:var(--bs-carousel-caption-color);text-align:center}.carousel-dark{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}.spinner-border,.spinner-grow{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)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{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;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-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));margin-left:auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.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{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.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:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit: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}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;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-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.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}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!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:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.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}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.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}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit: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-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.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}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.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}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.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}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/auth-module/module-generator-code/src/main/resources/static/src/lib/css/fonts/bootstrap-icons.woff b/auth-module/module-generator-code/src/main/resources/static/src/lib/css/fonts/bootstrap-icons.woff new file mode 100644 index 0000000000000000000000000000000000000000..dbeeb055674125ad78fda0f3d166b36e5cc92336 GIT binary patch literal 176200 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
已生成的文件列表
+ +{{item.code}} + +
+{{item.code}} +
+ 快速生成数据库表对应的代码,这里可以跳转到 + 数据库生成 + 或 + SQL语句生成 +
uA8)y(6}9^u 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