/*
* @license Apache-2.0
*
* Copyright (c) 2019 The Stdlib Authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*    http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/*
* Typography stylesheet.
*
* 0. Variables.
* 1. General rules.
* 2. Main.
* 3. Tables.
* 4. Code.
* 5. Lists.
* 6. Definition lists.
* 7. Blockquotes.
* 8. Inputs.
* 9. See also sections.
* 10. Navigation.
* 11. Side menu.
*/

/*
* Variables.
*/

:root {
	--default-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	--thin-font-family: "LatoLatinWebLight", "Helvetica Neue";
	--code-font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
}

/*
* General rules.
*/

body {
	font-size: 16px;
	font-family: var(--default-font-family);

	color: var(--theme-text-color);

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1 {
	font-size: 2.25em; /* 16px * 2.25 => 36px */
}

h2 {
	font-size: 1.75em; /* 16px * 1.75 => 28px */
}

h3 {
	font-size: 1.5em; /* 16px * 1.5 => 24px */
}

h4 {
	font-size: 1.25em; /* 16px * 1.25 => 20px */
}

h5 {
	font-size: 1.0em; /* 16px * 1.0 => 16px */
}

h6 {
	font-size: 0.875em; /* 16px * 0.875 => 14px */
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 600;
	line-height: 1.25;
}

strong {
	font-weight: 600;
}

input {
	font: inherit;
	font-size: inherit;
	line-height: inherit;
}

a {
	color: var(--link-color);
	text-decoration: none;
}

a:hover,
a:active {
	text-decoration: underline;
}

::-webkit-input-placeholder {
	font-family: var(--thin-font-family);
}
:-moz-placeholder {
	font-family: var(--thin-font-family);
}
::-moz-placeholder {
	font-family: var(--thin-font-family);
}
:-ms-input-placeholder {
	font-family: var(--thin-font-family);
}

/*
* Main.
*/

.readme {
	line-height: 1.5;
	word-wrap: break-word;
}

/*
* For links without an `href` attribute, do not distinguish them from the surrounding text.
*/
.readme a:not([href]) {
	color: inherit;
	text-decoration: none;
}

/*
* Tables.
*/

.readme table th {
	font-weight: bold;
}

/*
* Code.
*/

.readme pre,
.readme code {
	font-family: var(--code-font-family);
}

.readme pre,
.readme code {
	font-size: 0.875em; /* 0.875 * 16px = 14px */
}

.readme pre {
	line-height: 1.45;
	word-wrap: normal;
}

.readme pre code {
	line-height: inherit;
	word-wrap: normal;
}

.readme pre > code {
	font-size: 1.0em;
	white-space: pre;
	word-break: normal;
}

/*
* Keyboard elements.
*/

.readme kbd {
	font-size: 0.6875em;
	font-family: var(--code-font-family);

	color: #555555; /* charcoal */

	line-height: 1em;

	vertical-align: middle;
}

/*
* Lists.
*/

.readme .namespace-toc ul li .signature {
	font-size: 0.875em;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.readme .search-results-list-item-title {
	font-size: 1.25em;
}

.readme .search-results-list-item-package-kind {
	font-weight: 500;
	color: var(--package-kind-color);
}

/*
* Definition lists.
*/

.readme dl dt {
	font-size: 1em;
	font-style: italic;
	font-weight: bold;
}

/*
* Blockquotes.
*/

.readme blockquote {
	color: var(--blockquote-color);
}

/*
* Inputs.
*/

.readme input {
	-webkit-font-feature-settings: "liga" 0;
	font-feature-settings: "liga" 0;
}

/*
* "See Also" section.
*/

.readme .related h2 {
	font-size: 1.1em;
}

.readme .related .package-name code {
	font-family: var(--default-font-family);
	font-size: 1em;
}

/*
* README breadcrumbs.
*/

.readme .readme-breadcrumbs li {
	line-height: 1.2em;
}

.readme .readme-breadcrumbs .breadcrumb-separator {
	color: var(--breadcrumb-separator-color);
}

/*
* README pagination.
*/

.readme .readme-bottom-nav .print-button {
	color: var(--link-color);
}

.readme .readme-bottom-nav .print-button:hover {
	text-decoration: underline;
}

.readme .readme-bottom-nav .pagination-link:active,
.readme .readme-bottom-nav .pagination-link:hover {
	text-decoration: none;
}

.readme .readme-bottom-nav .pagination-link-next {
	text-align: right;
}

.readme .readme-bottom-nav .pagination-link-type {
	font-size: 1em;
	color: var(--top-nav-link-color);
}

.readme .readme-bottom-nav .pagination-link-label {
	font-size: 1.2em;
	font-weight: 600;
}

.readme .readme-bottom-nav .pagination-link-label:hover {
	text-decoration: underline;
}

.readme .readme-bottom-nav .pagination-link-sublabel {
	font-size: 0.8em;
	color: var(--top-nav-link-color);
}

/*
* Feedback form.
*/

.readme-feedback > fieldset > legend {
	font-family: var(--thin-font-family);
	font-size: 1.1em;
	text-align: center;
}

.readme-feedback-cancel-button {
	color: var(--top-nav-link-color);
}

.readme-feedback-submit-button {
	color: var(--default-button-text-color);
}

.readme-feedback .MuiTextField-root,
.readme-feedback .MuiTextField-root label,
.readme-feedback .MuiTextField-root textarea,
.readme-feedback h3,
.readme-feedback-footnote {
	font-family: var(--thin-font-family);
	font-weight: normal;

	color: var(--theme-text-color);
}

.readme-feedback-error {
	color: var(--feedback-error-text-color);
}

/*
* Search results.
*/

.search-results h1 button.icon-button .icon {
	fill: var(--theme-text-color);
}

/*
* Runner results.
*/

.runner .badge-list .badge a {
	font-size: 0.875em;
	color: var(--default-button-text-color);
}

.runner-results .test-file,
.runner-results .benchmark-file {
	font-size: 1.1em;
}

.runner-results .test-block,
.runner-results .benchmark-block {
	color: var(--top-nav-link-color);
}

.runner-results .test-block .test-description,
.runner-results .benchmark-block .benchmark-description {
	text-decoration: underline;
	text-decoration-color: var(--hr-background-color);
}

.runner-results .test-block .test-result-label,
.runner-results .benchmark-block .benchmark-result-label {
	font-weight: 600;
}

/*
* Error decoder.
*/

.error-decoder-landing {
	font-size: 1.5em;
	color: var(--blockquote-color);
}

.error-decoder-message {
	font-weight: 600;
}

.error-decoder-message pre > code {
	color: var(--code-decoded-error);

	white-space: pre-wrap;
}

/*
* Navigation.
*/

.top-nav,
.top-nav-search input,
.bottom-nav {
	font-family: var(--thin-font-family);
	color: var(--top-nav-link-color);
}

.top-nav {
	line-height: 4em;
}

.top-nav .icon-button {
	text-decoration: none;
}

.bottom-nav {
	font-size: 0.85em;
}

.top-nav a,
.bottom-nav a {
	color: var(--top-nav-link-color);
}

.top-nav-item a:hover,
.top-nav-item a:active {
	text-decoration: none;
}

@media only screen and (min-width: 54em) { /* 864px */
	/*
	* Once we get to a wide enough screen size and top navigation items are displayed inline, underline the links when active.
	*/
	.top-nav-item a:hover,
	.top-nav-item a:active {
		text-decoration: underline;
	}
}

/*
* Settings menu.
*/

.settings-menu-overlay {
	font-size: 1em;
}

.settings-menu-head h1 {
	text-align: center;

	font-family: var(--default-font-family);
	font-weight: 200;
	color: var(--theme-text-color);
}

.settings-menu-item-label {
	line-height: 1.5rem;

	font-size: 0.75rem;
	font-weight: 700;

	text-transform: uppercase;
	letter-spacing: 0.025em;
}

.settings-select {
	line-height: 1.25em;

	color: var(--settings-input-text-color);
}

.settings-select-custom {
	color: var(--settings-input-text-color);
}

.settings-checkbox {
	line-height: 1.25em;
}

.settings-checkbox-label {
	line-height: 1.2em;
}

.settings-checkbox-label .text-bold {
	font-weight: 700;
}

/*
* Side menu.
*/

.side-menu-drawer {
	line-height: 1;
}

.side-menu-filter-clear:hover,
.side-menu-filter-input:hover {
	color: #bfc4c9;
}

.side-menu-list-item,
.side-menu-list-item-namespace {
	font-family: var(--thin-font-family);
	font-weight: 200;
}

.side-menu-list-item.MuiListItem-root a,
.side-menu-list-item-namespace.MuiListItem-root a {
	color: white;
	text-decoration: none;
}

.side-menu-list-item.MuiListItem-root a:hover {
	text-decoration: underline;
}

.side-menu-version-wrapper label {
	color: #ffffff;
	line-height: 1.5em;
}

.side-menu-version-select {
	color: #ffffff;
}

.side-menu-filter-input,
.side-menu-filter-clear,
button.side-menu-list-item-namespace-icon {
	color: #acafb3;
}

button.side-menu-list-item-namespace-icon {
	font-size: 1.1435em;
}

button.side-menu-list-item-namespace-icon:hover {
	color: #ffffff;
}

.side-menu-list-item.active-package a,
.side-menu-list-item-namespace.active-package a {
	color: #00c5ff;
}

.side-menu-list-item-collapse-icon,
.side-menu-list-item-expand-icon {
	font-size: 1em!important;
}

/*
* Banner.
*/

.banner-wrapper {
	text-align: center;
}

.banner .banner-tagline {
	font-family: var(--thin-font-family);
	font-size: 1.3em;

	color: var(--blockquote-color);
}

/*
* Skip link.
*/

.skip-link {
	text-align: center;

	color: var(--skip-link-color);
}

/*
* Heading icon buttons.
*/

h1 button.icon-button {
	text-align: center;
	line-height: 1em;

	text-decoration: none;
}
