diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 13e3376..1968d25 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -16,11 +16,11 @@ jobs: timeout-minutes: 2 steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Set up python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: - python-version: 3.11 + python-version: 3.14 - name: Runs pre-commit run: | pip install pre-commit diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index f990ffb..c1ee854 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -16,12 +16,12 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} - name: Install dependencies diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 15e93dd..ace7fb8 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -21,9 +21,9 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: '3.x' - name: Install dependencies diff --git a/.gitignore b/.gitignore index ac2adf6..e0f803b 100644 --- a/.gitignore +++ b/.gitignore @@ -68,3 +68,6 @@ docs/_build/ # PyBuilder target/ +# pixi environments +.pixi/* +!.pixi/config.toml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9bc6360..75aaec1 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -12,7 +12,7 @@ repos: - id: detect-private-key - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. - rev: v0.13.0 + rev: v0.15.8 hooks: # Run the linter. - id: ruff-check @@ -20,6 +20,6 @@ repos: - id: ruff-format args: [--verbose] - repo: https://github.com/pycqa/isort - rev: 6.0.1 + rev: 8.0.1 hooks: - id: isort diff --git a/evv4esm/__init__.py b/evv4esm/__init__.py index c6711f1..6e3557a 100644 --- a/evv4esm/__init__.py +++ b/evv4esm/__init__.py @@ -28,7 +28,7 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version_info__ = (0, 5, 2) +__version_info__ = (0, 6, 0) __version__ = ".".join(str(vi) for vi in __version_info__) PASS_COLOR = "#389933" diff --git a/evv4esm/extensions/ks.bib b/evv4esm/extensions/ks.bib index 3921486..a09d619 100644 --- a/evv4esm/extensions/ks.bib +++ b/evv4esm/extensions/ks.bib @@ -25,3 +25,14 @@ @article{MAHAJAN2019 eprint = {https://doi.org/10.1177/1094342019837341}, abstract = {We present a methodology for solution reproducibility for the Energy Exascale Earth System Model during its ongoing software infrastructure development to prepare for exascale computers. The nonlinear chaotic nature of climate system simulations precludes traditional model verification approaches since machine precision differences—resulting from code refactoring, changes in software environment, and so on—grow exponentially to a different weather state. Here, we leverage the nature of climate as a statistical description of the atmosphere in order to establish model reproducibility. We evaluate the degree to which two-sample equality of distribution tests can confidently detect the change in climate from minor tuning parameter changes on model output variables in order to establish the level of difference that indicates a new climate. To apply this (baselined test), we target a section of the model’s development cycle wherein no intentional science changes have been applied to its source code. We compare an ensemble of short simulations that were conducted using a verified model configuration against a new ensemble with the same configuration but with the latest software infrastructure (Common Infrastructure for Modeling the Earth, CIME5.0), compiler versions, and software libraries. We also compare these against ensemble simulations conducted using the original version of the software infrastructure (CIME4.0) of the earlier model configuration, but with the latest compilers and software libraries, to test the impact of new compilers and libraries in isolation from additional software infrastructure. The two-sample equality of distribution tests indicates that these ensembles indeed represent the same climate.} } +@Article{mksm2026, +AUTHOR = {Kelleher, M. E. and Mahajan, S.}, +TITLE = {Enhanced climate reproducibility testing with false discovery rate correction}, +JOURNAL = {Earth System Dynamics}, +VOLUME = {17}, +YEAR = {2026}, +NUMBER = {1}, +PAGES = {23--39}, +URL = {https://esd.copernicus.org/articles/17/23/2026/}, +DOI = {10.5194/esd-17-23-2026} +} diff --git a/evv4esm/extensions/ks.py b/evv4esm/extensions/ks.py index 8dfb9c4..0d6c68a 100755 --- a/evv4esm/extensions/ks.py +++ b/evv4esm/extensions/ks.py @@ -36,12 +36,15 @@ The (per variable) null hypothesis uses the non-parametric, two-sample (n and m) Kolmogorov-Smirnov test as the univariate test of equality of distribution of -global means. The test statistic (t) is the number of variables that reject the -(per variable) null hypothesis of equality of distribution at a 95% confidence -level. The (overall) null hypothesis is rejected if t > α, where α is some -critical number of rejecting variables. The critical value, α, is obtained from -an empirically derived approximate null distribution of t using resampling -techniques. +global means. This creates a set of p-values, which is corrected using the False +Discovery Rate (FDR) correction, and the test statistic (t) is the number of variables +that reject the (per variable) null hypothesis of equality of distribution at a 95% +confidence level after correction. The (overall) null hypothesis is rejected if +t >= 1 (i.e. if any field is rejected after correction). + +Three other statstical tests are provided for comparison purposes, the Mann-Whitney U +(M-W) test, Student's t-test (T), and the Cramér-von Mises (C-VM) test. The FDR +corrected K-S result is still used to compute overall pass / fail. """ import argparse @@ -165,6 +168,15 @@ def parse_args(args=None): type=str, ) + parser.add_argument( + "--use-test", + default="K-S", + help=( + "Test to use for determination of global PASS/FAIL, " + "all others provided as information" + ), + ) + args, _ = parser.parse_known_args(args) # use config file arguments, but override with command line arguments @@ -225,32 +237,34 @@ def run(name, config): args.img_dir = os.path.join(livvkit.output_dir, "validation", "imgs", name) fn.mkdir_p(args.img_dir) - - details, img_gal = main(args) + tests = ["K-S", "M-W", "C-VM", "T"] + details, img_gal = main(args, tests) table_data = pd.DataFrame(details).T - uc_rejections = (table_data["K-S test p-val"] < args.alpha).sum() - _hdrs = [ - "h0", - "K-S test stat", - "K-S test p-val", - "K-S test p-val cor", - "T test stat", - "T test p-val", - "mean test case", - "mean ref. case", - "std test case", - "std ref. case", + uc_rejections = [ + (table_data[f"{_test} test p-val"] < args.alpha).sum() for _test in tests + ] + cor_rejections = [ + (table_data[f"{_test} test p-val cor"] < args.alpha).sum() for _test in tests ] + _hdrs = ["h0"] + for _test in tests: + _hdrs.extend( + [f"{_test} test stat", f"{_test} test p-val", f"{_test} test p-val cor"] + ) + _hdrs.extend( + [ + "mean test case", + "mean ref. case", + "std test case", + "std ref. case", + ] + ) table_data = table_data[_hdrs] for _hdr in _hdrs[1:]: table_data[_hdr] = table_data[_hdr].apply(col_fmt) - tables = [ - el.Table("Rejected", data=table_data[table_data["h0"] == "reject"]), - el.Table("Accepted", data=table_data[table_data["h0"] == "accept"]), - el.Table("Null", data=table_data[~table_data["h0"].isin(["accept", "reject"])]), - ] + tables = [el.Table("Test details", data=table_data, data_table=True)] bib_html = bib2html(os.path.join(os.path.dirname(__file__), "ks.bib")) @@ -258,26 +272,40 @@ def run(name, config): {"Figures": img_gal, "Details": tables, "References": [el.RawHTML(bib_html)]} ) rejects = [var for var, dat in details.items() if dat["h0"] == "reject"] + assert len(rejects) == cor_rejections[0], ( + "REJECTIONS FOR GLOBAL PASS/FAIL DON'T MATCH" + ) + if args.uncorrected: critical = args.critical else: critical = 1 + test_status = ["pass" if len(rejects) < critical else "fail"] + stat_desc = [ + "statistically identical" + if test_status[0] == "pass" + else "statistically different" + ] + for idx, _ in enumerate(tests[1:]): + if cor_rejections[idx + 1] < 1: + test_status.append("pass") + stat_desc.append("statistically identical") + else: + test_status.append("fail") + stat_desc.append("statistically different") + results = el.Table( title="Results", data=OrderedDict( { - # 'Test status': ['pass' if len(rejects) < args.critical else 'fail'], - "Test status": ["pass" if len(rejects) < critical else "fail"], - "Variables analyzed": [len(details.keys())], - "Rejecting": [len(rejects)], - "Critical value": [int(critical)], - "Ensembles": [ - "statistically identical" - if len(rejects) < critical - else "statistically different" - ], - "Un-corrected rejections": [uc_rejections], + "Statistical test": tests, + "Test status": test_status, + "Variables analyzed": [len(details.keys())] * len(tests), + "Rejecting": cor_rejections, + "Critical value": [int(critical)] * len(tests), + "Ensembles": stat_desc, + "Un-corrected rejections": uc_rejections, } ), ) @@ -367,7 +395,56 @@ def populate_metadata(): return metadata -def compute_details(annual_avgs, common_vars, args): +def test_compare(annuals_1, annuals_2, test_name): + """ + Generate statistic and p-value for a statistical test with pre-specified parameters + + Parameters + ---------- + annuals_1 : ``array_like`` + Annual global mean for ensemble 1 (ref) (n ensembles) + annuals_2 : ``array_like`` + Annual global mean for ensemble 2 (test) (n ensembles) + test_name : str + Name of test (one of "T", "K-S", "M-W", or "C-VM" for Student's t-test, + Kolmogorov-Smirnov test, Mann-Whitney U test, or Cramer-von Mises test + respectively) + + Raises + ------ + NotImplementedError : If ``test_name`` is not implemented + + Returns + ------- + _stat : float + Test statistic + _pval : float + P-value + + """ + if test_name == "T": + _stat, _pval = stats.ttest_ind( + annuals_1, annuals_2, equal_var=False, nan_policy=str("omit") + ) + elif test_name == "K-S": + _stat, _pval = stats.ks_2samp(annuals_1, annuals_2) + elif test_name == "M-W": + _res = stats.mannwhitneyu(annuals_1, annuals_2) + _stat = _res.statistic + _pval = _res.pvalue + elif test_name == "C-VM": + _res = stats.cramervonmises_2samp(annuals_1, annuals_2) + _stat, _pval = _res.statistic, _res.pvalue + else: + _stat = np.nan + _pval = np.nan + raise NotImplementedError( + f"THE TEST {test_name} IS NOT (YET) IMPLEMENTED IN EVV" + ) + return _stat, _pval + + +def compute_details(annual_avgs, common_vars, args, tests): """Compute the detail table, perform a T Test and K-S test for each variable.""" details = LIVVDict() for var in sorted(common_vars): @@ -378,20 +455,18 @@ def compute_details(annual_avgs, common_vars, args): "case == @args.ref_case & variable == @var" ).monthly_mean.values - ttest_t, ttest_p = stats.ttest_ind( - annuals_1, annuals_2, equal_var=False, nan_policy=str("omit") - ) - ks_d, ks_p = stats.ks_2samp(annuals_1, annuals_2) - - if np.isnan([ttest_t, ttest_p]).any() or np.isinf([ttest_t, ttest_p]).any(): - ttest_t = None - ttest_p = None - - details[var]["T test stat"] = ttest_t - details[var]["T test p-val"] = ttest_p - - details[var]["K-S test stat"] = ks_d - details[var]["K-S test p-val"] = ks_p + # Compute all test statistics and p-values + for _test in tests: + _stat, _pval = test_compare(annuals_1, annuals_2, _test) + if np.isnan([_stat, _pval]).any() or np.isinf([_stat, _pval]).any(): + if np.sum(annuals_1 - annuals_2) == 0: + _stat = 0.0 + _pval = 1.0 + else: + _stat = None + _pval = None + details[var][f"{_test} test stat"] = _stat + details[var][f"{_test} test p-val"] = _pval details[var]["mean test case"] = annuals_1.mean() details[var]["mean ref. case"] = annuals_2.mean() @@ -409,20 +484,30 @@ def compute_details(annual_avgs, common_vars, args): # Convert to a Dataframe, transposed so that the index is the variable name detail_df = pd.DataFrame(details).T # Create a null hypothesis rejection column for un-corrected p-values - detail_df["h0_uc"] = detail_df["K-S test p-val"] < args.alpha + for _test in tests: + detail_df[f"h0_uc_{_test}"] = detail_df[f"{_test} test p-val"] < args.alpha + + (detail_df[f"h0_c_{_test}"], detail_df[f"{_test} test p-val cor"]) = ( + smm.fdrcorrection( + detail_df[f"{_test} test p-val"], + alpha=args.alpha, + method="p", + is_sorted=False, + ) + ) - (detail_df["h0_c"], detail_df["K-S test p-val cor"]) = smm.fdrcorrection( - detail_df["K-S test p-val"], alpha=args.alpha, method="p", is_sorted=False - ) if args.uncorrected: - _testkey = "h0_uc" + _testkey = f"h0_uc_{args.use_test}" else: - _testkey = "h0_c" + _testkey = f"h0_c_{args.use_test}" for var in common_vars: - details[var]["K-S test p-val cor"] = detail_df.loc[var, "K-S test p-val cor"] + for _test in tests: + details[var][f"{_test} test p-val cor"] = detail_df.loc[ + var, f"{_test} test p-val cor" + ] - if details[var]["T test stat"] is None: + if details[var]["K-S test stat"] == 0: details[var]["h0"] = "-" elif detail_df.loc[var, _testkey]: details[var]["h0"] = "reject" @@ -432,7 +517,7 @@ def compute_details(annual_avgs, common_vars, args): return details -def main(args): +def main(args, tests): ens_files, key1, key2 = case_files(args) if args.test_case == args.ref_case: args.test_case = key1 @@ -459,7 +544,7 @@ def main(args): ) images = {"accept": [], "reject": [], "-": []} - details = compute_details(annual_avgs, common_vars, args) + details = compute_details(annual_avgs, common_vars, args, tests) for var in sorted(common_vars): annuals_1 = annual_avgs.query( @@ -521,4 +606,4 @@ def main(args): if __name__ == "__main__": - print_details(main(parse_args())) + print_details(main(parse_args(), ["K-S", "M-W", "C-VM", "T"])) diff --git a/evv4esm/extensions/ks_vars.json b/evv4esm/extensions/ks_vars.json index 003fe6d..10534d0 100644 --- a/evv4esm/extensions/ks_vars.json +++ b/evv4esm/extensions/ks_vars.json @@ -60,21 +60,17 @@ "FSUTOA", "H2O2_SRF", "H2SO4_SRF", - "ICEFRAC", "ICIMR", "ICWMR", "IWC", - "LANDFRAC", "LHFLX", "LIQCLDF", "LWCF", "NUMICE", "NUMLIQ", - "OCNFRAC", "OMEGA", "OMEGAT", "PBLH", - "PHIS", "PRECC", "PRECL", "PRECSC", @@ -92,7 +88,6 @@ "SNOWHLND", "SO2_SRF", "SOAG_SRF", - "SOLIN", "SWCF", "T", "TAUGWX", diff --git a/evv4esm/extensions/kso.py b/evv4esm/extensions/kso.py index 65722ac..090fe03 100644 --- a/evv4esm/extensions/kso.py +++ b/evv4esm/extensions/kso.py @@ -223,10 +223,14 @@ def run(name, config): table_data = pd.DataFrame(details).T _hdrs = [ "h0", - f"Pre-Correction (N, %) < {args.alpha}", - f"Post-Correction (N, %) < {args.alpha}", - "mean (test case, ref. case)", - "std (test case, ref. case)", + f"Pre-Correction N < {args.alpha}", + f"Pre-Correction % < {args.alpha}", + f"Post-Correction N < {args.alpha}", + f"Post-Correction % < {args.alpha}", + "mean test case", + "mean ref. case", + "std test case", + "std ref. case", ] table_data = table_data[_hdrs] for _hdr in _hdrs[1:]: @@ -236,9 +240,17 @@ def run(name, config): table_data[_hdr] = table_data[_hdr].apply(col_fmt_ff) tables = [ - el.Table("Rejected", data=table_data[table_data["h0"] == "reject"]), - el.Table("Accepted", data=table_data[table_data["h0"] == "accept"]), - el.Table("Null", data=table_data[~table_data["h0"].isin(["accept", "reject"])]), + el.Table( + "Rejected", data=table_data[table_data["h0"] == "reject"], data_table=True + ), + el.Table( + "Accepted", data=table_data[table_data["h0"] == "accept"], data_table=True + ), + el.Table( + "Null", + data=table_data[~table_data["h0"].isin(["accept", "reject"])], + data_table=True, + ), ] bib_html = bib2html(os.path.join(os.path.dirname(__file__), "ks.bib")) @@ -411,14 +423,15 @@ def main(args): if null_reject_post_correct <= args.critical: test_result = "accept" - details[var][f"Pre-Correction (N, %) < {args.alpha}"] = ( - null_reject_pre_correct, - 100 * null_reject_pre_correct / np.prod(p_val.shape), + details[var][f"Pre-Correction N < {args.alpha}"] = null_reject_pre_correct + details[var][f"Pre-Correction % < {args.alpha}"] = ( + 100 * null_reject_pre_correct / np.prod(p_val.shape) ) - details[var][f"Post-Correction (N, %) < {args.alpha}"] = ( - null_reject_post_correct, - 100 * null_reject_post_correct / np.prod(p_val.shape), + details[var][f"Post-Correction N < {args.alpha}"] = null_reject_post_correct + + details[var][f"Post-Correction % < {args.alpha}"] = ( + 100 * null_reject_post_correct / np.prod(p_val.shape) ) # For output, mask out missing data, can't do this before the K-S test because @@ -427,14 +440,16 @@ def main(args): mask_value = -0.9999e33 annuals_1 = np.ma.masked_less(annuals_1, mask_value) annuals_2 = np.ma.masked_less(annuals_2, mask_value) - details[var]["mean (test case, ref. case)"] = ( - annuals_1.mean(), - annuals_2.mean(), - ) + agg_fcns = [ + (np.nanmax, "max"), + (np.nanmin, "min"), + (np.nanmean, "mean"), + (np.nanstd, "std"), + ] + for _fcn, fname in agg_fcns: + for _case, _data in [("test", annuals_1), ("ref.", annuals_2)]: + details[var][f"{fname} {_case} case"] = _fcn(_data) - details[var]["max (test case, ref. case)"] = (annuals_1.max(), annuals_2.max()) - details[var]["min (test case, ref. case)"] = (annuals_1.min(), annuals_2.min()) - details[var]["std (test case, ref. case)"] = (annuals_1.std(), annuals_2.std()) details[var]["h0"] = test_result img_file = os.path.relpath( @@ -457,9 +472,9 @@ def main(args): img_desc = ( f"Mean annual global average of {var}{var_1['desc']} for " f"{args.test_case} is " - f"{details[var]['mean (test case, ref. case)'][0]:.4e} and for " + f"{details[var]['mean test case']:.4e} and for " f"{args.ref_case} is " - f"{details[var]['mean (test case, ref. case)'][1]:.4e}. " + f"{details[var]['mean ref. case']:.4e}. " f"Pass (fail) is indicated by {human_color_names['fail'][0]} " f"({human_color_names['pass'][0]}) coloring of the plot markers and bars." ) diff --git a/evv4esm/extensions/pg.py b/evv4esm/extensions/pg.py index b97ce02..129724b 100644 --- a/evv4esm/extensions/pg.py +++ b/evv4esm/extensions/pg.py @@ -87,8 +87,11 @@ def _instance2sub(instance_number, total_perturbations): perturbation index (pi) subscripts instances use 1-based indexes and vary according to this function: - ii = ci * len(PERTURBATIONS) + pi + 1 + + ``ii = ci * len(PERTURBATIONS) + pi + 1`` + where both pi and ci use 0-based indexes. + """ perturbation_index = (instance_number - 1) % total_perturbations initial_condition = ( @@ -103,7 +106,9 @@ def _sub2instance(initial_condition, perturbation_index, total_perturbations): to an instance number (ii) instances use 1-based indexes and vary according to this function: - ii = ci * len(PERTURBATIONS) + pi + 1 + + ``ii = ci * len(PERTURBATIONS) + pi + 1`` + where both pi and ci use 0-based indexes. """ instance = initial_condition * total_perturbations + perturbation_index + 1 @@ -159,7 +164,7 @@ def variables_rmse(ifile_test, ifile_cntl, var_list, var_pefix=""): ifile_test: Path to a NetCDF dataset for a perturbed simulation ifile_cntl: Path to a NetCDF dataset for the control simulation var_list (list): List of all variables to analyze - var_pefix: Optional prefix (e.g., t_, qv_) to apply to the variable + var_pefix: Optional prefix (e.g., ``t_``, ``qv_``) to apply to the variable returns: rmse (pandas.DataFrame): A dataframe containing the RMSE and maximum @@ -403,8 +408,7 @@ def run(name, config, print_details=False): Args: name: The name of the extension config: The test's config dictionary - print_details: Whether to print the analysis details to stdout - (default: False) + print_details: Whether to print the analysis details to stdout (default: False) Returns: A LIVVkit page element containing the LIVVkit elements to display on a webpage diff --git a/evv4esm/extensions/tsc.py b/evv4esm/extensions/tsc.py index aa99670..1ea9e9c 100644 --- a/evv4esm/extensions/tsc.py +++ b/evv4esm/extensions/tsc.py @@ -99,8 +99,7 @@ def run(name, config, print_details=False): Args: name: The name of the extension config: The test's config dictionary - print_details: Whether to print the analysis details to stdout - (default: False) + print_details: Whether to print the analysis details to stdout (default: False) Returns: A LIVVkit page element containing the LIVVkit elements to display on a webpage @@ -131,7 +130,11 @@ def run(name, config, print_details=False): tbl_data[_hdr].append(val) detail_tables[level].append( - el.Table(title=f"{level.capitalize()}, {_time}", data=tbl_data) + el.Table( + title=f"{level.capitalize()}, {_time}", + data=tbl_data, + data_table=True, + ) ) tabs = el.Tabs( diff --git a/evv4esm/resources/css/datatables.css b/evv4esm/resources/css/datatables.css new file mode 100644 index 0000000..987de6d --- /dev/null +++ b/evv4esm/resources/css/datatables.css @@ -0,0 +1,2397 @@ +/* + * This combined file was created by the DataTables downloader builder: + * https://datatables.net/download + * + * To rebuild or modify this file with the latest versions of the included + * software please visit: + * https://datatables.net/download/#dt/dt-2.3.5/b-3.2.5/b-colvis-3.2.5/b-html5-3.2.5/cr-2.1.2/cc-1.1.1/date-1.6.2/fc-5.0.5/fh-4.0.5 + * + * Included libraries: + * DataTables 2.3.5, Buttons 3.2.5, Column visibility 3.2.5, HTML5 export 3.2.5, ColReorder 2.1.2, ColumnControl 1.1.1, DateTime 1.6.2, FixedColumns 5.0.5, FixedHeader 4.0.5 + */ + +:root { + --dt-row-selected: 13, 110, 253; + --dt-row-selected-text: 255, 255, 255; + --dt-row-selected-link: 228, 228, 228; + --dt-row-stripe: 0, 0, 0; + --dt-row-hover: 0, 0, 0; + --dt-column-ordering: 0, 0, 0; + --dt-header-align-items: center; + --dt-header-vertical-align: middle; + --dt-html-background: white; +} +:root.dark { + --dt-html-background: rgb(33, 37, 41); +} + +table.dataTable tbody td.dt-control { + text-align: center; + cursor: pointer; +} +table.dataTable tbody td.dt-control:before { + display: inline-block; + box-sizing: border-box; + content: ""; + border-top: 5px solid transparent; + border-left: 10px solid rgba(0, 0, 0, 0.5); + border-bottom: 5px solid transparent; + border-right: 0px solid transparent; +} +table.dataTable tbody tr.dt-hasChild td.dt-control:before { + border-top: 10px solid rgba(0, 0, 0, 0.5); + border-left: 5px solid transparent; + border-bottom: 0px solid transparent; + border-right: 5px solid transparent; +} +table.dataTable tfoot:empty { + display: none; +} + +html.dark table.dataTable td.dt-control:before, +:root[data-bs-theme=dark] table.dataTable td.dt-control:before, +:root[data-theme=dark] table.dataTable td.dt-control:before { + border-left-color: rgba(255, 255, 255, 0.5); +} +html.dark table.dataTable tr.dt-hasChild td.dt-control:before, +:root[data-bs-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before, +:root[data-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before { + border-top-color: rgba(255, 255, 255, 0.5); + border-left-color: transparent; +} + +div.dt-scroll { + width: 100%; +} + +div.dt-scroll-body thead tr, +div.dt-scroll-body tfoot tr { + height: 0; +} +div.dt-scroll-body thead tr th, div.dt-scroll-body thead tr td, +div.dt-scroll-body tfoot tr th, +div.dt-scroll-body tfoot tr td { + height: 0 !important; + padding-top: 0px !important; + padding-bottom: 0px !important; + border-top-width: 0px !important; + border-bottom-width: 0px !important; +} +div.dt-scroll-body thead tr th div.dt-scroll-sizing, div.dt-scroll-body thead tr td div.dt-scroll-sizing, +div.dt-scroll-body tfoot tr th div.dt-scroll-sizing, +div.dt-scroll-body tfoot tr td div.dt-scroll-sizing { + height: 0 !important; + overflow: hidden !important; +} + +table.dataTable thead > tr > th:active, +table.dataTable thead > tr > td:active { + outline: none; +} +table.dataTable thead > tr > th.dt-orderable-asc span.dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order:before, +table.dataTable thead > tr > td.dt-orderable-asc span.dt-column-order:before, +table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order:before { + position: absolute; + display: block; + bottom: 50%; + content: "\25B2"; + content: "\25B2"/""; +} +table.dataTable thead > tr > th.dt-orderable-desc span.dt-column-order:after, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order:after, +table.dataTable thead > tr > td.dt-orderable-desc span.dt-column-order:after, +table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order:after { + position: absolute; + display: block; + top: 50%; + content: "\25BC"; + content: "\25BC"/""; +} +table.dataTable thead > tr > th.dt-orderable-asc span.dt-column-order, table.dataTable thead > tr > th.dt-orderable-desc span.dt-column-order, table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order, +table.dataTable thead > tr > td.dt-orderable-asc span.dt-column-order, +table.dataTable thead > tr > td.dt-orderable-desc span.dt-column-order, +table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order, +table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order { + position: relative; + width: 12px; + height: 20px; +} +table.dataTable thead > tr > th.dt-orderable-asc span.dt-column-order:before, table.dataTable thead > tr > th.dt-orderable-asc span.dt-column-order:after, table.dataTable thead > tr > th.dt-orderable-desc span.dt-column-order:before, table.dataTable thead > tr > th.dt-orderable-desc span.dt-column-order:after, table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order:after, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order:after, +table.dataTable thead > tr > td.dt-orderable-asc span.dt-column-order:before, +table.dataTable thead > tr > td.dt-orderable-asc span.dt-column-order:after, +table.dataTable thead > tr > td.dt-orderable-desc span.dt-column-order:before, +table.dataTable thead > tr > td.dt-orderable-desc span.dt-column-order:after, +table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order:before, +table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order:after, +table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order:before, +table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order:after { + left: 0; + opacity: 0.125; + line-height: 9px; + font-size: 0.8em; +} +table.dataTable thead > tr > th.dt-orderable-asc, table.dataTable thead > tr > th.dt-orderable-desc, +table.dataTable thead > tr > td.dt-orderable-asc, +table.dataTable thead > tr > td.dt-orderable-desc { + cursor: pointer; +} +table.dataTable thead > tr > th.dt-orderable-asc:hover, table.dataTable thead > tr > th.dt-orderable-desc:hover, +table.dataTable thead > tr > td.dt-orderable-asc:hover, +table.dataTable thead > tr > td.dt-orderable-desc:hover { + outline: 2px solid rgba(0, 0, 0, 0.05); + outline-offset: -2px; +} +table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order:after, +table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order:before, +table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order:after { + opacity: 0.6; +} +table.dataTable thead > tr > th.dt-orderable-none:not(.dt-ordering-asc, .dt-ordering-desc) span.dt-column-order:empty, table.dataTable thead > tr > th.sorting_desc_disabled span.dt-column-order:after, table.dataTable thead > tr > th.sorting_asc_disabled span.dt-column-order:before, +table.dataTable thead > tr > td.dt-orderable-none:not(.dt-ordering-asc, .dt-ordering-desc) span.dt-column-order:empty, +table.dataTable thead > tr > td.sorting_desc_disabled span.dt-column-order:after, +table.dataTable thead > tr > td.sorting_asc_disabled span.dt-column-order:before { + display: none; +} +table.dataTable thead > tr > th:active, +table.dataTable thead > tr > td:active { + outline: none; +} + +table.dataTable thead > tr > th div.dt-column-header, +table.dataTable thead > tr > th div.dt-column-footer, +table.dataTable thead > tr > td div.dt-column-header, +table.dataTable thead > tr > td div.dt-column-footer, +table.dataTable tfoot > tr > th div.dt-column-header, +table.dataTable tfoot > tr > th div.dt-column-footer, +table.dataTable tfoot > tr > td div.dt-column-header, +table.dataTable tfoot > tr > td div.dt-column-footer { + display: flex; + justify-content: space-between; + align-items: var(--dt-header-align-items); + gap: 4px; +} +table.dataTable thead > tr > th div.dt-column-header span.dt-column-title, +table.dataTable thead > tr > th div.dt-column-footer span.dt-column-title, +table.dataTable thead > tr > td div.dt-column-header span.dt-column-title, +table.dataTable thead > tr > td div.dt-column-footer span.dt-column-title, +table.dataTable tfoot > tr > th div.dt-column-header span.dt-column-title, +table.dataTable tfoot > tr > th div.dt-column-footer span.dt-column-title, +table.dataTable tfoot > tr > td div.dt-column-header span.dt-column-title, +table.dataTable tfoot > tr > td div.dt-column-footer span.dt-column-title { + flex-grow: 1; +} +table.dataTable thead > tr > th div.dt-column-header span.dt-column-title:empty, +table.dataTable thead > tr > th div.dt-column-footer span.dt-column-title:empty, +table.dataTable thead > tr > td div.dt-column-header span.dt-column-title:empty, +table.dataTable thead > tr > td div.dt-column-footer span.dt-column-title:empty, +table.dataTable tfoot > tr > th div.dt-column-header span.dt-column-title:empty, +table.dataTable tfoot > tr > th div.dt-column-footer span.dt-column-title:empty, +table.dataTable tfoot > tr > td div.dt-column-header span.dt-column-title:empty, +table.dataTable tfoot > tr > td div.dt-column-footer span.dt-column-title:empty { + display: none; +} + +div.dt-scroll-body > table.dataTable > thead > tr > th, +div.dt-scroll-body > table.dataTable > thead > tr > td { + overflow: hidden; +} + +:root.dark table.dataTable thead > tr > th.dt-orderable-asc:hover, :root.dark table.dataTable thead > tr > th.dt-orderable-desc:hover, +:root.dark table.dataTable thead > tr > td.dt-orderable-asc:hover, +:root.dark table.dataTable thead > tr > td.dt-orderable-desc:hover, +:root[data-bs-theme=dark] table.dataTable thead > tr > th.dt-orderable-asc:hover, +:root[data-bs-theme=dark] table.dataTable thead > tr > th.dt-orderable-desc:hover, +:root[data-bs-theme=dark] table.dataTable thead > tr > td.dt-orderable-asc:hover, +:root[data-bs-theme=dark] table.dataTable thead > tr > td.dt-orderable-desc:hover { + outline: 2px solid rgba(255, 255, 255, 0.05); +} + +div.dt-processing { + position: absolute; + top: 50%; + left: 50%; + width: 200px; + margin-left: -100px; + margin-top: -22px; + text-align: center; + padding: 2px; + z-index: 10; +} +div.dt-processing > div:last-child { + position: relative; + width: 80px; + height: 15px; + margin: 1em auto; +} +div.dt-processing > div:last-child > div { + position: absolute; + top: 0; + width: 13px; + height: 13px; + border-radius: 50%; + background: rgb(13, 110, 253); + background: rgb(var(--dt-row-selected)); + animation-timing-function: cubic-bezier(0, 1, 1, 0); +} +div.dt-processing > div:last-child > div:nth-child(1) { + left: 8px; + animation: datatables-loader-1 0.6s infinite; +} +div.dt-processing > div:last-child > div:nth-child(2) { + left: 8px; + animation: datatables-loader-2 0.6s infinite; +} +div.dt-processing > div:last-child > div:nth-child(3) { + left: 32px; + animation: datatables-loader-2 0.6s infinite; +} +div.dt-processing > div:last-child > div:nth-child(4) { + left: 56px; + animation: datatables-loader-3 0.6s infinite; +} + +@keyframes datatables-loader-1 { + 0% { + transform: scale(0); + } + 100% { + transform: scale(1); + } +} +@keyframes datatables-loader-3 { + 0% { + transform: scale(1); + } + 100% { + transform: scale(0); + } +} +@keyframes datatables-loader-2 { + 0% { + transform: translate(0, 0); + } + 100% { + transform: translate(24px, 0); + } +} +table.dataTable.nowrap th, table.dataTable.nowrap td { + white-space: nowrap; +} +table.dataTable th, +table.dataTable td { + box-sizing: border-box; +} +table.dataTable th.dt-type-numeric, table.dataTable th.dt-type-date, +table.dataTable td.dt-type-numeric, +table.dataTable td.dt-type-date { + text-align: right; +} +table.dataTable th.dt-type-numeric div.dt-column-header, +table.dataTable th.dt-type-numeric div.dt-column-footer, table.dataTable th.dt-type-date div.dt-column-header, +table.dataTable th.dt-type-date div.dt-column-footer, +table.dataTable td.dt-type-numeric div.dt-column-header, +table.dataTable td.dt-type-numeric div.dt-column-footer, +table.dataTable td.dt-type-date div.dt-column-header, +table.dataTable td.dt-type-date div.dt-column-footer { + flex-direction: row-reverse; +} +table.dataTable th.dt-left, +table.dataTable td.dt-left { + text-align: left; +} +table.dataTable th.dt-left div.dt-column-header, +table.dataTable th.dt-left div.dt-column-footer, +table.dataTable td.dt-left div.dt-column-header, +table.dataTable td.dt-left div.dt-column-footer { + flex-direction: row; +} +table.dataTable th.dt-center, +table.dataTable td.dt-center { + text-align: center; +} +table.dataTable th.dt-right, +table.dataTable td.dt-right { + text-align: right; +} +table.dataTable th.dt-right div.dt-column-header, +table.dataTable th.dt-right div.dt-column-footer, +table.dataTable td.dt-right div.dt-column-header, +table.dataTable td.dt-right div.dt-column-footer { + flex-direction: row-reverse; +} +table.dataTable th.dt-justify, +table.dataTable td.dt-justify { + text-align: justify; +} +table.dataTable th.dt-justify div.dt-column-header, +table.dataTable th.dt-justify div.dt-column-footer, +table.dataTable td.dt-justify div.dt-column-header, +table.dataTable td.dt-justify div.dt-column-footer { + flex-direction: row; +} +table.dataTable th.dt-nowrap, +table.dataTable td.dt-nowrap { + white-space: nowrap; +} +table.dataTable th.dt-empty, +table.dataTable td.dt-empty { + text-align: center; + vertical-align: top; +} +table.dataTable thead th, +table.dataTable thead td, +table.dataTable tfoot th, +table.dataTable tfoot td { + text-align: left; + vertical-align: var(--dt-header-vertical-align); +} +table.dataTable thead th.dt-head-left, +table.dataTable thead td.dt-head-left, +table.dataTable tfoot th.dt-head-left, +table.dataTable tfoot td.dt-head-left { + text-align: left; +} +table.dataTable thead th.dt-head-left div.dt-column-header, +table.dataTable thead th.dt-head-left div.dt-column-footer, +table.dataTable thead td.dt-head-left div.dt-column-header, +table.dataTable thead td.dt-head-left div.dt-column-footer, +table.dataTable tfoot th.dt-head-left div.dt-column-header, +table.dataTable tfoot th.dt-head-left div.dt-column-footer, +table.dataTable tfoot td.dt-head-left div.dt-column-header, +table.dataTable tfoot td.dt-head-left div.dt-column-footer { + flex-direction: row; +} +table.dataTable thead th.dt-head-center, +table.dataTable thead td.dt-head-center, +table.dataTable tfoot th.dt-head-center, +table.dataTable tfoot td.dt-head-center { + text-align: center; +} +table.dataTable thead th.dt-head-right, +table.dataTable thead td.dt-head-right, +table.dataTable tfoot th.dt-head-right, +table.dataTable tfoot td.dt-head-right { + text-align: right; +} +table.dataTable thead th.dt-head-right div.dt-column-header, +table.dataTable thead th.dt-head-right div.dt-column-footer, +table.dataTable thead td.dt-head-right div.dt-column-header, +table.dataTable thead td.dt-head-right div.dt-column-footer, +table.dataTable tfoot th.dt-head-right div.dt-column-header, +table.dataTable tfoot th.dt-head-right div.dt-column-footer, +table.dataTable tfoot td.dt-head-right div.dt-column-header, +table.dataTable tfoot td.dt-head-right div.dt-column-footer { + flex-direction: row-reverse; +} +table.dataTable thead th.dt-head-justify, +table.dataTable thead td.dt-head-justify, +table.dataTable tfoot th.dt-head-justify, +table.dataTable tfoot td.dt-head-justify { + text-align: justify; +} +table.dataTable thead th.dt-head-justify div.dt-column-header, +table.dataTable thead th.dt-head-justify div.dt-column-footer, +table.dataTable thead td.dt-head-justify div.dt-column-header, +table.dataTable thead td.dt-head-justify div.dt-column-footer, +table.dataTable tfoot th.dt-head-justify div.dt-column-header, +table.dataTable tfoot th.dt-head-justify div.dt-column-footer, +table.dataTable tfoot td.dt-head-justify div.dt-column-header, +table.dataTable tfoot td.dt-head-justify div.dt-column-footer { + flex-direction: row; +} +table.dataTable thead th.dt-head-nowrap, +table.dataTable thead td.dt-head-nowrap, +table.dataTable tfoot th.dt-head-nowrap, +table.dataTable tfoot td.dt-head-nowrap { + white-space: nowrap; +} +table.dataTable tbody th.dt-body-left, +table.dataTable tbody td.dt-body-left { + text-align: left; +} +table.dataTable tbody th.dt-body-center, +table.dataTable tbody td.dt-body-center { + text-align: center; +} +table.dataTable tbody th.dt-body-right, +table.dataTable tbody td.dt-body-right { + text-align: right; +} +table.dataTable tbody th.dt-body-justify, +table.dataTable tbody td.dt-body-justify { + text-align: justify; +} +table.dataTable tbody th.dt-body-nowrap, +table.dataTable tbody td.dt-body-nowrap { + white-space: nowrap; +} + +:root { + --dt-row-hover-alpha: 0.035; + --dt-row-stripe-alpha: 0.023; + --dt-column-ordering-alpha: 0.019; + --dt-row-selected-stripe-alpha: 0.923; + --dt-row-selected-column-ordering-alpha: 0.919; +} + +/* + * Table styles + */ +table.dataTable { + width: 100%; + margin: 0 auto; + border-spacing: 0; + /* + * Header and footer styles + */ +} +table.dataTable thead th, +table.dataTable tfoot th { + font-weight: bold; +} +table.dataTable > thead > tr > th, +table.dataTable > thead > tr > td { + padding: 10px; + border-bottom: 1px solid rgba(0, 0, 0, 0.3); +} +table.dataTable > thead > tr > th:active, +table.dataTable > thead > tr > td:active { + outline: none; +} +table.dataTable > tfoot > tr > th, +table.dataTable > tfoot > tr > td { + border-top: 1px solid rgba(0, 0, 0, 0.3); + padding: 10px 10px 6px 10px; +} +table.dataTable { + /* + * Body styles + */ +} +table.dataTable > tbody > tr { + background-color: transparent; +} +table.dataTable > tbody > tr:first-child > * { + border-top: none; +} +table.dataTable > tbody > tr:last-child > * { + border-bottom: none; +} +table.dataTable > tbody > tr.selected > * { + box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.9); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.9); + color: rgb(255, 255, 255); + color: rgb(var(--dt-row-selected-text)); +} +table.dataTable > tbody > tr.selected a { + color: rgb(228, 228, 228); + color: rgb(var(--dt-row-selected-link)); +} +table.dataTable > tbody > tr > th, +table.dataTable > tbody > tr > td { + padding: 8px 10px; +} +table.dataTable.row-border > tbody > tr > *, table.dataTable.display > tbody > tr > * { + border-top: 1px solid rgba(0, 0, 0, 0.15); +} +table.dataTable.row-border > tbody > tr:first-child > *, table.dataTable.display > tbody > tr:first-child > * { + border-top: none; +} +table.dataTable.row-border > tbody > tr.selected + tr.selected > td, table.dataTable.display > tbody > tr.selected + tr.selected > td { + border-top-color: rgba(13, 110, 253, 0.65); + border-top-color: rgba(var(--dt-row-selected), 0.65); +} +table.dataTable.cell-border > tbody > tr > * { + border-top: 1px solid rgba(0, 0, 0, 0.15); + border-right: 1px solid rgba(0, 0, 0, 0.15); +} +table.dataTable.cell-border > tbody > tr > *:first-child { + border-left: 1px solid rgba(0, 0, 0, 0.15); +} +table.dataTable.cell-border > tbody > tr:first-child > * { + border-top: 1px solid rgba(0, 0, 0, 0.3); +} +table.dataTable.stripe > tbody > tr:nth-child(odd) > *, table.dataTable.display > tbody > tr:nth-child(odd) > * { + box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.023); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-stripe), var(--dt-row-stripe-alpha)); +} +table.dataTable.stripe > tbody > tr:nth-child(odd).selected > *, table.dataTable.display > tbody > tr:nth-child(odd).selected > * { + box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.923); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), var(--dt-row-selected-stripe-alpha)); +} +table.dataTable.hover > tbody > tr:hover > *, table.dataTable.display > tbody > tr:hover > * { + box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.035); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), var(--dt-row-hover-alpha)); +} +table.dataTable.hover > tbody > tr.selected:hover > *, table.dataTable.display > tbody > tr.selected:hover > * { + box-shadow: inset 0 0 0 9999px #0d6efd !important; + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 1) !important; +} +table.dataTable.order-column > tbody tr > .sorting_1, +table.dataTable.order-column > tbody tr > .sorting_2, +table.dataTable.order-column > tbody tr > .sorting_3, table.dataTable.display > tbody tr > .sorting_1, +table.dataTable.display > tbody tr > .sorting_2, +table.dataTable.display > tbody tr > .sorting_3 { + box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.019); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), var(--dt-column-ordering-alpha)); +} +table.dataTable.order-column > tbody tr.selected > .sorting_1, +table.dataTable.order-column > tbody tr.selected > .sorting_2, +table.dataTable.order-column > tbody tr.selected > .sorting_3, table.dataTable.display > tbody tr.selected > .sorting_1, +table.dataTable.display > tbody tr.selected > .sorting_2, +table.dataTable.display > tbody tr.selected > .sorting_3 { + box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.919); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), var(--dt-row-selected-column-ordering-alpha)); +} +table.dataTable.display > tbody > tr:nth-child(odd) > .sorting_1, table.dataTable.order-column.stripe > tbody > tr:nth-child(odd) > .sorting_1 { + box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.054); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha))); +} +table.dataTable.display > tbody > tr:nth-child(odd) > .sorting_2, table.dataTable.order-column.stripe > tbody > tr:nth-child(odd) > .sorting_2 { + box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.047); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha) - 0.007)); +} +table.dataTable.display > tbody > tr:nth-child(odd) > .sorting_3, table.dataTable.order-column.stripe > tbody > tr:nth-child(odd) > .sorting_3 { + box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.039); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha) - 0.015)); +} +table.dataTable.display > tbody > tr:nth-child(odd).selected > .sorting_1, table.dataTable.order-column.stripe > tbody > tr:nth-child(odd).selected > .sorting_1 { + box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.954); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha))); +} +table.dataTable.display > tbody > tr:nth-child(odd).selected > .sorting_2, table.dataTable.order-column.stripe > tbody > tr:nth-child(odd).selected > .sorting_2 { + box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.947); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha) - 0.007)); +} +table.dataTable.display > tbody > tr:nth-child(odd).selected > .sorting_3, table.dataTable.order-column.stripe > tbody > tr:nth-child(odd).selected > .sorting_3 { + box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.939); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha) - 0.015)); +} +table.dataTable.display tbody tr:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1 { + box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.082); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha) + var(--dt-row-hover-alpha))); +} +table.dataTable.display tbody tr:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2 { + box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.074); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha) + var(--dt-row-hover-alpha) - 0.007)); +} +table.dataTable.display tbody tr:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3 { + box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.062); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha) + var(--dt-row-hover-alpha) - 0.015)); +} +table.dataTable.display tbody tr:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1 { + box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.982); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha))); +} +table.dataTable.display tbody tr:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2 { + box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.974); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha) + var(--dt-row-hover-alpha) - 0.007)); +} +table.dataTable.display tbody tr:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3 { + box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.962); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha) + var(--dt-row-hover-alpha) - 0.015)); +} +table.dataTable.compact thead th, +table.dataTable.compact thead td, +table.dataTable.compact tfoot th, +table.dataTable.compact tfoot td, +table.dataTable.compact tbody th, +table.dataTable.compact tbody td { + padding: 4px; +} + +div.dt-container div.dt-layout-row { + display: flex; + justify-content: space-between; + align-items: center; + width: 100%; + margin: 0.75em 0; +} +div.dt-container div.dt-layout-row div.dt-layout-cell { + display: flex; + justify-content: space-between; + align-items: center; +} +div.dt-container div.dt-layout-row div.dt-layout-cell.dt-layout-start { + justify-content: flex-start; + margin-right: auto; +} +div.dt-container div.dt-layout-row div.dt-layout-cell.dt-layout-end { + justify-content: flex-end; + margin-left: auto; +} +div.dt-container div.dt-layout-row div.dt-layout-cell:empty { + display: none; +} + +@media screen and (max-width: 767px) { + div.dt-container div.dt-layout-row:not(.dt-layout-table) { + display: block; + } + div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell { + display: block; + text-align: center; + } + div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell > * { + margin: 0.5em 0; + } + div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell.dt-layout-start { + margin-right: 0; + } + div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell.dt-layout-end { + margin-left: 0; + } +} +div.dt-container div.dt-layout-start > *:not(:last-child) { + margin-right: 1em; +} +div.dt-container div.dt-layout-end > *:not(:first-child) { + margin-left: 1em; +} +div.dt-container div.dt-layout-full { + width: 100%; +} +div.dt-container div.dt-layout-full > *:only-child { + margin-left: auto; + margin-right: auto; +} +div.dt-container div.dt-layout-table > div { + display: block !important; +} + +@media screen and (max-width: 767px) { + div.dt-container div.dt-layout-start > *:not(:last-child) { + margin-right: 0; + } + div.dt-container div.dt-layout-end > *:not(:first-child) { + margin-left: 0; + } +} +/* + * Control feature layout + */ +div.dt-container { + position: relative; + clear: both; +} +div.dt-container .dt-search input { + border: 1px solid #aaa; + border-radius: 3px; + padding: 5px; + background-color: transparent; + color: inherit; + margin-left: 3px; +} +div.dt-container .dt-input { + border: 1px solid #aaa; + border-radius: 3px; + padding: 5px; + background-color: transparent; + color: inherit; +} +div.dt-container select.dt-input { + padding: 4px; +} +div.dt-container .dt-paging .dt-paging-button { + box-sizing: border-box; + display: inline-block; + min-width: 1.5em; + padding: 0.5em 1em; + margin-left: 2px; + text-align: center; + text-decoration: none !important; + cursor: pointer; + color: inherit !important; + border: 1px solid transparent; + border-radius: 2px; + background: transparent; +} +div.dt-container .dt-paging .dt-paging-button.current, div.dt-container .dt-paging .dt-paging-button.current:hover { + color: inherit !important; + border: 1px solid rgba(0, 0, 0, 0.3); + background-color: rgba(0, 0, 0, 0.05); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(229.5, 229.5, 229.5, 0.05)), color-stop(100%, rgba(0, 0, 0, 0.05))); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, rgba(229.5, 229.5, 229.5, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%); /* Chrome10+,Safari5.1+ */ + background: -moz-linear-gradient(top, rgba(229.5, 229.5, 229.5, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%); /* FF3.6+ */ + background: -ms-linear-gradient(top, rgba(229.5, 229.5, 229.5, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%); /* IE10+ */ + background: -o-linear-gradient(top, rgba(229.5, 229.5, 229.5, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%); /* Opera 11.10+ */ + background: linear-gradient(to bottom, rgba(229.5, 229.5, 229.5, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%); /* W3C */ +} +div.dt-container .dt-paging .dt-paging-button.disabled, div.dt-container .dt-paging .dt-paging-button.disabled:hover, div.dt-container .dt-paging .dt-paging-button.disabled:active { + cursor: default; + color: rgba(0, 0, 0, 0.5) !important; + border: 1px solid transparent; + background: transparent; + box-shadow: none; +} +div.dt-container .dt-paging .dt-paging-button:hover { + color: white !important; + border: 1px solid #111; + background-color: #111; + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgb(88.4, 88.4, 88.4)), color-stop(100%, #111)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, rgb(88.4, 88.4, 88.4) 0%, #111 100%); /* Chrome10+,Safari5.1+ */ + background: -moz-linear-gradient(top, rgb(88.4, 88.4, 88.4) 0%, #111 100%); /* FF3.6+ */ + background: -ms-linear-gradient(top, rgb(88.4, 88.4, 88.4) 0%, #111 100%); /* IE10+ */ + background: -o-linear-gradient(top, rgb(88.4, 88.4, 88.4) 0%, #111 100%); /* Opera 11.10+ */ + background: linear-gradient(to bottom, rgb(88.4, 88.4, 88.4) 0%, #111 100%); /* W3C */ +} +div.dt-container .dt-paging .dt-paging-button:active { + outline: none; + background-color: rgb(11.9, 11.9, 11.9); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgb(42.5, 42.5, 42.5)), color-stop(100%, rgb(11.9, 11.9, 11.9))); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, rgb(42.5, 42.5, 42.5) 0%, rgb(11.9, 11.9, 11.9) 100%); /* Chrome10+,Safari5.1+ */ + background: -moz-linear-gradient(top, rgb(42.5, 42.5, 42.5) 0%, rgb(11.9, 11.9, 11.9) 100%); /* FF3.6+ */ + background: -ms-linear-gradient(top, rgb(42.5, 42.5, 42.5) 0%, rgb(11.9, 11.9, 11.9) 100%); /* IE10+ */ + background: -o-linear-gradient(top, rgb(42.5, 42.5, 42.5) 0%, rgb(11.9, 11.9, 11.9) 100%); /* Opera 11.10+ */ + background: linear-gradient(to bottom, rgb(42.5, 42.5, 42.5) 0%, rgb(11.9, 11.9, 11.9) 100%); /* W3C */ + box-shadow: inset 0 0 3px #111; +} +div.dt-container .dt-paging .ellipsis { + padding: 0 1em; +} +div.dt-container .dt-length, +div.dt-container .dt-search, +div.dt-container .dt-info, +div.dt-container .dt-processing, +div.dt-container .dt-paging { + color: inherit; +} +div.dt-container .dataTables_scroll { + clear: both; +} +div.dt-container .dataTables_scroll div.dt-scroll-body { + -webkit-overflow-scrolling: touch; +} +div.dt-container .dataTables_scroll div.dt-scroll-body > table > thead > tr > th, div.dt-container .dataTables_scroll div.dt-scroll-body > table > thead > tr > td, div.dt-container .dataTables_scroll div.dt-scroll-body > table > tbody > tr > th, div.dt-container .dataTables_scroll div.dt-scroll-body > table > tbody > tr > td { + vertical-align: middle; +} +div.dt-container .dataTables_scroll div.dt-scroll-body > table > thead > tr > th > div.dataTables_sizing, +div.dt-container .dataTables_scroll div.dt-scroll-body > table > thead > tr > td > div.dataTables_sizing, div.dt-container .dataTables_scroll div.dt-scroll-body > table > tbody > tr > th > div.dataTables_sizing, +div.dt-container .dataTables_scroll div.dt-scroll-body > table > tbody > tr > td > div.dataTables_sizing { + height: 0; + overflow: hidden; + margin: 0 !important; + padding: 0 !important; +} +div.dt-container.dt-empty-footer tbody > tr:last-child > * { + border-bottom: 1px solid rgba(0, 0, 0, 0.3); +} +div.dt-container.dt-empty-footer .dt-scroll-body { + border-bottom: 1px solid rgba(0, 0, 0, 0.3); +} +div.dt-container.dt-empty-footer .dt-scroll-body tbody > tr:last-child > * { + border-bottom: none; +} + +html.dark { + --dt-row-hover: 255, 255, 255; + --dt-row-stripe: 255, 255, 255; + --dt-column-ordering: 255, 255, 255; +} +html.dark table.dataTable > thead > tr > th, +html.dark table.dataTable > thead > tr > td { + border-bottom: 1px solid rgb(89, 91, 94); +} +html.dark table.dataTable > thead > tr > th:active, +html.dark table.dataTable > thead > tr > td:active { + outline: none; +} +html.dark table.dataTable > tfoot > tr > th, +html.dark table.dataTable > tfoot > tr > td { + border-top: 1px solid rgb(89, 91, 94); +} +html.dark table.dataTable.row-border > tbody > tr > *, html.dark table.dataTable.display > tbody > tr > * { + border-top: 1px solid rgb(64, 67, 70); +} +html.dark table.dataTable.row-border > tbody > tr:first-child > *, html.dark table.dataTable.display > tbody > tr:first-child > * { + border-top: none; +} +html.dark table.dataTable.row-border > tbody > tr.selected + tr.selected > td, html.dark table.dataTable.display > tbody > tr.selected + tr.selected > td { + border-top-color: rgba(13, 110, 253, 0.65); + border-top-color: rgba(var(--dt-row-selected), 0.65); +} +html.dark table.dataTable.cell-border > tbody > tr > th, +html.dark table.dataTable.cell-border > tbody > tr > td { + border-top: 1px solid rgb(64, 67, 70); + border-right: 1px solid rgb(64, 67, 70); +} +html.dark table.dataTable.cell-border > tbody > tr > th:first-child, +html.dark table.dataTable.cell-border > tbody > tr > td:first-child { + border-left: 1px solid rgb(64, 67, 70); +} +html.dark .dt-container.dt-empty-footer table.dataTable { + border-bottom: 1px solid rgb(89, 91, 94); +} +html.dark .dt-container .dt-search input, +html.dark .dt-container .dt-length select { + border: 1px solid rgba(255, 255, 255, 0.2); + background-color: var(--dt-html-background); +} +html.dark .dt-container .dt-paging .dt-paging-button.current, html.dark .dt-container .dt-paging .dt-paging-button.current:hover { + border: 1px solid rgb(89, 91, 94); + background: rgba(255, 255, 255, 0.15); +} +html.dark .dt-container .dt-paging .dt-paging-button.disabled, html.dark .dt-container .dt-paging .dt-paging-button.disabled:hover, html.dark .dt-container .dt-paging .dt-paging-button.disabled:active { + color: #666 !important; +} +html.dark .dt-container .dt-paging .dt-paging-button:hover { + border: 1px solid rgb(53, 53, 53); + background: rgb(53, 53, 53); +} +html.dark .dt-container .dt-paging .dt-paging-button:active { + background: rgb(58.1, 58.1, 58.1); +} + +/* + * Overrides for RTL support + */ +*[dir=rtl] table.dataTable thead th, +*[dir=rtl] table.dataTable thead td, +*[dir=rtl] table.dataTable tfoot th, +*[dir=rtl] table.dataTable tfoot td { + text-align: right; +} +*[dir=rtl] table.dataTable th.dt-type-numeric, *[dir=rtl] table.dataTable th.dt-type-date, +*[dir=rtl] table.dataTable td.dt-type-numeric, +*[dir=rtl] table.dataTable td.dt-type-date { + text-align: left; +} +*[dir=rtl] div.dt-container div.dt-layout-cell.dt-start { + text-align: right; +} +*[dir=rtl] div.dt-container div.dt-layout-cell.dt-end { + text-align: left; +} +*[dir=rtl] div.dt-container div.dt-search input { + margin: 0 3px 0 0; +} + + +@keyframes dtb-spinner { + 100% { + transform: rotate(360deg); + } +} +@-o-keyframes dtb-spinner { + 100% { + -o-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@-ms-keyframes dtb-spinner { + 100% { + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@-webkit-keyframes dtb-spinner { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@-moz-keyframes dtb-spinner { + 100% { + -moz-transform: rotate(360deg); + transform: rotate(360deg); + } +} +div.dataTables_wrapper { + position: relative; +} + +div.dt-buttons { + position: initial; +} +div.dt-buttons .dt-button { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +div.dt-button-info { + position: fixed; + top: 50%; + left: 50%; + width: 400px; + margin-top: -100px; + margin-left: -200px; + background-color: white; + border-radius: 0.75em; + box-shadow: 3px 4px 10px 1px rgba(0, 0, 0, 0.8); + text-align: center; + z-index: 2003; + overflow: hidden; +} +div.dt-button-info h2 { + padding: 2rem 2rem 1rem 2rem; + margin: 0; + font-weight: normal; +} +div.dt-button-info > div { + padding: 1em 2em 2em 2em; +} + +div.dtb-popover-close { + position: absolute; + top: 6px; + right: 6px; + width: 22px; + height: 22px; + text-align: center; + border-radius: 3px; + cursor: pointer; + z-index: 2003; +} + +button.dtb-hide-drop { + display: none !important; +} + +div.dt-button-collection-title { + text-align: center; + padding: 0.3em 0.5em 0.5em; + margin-left: 0.5em; + margin-right: 0.5em; + font-size: 0.9em; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +div.dt-button-collection-title:empty { + display: none; +} + +span.dt-button-spacer { + display: inline-block; + margin: 0.5em; + white-space: nowrap; +} +span.dt-button-spacer.bar { + border-left: 1px solid rgba(0, 0, 0, 0.3); + vertical-align: middle; + padding-left: 0.5em; +} +span.dt-button-spacer.bar:empty { + height: 1em; + width: 1px; + padding-left: 0; +} + +div.dt-button-collection .dt-button-active { + padding-right: 3em; +} +div.dt-button-collection .dt-button-active:after { + position: absolute; + top: 50%; + margin-top: -10px; + right: 1em; + display: inline-block; + content: "\2713"; + color: inherit; +} +div.dt-button-collection .dt-button-active.dt-button-split { + padding-right: 0; +} +div.dt-button-collection .dt-button-active.dt-button-split:after { + display: none; +} +div.dt-button-collection .dt-button-active.dt-button-split > *:first-child { + padding-right: 3em; +} +div.dt-button-collection .dt-button-active.dt-button-split > *:first-child:after { + position: absolute; + top: 50%; + margin-top: -10px; + right: 1em; + display: inline-block; + content: "\2713"; + color: inherit; +} +div.dt-button-collection .dt-button-active-a a { + padding-right: 3em; +} +div.dt-button-collection .dt-button-active-a a:after { + position: absolute; + right: 1em; + display: inline-block; + content: "\2713"; + color: inherit; +} +div.dt-button-collection span.dt-button-spacer { + width: 100%; + font-size: 0.9em; + text-align: center; + margin: 0.5em 0; +} +div.dt-button-collection span.dt-button-spacer:empty { + height: 0; + width: 100%; +} +div.dt-button-collection span.dt-button-spacer.bar { + border-left: none; + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + padding-left: 0; +} + +@media print { + table.dataTable tr > * { + box-shadow: none !important; + } +} +div.dt-buttons > .dt-button, +div.dt-buttons > div.dt-button-split .dt-button { + position: relative; + display: inline-block; + box-sizing: border-box; + margin-left: 0.167em; + margin-right: 0.167em; + margin-bottom: 0.333em; + padding: 0.5em 1em; + border: 1px solid rgba(0, 0, 0, 0.3); + border-radius: 2px; + cursor: pointer; + font-size: 0.88em; + line-height: 1.6em; + color: inherit; + white-space: nowrap; + overflow: hidden; + background-color: rgba(0, 0, 0, 0.1); /* Fallback */ + background: linear-gradient(to bottom, rgba(230, 230, 230, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="rgba(230, 230, 230, 0.1)", EndColorStr="rgba(0, 0, 0, 0.1)"); + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + text-decoration: none; + outline: none; + text-overflow: ellipsis; +} +div.dt-buttons > .dt-button:first-child, +div.dt-buttons > div.dt-button-split .dt-button:first-child { + margin-left: 0; +} +div.dt-buttons > .dt-button.disabled, +div.dt-buttons > div.dt-button-split .dt-button.disabled { + cursor: default; + opacity: 0.4; +} +div.dt-buttons > .dt-button.dt-button-active:not(.disabled), +div.dt-buttons > div.dt-button-split .dt-button.dt-button-active:not(.disabled) { + background-color: rgba(0, 0, 0, 0.1); /* Fallback */ + background: linear-gradient(to bottom, rgba(179, 179, 179, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="rgba(179, 179, 179, 0.1)", EndColorStr="rgba(0, 0, 0, 0.1)"); + box-shadow: inset 1px 1px 3px #999999; +} +div.dt-buttons > .dt-button.dt-button-active:not(.disabled):hover:not(.disabled), +div.dt-buttons > div.dt-button-split .dt-button.dt-button-active:not(.disabled):hover:not(.disabled) { + box-shadow: inset 1px 1px 3px #999999; + background-color: rgba(0, 0, 0, 0.1); /* Fallback */ + background: linear-gradient(to bottom, rgba(128, 128, 128, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="rgba(128, 128, 128, 0.1)", EndColorStr="rgba(0, 0, 0, 0.1)"); +} +div.dt-buttons > .dt-button:hover, +div.dt-buttons > div.dt-button-split .dt-button:hover { + text-decoration: none; +} +div.dt-buttons > .dt-button:hover:not(.disabled), +div.dt-buttons > div.dt-button-split .dt-button:hover:not(.disabled) { + border: 1px solid #666; + background-color: rgba(0, 0, 0, 0.1); /* Fallback */ + background: linear-gradient(to bottom, rgba(153, 153, 153, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="rgba(153, 153, 153, 0.1)", EndColorStr="rgba(0, 0, 0, 0.1)"); +} +div.dt-buttons > .dt-button:focus:not(.disabled), +div.dt-buttons > div.dt-button-split .dt-button:focus:not(.disabled) { + outline: 2px solid rgb(53, 132, 228); +} +div.dt-buttons > .dt-button embed, +div.dt-buttons > div.dt-button-split .dt-button embed { + outline: none; +} +div.dt-buttons > div.dt-button-split .dt-button:first-child { + border-right: 1px solid rgba(0, 0, 0, 0.15); + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +div.dt-buttons > div.dt-button-split .dt-button:first-child:hover { + border-right: 1px solid #666; +} +div.dt-buttons > div.dt-button-split .dt-button:last-child { + border-left: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +div.dt-buttons > div.dt-button-split .dt-button:last-child:hover { + border-left: 1px solid #666; +} +div.dt-buttons span.dt-button-down-arrow { + position: relative; + top: -2px; + font-size: 10px; + padding-left: 10px; + line-height: 1em; + opacity: 0.6; +} +div.dt-buttons div.dt-button-split { + display: inline-block; +} +div.dt-buttons div.dt-button-split .dt-button:first-child { + margin-right: 0; +} +div.dt-buttons div.dt-button-split .dt-button:last-child { + margin-left: -1px; + padding-left: 0.75em; + padding-right: 0.75em; + z-index: 2; +} +div.dt-buttons div.dt-button-split .dt-button:last-child span { + padding-left: 0; +} + +div.dt-button-collection { + position: absolute; + top: 0; + left: 0; + width: 200px; + margin-top: 3px; + margin-bottom: 3px; + padding: 0.75em 0; + border: 1px solid rgba(0, 0, 0, 0.4); + background-color: white; + overflow: hidden; + z-index: 2002; + border-radius: 5px; + box-shadow: 3px 4px 10px 1px rgba(0, 0, 0, 0.3); + box-sizing: border-box; +} +div.dt-button-collection .dt-button { + position: relative; + left: 0; + right: 0; + width: 100%; + display: flex; + float: none; + justify-content: space-between; + align-items: center; + background: none; + margin: 0; + padding: 0.5em 1em; + border: none; + text-align: left; + cursor: pointer; + color: inherit; +} +div.dt-button-collection .dt-button.dt-button-active { + background: none; + box-shadow: none; +} +div.dt-button-collection .dt-button.disabled { + cursor: default; + opacity: 0.4; +} +div.dt-button-collection .dt-button:hover:not(.disabled) { + border: none; + background: rgba(153, 153, 153, 0.1); + box-shadow: none; +} +div.dt-button-collection .dt-button:focus { + outline-offset: -2px; +} +div.dt-button-collection div.dt-button-split { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-start; + align-content: flex-start; + align-items: stretch; +} +div.dt-button-collection div.dt-button-split button.dt-button { + margin: 0; + display: inline-block; + width: 0; + flex-grow: 1; + flex-shrink: 0; + flex-basis: 50px; +} +div.dt-button-collection div.dt-button-split button.dt-button-split-drop { + min-width: 33px; + flex: 0; +} +div.dt-button-collection.fixed .dt-button { + border-radius: 0.25em; + background: rgba(255, 255, 255, 0.1); +} +div.dt-button-collection.fixed { + position: fixed; + display: block; + top: 50%; + left: 50%; + margin-left: -75px; + border-radius: 5px; + background-color: white; + padding: 0.5em; +} +div.dt-button-collection.fixed.two-column { + margin-left: -200px; +} +div.dt-button-collection.fixed.three-column { + margin-left: -225px; +} +div.dt-button-collection.fixed.four-column { + margin-left: -300px; +} +div.dt-button-collection.fixed.columns { + margin-left: -409px; +} +@media screen and (max-width: 1024px) { + div.dt-button-collection.fixed.columns { + margin-left: -308px; + } +} +@media screen and (max-width: 640px) { + div.dt-button-collection.fixed.columns { + margin-left: -203px; + } +} +@media screen and (max-width: 460px) { + div.dt-button-collection.fixed.columns { + margin-left: -100px; + } +} +div.dt-button-collection.fixed > :last-child { + max-height: 100vh; + overflow: auto; +} +div.dt-button-collection.two-column > :last-child, div.dt-button-collection.three-column > :last-child, div.dt-button-collection.four-column > :last-child { + display: block !important; + column-gap: 8px; +} +div.dt-button-collection.two-column > :last-child > *, div.dt-button-collection.three-column > :last-child > *, div.dt-button-collection.four-column > :last-child > * { + -webkit-column-break-inside: avoid; + break-inside: avoid; +} +div.dt-button-collection.two-column { + width: 400px; +} +div.dt-button-collection.two-column > :last-child { + padding-bottom: 1px; + column-count: 2; +} +div.dt-button-collection.three-column { + width: 450px; +} +div.dt-button-collection.three-column > :last-child { + padding-bottom: 1px; + column-count: 3; +} +div.dt-button-collection.four-column { + width: 600px; +} +div.dt-button-collection.four-column > :last-child { + padding-bottom: 1px; + column-count: 4; +} +div.dt-button-collection .dt-button { + border-radius: 0; +} +div.dt-button-collection.columns { + width: auto; +} +div.dt-button-collection.columns > :last-child { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; + align-items: center; + gap: 6px; + width: 818px; + padding-bottom: 1px; +} +div.dt-button-collection.columns > :last-child .dt-button { + min-width: 200px; + flex: 0 1; + margin: 0; +} +div.dt-button-collection.columns.dtb-b3 > :last-child, div.dt-button-collection.columns.dtb-b2 > :last-child, div.dt-button-collection.columns.dtb-b1 > :last-child { + justify-content: space-between; +} +div.dt-button-collection.columns.dtb-b3 .dt-button { + flex: 1 1 32%; +} +div.dt-button-collection.columns.dtb-b2 .dt-button { + flex: 1 1 48%; +} +div.dt-button-collection.columns.dtb-b1 .dt-button { + flex: 1 1 100%; +} +@media screen and (max-width: 1024px) { + div.dt-button-collection.columns > :last-child { + width: 612px; + } +} +@media screen and (max-width: 640px) { + div.dt-button-collection.columns > :last-child { + width: 406px; + } + div.dt-button-collection.columns.dtb-b3 .dt-button { + flex: 0 1 32%; + } +} +@media screen and (max-width: 460px) { + div.dt-button-collection.columns > :last-child { + width: 200px; + } +} + +div.dt-button-background { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.7); /* Fallback */ + background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); /* W3C Markup, IE10 Release Preview */ + z-index: 2001; +} + +.dt-button.processing { + color: rgba(0, 0, 0, 0.2); +} +.dt-button.processing:after { + position: absolute; + top: 50%; + left: 50%; + width: 16px; + height: 16px; + margin: -8px 0 0 -8px; + box-sizing: border-box; + display: block; + content: " "; + border: 2px solid rgb(40, 40, 40); + border-radius: 50%; + border-left-color: transparent; + border-right-color: transparent; + animation: dtb-spinner 1500ms infinite linear; + -o-animation: dtb-spinner 1500ms infinite linear; + -ms-animation: dtb-spinner 1500ms infinite linear; + -webkit-animation: dtb-spinner 1500ms infinite linear; + -moz-animation: dtb-spinner 1500ms infinite linear; +} + +@media screen and (max-width: 640px) { + div.dt-buttons { + float: none !important; + text-align: center; + } +} +html.dark div.dt-buttons > .dt-button, +html.dark div.dt-buttons > div.dt-button-split .dt-button { + border: 1px solid rgb(89, 91, 94); + background: rgba(255, 255, 255, 0.15); +} +html.dark div.dt-buttons > .dt-button.dt-button-active:not(.disabled), +html.dark div.dt-buttons > div.dt-button-split .dt-button.dt-button-active:not(.disabled) { + background: rgba(179, 179, 179, 0.15); + box-shadow: inset 1px 1px 2px black; +} +html.dark div.dt-buttons > .dt-button.dt-button-active:not(.disabled):hover:not(.disabled), +html.dark div.dt-buttons > div.dt-button-split .dt-button.dt-button-active:not(.disabled):hover:not(.disabled) { + background: rgba(128, 128, 128, 0.15); + box-shadow: inset 1px 1px 3px black; +} +html.dark div.dt-buttons > .dt-button:hover:not(.disabled), +html.dark div.dt-buttons > div.dt-button-split .dt-button:hover:not(.disabled) { + background: rgba(179, 179, 179, 0.15); +} +html.dark div.dt-buttons > .dt-button:focus:not(.disabled), +html.dark div.dt-buttons > div.dt-button-split .dt-button:focus:not(.disabled) { + outline: 2px solid rgb(110, 168, 254); +} +html.dark div.dt-buttons > div.dt-button-split .dt-button:first-child { + border-right: 1px solid rgba(255, 255, 255, 0.1); +} +html.dark div.dt-buttons > div.dt-button-split .dt-button:first-child:hover { + border-right: 1px solid rgb(89, 91, 94); +} +html.dark div.dt-buttons > div.dt-button-split .dt-button:last-child:hover { + border-left: 1px solid rgb(89, 91, 94); +} +html.dark div.dt-button-collection { + border: 1px solid rgba(255, 255, 255, 0.15); + background-color: rgb(33, 37, 41); + box-shadow: 3px 4px 10px 1px rgba(0, 0, 0, 0.8); +} +html.dark div.dt-button-info { + background-color: var(--dt-html-background); + border: 1px solid rgba(255, 255, 255, 0.15); +} + + +body.dtcr-dragging { + overflow-x: hidden; +} + +table.dtcr-cloned.dataTable { + position: absolute !important; + background-color: rgba(255, 255, 255, 0.7); + z-index: 202; + border-radius: 4px; +} + +table.dataTable tbody tr td.dtcr-moving { + background-color: rgba(127, 127, 127, 0.15); +} +table.dataTable tbody tr td.dtcr-moving-first { + border-left: 1px solid #0259C4; +} +table.dataTable tbody tr td.dtcr-moving-last { + border-right: 1px solid #0259C4; +} + +html.dark table.dtcr-cloned.dataTable { + background-color: rgba(33, 33, 33, 0.9); +} + + +:root { + --dtcc-button_background: transparent; + --dtcc-button_border: none; + --dtcc-button_border-radius: 3px; + --dtcc-button_opacity: 0.4; + --dtcc-button_padding: 3px; + --dtcc-button_disabled-opacity: 0.6; + --dtcc-button_empty-opacity: 0.8; + --dtcc-button_hover-border: none; + --dtcc-button_hover-background: rgba(0, 0, 0, 0.1); + --dtcc-button_hover-opacity: 0.9; + --dtcc-button-icon_color: black; + --dtcc-button-icon_size: 16px; + --dtcc-button-icon_margin: 0.5em; + --dtcc-dropdown_background: white; + --dtcc-dropdown_border: 1px solid rgba(0, 0, 0, 0.2); + --dtcc-dropdown_border-radius: 5px; + --dtcc-dropdown_box-shadow: 3px 4px 10px 1px rgba(0, 0, 0, 0.3); + --dtcc-dropdown_margin: 3px 0 0 0; + --dtcc-dropdown_padding: 0.75em 0; + --dtcc-dropdown_width: 200px; + --dtcc-dropdown_z-index: 2002; + --dtcc-dropdown-button_background: transparent; + --dtcc-dropdown-button_border: none; + --dtcc-dropdown-button_color: black; + --dtcc-dropdown-button_padding: 0.5em 1em; + --dtcc-dropdown-button_hover-background: rgba(0, 0, 0, 0.05); + --dtcc-dropdown-icon_vertical-align: initial; + --dtcc-dropdown-search_padding: 0.5em 1em; + --dtcc-spacer_border: 1px solid rgba(0, 0, 0, 0.2); + --dtcc-spacer_margin: 0.5em; + --dtcc-title_background: rgba(255, 255, 255, 0.1); + --dtcc-title_border-left: none; + --dtcc-title_border-right: none; + --dtcc-title_border-top: none; + --dtcc-title_border-bottom: ; + --dtcc-title_margin: 0; + --dtcc-title_padding: 0.5em 0; + --dtcc-title_text-align: center; + --dtcc-search-icon_color: black; + --dtcc-search-icon_hover-background: rgba(0, 0, 0, 0.1); + --dtcc-search-icon_opacity: 0.4; + --dtcc-search-icon_size: 16px; + --dtcc-search-clear_right: 8px; + --dtcc-search-clear_bottom: 2px; + --dtcc-search-input_margin-top: 0.5em; + --dtcc-search-input_padding-right: 24px; + --dtcc-search-input_border: 1px solid #aaa; + --dtcc-search-input_background-color: var(--dt-html-background); + --dtcc-search-input_background: var(--dt-html-background); + --dtcc-search-input_border-radius: 3px; + --dtcc-search-input_padding: 5px; + --dtcc-search-input_flexCalc: 24px; + --dtcc-list-buttons_max-height: 300px; + --dtcc-list-buttons_background: rgba(0, 0, 0, 0.05); +} + +:root.dark { + --dtcc-button_hover-background: rgba(255, 255, 255, 0.1); + --dtcc-button-icon_color: white; + --dtcc-spacer_border: 1px solid rgba(255, 255, 255, 0.15); + --dtcc-dropdown_background: rgb(33, 37, 41); + --dtcc-dropdown_border: 1px solid rgba(255, 255, 255, 0.15); + --dtcc-dropdown_box-shadow: 3px 4px 10px 1px rgba(0, 0, 0, 0.8); + --dtcc-dropdown-button_color: white; + --dtcc-dropdown-button_hover-background: rgba(153, 153, 153, 0.1); + --dtcc-search-icon_color: white; + --dtcc-search-icon_hover-background: rgba(255, 255, 255, 0.1); + --dtcc-search-input_border: 1px solid rgba(255, 255, 255, 0.2); + --dtcc-list-buttons_background: rgba(255, 255, 255, 0.05); +} + +table.dataTable div.dt-column-header span.dt-column-title:empty + span.dtcc { + flex-grow: 1; + margin-left: auto; +} + +table.dataTable .dt-type-numeric div.dt-column-header span.dt-column-title:empty + span.dtcc, +table.dataTable .dt-type-date div.dt-column-header span.dt-column-title:empty + span.dtcc, +table.dataTable .dt-right div.dt-column-header span.dt-column-title:empty + span.dtcc { + margin-right: auto; + margin-left: 0; +} + +table.dataTable > thead > tr.dtcc-row_no-bottom-border > * { + border-bottom: none !important; +} + +table.dataTable > thead > tr.dtcc-row_no-top-padding > * { + padding-top: 0 !important; +} + +table.dataTable span.dtcc { + font-weight: normal; + white-space: nowrap; + display: inline-flex; + align-items: center; +} + +table.dataTable span.dtcc button.dtcc-button { + display: inline-flex; + padding: var(--dtcc-button_padding); + border: var(--dtcc-button_border); + border-radius: var(--dtcc-button_border-radius); + background: var(--dtcc-button_background); + cursor: pointer; + opacity: var(--dtcc-button_opacity); +} + +table.dataTable span.dtcc button.dtcc-button:hover { + border: var(--dtcc-button_hover-border); + background: var(--dtcc-button_hover-background); + opacity: var(--dtcc-button_hover-opacity); +} + +table.dataTable span.dtcc button.dtcc-button.dtcc-button_disabled { + cursor: initial; + opacity: var(--dtcc-button_disabled-opacity); +} + +table.dataTable span.dtcc button.dtcc-button > span.dtcc-button-state { + display: none; +} + +table.dataTable span.dtcc button.dtcc-button > span.dtcc-button-extra { + display: none; +} + +table.dataTable span.dtcc button.dtcc-button_active { + opacity: 1; +} + +table.dataTable span.dtcc input { + box-sizing: border-box; + width: 100%; +} + +table.dataTable span.dtcc span.dtcc-button-icon { + display: inline-block; + box-sizing: content-box; + color: var(--dtcc-button-icon_color); + vertical-align: middle; + line-height: var(--dtcc-button-icon_size); + height: var(--dtcc-button-icon_size); +} + +table.dataTable span.dtcc span.dtcc-button-icon svg { + width: var(--dtcc-button-icon_size); + height: var(--dtcc-button-icon_size); + vertical-align: initial; +} + +table.dataTable span.dtcc span.dtcc-button-text { + display: none; +} + +table.dataTable span.dtcc div.dtcc-spacer { + display: inline-block; + margin: 0 var(--dtcc-spacer_margin); + padding-left: 0.5em; + border-left: var(--dtcc-spacer_border); + vertical-align: middle; + white-space: nowrap; + cursor: initial; +} + +table.dataTable span.dtcc div.dtcc-spacer:empty { + width: 1px; + height: 1em; + padding-left: 0; +} + +table.dataTable span.dtcc div.dtcc-search { + flex-grow: 1; +} + +table.dataTable span.dtcc div.dtcc-search div.dtcc-search-title { + margin-bottom: 0.25em; + text-align: left; +} + +table.dataTable span.dtcc div.dtcc-search:empty { + display: none; +} + +table.dataTable span.dtcc div.dtcc-search.dtcc-search_active > div div.dtcc-search-type-icon svg { + opacity: 1; +} + +table.dataTable span.dtcc div.dtcc-search:not(.dtcc-search_active) span.dtcc-search-clear { + display: none; +} + +table.dataTable span.dtcc div.dtcc-search > div { + position: relative; +} + +table.dataTable span.dtcc div.dtcc-search > div div.dtcc-search-type-icon { + display: flex; + position: absolute; + top: 0; + align-items: center; + justify-content: center; + width: 30px; + height: 100%; +} + +table.dataTable span.dtcc div.dtcc-search > div div.dtcc-search-type-icon svg { + width: var(--dtcc-search-icon_size); + height: var(--dtcc-search-icon_size); + color: var(--dtcc-search-icon_color); + opacity: var(--dtcc-search-icon_opacity); + vertical-align: initial; +} + +table.dataTable span.dtcc div.dtcc-search > div div.dtcc-search-type-icon:hover { + background-color: var(--dtcc-search-icon_hover-background); +} + +table.dataTable span.dtcc div.dtcc-search > div select { + position: absolute; + top: 0; + width: 30px; + height: 100%; + cursor: pointer; + opacity: 0; + background-color: var(--dtcc-search-input_background); +} + +table.dataTable span.dtcc div.dtcc-search > div span.dtcc-search-clear { + display: flex; + position: absolute; + top: 0; + align-items: center; + justify-content: center; + width: 14px; + height: 100%; + cursor: pointer; +} + +table.dataTable span.dtcc div.dtcc-search > div div.dtcc-search-icon { + display: none; +} + +table.dataTable span.dtcc div.dtcc-search > div input { + padding: var(--dtcc-search-input_padding); + border: var(--dtcc-search-input_border); + border-radius: var(--dtcc-search-input_border-radius); + background-color: var(--dtcc-search-input_background); + color: inherit; +} + +table.dataTable span.dtcc div.dtcc-searchText > div div.dtcc-search-type-icon { + right: 0; + z-index: 1; +} + +table.dataTable span.dtcc div.dtcc-searchText > div select { + right: 0; + z-index: 2; + padding: 0; +} + +table.dataTable span.dtcc div.dtcc-searchText > div span.dtcc-search-clear { + right: 28px; + z-index: 1; +} + +table.dataTable span.dtcc div.dtcc-searchText > div input { + padding-right: 46px; +} + +table.dataTable span.dtcc div.dtcc-searchNumber > div div.dtcc-search-type-icon, +table.dataTable span.dtcc div.dtcc-searchDateTime > div div.dtcc-search-type-icon { + left: 0; + z-index: 1; +} + +table.dataTable span.dtcc div.dtcc-searchNumber > div select, +table.dataTable span.dtcc div.dtcc-searchDateTime > div select { + left: 0; + z-index: 2; + padding: 0; +} + +table.dataTable span.dtcc div.dtcc-searchNumber > div span.dtcc-search-clear, +table.dataTable span.dtcc div.dtcc-searchDateTime > div span.dtcc-search-clear { + left: 28px; +} + +table.dataTable span.dtcc div.dtcc-searchNumber > div input, +table.dataTable span.dtcc div.dtcc-searchDateTime > div input { + padding-left: 46px; + text-align: right; +} + +div.dtcc-dropdown { + display: block; + box-sizing: border-box; + z-index: var(--dtcc-dropdown_z-index); + position: absolute; + width: var(--dtcc-dropdown_width); + margin: var(--dtcc-dropdown_margin); + padding: var(--dtcc-dropdown_padding); + overflow: hidden; + border: var(--dtcc-dropdown_border); + border-radius: var(--dtcc-dropdown_border-radius); + background: var(--dtcc-dropdown_background); + box-shadow: var(--dtcc-dropdown_box-shadow); +} + +div.dtcc-dropdown button.dtcc-button { + display: flex; + position: relative; + align-items: center; + width: 100%; + padding: var(--dtcc-dropdown-button_padding); + border: var(--dtcc-dropdown-button_border); + background: var(--dtcc-dropdown-button_background); + color: var(--dtcc-dropdown-button_color); + text-align: left; + cursor: pointer; +} + +div.dtcc-dropdown button.dtcc-button:focus { + outline-offset: -2px; +} + +div.dtcc-dropdown button.dtcc-button:hover { + background: var(--dtcc-dropdown-button_hover-background); +} + +div.dtcc-dropdown button.dtcc-button.dtcc-button_disabled { + cursor: initial; + opacity: var(--dtcc-button_disabled-opacity); +} + +div.dtcc-dropdown button.dtcc-button.dtcc-button_empty span.dtcc-button-text { + opacity: var(--dtcc-button_empty-opacity); + font-style: italic; +} + +div.dtcc-dropdown button.dtcc-button > span.dtcc-button-state { + display: block; + width: var(--dtcc-button-icon_size); + height: var(--dtcc-button-icon_size); + margin: 0 0 0 var(--dtcc-button-icon_margin); +} + +div.dtcc-dropdown button.dtcc-button > span.dtcc-button-state:empty { + display: none; +} + +div.dtcc-dropdown button.dtcc-button > span.dtcc-button-state svg { + width: var(--dtcc-button-icon_size); + height: var(--dtcc-button-icon_size); + vertical-align: initial; +} + +div.dtcc-dropdown button.dtcc-button > span.dtcc-button-extra:empty { + display: none; +} + +div.dtcc-dropdown button.dtcc-button span.dtcc-button-icon { + width: var(--dtcc-button-icon_size); + height: var(--dtcc-button-icon_size); + margin: 0 var(--dtcc-button-icon_margin) 0 0; +} + +div.dtcc-dropdown button.dtcc-button span.dtcc-button-icon svg { + width: var(--dtcc-button-icon_size); + height: var(--dtcc-button-icon_size); + vertical-align: var(--dtcc-dropdown-icon_vertical-align); +} + +div.dtcc-dropdown button.dtcc-button span.dtcc-button-text { + flex-grow: 1; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +div.dtcc-dropdown div.dtcc-spacer { + margin: var(--dtcc-spacer_margin) 0; + padding: 0; + border-bottom: var(--dtcc-spacer_border); + border-left: none; +} + +div.dtcc-dropdown div.dtcc-title { + margin: var(--dtcc-title_margin); + padding: var(--dtcc-title_padding); + border-top: var(--dtcc-title_border-top); + border-right: var(--dtcc-title_border-right); + border-bottom: var(--dtcc-title_border-bottom); + border-left: var(--dtcc-title_border-left); + background: var(--dtcc-title_background); + text-align: var(--dtcc-title_text-align); +} + +div.dtcc-dropdown div.dtcc-search { + padding: var(--dtcc-dropdown-search_padding); +} + +div.dtcc-dropdown div.dtcc-search > div { + display: flex; + position: relative; + flex-wrap: wrap; + align-items: center; + border: var(--dtcc-dropdown-button_border); + background: var(--dtcc-dropdown-button_background); + color: var(--dtcc-dropdown-button_color); +} + +div.dtcc-dropdown div.dtcc-search > div div { + flex: 0 0 var(--dtcc-button-icon_size); + width: var(--dtcc-button-icon_size); + height: var(--dtcc-button-icon_size); + margin: 0 var(--dtcc-button-icon_margin) 0 0; +} + +div.dtcc-dropdown div.dtcc-search > div div svg { + width: var(--dtcc-search-icon_size); + height: var(--dtcc-search-icon_size); + color: var(--dtcc-search-icon_color); + vertical-align: var(--dtcc-dropdown-icon_vertical-align); +} + +div.dtcc-dropdown div.dtcc-search > div select, +div.dtcc-dropdown div.dtcc-search > div input { + box-sizing: border-box; + flex: 1 1 calc(100% - var(--dtcc-search-input_flexCalc)); + width: 100%; + min-width: 0; + padding: var(--dtcc-search-input_padding); + border: var(--dtcc-search-input_border); + border-radius: var(--dtcc-search-input_border-radius); + background-color: var(--dtcc-search-input_background-color); +} + +div.dtcc-dropdown div.dtcc-search > div select option, +div.dtcc-dropdown div.dtcc-search > div input option { + background-color: var(--dtcc-search-input_background-color); +} + +div.dtcc-dropdown div.dtcc-search > div input, +div.dtcc-dropdown div.dtcc-search > div div.dtcc-search-icon { + margin-top: var(--dtcc-search-input_margin-top); +} + +div.dtcc-dropdown div.dtcc-search > div input { + padding-right: var(--dtcc-search-input_padding-right); +} + +div.dtcc-dropdown div.dtcc-search > div span.dtcc-search-clear { + position: absolute; + right: var(--dtcc-search-clear_right); + bottom: var(--dtcc-search-clear_bottom); + width: 14px; + cursor: pointer; +} + +div.dtcc-dropdown div.dtcc-search:not(.dtcc-search_active) span.dtcc-search-clear { + display: none; +} + +div.dtcc-dropdown div.dtcc-list div.dtcc-list-title, +div.dtcc-dropdown div.dtcc-list div.dtcc-list-empty { + padding: var(--dtcc-dropdown-button_padding); + font-style: italic; +} + +div.dtcc-dropdown div.dtcc-list div.dtcc-list-title:empty, +div.dtcc-dropdown div.dtcc-list div.dtcc-list-empty:empty { + display: none; +} + +div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls { + display: grid; + padding: var(--dtcc-dropdown-button_padding); + gap: 0.5em; +} + +div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls:empty { + display: none; +} + +div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectAll, +div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectNone { + width: 100%; + padding: 0; + border: none; + background-color: transparent; + color: inherit; + font-size: 80%; + text-align: center; + cursor: pointer; +} + +div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectAll:hover, +div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectNone:hover { + text-decoration: underline; +} + +div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectAll span, +div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectNone span { + display: inline-block; + padding-left: 0.25em; +} + +div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls input.dtcc-list-search { + box-sizing: border-box; + grid-column: 1/3; + width: 100%; + padding: var(--dtcc-search-input_padding); + border: var(--dtcc-search-input_border); + border-radius: var(--dtcc-search-input_border-radius); + background-color: var(--dtcc-search-input_background-color); +} + +div.dtcc-dropdown div.dtcc-list div.dtcc-list-buttons { + max-height: var(--dtcc-list-buttons_max-height); + overflow: auto; + background: var(--dtcc-list-buttons_background); +} + +div.dtcc-dropdown div.dtcc-list span.dtcc-button-icon:empty { + display: none; +} + + +:root { + --dt-datetime_background: white; + --dt-datetime_zindex: 2050; + --dt-datetime_border: 1px solid #ccc; + --dt-datetime_box-shadow: 0 5px 15px -5px rgba(0,0,0,.5); + --dt-datetime_padding: 6px 20px; + --dt-datetime_width: 275px; + --dt-datetime_border-radius: 5px; + --dt-datetime-inline_padding: 6px 0; + --dt-datetime-inline_background: transparent; + --dt-datetime-title_padding: 5px 0px 3px; + --dt-datetime-buttons-link_padding: 0 0.5em 0.5em 0.5em; + --dt-datetime-buttons-link_font-size: 0.9em; + --dt-datetime-table-header_font-size: 0.8em; + --dt-datetime-table-header_color: #777; + --dt-datetime-table-header_padding: 0 0 4px 0; + --dt-datetime-table-body_font-size: 0.9em; + --dt-datetime-table-body_color: #444; + --dt-datetime-table-body_padding: 0; + --dt-datetime-table-selectable_background: #f5f5f5; + --dt-datetime-table-selectable_disabled-color: #aaa; + --dt-datetime-table-selectable_disabled-background: white; + --dt-datetime-table-selectable_disabled-hover-color: #aaa; + --dt-datetime-table-selectable_disabled-hover-background: white; + --dt-datetime-table_hover-background: #ff8000; + --dt-datetime-table_hover-color: white; + --dt-datetime-table-now_background: #ddd; + --dt-datetime-table-selected_background: #4E6CA3; + --dt-datetime-table-selected_color: white; + --dt-datetime-label_height: 30px; + --dt-datetime-label_border: 1px solid transparent; + --dt-datetime-label_padding: 5px 6px; + --dt-datetime-label_hover-border: 1px solid #ddd; + --dt-datetime-label_hover-background: #f5f5f5; + --dt-datetime-icon_border: 1px solid transparent; + --dt-datetime-icon-opacity: 0.3; + --dt-datetime-icon_hover-border: 1px solid #ccc; + --dt-datetime-icon_hover-background: #f0f0f0; + --dt-datetime-icon_hover-opacity: 0.6; + --dt-datetime-icon-triangle_border-color: black; + --dt-datetime-error_color: #b11f1f; +} + +html.dark, +:root[data-theme=dark], +:root[data-bs-theme=dark] { + --dt-datetime_background: rgb(33, 37, 41); + --dt-datetime_border: 1px solid rgb(89, 91, 94); + --dt-datetime_box-shadow: 3px 4px 10px 1px rgba(0, 0, 0, 0.8); + --dt-datetime-table-header_color: #ccc; + --dt-datetime-table-body_color: #eee; + --dt-datetime-table-selectable_background: rgb(55, 60, 65); + --dt-datetime-table-selectable_disabled-color: #aaa; + --dt-datetime-table-selectable_disabled-background: rgb(23, 27, 31); + --dt-datetime-table-selectable_disabled-hover-color: #aaa; + --dt-datetime-table-selectable_disabled-hover-background: rgb(23, 27, 31); + --dt-datetime-table_hover-background: #ff8000; + --dt-datetime-table_hover-color: black; + --dt-datetime-table-now_background: rgb(75, 80, 85); + --dt-datetime-table-selected_background: #6ea8fe; + --dt-datetime-table-selected_color: black; + --dt-datetime-label_border: 1px solid transparent; + --dt-datetime-label_hover-border: 1px solid transparent; + --dt-datetime-label_hover-background: rgba(255, 255, 255, 0.1); + --dt-datetime-icon_border: 1px solid transparent; + --dt-datetime-icon_hover-border: 1px solid transparent; + --dt-datetime-icon_hover-background: rgba(255, 255, 255, 0.1); + --dt-datetime-icon-triangle_border-color: white; + --dt-datetime-error_color: #b11f1f; +} + +div.dt-datetime { + position: absolute; + background-color: var(--dt-datetime_background); + z-index: var(--dt-datetime_zindex); + border: var(--dt-datetime_border); + box-shadow: var(--dt-datetime_box-shadow); + padding: var(--dt-datetime_padding); + width: var(--dt-datetime_width); + border-radius: var(--dt-datetime_border-radius); +} +div.dt-datetime.inline { + position: relative; + box-shadow: none; + border: none; + z-index: inherit; + padding: var(--dt-datetime-inline_padding); + background-color: var(--dt-datetime-inline_background); +} +div.dt-datetime div.dt-datetime-title { + text-align: center; + padding: var(--dt-datetime-title_padding); +} +div.dt-datetime div.dt-datetime-buttons { + text-align: center; +} +div.dt-datetime div.dt-datetime-buttons a { + display: inline-block; + padding: var(--dt-datetime-buttons-link_padding); + margin: 0; + font-size: var(--dt-datetime-buttons-link_font-size); +} +div.dt-datetime div.dt-datetime-buttons a:hover { + text-decoration: underline; +} +div.dt-datetime table { + border-spacing: 0; + margin: 12px 0; + width: 100%; +} +div.dt-datetime table.dt-datetime-table-nospace { + margin-top: -12px; +} +div.dt-datetime table th { + font-size: var(--dt-datetime-table-header_font-size); + color: var(--dt-datetime-table-header_color); + font-weight: normal; + width: 14.285714286%; + padding: var(--dt-datetime-table-header_padding); + text-align: center; +} +div.dt-datetime table td { + font-size: var(--dt-datetime-table-body_font-size); + color: var(--dt-datetime-table-body_color); + padding: var(--dt-datetime-table-body_padding); +} +div.dt-datetime table td.selectable { + text-align: center; + background: var(--dt-datetime-table-selectable_background); +} +div.dt-datetime table td.selectable.disabled { + color: var(--dt-datetime-table-selectable_disabled-color); + background: var(--dt-datetime-table-selectable_disabled-background); +} +div.dt-datetime table td.selectable.disabled button:hover { + color: var(--dt-datetime-table-selectable_disabled-hover-color); + background: var(--dt-datetime-table-selectable_disabled-hover-background); +} +div.dt-datetime table td.selectable.now { + background-color: var(--dt-datetime-table-now_background); +} +div.dt-datetime table td.selectable.now button { + font-weight: bold; +} +div.dt-datetime table td.selectable.selected button { + background: var(--dt-datetime-table-selected_background); + color: var(--dt-datetime-table-selected_color); + border-radius: 2px; +} +div.dt-datetime table td.selectable button:hover { + background: var(--dt-datetime-table_hover-background); + color: var(--dt-datetime-table_hover-color); + border-radius: 2px; +} +div.dt-datetime table td.dt-datetime-week { + font-size: 0.7em; +} +div.dt-datetime table button { + width: 100%; + box-sizing: border-box; + border: none; + background: transparent; + font-size: inherit; + color: inherit; + text-align: center; + padding: 4px 0; + cursor: pointer; + margin: 0; +} +div.dt-datetime table button span { + display: inline-block; + min-width: 14px; + text-align: right; +} +div.dt-datetime table.weekNumber th { + width: 12.5%; +} +div.dt-datetime div.dt-datetime-calendar table { + margin-top: 0; +} +div.dt-datetime div.dt-datetime-label { + position: relative; + display: inline-block; + height: var(--dt-datetime-label_height); + padding: var(--dt-datetime-label_padding); + border: var(--dt-datetime-label_border); + box-sizing: border-box; + cursor: pointer; +} +div.dt-datetime div.dt-datetime-label:hover { + border: var(--dt-datetime-label_hover-border); + border-radius: 2px; + background-color: var(--dt-datetime-label_hover-background); +} +div.dt-datetime div.dt-datetime-label select { + position: absolute; + top: 6px; + left: 0; + cursor: pointer; + opacity: 0; +} +div.dt-datetime.horizontal { + width: 550px; +} +div.dt-datetime.horizontal div.dt-datetime-date, +div.dt-datetime.horizontal div.dt-datetime-time { + width: 48%; +} +div.dt-datetime.horizontal div.dt-datetime-time { + margin-left: 4%; +} +div.dt-datetime div.dt-datetime-date { + position: relative; + float: left; + width: 100%; +} +div.dt-datetime div.dt-datetime-time { + position: relative; + float: left; + width: 100%; + text-align: center; +} +div.dt-datetime div.dt-datetime-time > span { + vertical-align: middle; +} +div.dt-datetime div.dt-datetime-time th { + text-align: left; +} +div.dt-datetime div.dt-datetime-time div.dt-datetime-timeblock { + display: inline-block; + vertical-align: middle; +} +div.dt-datetime div.dt-datetime-iconLeft, +div.dt-datetime div.dt-datetime-iconRight { + width: 30px; + height: 30px; + background-position: center; + background-repeat: no-repeat; + opacity: var(--dt-datetime-icon-opacity); + overflow: hidden; + box-sizing: border-box; + border: var(--dt-datetime-icon_border); +} +div.dt-datetime div.dt-datetime-iconLeft:hover, +div.dt-datetime div.dt-datetime-iconRight:hover { + border: var(--dt-datetime-icon_hover-border); + border-radius: 2px; + background-color: var(--dt-datetime-icon_hover-background); + opacity: var(--dt-datetime-icon_hover-opacity); +} +div.dt-datetime div.dt-datetime-iconLeft button, +div.dt-datetime div.dt-datetime-iconRight button { + border: none; + background: transparent; + text-indent: 30px; + height: 100%; + width: 100%; + cursor: pointer; +} +div.dt-datetime div.dt-datetime-iconLeft { + position: absolute; + top: 5px; + left: 5px; +} +div.dt-datetime div.dt-datetime-iconLeft button { + position: relative; + z-index: 1; +} +div.dt-datetime div.dt-datetime-iconLeft:after { + position: absolute; + top: 7px; + left: 10px; + display: block; + content: ""; + border-top: 7px solid transparent; + border-right: 7px solid var(--dt-datetime-icon-triangle_border-color); + border-bottom: 7px solid transparent; +} +div.dt-datetime div.dt-datetime-iconRight { + position: absolute; + top: 5px; + right: 5px; +} +div.dt-datetime div.dt-datetime-iconRight button { + position: relative; + z-index: 1; +} +div.dt-datetime div.dt-datetime-iconRight:after { + position: absolute; + top: 7px; + left: 12px; + display: block; + content: ""; + border-top: 7px solid transparent; + border-left: 7px solid var(--dt-datetime-icon-triangle_border-color); + border-bottom: 7px solid transparent; +} + +div.dt-datetime-error { + clear: both; + padding: 0 1em; + max-width: 240px; + font-size: 11px; + line-height: 1.25em; + text-align: center; + color: var(--dt-datetime-error_color); +} + +html.dark input.dt-datetime, +html.dark select, +:root[data-theme=dark] input.dt-datetime, +:root[data-theme=dark] select, +:root[data-bs-theme=dark] input.dt-datetime, +:root[data-bs-theme=dark] select { + color-scheme: dark; +} +html.dark.inline, +:root[data-theme=dark].inline, +:root[data-bs-theme=dark].inline { + box-shadow: none; + border: none; +} + +:root { + --dtfc_background: white; + --dtfc-thead-cell_background: var(--dtfc_background); + --dtfc-tbody-cell_background: var(--dtfc_background); +} + +:root.dark { + --dtfc_background: rgb(33, 37, 41); +} + +table.dataTable thead tr > .dtfc-fixed-start, +table.dataTable thead tr > .dtfc-fixed-end, +table.dataTable tfoot tr > .dtfc-fixed-start, +table.dataTable tfoot tr > .dtfc-fixed-end { + top: 0; + bottom: 0; + z-index: 3; + background-color: var(--dtfc-thead-cell_background); +} +table.dataTable tbody tr > .dtfc-fixed-start, +table.dataTable tbody tr > .dtfc-fixed-end { + z-index: 1; + background-color: var(--dtfc-tbody-cell_background); +} +table.dataTable tr > .dtfc-fixed-left::after, +table.dataTable tr > .dtfc-fixed-right::after { + position: absolute; + top: 0; + bottom: 0; + width: 10px; + transition: box-shadow 0.3s; + content: ""; + pointer-events: none; +} +table.dataTable tr > .dtfc-fixed-left::after { + right: 0; + transform: translateX(100%); +} +table.dataTable tr > .dtfc-fixed-right::after { + left: 0; + transform: translateX(-80%); +} +table.dataTable.dtfc-scrolling-left tr > .dtfc-fixed-left::after { + box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.2); +} +table.dataTable.dtfc-scrolling-right tr > .dtfc-fixed-right::after { + box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.2); +} +table.dataTable.dtfc-scrolling-right tr > .dtfc-fixed-right + .dtfc-fixed-right::after { + box-shadow: none; +} + +div.dt-scroll, +div.dtfh-floatingparent { + position: relative; +} +div.dt-scroll div.dtfc-top-blocker, +div.dt-scroll div.dtfc-bottom-blocker, +div.dtfh-floatingparent div.dtfc-top-blocker, +div.dtfh-floatingparent div.dtfc-bottom-blocker { + position: absolute; + background-color: var(--dtfc-thead-cell_background); +} + +html.dark table.dataTable.dtfc-scrolling-left tbody > tr > .dtfc-fixed-left::after { + box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.3); +} +html.dark table.dataTable.dtfc-scrolling-right tbody > tr > .dtfc-fixed-right::after { + box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.3); +} +html.dark table.dataTable.dtfc-scrolling-right tbody > tr > .dtfc-fixed-right + .dtfc-fixed-right::after { + box-shadow: none; +} + + +table.fixedHeader-floating, +table.fixedHeader-locked { + position: relative !important; + background-color: var(--dt-html-background); + background-color: var(--dt-html-background); +} + +@media print { + table.fixedHeader-floating, + table.fixedHeader-locked { + display: none; + } +} diff --git a/evv4esm/resources/css/datatables.min.css b/evv4esm/resources/css/datatables.min.css new file mode 100644 index 0000000..7db2c2e --- /dev/null +++ b/evv4esm/resources/css/datatables.min.css @@ -0,0 +1,31 @@ +/* + * This combined file was created by the DataTables downloader builder: + * https://datatables.net/download + * + * To rebuild or modify this file with the latest versions of the included + * software please visit: + * https://datatables.net/download/#dt/dt-2.3.5/b-3.2.5/b-colvis-3.2.5/b-html5-3.2.5/cr-2.1.2/cc-1.1.1/date-1.6.2/fc-5.0.5/fh-4.0.5 + * + * Included libraries: + * DataTables 2.3.5, Buttons 3.2.5, Column visibility 3.2.5, HTML5 export 3.2.5, ColReorder 2.1.2, ColumnControl 1.1.1, DateTime 1.6.2, FixedColumns 5.0.5, FixedHeader 4.0.5 + */ + +:root{--dt-row-selected: 13, 110, 253;--dt-row-selected-text: 255, 255, 255;--dt-row-selected-link: 228, 228, 228;--dt-row-stripe: 0, 0, 0;--dt-row-hover: 0, 0, 0;--dt-column-ordering: 0, 0, 0;--dt-header-align-items: center;--dt-header-vertical-align: middle;--dt-html-background: white}:root.dark{--dt-html-background: rgb(33, 37, 41)}table.dataTable tbody td.dt-control{text-align:center;cursor:pointer}table.dataTable tbody td.dt-control:before{display:inline-block;box-sizing:border-box;content:"";border-top:5px solid transparent;border-left:10px solid rgba(0, 0, 0, 0.5);border-bottom:5px solid transparent;border-right:0px solid transparent}table.dataTable tbody tr.dt-hasChild td.dt-control:before{border-top:10px solid rgba(0, 0, 0, 0.5);border-left:5px solid transparent;border-bottom:0px solid transparent;border-right:5px solid transparent}table.dataTable tfoot:empty{display:none}html.dark table.dataTable td.dt-control:before,:root[data-bs-theme=dark] table.dataTable td.dt-control:before,:root[data-theme=dark] table.dataTable td.dt-control:before{border-left-color:rgba(255, 255, 255, 0.5)}html.dark table.dataTable tr.dt-hasChild td.dt-control:before,:root[data-bs-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before,:root[data-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before{border-top-color:rgba(255, 255, 255, 0.5);border-left-color:transparent}div.dt-scroll{width:100%}div.dt-scroll-body thead tr,div.dt-scroll-body tfoot tr{height:0}div.dt-scroll-body thead tr th,div.dt-scroll-body thead tr td,div.dt-scroll-body tfoot tr th,div.dt-scroll-body tfoot tr td{height:0 !important;padding-top:0px !important;padding-bottom:0px !important;border-top-width:0px !important;border-bottom-width:0px !important}div.dt-scroll-body thead tr th div.dt-scroll-sizing,div.dt-scroll-body thead tr td div.dt-scroll-sizing,div.dt-scroll-body tfoot tr th div.dt-scroll-sizing,div.dt-scroll-body tfoot tr td div.dt-scroll-sizing{height:0 !important;overflow:hidden !important}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead>tr>th.dt-orderable-asc span.dt-column-order:before,table.dataTable thead>tr>th.dt-ordering-asc span.dt-column-order:before,table.dataTable thead>tr>td.dt-orderable-asc span.dt-column-order:before,table.dataTable thead>tr>td.dt-ordering-asc span.dt-column-order:before{position:absolute;display:block;bottom:50%;content:"▲";content:"▲"/""}table.dataTable thead>tr>th.dt-orderable-desc span.dt-column-order:after,table.dataTable thead>tr>th.dt-ordering-desc span.dt-column-order:after,table.dataTable thead>tr>td.dt-orderable-desc span.dt-column-order:after,table.dataTable thead>tr>td.dt-ordering-desc span.dt-column-order:after{position:absolute;display:block;top:50%;content:"▼";content:"▼"/""}table.dataTable thead>tr>th.dt-orderable-asc span.dt-column-order,table.dataTable thead>tr>th.dt-orderable-desc span.dt-column-order,table.dataTable thead>tr>th.dt-ordering-asc span.dt-column-order,table.dataTable thead>tr>th.dt-ordering-desc span.dt-column-order,table.dataTable thead>tr>td.dt-orderable-asc span.dt-column-order,table.dataTable thead>tr>td.dt-orderable-desc span.dt-column-order,table.dataTable thead>tr>td.dt-ordering-asc span.dt-column-order,table.dataTable thead>tr>td.dt-ordering-desc span.dt-column-order{position:relative;width:12px;height:20px}table.dataTable thead>tr>th.dt-orderable-asc span.dt-column-order:before,table.dataTable thead>tr>th.dt-orderable-asc span.dt-column-order:after,table.dataTable thead>tr>th.dt-orderable-desc span.dt-column-order:before,table.dataTable thead>tr>th.dt-orderable-desc span.dt-column-order:after,table.dataTable thead>tr>th.dt-ordering-asc span.dt-column-order:before,table.dataTable thead>tr>th.dt-ordering-asc span.dt-column-order:after,table.dataTable thead>tr>th.dt-ordering-desc span.dt-column-order:before,table.dataTable thead>tr>th.dt-ordering-desc span.dt-column-order:after,table.dataTable thead>tr>td.dt-orderable-asc span.dt-column-order:before,table.dataTable thead>tr>td.dt-orderable-asc span.dt-column-order:after,table.dataTable thead>tr>td.dt-orderable-desc span.dt-column-order:before,table.dataTable thead>tr>td.dt-orderable-desc span.dt-column-order:after,table.dataTable thead>tr>td.dt-ordering-asc span.dt-column-order:before,table.dataTable thead>tr>td.dt-ordering-asc span.dt-column-order:after,table.dataTable thead>tr>td.dt-ordering-desc span.dt-column-order:before,table.dataTable thead>tr>td.dt-ordering-desc span.dt-column-order:after{left:0;opacity:.125;line-height:9px;font-size:.8em}table.dataTable thead>tr>th.dt-orderable-asc,table.dataTable thead>tr>th.dt-orderable-desc,table.dataTable thead>tr>td.dt-orderable-asc,table.dataTable thead>tr>td.dt-orderable-desc{cursor:pointer}table.dataTable thead>tr>th.dt-orderable-asc:hover,table.dataTable thead>tr>th.dt-orderable-desc:hover,table.dataTable thead>tr>td.dt-orderable-asc:hover,table.dataTable thead>tr>td.dt-orderable-desc:hover{outline:2px solid rgba(0, 0, 0, 0.05);outline-offset:-2px}table.dataTable thead>tr>th.dt-ordering-asc span.dt-column-order:before,table.dataTable thead>tr>th.dt-ordering-desc span.dt-column-order:after,table.dataTable thead>tr>td.dt-ordering-asc span.dt-column-order:before,table.dataTable thead>tr>td.dt-ordering-desc span.dt-column-order:after{opacity:.6}table.dataTable thead>tr>th.dt-orderable-none:not(.dt-ordering-asc,.dt-ordering-desc) span.dt-column-order:empty,table.dataTable thead>tr>th.sorting_desc_disabled span.dt-column-order:after,table.dataTable thead>tr>th.sorting_asc_disabled span.dt-column-order:before,table.dataTable thead>tr>td.dt-orderable-none:not(.dt-ordering-asc,.dt-ordering-desc) span.dt-column-order:empty,table.dataTable thead>tr>td.sorting_desc_disabled span.dt-column-order:after,table.dataTable thead>tr>td.sorting_asc_disabled span.dt-column-order:before{display:none}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead>tr>th div.dt-column-header,table.dataTable thead>tr>th div.dt-column-footer,table.dataTable thead>tr>td div.dt-column-header,table.dataTable thead>tr>td div.dt-column-footer,table.dataTable tfoot>tr>th div.dt-column-header,table.dataTable tfoot>tr>th div.dt-column-footer,table.dataTable tfoot>tr>td div.dt-column-header,table.dataTable tfoot>tr>td div.dt-column-footer{display:flex;justify-content:space-between;align-items:var(--dt-header-align-items);gap:4px}table.dataTable thead>tr>th div.dt-column-header span.dt-column-title,table.dataTable thead>tr>th div.dt-column-footer span.dt-column-title,table.dataTable thead>tr>td div.dt-column-header span.dt-column-title,table.dataTable thead>tr>td div.dt-column-footer span.dt-column-title,table.dataTable tfoot>tr>th div.dt-column-header span.dt-column-title,table.dataTable tfoot>tr>th div.dt-column-footer span.dt-column-title,table.dataTable tfoot>tr>td div.dt-column-header span.dt-column-title,table.dataTable tfoot>tr>td div.dt-column-footer span.dt-column-title{flex-grow:1}table.dataTable thead>tr>th div.dt-column-header span.dt-column-title:empty,table.dataTable thead>tr>th div.dt-column-footer span.dt-column-title:empty,table.dataTable thead>tr>td div.dt-column-header span.dt-column-title:empty,table.dataTable thead>tr>td div.dt-column-footer span.dt-column-title:empty,table.dataTable tfoot>tr>th div.dt-column-header span.dt-column-title:empty,table.dataTable tfoot>tr>th div.dt-column-footer span.dt-column-title:empty,table.dataTable tfoot>tr>td div.dt-column-header span.dt-column-title:empty,table.dataTable tfoot>tr>td div.dt-column-footer span.dt-column-title:empty{display:none}div.dt-scroll-body>table.dataTable>thead>tr>th,div.dt-scroll-body>table.dataTable>thead>tr>td{overflow:hidden}:root.dark table.dataTable thead>tr>th.dt-orderable-asc:hover,:root.dark table.dataTable thead>tr>th.dt-orderable-desc:hover,:root.dark table.dataTable thead>tr>td.dt-orderable-asc:hover,:root.dark table.dataTable thead>tr>td.dt-orderable-desc:hover,:root[data-bs-theme=dark] table.dataTable thead>tr>th.dt-orderable-asc:hover,:root[data-bs-theme=dark] table.dataTable thead>tr>th.dt-orderable-desc:hover,:root[data-bs-theme=dark] table.dataTable thead>tr>td.dt-orderable-asc:hover,:root[data-bs-theme=dark] table.dataTable thead>tr>td.dt-orderable-desc:hover{outline:2px solid rgba(255, 255, 255, 0.05)}div.dt-processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-22px;text-align:center;padding:2px;z-index:10}div.dt-processing>div:last-child{position:relative;width:80px;height:15px;margin:1em auto}div.dt-processing>div:last-child>div{position:absolute;top:0;width:13px;height:13px;border-radius:50%;background:rgb(13, 110, 253);background:rgb(var(--dt-row-selected));animation-timing-function:cubic-bezier(0, 1, 1, 0)}div.dt-processing>div:last-child>div:nth-child(1){left:8px;animation:datatables-loader-1 .6s infinite}div.dt-processing>div:last-child>div:nth-child(2){left:8px;animation:datatables-loader-2 .6s infinite}div.dt-processing>div:last-child>div:nth-child(3){left:32px;animation:datatables-loader-2 .6s infinite}div.dt-processing>div:last-child>div:nth-child(4){left:56px;animation:datatables-loader-3 .6s infinite}@keyframes datatables-loader-1{0%{transform:scale(0)}100%{transform:scale(1)}}@keyframes datatables-loader-3{0%{transform:scale(1)}100%{transform:scale(0)}}@keyframes datatables-loader-2{0%{transform:translate(0, 0)}100%{transform:translate(24px, 0)}}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable th,table.dataTable td{box-sizing:border-box}table.dataTable th.dt-type-numeric,table.dataTable th.dt-type-date,table.dataTable td.dt-type-numeric,table.dataTable td.dt-type-date{text-align:right}table.dataTable th.dt-type-numeric div.dt-column-header,table.dataTable th.dt-type-numeric div.dt-column-footer,table.dataTable th.dt-type-date div.dt-column-header,table.dataTable th.dt-type-date div.dt-column-footer,table.dataTable td.dt-type-numeric div.dt-column-header,table.dataTable td.dt-type-numeric div.dt-column-footer,table.dataTable td.dt-type-date div.dt-column-header,table.dataTable td.dt-type-date div.dt-column-footer{flex-direction:row-reverse}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-left div.dt-column-header,table.dataTable th.dt-left div.dt-column-footer,table.dataTable td.dt-left div.dt-column-header,table.dataTable td.dt-left div.dt-column-footer{flex-direction:row}table.dataTable th.dt-center,table.dataTable td.dt-center{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-right div.dt-column-header,table.dataTable th.dt-right div.dt-column-footer,table.dataTable td.dt-right div.dt-column-header,table.dataTable td.dt-right div.dt-column-footer{flex-direction:row-reverse}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-justify div.dt-column-header,table.dataTable th.dt-justify div.dt-column-footer,table.dataTable td.dt-justify div.dt-column-header,table.dataTable td.dt-justify div.dt-column-footer{flex-direction:row}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable th.dt-empty,table.dataTable td.dt-empty{text-align:center;vertical-align:top}table.dataTable thead th,table.dataTable thead td,table.dataTable tfoot th,table.dataTable tfoot td{text-align:left;vertical-align:var(--dt-header-vertical-align)}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-left div.dt-column-header,table.dataTable thead th.dt-head-left div.dt-column-footer,table.dataTable thead td.dt-head-left div.dt-column-header,table.dataTable thead td.dt-head-left div.dt-column-footer,table.dataTable tfoot th.dt-head-left div.dt-column-header,table.dataTable tfoot th.dt-head-left div.dt-column-footer,table.dataTable tfoot td.dt-head-left div.dt-column-header,table.dataTable tfoot td.dt-head-left div.dt-column-footer{flex-direction:row}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-right div.dt-column-header,table.dataTable thead th.dt-head-right div.dt-column-footer,table.dataTable thead td.dt-head-right div.dt-column-header,table.dataTable thead td.dt-head-right div.dt-column-footer,table.dataTable tfoot th.dt-head-right div.dt-column-header,table.dataTable tfoot th.dt-head-right div.dt-column-footer,table.dataTable tfoot td.dt-head-right div.dt-column-header,table.dataTable tfoot td.dt-head-right div.dt-column-footer{flex-direction:row-reverse}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-justify div.dt-column-header,table.dataTable thead th.dt-head-justify div.dt-column-footer,table.dataTable thead td.dt-head-justify div.dt-column-header,table.dataTable thead td.dt-head-justify div.dt-column-footer,table.dataTable tfoot th.dt-head-justify div.dt-column-header,table.dataTable tfoot th.dt-head-justify div.dt-column-footer,table.dataTable tfoot td.dt-head-justify div.dt-column-header,table.dataTable tfoot td.dt-head-justify div.dt-column-footer{flex-direction:row}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}:root{--dt-row-hover-alpha: 0.035;--dt-row-stripe-alpha: 0.023;--dt-column-ordering-alpha: 0.019;--dt-row-selected-stripe-alpha: 0.923;--dt-row-selected-column-ordering-alpha: 0.919}table.dataTable{width:100%;margin:0 auto;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold}table.dataTable>thead>tr>th,table.dataTable>thead>tr>td{padding:10px;border-bottom:1px solid rgba(0, 0, 0, 0.3)}table.dataTable>thead>tr>th:active,table.dataTable>thead>tr>td:active{outline:none}table.dataTable>tfoot>tr>th,table.dataTable>tfoot>tr>td{border-top:1px solid rgba(0, 0, 0, 0.3);padding:10px 10px 6px 10px}table.dataTable>tbody>tr{background-color:transparent}table.dataTable>tbody>tr:first-child>*{border-top:none}table.dataTable>tbody>tr:last-child>*{border-bottom:none}table.dataTable>tbody>tr.selected>*{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.9);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.9);color:rgb(255, 255, 255);color:rgb(var(--dt-row-selected-text))}table.dataTable>tbody>tr.selected a{color:rgb(228, 228, 228);color:rgb(var(--dt-row-selected-link))}table.dataTable>tbody>tr>th,table.dataTable>tbody>tr>td{padding:8px 10px}table.dataTable.row-border>tbody>tr>*,table.dataTable.display>tbody>tr>*{border-top:1px solid rgba(0, 0, 0, 0.15)}table.dataTable.row-border>tbody>tr:first-child>*,table.dataTable.display>tbody>tr:first-child>*{border-top:none}table.dataTable.row-border>tbody>tr.selected+tr.selected>td,table.dataTable.display>tbody>tr.selected+tr.selected>td{border-top-color:rgba(13, 110, 253, 0.65);border-top-color:rgba(var(--dt-row-selected), 0.65)}table.dataTable.cell-border>tbody>tr>*{border-top:1px solid rgba(0, 0, 0, 0.15);border-right:1px solid rgba(0, 0, 0, 0.15)}table.dataTable.cell-border>tbody>tr>*:first-child{border-left:1px solid rgba(0, 0, 0, 0.15)}table.dataTable.cell-border>tbody>tr:first-child>*{border-top:1px solid rgba(0, 0, 0, 0.3)}table.dataTable.stripe>tbody>tr:nth-child(odd)>*,table.dataTable.display>tbody>tr:nth-child(odd)>*{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.023);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-stripe), var(--dt-row-stripe-alpha))}table.dataTable.stripe>tbody>tr:nth-child(odd).selected>*,table.dataTable.display>tbody>tr:nth-child(odd).selected>*{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.923);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), var(--dt-row-selected-stripe-alpha))}table.dataTable.hover>tbody>tr:hover>*,table.dataTable.display>tbody>tr:hover>*{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.035);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-hover), var(--dt-row-hover-alpha))}table.dataTable.hover>tbody>tr.selected:hover>*,table.dataTable.display>tbody>tr.selected:hover>*{box-shadow:inset 0 0 0 9999px #0d6efd !important;box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), 1) !important}table.dataTable.order-column>tbody tr>.sorting_1,table.dataTable.order-column>tbody tr>.sorting_2,table.dataTable.order-column>tbody tr>.sorting_3,table.dataTable.display>tbody tr>.sorting_1,table.dataTable.display>tbody tr>.sorting_2,table.dataTable.display>tbody tr>.sorting_3{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.019);box-shadow:inset 0 0 0 9999px rgba(var(--dt-column-ordering), var(--dt-column-ordering-alpha))}table.dataTable.order-column>tbody tr.selected>.sorting_1,table.dataTable.order-column>tbody tr.selected>.sorting_2,table.dataTable.order-column>tbody tr.selected>.sorting_3,table.dataTable.display>tbody tr.selected>.sorting_1,table.dataTable.display>tbody tr.selected>.sorting_2,table.dataTable.display>tbody tr.selected>.sorting_3{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.919);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), var(--dt-row-selected-column-ordering-alpha))}table.dataTable.display>tbody>tr:nth-child(odd)>.sorting_1,table.dataTable.order-column.stripe>tbody>tr:nth-child(odd)>.sorting_1{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.054);box-shadow:inset 0 0 0 9999px rgba(var(--dt-column-ordering), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha)))}table.dataTable.display>tbody>tr:nth-child(odd)>.sorting_2,table.dataTable.order-column.stripe>tbody>tr:nth-child(odd)>.sorting_2{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.047);box-shadow:inset 0 0 0 9999px rgba(var(--dt-column-ordering), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha) - 0.007))}table.dataTable.display>tbody>tr:nth-child(odd)>.sorting_3,table.dataTable.order-column.stripe>tbody>tr:nth-child(odd)>.sorting_3{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.039);box-shadow:inset 0 0 0 9999px rgba(var(--dt-column-ordering), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha) - 0.015))}table.dataTable.display>tbody>tr:nth-child(odd).selected>.sorting_1,table.dataTable.order-column.stripe>tbody>tr:nth-child(odd).selected>.sorting_1{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.954);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha)))}table.dataTable.display>tbody>tr:nth-child(odd).selected>.sorting_2,table.dataTable.order-column.stripe>tbody>tr:nth-child(odd).selected>.sorting_2{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.947);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha) - 0.007))}table.dataTable.display>tbody>tr:nth-child(odd).selected>.sorting_3,table.dataTable.order-column.stripe>tbody>tr:nth-child(odd).selected>.sorting_3{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.939);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha) - 0.015))}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.082);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-hover), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha) + var(--dt-row-hover-alpha)))}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.074);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-hover), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha) + var(--dt-row-hover-alpha) - 0.007))}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.062);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-hover), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha) + var(--dt-row-hover-alpha) - 0.015))}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.982);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha)))}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.974);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha) + var(--dt-row-hover-alpha) - 0.007))}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.962);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha) + var(--dt-row-hover-alpha) - 0.015))}table.dataTable.compact thead th,table.dataTable.compact thead td,table.dataTable.compact tfoot th,table.dataTable.compact tfoot td,table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}div.dt-container div.dt-layout-row{display:flex;justify-content:space-between;align-items:center;width:100%;margin:.75em 0}div.dt-container div.dt-layout-row div.dt-layout-cell{display:flex;justify-content:space-between;align-items:center}div.dt-container div.dt-layout-row div.dt-layout-cell.dt-layout-start{justify-content:flex-start;margin-right:auto}div.dt-container div.dt-layout-row div.dt-layout-cell.dt-layout-end{justify-content:flex-end;margin-left:auto}div.dt-container div.dt-layout-row div.dt-layout-cell:empty{display:none}@media screen and (max-width: 767px){div.dt-container div.dt-layout-row:not(.dt-layout-table){display:block}div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell{display:block;text-align:center}div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell>*{margin:.5em 0}div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell.dt-layout-start{margin-right:0}div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell.dt-layout-end{margin-left:0}}div.dt-container div.dt-layout-start>*:not(:last-child){margin-right:1em}div.dt-container div.dt-layout-end>*:not(:first-child){margin-left:1em}div.dt-container div.dt-layout-full{width:100%}div.dt-container div.dt-layout-full>*:only-child{margin-left:auto;margin-right:auto}div.dt-container div.dt-layout-table>div{display:block !important}@media screen and (max-width: 767px){div.dt-container div.dt-layout-start>*:not(:last-child){margin-right:0}div.dt-container div.dt-layout-end>*:not(:first-child){margin-left:0}}div.dt-container{position:relative;clear:both}div.dt-container .dt-search input{border:1px solid #aaa;border-radius:3px;padding:5px;background-color:transparent;color:inherit;margin-left:3px}div.dt-container .dt-input{border:1px solid #aaa;border-radius:3px;padding:5px;background-color:transparent;color:inherit}div.dt-container select.dt-input{padding:4px}div.dt-container .dt-paging .dt-paging-button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;color:inherit !important;border:1px solid transparent;border-radius:2px;background:transparent}div.dt-container .dt-paging .dt-paging-button.current,div.dt-container .dt-paging .dt-paging-button.current:hover{color:inherit !important;border:1px solid rgba(0, 0, 0, 0.3);background-color:rgba(0, 0, 0, 0.05);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(229.5, 229.5, 229.5, 0.05)), color-stop(100%, rgba(0, 0, 0, 0.05)));background:-webkit-linear-gradient(top, rgba(229.5, 229.5, 229.5, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%);background:-moz-linear-gradient(top, rgba(229.5, 229.5, 229.5, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%);background:-ms-linear-gradient(top, rgba(229.5, 229.5, 229.5, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%);background:-o-linear-gradient(top, rgba(229.5, 229.5, 229.5, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%);background:linear-gradient(to bottom, rgba(229.5, 229.5, 229.5, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%)}div.dt-container .dt-paging .dt-paging-button.disabled,div.dt-container .dt-paging .dt-paging-button.disabled:hover,div.dt-container .dt-paging .dt-paging-button.disabled:active{cursor:default;color:rgba(0, 0, 0, 0.5) !important;border:1px solid transparent;background:transparent;box-shadow:none}div.dt-container .dt-paging .dt-paging-button:hover{color:white !important;border:1px solid #111;background-color:#111;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, rgb(88.4, 88.4, 88.4)), color-stop(100%, #111));background:-webkit-linear-gradient(top, rgb(88.4, 88.4, 88.4) 0%, #111 100%);background:-moz-linear-gradient(top, rgb(88.4, 88.4, 88.4) 0%, #111 100%);background:-ms-linear-gradient(top, rgb(88.4, 88.4, 88.4) 0%, #111 100%);background:-o-linear-gradient(top, rgb(88.4, 88.4, 88.4) 0%, #111 100%);background:linear-gradient(to bottom, rgb(88.4, 88.4, 88.4) 0%, #111 100%)}div.dt-container .dt-paging .dt-paging-button:active{outline:none;background-color:rgb(11.9, 11.9, 11.9);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, rgb(42.5, 42.5, 42.5)), color-stop(100%, rgb(11.9, 11.9, 11.9)));background:-webkit-linear-gradient(top, rgb(42.5, 42.5, 42.5) 0%, rgb(11.9, 11.9, 11.9) 100%);background:-moz-linear-gradient(top, rgb(42.5, 42.5, 42.5) 0%, rgb(11.9, 11.9, 11.9) 100%);background:-ms-linear-gradient(top, rgb(42.5, 42.5, 42.5) 0%, rgb(11.9, 11.9, 11.9) 100%);background:-o-linear-gradient(top, rgb(42.5, 42.5, 42.5) 0%, rgb(11.9, 11.9, 11.9) 100%);background:linear-gradient(to bottom, rgb(42.5, 42.5, 42.5) 0%, rgb(11.9, 11.9, 11.9) 100%);box-shadow:inset 0 0 3px #111}div.dt-container .dt-paging .ellipsis{padding:0 1em}div.dt-container .dt-length,div.dt-container .dt-search,div.dt-container .dt-info,div.dt-container .dt-processing,div.dt-container .dt-paging{color:inherit}div.dt-container .dataTables_scroll{clear:both}div.dt-container .dataTables_scroll div.dt-scroll-body{-webkit-overflow-scrolling:touch}div.dt-container .dataTables_scroll div.dt-scroll-body>table>thead>tr>th,div.dt-container .dataTables_scroll div.dt-scroll-body>table>thead>tr>td,div.dt-container .dataTables_scroll div.dt-scroll-body>table>tbody>tr>th,div.dt-container .dataTables_scroll div.dt-scroll-body>table>tbody>tr>td{vertical-align:middle}div.dt-container .dataTables_scroll div.dt-scroll-body>table>thead>tr>th>div.dataTables_sizing,div.dt-container .dataTables_scroll div.dt-scroll-body>table>thead>tr>td>div.dataTables_sizing,div.dt-container .dataTables_scroll div.dt-scroll-body>table>tbody>tr>th>div.dataTables_sizing,div.dt-container .dataTables_scroll div.dt-scroll-body>table>tbody>tr>td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}div.dt-container.dt-empty-footer tbody>tr:last-child>*{border-bottom:1px solid rgba(0, 0, 0, 0.3)}div.dt-container.dt-empty-footer .dt-scroll-body{border-bottom:1px solid rgba(0, 0, 0, 0.3)}div.dt-container.dt-empty-footer .dt-scroll-body tbody>tr:last-child>*{border-bottom:none}html.dark{--dt-row-hover: 255, 255, 255;--dt-row-stripe: 255, 255, 255;--dt-column-ordering: 255, 255, 255}html.dark table.dataTable>thead>tr>th,html.dark table.dataTable>thead>tr>td{border-bottom:1px solid rgb(89, 91, 94)}html.dark table.dataTable>thead>tr>th:active,html.dark table.dataTable>thead>tr>td:active{outline:none}html.dark table.dataTable>tfoot>tr>th,html.dark table.dataTable>tfoot>tr>td{border-top:1px solid rgb(89, 91, 94)}html.dark table.dataTable.row-border>tbody>tr>*,html.dark table.dataTable.display>tbody>tr>*{border-top:1px solid rgb(64, 67, 70)}html.dark table.dataTable.row-border>tbody>tr:first-child>*,html.dark table.dataTable.display>tbody>tr:first-child>*{border-top:none}html.dark table.dataTable.row-border>tbody>tr.selected+tr.selected>td,html.dark table.dataTable.display>tbody>tr.selected+tr.selected>td{border-top-color:rgba(13, 110, 253, 0.65);border-top-color:rgba(var(--dt-row-selected), 0.65)}html.dark table.dataTable.cell-border>tbody>tr>th,html.dark table.dataTable.cell-border>tbody>tr>td{border-top:1px solid rgb(64, 67, 70);border-right:1px solid rgb(64, 67, 70)}html.dark table.dataTable.cell-border>tbody>tr>th:first-child,html.dark table.dataTable.cell-border>tbody>tr>td:first-child{border-left:1px solid rgb(64, 67, 70)}html.dark .dt-container.dt-empty-footer table.dataTable{border-bottom:1px solid rgb(89, 91, 94)}html.dark .dt-container .dt-search input,html.dark .dt-container .dt-length select{border:1px solid rgba(255, 255, 255, 0.2);background-color:var(--dt-html-background)}html.dark .dt-container .dt-paging .dt-paging-button.current,html.dark .dt-container .dt-paging .dt-paging-button.current:hover{border:1px solid rgb(89, 91, 94);background:rgba(255, 255, 255, 0.15)}html.dark .dt-container .dt-paging .dt-paging-button.disabled,html.dark .dt-container .dt-paging .dt-paging-button.disabled:hover,html.dark .dt-container .dt-paging .dt-paging-button.disabled:active{color:#666 !important}html.dark .dt-container .dt-paging .dt-paging-button:hover{border:1px solid rgb(53, 53, 53);background:rgb(53, 53, 53)}html.dark .dt-container .dt-paging .dt-paging-button:active{background:rgb(58.1, 58.1, 58.1)}*[dir=rtl] table.dataTable thead th,*[dir=rtl] table.dataTable thead td,*[dir=rtl] table.dataTable tfoot th,*[dir=rtl] table.dataTable tfoot td{text-align:right}*[dir=rtl] table.dataTable th.dt-type-numeric,*[dir=rtl] table.dataTable th.dt-type-date,*[dir=rtl] table.dataTable td.dt-type-numeric,*[dir=rtl] table.dataTable td.dt-type-date{text-align:left}*[dir=rtl] div.dt-container div.dt-layout-cell.dt-start{text-align:right}*[dir=rtl] div.dt-container div.dt-layout-cell.dt-end{text-align:left}*[dir=rtl] div.dt-container div.dt-search input{margin:0 3px 0 0} + + +@keyframes dtb-spinner{100%{transform:rotate(360deg)}}@-o-keyframes dtb-spinner{100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes dtb-spinner{100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes dtb-spinner{100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}div.dataTables_wrapper{position:relative}div.dt-buttons{position:initial}div.dt-buttons .dt-button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:white;border-radius:.75em;box-shadow:3px 4px 10px 1px rgba(0, 0, 0, 0.8);text-align:center;z-index:2003;overflow:hidden}div.dt-button-info h2{padding:2rem 2rem 1rem 2rem;margin:0;font-weight:normal}div.dt-button-info>div{padding:1em 2em 2em 2em}div.dtb-popover-close{position:absolute;top:6px;right:6px;width:22px;height:22px;text-align:center;border-radius:3px;cursor:pointer;z-index:2003}button.dtb-hide-drop{display:none !important}div.dt-button-collection-title{text-align:center;padding:.3em .5em .5em;margin-left:.5em;margin-right:.5em;font-size:.9em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}div.dt-button-collection-title:empty{display:none}span.dt-button-spacer{display:inline-block;margin:.5em;white-space:nowrap}span.dt-button-spacer.bar{border-left:1px solid rgba(0, 0, 0, 0.3);vertical-align:middle;padding-left:.5em}span.dt-button-spacer.bar:empty{height:1em;width:1px;padding-left:0}div.dt-button-collection .dt-button-active{padding-right:3em}div.dt-button-collection .dt-button-active:after{position:absolute;top:50%;margin-top:-10px;right:1em;display:inline-block;content:"✓";color:inherit}div.dt-button-collection .dt-button-active.dt-button-split{padding-right:0}div.dt-button-collection .dt-button-active.dt-button-split:after{display:none}div.dt-button-collection .dt-button-active.dt-button-split>*:first-child{padding-right:3em}div.dt-button-collection .dt-button-active.dt-button-split>*:first-child:after{position:absolute;top:50%;margin-top:-10px;right:1em;display:inline-block;content:"✓";color:inherit}div.dt-button-collection .dt-button-active-a a{padding-right:3em}div.dt-button-collection .dt-button-active-a a:after{position:absolute;right:1em;display:inline-block;content:"✓";color:inherit}div.dt-button-collection span.dt-button-spacer{width:100%;font-size:.9em;text-align:center;margin:.5em 0}div.dt-button-collection span.dt-button-spacer:empty{height:0;width:100%}div.dt-button-collection span.dt-button-spacer.bar{border-left:none;border-bottom:1px solid rgba(0, 0, 0, 0.1);padding-left:0}@media print{table.dataTable tr>*{box-shadow:none !important}}div.dt-buttons>.dt-button,div.dt-buttons>div.dt-button-split .dt-button{position:relative;display:inline-block;box-sizing:border-box;margin-left:.167em;margin-right:.167em;margin-bottom:.333em;padding:.5em 1em;border:1px solid rgba(0, 0, 0, 0.3);border-radius:2px;cursor:pointer;font-size:.88em;line-height:1.6em;color:inherit;white-space:nowrap;overflow:hidden;background-color:rgba(0, 0, 0, 0.1);background:linear-gradient(to bottom, rgba(230, 230, 230, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="rgba(230, 230, 230, 0.1)", EndColorStr="rgba(0, 0, 0, 0.1)");-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;outline:none;text-overflow:ellipsis}div.dt-buttons>.dt-button:first-child,div.dt-buttons>div.dt-button-split .dt-button:first-child{margin-left:0}div.dt-buttons>.dt-button.disabled,div.dt-buttons>div.dt-button-split .dt-button.disabled{cursor:default;opacity:.4}div.dt-buttons>.dt-button.dt-button-active:not(.disabled),div.dt-buttons>div.dt-button-split .dt-button.dt-button-active:not(.disabled){background-color:rgba(0, 0, 0, 0.1);background:linear-gradient(to bottom, rgba(179, 179, 179, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="rgba(179, 179, 179, 0.1)", EndColorStr="rgba(0, 0, 0, 0.1)");box-shadow:inset 1px 1px 3px #999}div.dt-buttons>.dt-button.dt-button-active:not(.disabled):hover:not(.disabled),div.dt-buttons>div.dt-button-split .dt-button.dt-button-active:not(.disabled):hover:not(.disabled){box-shadow:inset 1px 1px 3px #999;background-color:rgba(0, 0, 0, 0.1);background:linear-gradient(to bottom, rgba(128, 128, 128, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="rgba(128, 128, 128, 0.1)", EndColorStr="rgba(0, 0, 0, 0.1)")}div.dt-buttons>.dt-button:hover,div.dt-buttons>div.dt-button-split .dt-button:hover{text-decoration:none}div.dt-buttons>.dt-button:hover:not(.disabled),div.dt-buttons>div.dt-button-split .dt-button:hover:not(.disabled){border:1px solid #666;background-color:rgba(0, 0, 0, 0.1);background:linear-gradient(to bottom, rgba(153, 153, 153, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr="rgba(153, 153, 153, 0.1)", EndColorStr="rgba(0, 0, 0, 0.1)")}div.dt-buttons>.dt-button:focus:not(.disabled),div.dt-buttons>div.dt-button-split .dt-button:focus:not(.disabled){outline:2px solid rgb(53, 132, 228)}div.dt-buttons>.dt-button embed,div.dt-buttons>div.dt-button-split .dt-button embed{outline:none}div.dt-buttons>div.dt-button-split .dt-button:first-child{border-right:1px solid rgba(0, 0, 0, 0.15);border-top-right-radius:0;border-bottom-right-radius:0}div.dt-buttons>div.dt-button-split .dt-button:first-child:hover{border-right:1px solid #666}div.dt-buttons>div.dt-button-split .dt-button:last-child{border-left:1px solid transparent;border-top-left-radius:0;border-bottom-left-radius:0}div.dt-buttons>div.dt-button-split .dt-button:last-child:hover{border-left:1px solid #666}div.dt-buttons span.dt-button-down-arrow{position:relative;top:-2px;font-size:10px;padding-left:10px;line-height:1em;opacity:.6}div.dt-buttons div.dt-button-split{display:inline-block}div.dt-buttons div.dt-button-split .dt-button:first-child{margin-right:0}div.dt-buttons div.dt-button-split .dt-button:last-child{margin-left:-1px;padding-left:.75em;padding-right:.75em;z-index:2}div.dt-buttons div.dt-button-split .dt-button:last-child span{padding-left:0}div.dt-button-collection{position:absolute;top:0;left:0;width:200px;margin-top:3px;margin-bottom:3px;padding:.75em 0;border:1px solid rgba(0, 0, 0, 0.4);background-color:white;overflow:hidden;z-index:2002;border-radius:5px;box-shadow:3px 4px 10px 1px rgba(0, 0, 0, 0.3);box-sizing:border-box}div.dt-button-collection .dt-button{position:relative;left:0;right:0;width:100%;display:flex;float:none;justify-content:space-between;align-items:center;background:none;margin:0;padding:.5em 1em;border:none;text-align:left;cursor:pointer;color:inherit}div.dt-button-collection .dt-button.dt-button-active{background:none;box-shadow:none}div.dt-button-collection .dt-button.disabled{cursor:default;opacity:.4}div.dt-button-collection .dt-button:hover:not(.disabled){border:none;background:rgba(153, 153, 153, 0.1);box-shadow:none}div.dt-button-collection .dt-button:focus{outline-offset:-2px}div.dt-button-collection div.dt-button-split{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:stretch}div.dt-button-collection div.dt-button-split button.dt-button{margin:0;display:inline-block;width:0;flex-grow:1;flex-shrink:0;flex-basis:50px}div.dt-button-collection div.dt-button-split button.dt-button-split-drop{min-width:33px;flex:0}div.dt-button-collection.fixed .dt-button{border-radius:.25em;background:rgba(255, 255, 255, 0.1)}div.dt-button-collection.fixed{position:fixed;display:block;top:50%;left:50%;margin-left:-75px;border-radius:5px;background-color:white;padding:.5em}div.dt-button-collection.fixed.two-column{margin-left:-200px}div.dt-button-collection.fixed.three-column{margin-left:-225px}div.dt-button-collection.fixed.four-column{margin-left:-300px}div.dt-button-collection.fixed.columns{margin-left:-409px}@media screen and (max-width: 1024px){div.dt-button-collection.fixed.columns{margin-left:-308px}}@media screen and (max-width: 640px){div.dt-button-collection.fixed.columns{margin-left:-203px}}@media screen and (max-width: 460px){div.dt-button-collection.fixed.columns{margin-left:-100px}}div.dt-button-collection.fixed>:last-child{max-height:100vh;overflow:auto}div.dt-button-collection.two-column>:last-child,div.dt-button-collection.three-column>:last-child,div.dt-button-collection.four-column>:last-child{display:block !important;column-gap:8px}div.dt-button-collection.two-column>:last-child>*,div.dt-button-collection.three-column>:last-child>*,div.dt-button-collection.four-column>:last-child>*{-webkit-column-break-inside:avoid;break-inside:avoid}div.dt-button-collection.two-column{width:400px}div.dt-button-collection.two-column>:last-child{padding-bottom:1px;column-count:2}div.dt-button-collection.three-column{width:450px}div.dt-button-collection.three-column>:last-child{padding-bottom:1px;column-count:3}div.dt-button-collection.four-column{width:600px}div.dt-button-collection.four-column>:last-child{padding-bottom:1px;column-count:4}div.dt-button-collection .dt-button{border-radius:0}div.dt-button-collection.columns{width:auto}div.dt-button-collection.columns>:last-child{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px;width:818px;padding-bottom:1px}div.dt-button-collection.columns>:last-child .dt-button{min-width:200px;flex:0 1;margin:0}div.dt-button-collection.columns.dtb-b3>:last-child,div.dt-button-collection.columns.dtb-b2>:last-child,div.dt-button-collection.columns.dtb-b1>:last-child{justify-content:space-between}div.dt-button-collection.columns.dtb-b3 .dt-button{flex:1 1 32%}div.dt-button-collection.columns.dtb-b2 .dt-button{flex:1 1 48%}div.dt-button-collection.columns.dtb-b1 .dt-button{flex:1 1 100%}@media screen and (max-width: 1024px){div.dt-button-collection.columns>:last-child{width:612px}}@media screen and (max-width: 640px){div.dt-button-collection.columns>:last-child{width:406px}div.dt-button-collection.columns.dtb-b3 .dt-button{flex:0 1 32%}}@media screen and (max-width: 460px){div.dt-button-collection.columns>:last-child{width:200px}}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.7);background:radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);z-index:2001}.dt-button.processing{color:rgba(0, 0, 0, 0.2)}.dt-button.processing:after{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;box-sizing:border-box;display:block;content:" ";border:2px solid rgb(40, 40, 40);border-radius:50%;border-left-color:transparent;border-right-color:transparent;animation:dtb-spinner 1500ms infinite linear;-o-animation:dtb-spinner 1500ms infinite linear;-ms-animation:dtb-spinner 1500ms infinite linear;-webkit-animation:dtb-spinner 1500ms infinite linear;-moz-animation:dtb-spinner 1500ms infinite linear}@media screen and (max-width: 640px){div.dt-buttons{float:none !important;text-align:center}}html.dark div.dt-buttons>.dt-button,html.dark div.dt-buttons>div.dt-button-split .dt-button{border:1px solid rgb(89, 91, 94);background:rgba(255, 255, 255, 0.15)}html.dark div.dt-buttons>.dt-button.dt-button-active:not(.disabled),html.dark div.dt-buttons>div.dt-button-split .dt-button.dt-button-active:not(.disabled){background:rgba(179, 179, 179, 0.15);box-shadow:inset 1px 1px 2px black}html.dark div.dt-buttons>.dt-button.dt-button-active:not(.disabled):hover:not(.disabled),html.dark div.dt-buttons>div.dt-button-split .dt-button.dt-button-active:not(.disabled):hover:not(.disabled){background:rgba(128, 128, 128, 0.15);box-shadow:inset 1px 1px 3px black}html.dark div.dt-buttons>.dt-button:hover:not(.disabled),html.dark div.dt-buttons>div.dt-button-split .dt-button:hover:not(.disabled){background:rgba(179, 179, 179, 0.15)}html.dark div.dt-buttons>.dt-button:focus:not(.disabled),html.dark div.dt-buttons>div.dt-button-split .dt-button:focus:not(.disabled){outline:2px solid rgb(110, 168, 254)}html.dark div.dt-buttons>div.dt-button-split .dt-button:first-child{border-right:1px solid rgba(255, 255, 255, 0.1)}html.dark div.dt-buttons>div.dt-button-split .dt-button:first-child:hover{border-right:1px solid rgb(89, 91, 94)}html.dark div.dt-buttons>div.dt-button-split .dt-button:last-child:hover{border-left:1px solid rgb(89, 91, 94)}html.dark div.dt-button-collection{border:1px solid rgba(255, 255, 255, 0.15);background-color:rgb(33, 37, 41);box-shadow:3px 4px 10px 1px rgba(0, 0, 0, 0.8)}html.dark div.dt-button-info{background-color:var(--dt-html-background);border:1px solid rgba(255, 255, 255, 0.15)} + + +body.dtcr-dragging{overflow-x:hidden}table.dtcr-cloned.dataTable{position:absolute !important;background-color:rgba(255, 255, 255, 0.7);z-index:202;border-radius:4px}table.dataTable tbody tr td.dtcr-moving{background-color:rgba(127, 127, 127, 0.15)}table.dataTable tbody tr td.dtcr-moving-first{border-left:1px solid #0259c4}table.dataTable tbody tr td.dtcr-moving-last{border-right:1px solid #0259c4}html.dark table.dtcr-cloned.dataTable{background-color:rgba(33, 33, 33, 0.9)} + + +:root{--dtcc-button_background: transparent;--dtcc-button_border: none;--dtcc-button_border-radius: 3px;--dtcc-button_opacity: 0.4;--dtcc-button_padding: 3px;--dtcc-button_disabled-opacity: 0.6;--dtcc-button_empty-opacity: 0.8;--dtcc-button_hover-border: none;--dtcc-button_hover-background: rgba(0, 0, 0, 0.1);--dtcc-button_hover-opacity: 0.9;--dtcc-button-icon_color: black;--dtcc-button-icon_size: 16px;--dtcc-button-icon_margin: 0.5em;--dtcc-dropdown_background: white;--dtcc-dropdown_border: 1px solid rgba(0, 0, 0, 0.2);--dtcc-dropdown_border-radius: 5px;--dtcc-dropdown_box-shadow: 3px 4px 10px 1px rgba(0, 0, 0, 0.3);--dtcc-dropdown_margin: 3px 0 0 0;--dtcc-dropdown_padding: 0.75em 0;--dtcc-dropdown_width: 200px;--dtcc-dropdown_z-index: 2002;--dtcc-dropdown-button_background: transparent;--dtcc-dropdown-button_border: none;--dtcc-dropdown-button_color: black;--dtcc-dropdown-button_padding: 0.5em 1em;--dtcc-dropdown-button_hover-background: rgba(0, 0, 0, 0.05);--dtcc-dropdown-icon_vertical-align: initial;--dtcc-dropdown-search_padding: 0.5em 1em;--dtcc-spacer_border: 1px solid rgba(0, 0, 0, 0.2);--dtcc-spacer_margin: 0.5em;--dtcc-title_background: rgba(255, 255, 255, 0.1);--dtcc-title_border-left: none;--dtcc-title_border-right: none;--dtcc-title_border-top: none;--dtcc-title_border-bottom: ;--dtcc-title_margin: 0;--dtcc-title_padding: 0.5em 0;--dtcc-title_text-align: center;--dtcc-search-icon_color: black;--dtcc-search-icon_hover-background: rgba(0, 0, 0, 0.1);--dtcc-search-icon_opacity: 0.4;--dtcc-search-icon_size: 16px;--dtcc-search-clear_right: 8px;--dtcc-search-clear_bottom: 2px;--dtcc-search-input_margin-top: 0.5em;--dtcc-search-input_padding-right: 24px;--dtcc-search-input_border: 1px solid #aaa;--dtcc-search-input_background-color: var(--dt-html-background);--dtcc-search-input_background: var(--dt-html-background);--dtcc-search-input_border-radius: 3px;--dtcc-search-input_padding: 5px;--dtcc-search-input_flexCalc: 24px;--dtcc-list-buttons_max-height: 300px;--dtcc-list-buttons_background: rgba(0, 0, 0, 0.05)}:root.dark{--dtcc-button_hover-background: rgba(255, 255, 255, 0.1);--dtcc-button-icon_color: white;--dtcc-spacer_border: 1px solid rgba(255, 255, 255, 0.15);--dtcc-dropdown_background: rgb(33, 37, 41);--dtcc-dropdown_border: 1px solid rgba(255, 255, 255, 0.15);--dtcc-dropdown_box-shadow: 3px 4px 10px 1px rgba(0, 0, 0, 0.8);--dtcc-dropdown-button_color: white;--dtcc-dropdown-button_hover-background: rgba(153, 153, 153, 0.1);--dtcc-search-icon_color: white;--dtcc-search-icon_hover-background: rgba(255, 255, 255, 0.1);--dtcc-search-input_border: 1px solid rgba(255, 255, 255, 0.2);--dtcc-list-buttons_background: rgba(255, 255, 255, 0.05)}table.dataTable div.dt-column-header span.dt-column-title:empty+span.dtcc{flex-grow:1;margin-left:auto}table.dataTable .dt-type-numeric div.dt-column-header span.dt-column-title:empty+span.dtcc,table.dataTable .dt-type-date div.dt-column-header span.dt-column-title:empty+span.dtcc,table.dataTable .dt-right div.dt-column-header span.dt-column-title:empty+span.dtcc{margin-right:auto;margin-left:0}table.dataTable>thead>tr.dtcc-row_no-bottom-border>*{border-bottom:none !important}table.dataTable>thead>tr.dtcc-row_no-top-padding>*{padding-top:0 !important}table.dataTable span.dtcc{font-weight:normal;white-space:nowrap;display:inline-flex;align-items:center}table.dataTable span.dtcc button.dtcc-button{display:inline-flex;padding:var(--dtcc-button_padding);border:var(--dtcc-button_border);border-radius:var(--dtcc-button_border-radius);background:var(--dtcc-button_background);cursor:pointer;opacity:var(--dtcc-button_opacity)}table.dataTable span.dtcc button.dtcc-button:hover{border:var(--dtcc-button_hover-border);background:var(--dtcc-button_hover-background);opacity:var(--dtcc-button_hover-opacity)}table.dataTable span.dtcc button.dtcc-button.dtcc-button_disabled{cursor:initial;opacity:var(--dtcc-button_disabled-opacity)}table.dataTable span.dtcc button.dtcc-button>span.dtcc-button-state{display:none}table.dataTable span.dtcc button.dtcc-button>span.dtcc-button-extra{display:none}table.dataTable span.dtcc button.dtcc-button_active{opacity:1}table.dataTable span.dtcc input{box-sizing:border-box;width:100%}table.dataTable span.dtcc span.dtcc-button-icon{display:inline-block;box-sizing:content-box;color:var(--dtcc-button-icon_color);vertical-align:middle;line-height:var(--dtcc-button-icon_size);height:var(--dtcc-button-icon_size)}table.dataTable span.dtcc span.dtcc-button-icon svg{width:var(--dtcc-button-icon_size);height:var(--dtcc-button-icon_size);vertical-align:initial}table.dataTable span.dtcc span.dtcc-button-text{display:none}table.dataTable span.dtcc div.dtcc-spacer{display:inline-block;margin:0 var(--dtcc-spacer_margin);padding-left:.5em;border-left:var(--dtcc-spacer_border);vertical-align:middle;white-space:nowrap;cursor:initial}table.dataTable span.dtcc div.dtcc-spacer:empty{width:1px;height:1em;padding-left:0}table.dataTable span.dtcc div.dtcc-search{flex-grow:1}table.dataTable span.dtcc div.dtcc-search div.dtcc-search-title{margin-bottom:.25em;text-align:left}table.dataTable span.dtcc div.dtcc-search:empty{display:none}table.dataTable span.dtcc div.dtcc-search.dtcc-search_active>div div.dtcc-search-type-icon svg{opacity:1}table.dataTable span.dtcc div.dtcc-search:not(.dtcc-search_active) span.dtcc-search-clear{display:none}table.dataTable span.dtcc div.dtcc-search>div{position:relative}table.dataTable span.dtcc div.dtcc-search>div div.dtcc-search-type-icon{display:flex;position:absolute;top:0;align-items:center;justify-content:center;width:30px;height:100%}table.dataTable span.dtcc div.dtcc-search>div div.dtcc-search-type-icon svg{width:var(--dtcc-search-icon_size);height:var(--dtcc-search-icon_size);color:var(--dtcc-search-icon_color);opacity:var(--dtcc-search-icon_opacity);vertical-align:initial}table.dataTable span.dtcc div.dtcc-search>div div.dtcc-search-type-icon:hover{background-color:var(--dtcc-search-icon_hover-background)}table.dataTable span.dtcc div.dtcc-search>div select{position:absolute;top:0;width:30px;height:100%;cursor:pointer;opacity:0;background-color:var(--dtcc-search-input_background)}table.dataTable span.dtcc div.dtcc-search>div span.dtcc-search-clear{display:flex;position:absolute;top:0;align-items:center;justify-content:center;width:14px;height:100%;cursor:pointer}table.dataTable span.dtcc div.dtcc-search>div div.dtcc-search-icon{display:none}table.dataTable span.dtcc div.dtcc-search>div input{padding:var(--dtcc-search-input_padding);border:var(--dtcc-search-input_border);border-radius:var(--dtcc-search-input_border-radius);background-color:var(--dtcc-search-input_background);color:inherit}table.dataTable span.dtcc div.dtcc-searchText>div div.dtcc-search-type-icon{right:0;z-index:1}table.dataTable span.dtcc div.dtcc-searchText>div select{right:0;z-index:2;padding:0}table.dataTable span.dtcc div.dtcc-searchText>div span.dtcc-search-clear{right:28px;z-index:1}table.dataTable span.dtcc div.dtcc-searchText>div input{padding-right:46px}table.dataTable span.dtcc div.dtcc-searchNumber>div div.dtcc-search-type-icon,table.dataTable span.dtcc div.dtcc-searchDateTime>div div.dtcc-search-type-icon{left:0;z-index:1}table.dataTable span.dtcc div.dtcc-searchNumber>div select,table.dataTable span.dtcc div.dtcc-searchDateTime>div select{left:0;z-index:2;padding:0}table.dataTable span.dtcc div.dtcc-searchNumber>div span.dtcc-search-clear,table.dataTable span.dtcc div.dtcc-searchDateTime>div span.dtcc-search-clear{left:28px}table.dataTable span.dtcc div.dtcc-searchNumber>div input,table.dataTable span.dtcc div.dtcc-searchDateTime>div input{padding-left:46px;text-align:right}div.dtcc-dropdown{display:block;box-sizing:border-box;z-index:var(--dtcc-dropdown_z-index);position:absolute;width:var(--dtcc-dropdown_width);margin:var(--dtcc-dropdown_margin);padding:var(--dtcc-dropdown_padding);overflow:hidden;border:var(--dtcc-dropdown_border);border-radius:var(--dtcc-dropdown_border-radius);background:var(--dtcc-dropdown_background);box-shadow:var(--dtcc-dropdown_box-shadow)}div.dtcc-dropdown button.dtcc-button{display:flex;position:relative;align-items:center;width:100%;padding:var(--dtcc-dropdown-button_padding);border:var(--dtcc-dropdown-button_border);background:var(--dtcc-dropdown-button_background);color:var(--dtcc-dropdown-button_color);text-align:left;cursor:pointer}div.dtcc-dropdown button.dtcc-button:focus{outline-offset:-2px}div.dtcc-dropdown button.dtcc-button:hover{background:var(--dtcc-dropdown-button_hover-background)}div.dtcc-dropdown button.dtcc-button.dtcc-button_disabled{cursor:initial;opacity:var(--dtcc-button_disabled-opacity)}div.dtcc-dropdown button.dtcc-button.dtcc-button_empty span.dtcc-button-text{opacity:var(--dtcc-button_empty-opacity);font-style:italic}div.dtcc-dropdown button.dtcc-button>span.dtcc-button-state{display:block;width:var(--dtcc-button-icon_size);height:var(--dtcc-button-icon_size);margin:0 0 0 var(--dtcc-button-icon_margin)}div.dtcc-dropdown button.dtcc-button>span.dtcc-button-state:empty{display:none}div.dtcc-dropdown button.dtcc-button>span.dtcc-button-state svg{width:var(--dtcc-button-icon_size);height:var(--dtcc-button-icon_size);vertical-align:initial}div.dtcc-dropdown button.dtcc-button>span.dtcc-button-extra:empty{display:none}div.dtcc-dropdown button.dtcc-button span.dtcc-button-icon{width:var(--dtcc-button-icon_size);height:var(--dtcc-button-icon_size);margin:0 var(--dtcc-button-icon_margin) 0 0}div.dtcc-dropdown button.dtcc-button span.dtcc-button-icon svg{width:var(--dtcc-button-icon_size);height:var(--dtcc-button-icon_size);vertical-align:var(--dtcc-dropdown-icon_vertical-align)}div.dtcc-dropdown button.dtcc-button span.dtcc-button-text{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}div.dtcc-dropdown div.dtcc-spacer{margin:var(--dtcc-spacer_margin) 0;padding:0;border-bottom:var(--dtcc-spacer_border);border-left:none}div.dtcc-dropdown div.dtcc-title{margin:var(--dtcc-title_margin);padding:var(--dtcc-title_padding);border-top:var(--dtcc-title_border-top);border-right:var(--dtcc-title_border-right);border-bottom:var(--dtcc-title_border-bottom);border-left:var(--dtcc-title_border-left);background:var(--dtcc-title_background);text-align:var(--dtcc-title_text-align)}div.dtcc-dropdown div.dtcc-search{padding:var(--dtcc-dropdown-search_padding)}div.dtcc-dropdown div.dtcc-search>div{display:flex;position:relative;flex-wrap:wrap;align-items:center;border:var(--dtcc-dropdown-button_border);background:var(--dtcc-dropdown-button_background);color:var(--dtcc-dropdown-button_color)}div.dtcc-dropdown div.dtcc-search>div div{flex:0 0 var(--dtcc-button-icon_size);width:var(--dtcc-button-icon_size);height:var(--dtcc-button-icon_size);margin:0 var(--dtcc-button-icon_margin) 0 0}div.dtcc-dropdown div.dtcc-search>div div svg{width:var(--dtcc-search-icon_size);height:var(--dtcc-search-icon_size);color:var(--dtcc-search-icon_color);vertical-align:var(--dtcc-dropdown-icon_vertical-align)}div.dtcc-dropdown div.dtcc-search>div select,div.dtcc-dropdown div.dtcc-search>div input{box-sizing:border-box;flex:1 1 calc(100% - var(--dtcc-search-input_flexCalc));width:100%;min-width:0;padding:var(--dtcc-search-input_padding);border:var(--dtcc-search-input_border);border-radius:var(--dtcc-search-input_border-radius);background-color:var(--dtcc-search-input_background-color)}div.dtcc-dropdown div.dtcc-search>div select option,div.dtcc-dropdown div.dtcc-search>div input option{background-color:var(--dtcc-search-input_background-color)}div.dtcc-dropdown div.dtcc-search>div input,div.dtcc-dropdown div.dtcc-search>div div.dtcc-search-icon{margin-top:var(--dtcc-search-input_margin-top)}div.dtcc-dropdown div.dtcc-search>div input{padding-right:var(--dtcc-search-input_padding-right)}div.dtcc-dropdown div.dtcc-search>div span.dtcc-search-clear{position:absolute;right:var(--dtcc-search-clear_right);bottom:var(--dtcc-search-clear_bottom);width:14px;cursor:pointer}div.dtcc-dropdown div.dtcc-search:not(.dtcc-search_active) span.dtcc-search-clear{display:none}div.dtcc-dropdown div.dtcc-list div.dtcc-list-title,div.dtcc-dropdown div.dtcc-list div.dtcc-list-empty{padding:var(--dtcc-dropdown-button_padding);font-style:italic}div.dtcc-dropdown div.dtcc-list div.dtcc-list-title:empty,div.dtcc-dropdown div.dtcc-list div.dtcc-list-empty:empty{display:none}div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls{display:grid;padding:var(--dtcc-dropdown-button_padding);gap:.5em}div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls:empty{display:none}div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectAll,div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectNone{width:100%;padding:0;border:none;background-color:transparent;color:inherit;font-size:80%;text-align:center;cursor:pointer}div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectAll:hover,div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectNone:hover{text-decoration:underline}div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectAll span,div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectNone span{display:inline-block;padding-left:.25em}div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls input.dtcc-list-search{box-sizing:border-box;grid-column:1/3;width:100%;padding:var(--dtcc-search-input_padding);border:var(--dtcc-search-input_border);border-radius:var(--dtcc-search-input_border-radius);background-color:var(--dtcc-search-input_background-color)}div.dtcc-dropdown div.dtcc-list div.dtcc-list-buttons{max-height:var(--dtcc-list-buttons_max-height);overflow:auto;background:var(--dtcc-list-buttons_background)}div.dtcc-dropdown div.dtcc-list span.dtcc-button-icon:empty{display:none} + + +:root{--dt-datetime_background: white;--dt-datetime_zindex: 2050;--dt-datetime_border: 1px solid #ccc;--dt-datetime_box-shadow: 0 5px 15px -5px rgba(0,0,0,.5);--dt-datetime_padding: 6px 20px;--dt-datetime_width: 275px;--dt-datetime_border-radius: 5px;--dt-datetime-inline_padding: 6px 0;--dt-datetime-inline_background: transparent;--dt-datetime-title_padding: 5px 0px 3px;--dt-datetime-buttons-link_padding: 0 0.5em 0.5em 0.5em;--dt-datetime-buttons-link_font-size: 0.9em;--dt-datetime-table-header_font-size: 0.8em;--dt-datetime-table-header_color: #777;--dt-datetime-table-header_padding: 0 0 4px 0;--dt-datetime-table-body_font-size: 0.9em;--dt-datetime-table-body_color: #444;--dt-datetime-table-body_padding: 0;--dt-datetime-table-selectable_background: #f5f5f5;--dt-datetime-table-selectable_disabled-color: #aaa;--dt-datetime-table-selectable_disabled-background: white;--dt-datetime-table-selectable_disabled-hover-color: #aaa;--dt-datetime-table-selectable_disabled-hover-background: white;--dt-datetime-table_hover-background: #ff8000;--dt-datetime-table_hover-color: white;--dt-datetime-table-now_background: #ddd;--dt-datetime-table-selected_background: #4E6CA3;--dt-datetime-table-selected_color: white;--dt-datetime-label_height: 30px;--dt-datetime-label_border: 1px solid transparent;--dt-datetime-label_padding: 5px 6px;--dt-datetime-label_hover-border: 1px solid #ddd;--dt-datetime-label_hover-background: #f5f5f5;--dt-datetime-icon_border: 1px solid transparent;--dt-datetime-icon-opacity: 0.3;--dt-datetime-icon_hover-border: 1px solid #ccc;--dt-datetime-icon_hover-background: #f0f0f0;--dt-datetime-icon_hover-opacity: 0.6;--dt-datetime-icon-triangle_border-color: black;--dt-datetime-error_color: #b11f1f}html.dark,:root[data-theme=dark],:root[data-bs-theme=dark]{--dt-datetime_background: rgb(33, 37, 41);--dt-datetime_border: 1px solid rgb(89, 91, 94);--dt-datetime_box-shadow: 3px 4px 10px 1px rgba(0, 0, 0, 0.8);--dt-datetime-table-header_color: #ccc;--dt-datetime-table-body_color: #eee;--dt-datetime-table-selectable_background: rgb(55, 60, 65);--dt-datetime-table-selectable_disabled-color: #aaa;--dt-datetime-table-selectable_disabled-background: rgb(23, 27, 31);--dt-datetime-table-selectable_disabled-hover-color: #aaa;--dt-datetime-table-selectable_disabled-hover-background: rgb(23, 27, 31);--dt-datetime-table_hover-background: #ff8000;--dt-datetime-table_hover-color: black;--dt-datetime-table-now_background: rgb(75, 80, 85);--dt-datetime-table-selected_background: #6ea8fe;--dt-datetime-table-selected_color: black;--dt-datetime-label_border: 1px solid transparent;--dt-datetime-label_hover-border: 1px solid transparent;--dt-datetime-label_hover-background: rgba(255, 255, 255, 0.1);--dt-datetime-icon_border: 1px solid transparent;--dt-datetime-icon_hover-border: 1px solid transparent;--dt-datetime-icon_hover-background: rgba(255, 255, 255, 0.1);--dt-datetime-icon-triangle_border-color: white;--dt-datetime-error_color: #b11f1f}div.dt-datetime{position:absolute;background-color:var(--dt-datetime_background);z-index:var(--dt-datetime_zindex);border:var(--dt-datetime_border);box-shadow:var(--dt-datetime_box-shadow);padding:var(--dt-datetime_padding);width:var(--dt-datetime_width);border-radius:var(--dt-datetime_border-radius)}div.dt-datetime.inline{position:relative;box-shadow:none;border:none;z-index:inherit;padding:var(--dt-datetime-inline_padding);background-color:var(--dt-datetime-inline_background)}div.dt-datetime div.dt-datetime-title{text-align:center;padding:var(--dt-datetime-title_padding)}div.dt-datetime div.dt-datetime-buttons{text-align:center}div.dt-datetime div.dt-datetime-buttons a{display:inline-block;padding:var(--dt-datetime-buttons-link_padding);margin:0;font-size:var(--dt-datetime-buttons-link_font-size)}div.dt-datetime div.dt-datetime-buttons a:hover{text-decoration:underline}div.dt-datetime table{border-spacing:0;margin:12px 0;width:100%}div.dt-datetime table.dt-datetime-table-nospace{margin-top:-12px}div.dt-datetime table th{font-size:var(--dt-datetime-table-header_font-size);color:var(--dt-datetime-table-header_color);font-weight:normal;width:14.285714286%;padding:var(--dt-datetime-table-header_padding);text-align:center}div.dt-datetime table td{font-size:var(--dt-datetime-table-body_font-size);color:var(--dt-datetime-table-body_color);padding:var(--dt-datetime-table-body_padding)}div.dt-datetime table td.selectable{text-align:center;background:var(--dt-datetime-table-selectable_background)}div.dt-datetime table td.selectable.disabled{color:var(--dt-datetime-table-selectable_disabled-color);background:var(--dt-datetime-table-selectable_disabled-background)}div.dt-datetime table td.selectable.disabled button:hover{color:var(--dt-datetime-table-selectable_disabled-hover-color);background:var(--dt-datetime-table-selectable_disabled-hover-background)}div.dt-datetime table td.selectable.now{background-color:var(--dt-datetime-table-now_background)}div.dt-datetime table td.selectable.now button{font-weight:bold}div.dt-datetime table td.selectable.selected button{background:var(--dt-datetime-table-selected_background);color:var(--dt-datetime-table-selected_color);border-radius:2px}div.dt-datetime table td.selectable button:hover{background:var(--dt-datetime-table_hover-background);color:var(--dt-datetime-table_hover-color);border-radius:2px}div.dt-datetime table td.dt-datetime-week{font-size:.7em}div.dt-datetime table button{width:100%;box-sizing:border-box;border:none;background:transparent;font-size:inherit;color:inherit;text-align:center;padding:4px 0;cursor:pointer;margin:0}div.dt-datetime table button span{display:inline-block;min-width:14px;text-align:right}div.dt-datetime table.weekNumber th{width:12.5%}div.dt-datetime div.dt-datetime-calendar table{margin-top:0}div.dt-datetime div.dt-datetime-label{position:relative;display:inline-block;height:var(--dt-datetime-label_height);padding:var(--dt-datetime-label_padding);border:var(--dt-datetime-label_border);box-sizing:border-box;cursor:pointer}div.dt-datetime div.dt-datetime-label:hover{border:var(--dt-datetime-label_hover-border);border-radius:2px;background-color:var(--dt-datetime-label_hover-background)}div.dt-datetime div.dt-datetime-label select{position:absolute;top:6px;left:0;cursor:pointer;opacity:0}div.dt-datetime.horizontal{width:550px}div.dt-datetime.horizontal div.dt-datetime-date,div.dt-datetime.horizontal div.dt-datetime-time{width:48%}div.dt-datetime.horizontal div.dt-datetime-time{margin-left:4%}div.dt-datetime div.dt-datetime-date{position:relative;float:left;width:100%}div.dt-datetime div.dt-datetime-time{position:relative;float:left;width:100%;text-align:center}div.dt-datetime div.dt-datetime-time>span{vertical-align:middle}div.dt-datetime div.dt-datetime-time th{text-align:left}div.dt-datetime div.dt-datetime-time div.dt-datetime-timeblock{display:inline-block;vertical-align:middle}div.dt-datetime div.dt-datetime-iconLeft,div.dt-datetime div.dt-datetime-iconRight{width:30px;height:30px;background-position:center;background-repeat:no-repeat;opacity:var(--dt-datetime-icon-opacity);overflow:hidden;box-sizing:border-box;border:var(--dt-datetime-icon_border)}div.dt-datetime div.dt-datetime-iconLeft:hover,div.dt-datetime div.dt-datetime-iconRight:hover{border:var(--dt-datetime-icon_hover-border);border-radius:2px;background-color:var(--dt-datetime-icon_hover-background);opacity:var(--dt-datetime-icon_hover-opacity)}div.dt-datetime div.dt-datetime-iconLeft button,div.dt-datetime div.dt-datetime-iconRight button{border:none;background:transparent;text-indent:30px;height:100%;width:100%;cursor:pointer}div.dt-datetime div.dt-datetime-iconLeft{position:absolute;top:5px;left:5px}div.dt-datetime div.dt-datetime-iconLeft button{position:relative;z-index:1}div.dt-datetime div.dt-datetime-iconLeft:after{position:absolute;top:7px;left:10px;display:block;content:"";border-top:7px solid transparent;border-right:7px solid var(--dt-datetime-icon-triangle_border-color);border-bottom:7px solid transparent}div.dt-datetime div.dt-datetime-iconRight{position:absolute;top:5px;right:5px}div.dt-datetime div.dt-datetime-iconRight button{position:relative;z-index:1}div.dt-datetime div.dt-datetime-iconRight:after{position:absolute;top:7px;left:12px;display:block;content:"";border-top:7px solid transparent;border-left:7px solid var(--dt-datetime-icon-triangle_border-color);border-bottom:7px solid transparent}div.dt-datetime-error{clear:both;padding:0 1em;max-width:240px;font-size:11px;line-height:1.25em;text-align:center;color:var(--dt-datetime-error_color)}html.dark input.dt-datetime,html.dark select,:root[data-theme=dark] input.dt-datetime,:root[data-theme=dark] select,:root[data-bs-theme=dark] input.dt-datetime,:root[data-bs-theme=dark] select{color-scheme:dark}html.dark.inline,:root[data-theme=dark].inline,:root[data-bs-theme=dark].inline{box-shadow:none;border:none} + + +:root{--dtfc_background: white;--dtfc-thead-cell_background: var(--dtfc_background);--dtfc-tbody-cell_background: var(--dtfc_background)}:root.dark{--dtfc_background: rgb(33, 37, 41)}table.dataTable thead tr>.dtfc-fixed-start,table.dataTable thead tr>.dtfc-fixed-end,table.dataTable tfoot tr>.dtfc-fixed-start,table.dataTable tfoot tr>.dtfc-fixed-end{top:0;bottom:0;z-index:3;background-color:var(--dtfc-thead-cell_background)}table.dataTable tbody tr>.dtfc-fixed-start,table.dataTable tbody tr>.dtfc-fixed-end{z-index:1;background-color:var(--dtfc-tbody-cell_background)}table.dataTable tr>.dtfc-fixed-left::after,table.dataTable tr>.dtfc-fixed-right::after{position:absolute;top:0;bottom:0;width:10px;transition:box-shadow .3s;content:"";pointer-events:none}table.dataTable tr>.dtfc-fixed-left::after{right:0;transform:translateX(100%)}table.dataTable tr>.dtfc-fixed-right::after{left:0;transform:translateX(-80%)}table.dataTable.dtfc-scrolling-left tr>.dtfc-fixed-left::after{box-shadow:inset 10px 0 8px -8px rgba(0, 0, 0, 0.2)}table.dataTable.dtfc-scrolling-right tr>.dtfc-fixed-right::after{box-shadow:inset -10px 0 8px -8px rgba(0, 0, 0, 0.2)}table.dataTable.dtfc-scrolling-right tr>.dtfc-fixed-right+.dtfc-fixed-right::after{box-shadow:none}div.dt-scroll,div.dtfh-floatingparent{position:relative}div.dt-scroll div.dtfc-top-blocker,div.dt-scroll div.dtfc-bottom-blocker,div.dtfh-floatingparent div.dtfc-top-blocker,div.dtfh-floatingparent div.dtfc-bottom-blocker{position:absolute;background-color:var(--dtfc-thead-cell_background)}html.dark table.dataTable.dtfc-scrolling-left tbody>tr>.dtfc-fixed-left::after{box-shadow:inset 10px 0 8px -8px rgba(0, 0, 0, 0.3)}html.dark table.dataTable.dtfc-scrolling-right tbody>tr>.dtfc-fixed-right::after{box-shadow:inset -10px 0 8px -8px rgba(0, 0, 0, 0.3)}html.dark table.dataTable.dtfc-scrolling-right tbody>tr>.dtfc-fixed-right+.dtfc-fixed-right::after{box-shadow:none} + + +table.fixedHeader-floating,table.fixedHeader-locked{position:relative !important;background-color:var(--dt-html-background);background-color:var(--dt-html-background)}@media print{table.fixedHeader-floating,table.fixedHeader-locked{display:none}} diff --git a/evv4esm/resources/css/livv.css b/evv4esm/resources/css/livv.css index 92b38c9..20304f5 100644 --- a/evv4esm/resources/css/livv.css +++ b/evv4esm/resources/css/livv.css @@ -1,17 +1,21 @@ /****************************************************************************** Basic Styling Overrides ******************************************************************************/ +:root{ + --dtfc-thead-cell_background: #512E5F; + --dtfc-tbody-cell_background: #512E5F; +} html { - font-family: 'Lato', helvetica, sans-serif; - height: 100%; + font-family: 'Lato', helvetica, sans-serif; + height: 100%; } body { - height: 100%; - margin-top: 0px; - margin-right: 0px; - margin-bottom: 0px; - margin-left: 0px; + height: 100%; + margin-top: 0px; + margin-right: 0px; + margin-bottom: 0px; + margin-left: 0px; min-width: 1125px; background: url("../imgs/background.jpg") no-repeat center center fixed; -webkit-background-size: cover; @@ -20,8 +24,11 @@ body { background-size: cover; } -h1, h2, h3, h4 { - font-family: 'Lato', helvetica, sans-serif; +h1, +h2, +h3, +h4 { + font-family: 'Lato', helvetica, sans-serif; } hr { @@ -38,22 +45,21 @@ a { ******************************************************************************/ #header { min-width: 800px; - background-color: #222222; + background-color: #222222; border-bottom: 1px solid #222222; font-size: 1.5em; font-weight: 500; } #header:after { - content: ""; - display: table; - clear: both; + content: ""; + display: table; + clear: both; } -#header-spacer { -} +#header-spacer {} -#header a{ +#header a { text-decoration: none; } @@ -65,31 +71,31 @@ a { } #header-home { - float: left; + float: left; color: #F26C3A; height: 1.25em; - line-height: 1.25em; - margin-top: 15px; + line-height: 1.25em; + margin-top: 15px; text-align: left; width: 15%; } #header-title { - float: left; + float: left; color: #F26C3A; - height: 1.25em; - line-height: 1.25em; - margin-top: 15px; + height: 1.25em; + line-height: 1.25em; + margin-top: 15px; text-align: center; width: 50%; } #header-docs { - float: left; + float: left; color: #F26C3A; - height: 1.25em; - line-height: 1.25em; - margin-top: 15px; + height: 1.25em; + line-height: 1.25em; + margin-top: 15px; padding-right: 15px; text-align: right; width: 25%; @@ -108,13 +114,10 @@ a { padding: 20px; } -#content { +#content{ padding: 10px; width: 71%; float: left; -} - -#content div { background-color: white; } @@ -127,11 +130,11 @@ table { border-spacing: 0; } -th { - background-color: #512E5F; - color: #ffffff; - padding: 10px; - border-bottom: 2px solid #F26C3A; +thead, th { + background-color: #512E5F; + color: #ffffff; + padding: 10px; + border-bottom: 2px solid #F26C3A; } td { @@ -148,6 +151,11 @@ td { text-align: right; } +div.dt-container { + width: 100%; + margin: auto auto; +} + /****************************************************************************** Element Styling ******************************************************************************/ @@ -179,7 +187,7 @@ td { .diff p { line-height: 1.05em; margin: 0px; - padding-left:10%; + padding-left: 10%; font-family: monospace; } diff --git a/evv4esm/resources/index.html b/evv4esm/resources/index.html index 1a84c95..fc5a1e9 100644 --- a/evv4esm/resources/index.html +++ b/evv4esm/resources/index.html @@ -10,11 +10,13 @@ - + + +