/*!
 * QUnit 3.0.0-alpha.1
 * https://qunitjs.com/
 *
 * Copyright OpenJS Foundation and other contributors
 * Released under the MIT license
 * https://jquery.org/license
 */

/**
 * Resets
 */

body {
	margin: 0;
	padding: 0;
}

[id=qunit] * {
	margin: 0;
	padding: 0;
}

#qunit {
	font-family: system-ui, sans-serif;
	font-size: 13px;
	line-height: 1.2;
	background: #FFF;
	color: #333;
}

/* Style our buttons in a simple way, uninfluenced by the styles
   the tested app might load. Don't affect buttons in #qunit-fixture!
   https://github.com/qunitjs/qunit/pull/1395
   https://github.com/qunitjs/qunit/issues/1437 */
[id=qunit] button {
	all: revert; /* best effort, modern browsers only */
  cursor: pointer;
}
[id=qunit] button:disabled {
  cursor: default;
}

/**
 * Header
 */

#qunit-header {
	padding: 13px;

	color: #C2CCD1;
	background-color: #0D3349;

	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 13px;
}

#qunit-header h1 {
	flex-grow: 1;
	font-size: 24px;
	line-height: 1;
	font-weight: 400;
}

#qunit-header a {
	display: block;
	text-decoration: none;
	color: inherit;
}

#qunit-header a:hover,
#qunit-header a:focus {
	color: #FFF;
}

#qunit-banner {
	--qunit-progress: 0%;

	height: 5px;
	background-image: linear-gradient(#0769AD, #0769AD);
	background-repeat: no-repeat;
	background-size: var(--qunit-progress);
	transition: background-size 100ms ease-out;
}
#qunit-banner.qunit-pass {
	background-image: none;
	background-color: #C6E746;
}
#qunit-banner.qunit-fail {
	background-image: none;
	background-color: #EE5757;
}

#qunit-toolbar {
	background-color: #EEE;
	border-bottom: 1px solid #FFF;
}

#qunit-testresult {
	clear: both;
	border-top: 1px solid #FFF;
}

#qunit-toolbar-urlconfig,
#qunit-toolbar-filters,
#qunit-testresult,
#qunit-filteredTest {
	padding: 7px 13px;
}

#qunit-filteredTest {
	border-top: 1px solid #FFF;
	background-color: #fbdbfb;
}

/** Fixed toolbar, with scrollable test results */
@supports (position: sticky) {
  @media (min-height: 400px) {
    #qunit-toolbar {
      position: sticky;
      top: 0px;
      box-shadow: rgba(13, 51, 73, 0.3) 0px 5px 10px -5px;
    }
  }
}

/**
 * Toolbar elements
 */

#qunit-toolbar label {
	display: inline-block;
	margin-right: 6px;
	line-height: 2.1;
}

#qunit-toolbar form {
	display: inline-block;
}

#qunit-toolbar input[type=checkbox],
#qunit-toolbar input[type=radio] {
	margin: 3px;
}

#qunit-toolbar input[type=text] {
	box-sizing: border-box;
	height: 30px;
	padding: 0 6px;
}

/**
 * Toolbar layout
 */

#qunit-testrunner-toolbar {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}
#qunit-toolbar-filters {
	flex-grow: 1;
	justify-content: flex-end;

	display: flex;
	flex-flow: row wrap;
	gap: 13px;
}
#qunit-modulefilter {
	flex-grow: 1;
	max-width: 450px;
}
#qunit-modulefilter label {
	margin-right: 0;
	display: flex;
	flex-flow: row wrap;
}
#qunit-modulefilter-search {
	width: 100%;
}

@media (max-width: 1000px) {
  #qunit-toolbar-filters {
		justify-content: flex-start;
  }
}

/**
 * Module selector
 */

#qunit-modulefilter-search-container {
	/* grow within `#qunit-modulefilter label` */
	flex-grow: 1;
	position: relative;
}
#qunit-modulefilter-search-container:after {
	position: absolute;
	right: 6px;
	bottom: 0;
	height: 30px; /* align with input[type=text] */
	width: 16px;
	content: "";
  background: url('data:image/svg+xml,<svg fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path clip-rule="evenodd" fill-rule="evenodd" d="M12.53 16.28a.75.75 0 01-1.06 0l-7.5-7.5a.75.75 0 011.06-1.06L12 14.69l6.97-6.97a.75.75 0 111.06 1.06l-7.5 7.5z"></path></svg>') center no-repeat;
}

#qunit-modulefilter-dropdown {
	/* align with #qunit-modulefilter-search */
	box-sizing: border-box;
	width: 100%;
	position: absolute;
	right: 0;
	top: 100%;
	margin-top: 2px;

	/* ensure that when on a narrow viewports and having only one result,
	   that #qunit-modulefilter-actions fall outside the dropdown rectangle. */
	min-height: 3em;

	border: 1px solid #AAA;
	border-top-color: transparent;
	border-radius: 0 0 .25em .25em;
	color: #0D3349;
	background-color: #F5F5F5;
	z-index: 99;
	max-height: min(80vh, 700px);
  overflow-y: auto;
}

#qunit-modulefilter-actions {
	display: block;
	overflow: auto;
	/* align with #qunit-modulefilter-dropdown-list */
	line-height: 1.5;
}

#qunit-modulefilter-actions button {
	max-height: 2.8em;
	margin: 0.25em;
}

#qunit-modulefilter-dropdown-list {
	margin: 0;
	padding: 0;
}

#qunit-modulefilter-dropdown-list li {
	list-style: none;
}
#qunit-modulefilter-dropdown-list .clickable {
	display: block;
	padding: 0.25em 0.50em 0.25em 0.15em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
#qunit-modulefilter-dropdown-list .clickable.checked {
	font-weight: bold;
	background-color: #E2F0F7;
	color: #0D3349;
}
#qunit-modulefilter-dropdown .clickable:hover {
	background-color: #FFF;
	color: #444;
}

/** Test Result */

#qunit-testresult {
	/* left #qunit-testresult-display, right #qunit-testresult-controls */
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap: 13px;
}
#qunit-testresult a {
	color: #2F68DA;
}
#qunit-testresult .module-name {
	font-weight: 700;
}
#qunit-testresult-controls {
	max-width: 10%;
}
#qunit-testresult-controls:empty {
	display: none;
}

/** Test output */

#qunit-tests {
	list-style-position: inside;
}

#qunit-tests li {
	padding: 0.4em 1em 0.4em 1em;
	border-bottom: 1px solid #FFF;
	list-style-position: inside;
}

#qunit-tests > li {
	display: none;
}

#qunit-tests li.running,
#qunit-tests li.pass,
#qunit-tests li.fail,
#qunit-tests li.skipped,
#qunit-tests li.aborted {
	display: list-item;
}

#qunit-tests li strong {
	cursor: pointer;
}

#qunit-tests li.skipped strong {
	cursor: default;
}

#qunit-tests li a {
	padding: 0.5em;
	color: inherit;
	text-decoration: underline;
}
#qunit-tests li a:hover,
#qunit-tests li a:focus {
	color: #0D3349;
}

#qunit-tests li .runtime {
	float: right;
	font-size: smaller;
}

.qunit-assert-list {
	margin-top: 0.5em;
	padding: 0.5em;

	background-color: #FFF;
}

.qunit-source {
	margin: 0.6em 0 0.3em;
}

.qunit-collapsed {
	display: none;
}

#qunit-tests table {
	border-collapse: collapse;
	margin-top: 0.2em;
}

#qunit-tests th {
	text-align: right;
	vertical-align: top;
	padding: 0 0.5em 0 0;
}

#qunit-tests td {
	vertical-align: top;
}

#qunit-tests pre {
	margin: 0;
	white-space: pre-wrap;
	word-wrap: break-word;
}

#qunit-tests del {
	color: #374E0C;
	background-color: #E0F2BE;
	text-decoration: none;
}

#qunit-tests ins {
	color: #500;
	background-color: #FFCACA;
	text-decoration: none;
}

/** Test output: Counts */

#qunit-tests .counts {
	color: #0D3349;
}
#qunit-tests .passed {
	color: #5E740B;
}
#qunit-tests .failed {
	color: #710909;
}

#qunit-tests li li {
	padding: 5px;
	background-color: #FFF;
	border-bottom: none;
	list-style-position: inside;
}

/** Test output: Passing */

#qunit-tests .pass {
	color: #2F68DA;
	background-color: #E2F0F7;
}

#qunit-tests .pass .test-name {
	color: #366097;
}

#qunit-tests li li.pass {
	color: #3C510C;
	background-color: #FFF;
	border-left: 10px solid #C6E746;
}

#qunit-tests .pass .test-actual,
#qunit-tests .pass .test-expected           { color: #999; }


/** Test output: Failing */

#qunit-tests .fail {
	color: #000;
	background-color: #EE5757;
}

#qunit-tests li li.fail {
	color: #710909;
	background-color: #FFF;
	border-left: 10px solid #EE5757;
	white-space: pre;
}

#qunit-tests .fail .test-actual             { color: #EE5757; }
#qunit-tests .fail .test-expected           { color: #008000; }


/** Test output: Aborted */

#qunit-tests .aborted { color: #000; background-color: orange; }

/** Test output: Skipped */

#qunit-tests .skipped {
	background-color: #EBECE9;
}

#qunit-tests .qunit-todo-label,
#qunit-tests .qunit-skipped-label {
	background-color: #F4FF77;
	display: inline-block;
	font-style: normal;
	color: #366097;
	line-height: 1.8em;
	padding: 0 0.5em;
	margin: -0.4em 0 -0.4em 0;
}

#qunit-tests .qunit-todo-label {
	background-color: #EEE;
}

/** Fixture */

#qunit-fixture {
	position: absolute;
	top: -10000px;
	left: -10000px;
	width: 1000px;
	height: 1000px;
}
