:root {
	--main-background-color: white;
	--main-color: black;
	--settings-input-color: #2196f3;
	--sidebar-background-color: #F5F5F5;
	--sidebar-background-color-hover: #E0E0E0;
	--code-block-background-color: #F5F5F5;
	--scrollbar-track-background-color: #dcdcdc;
	--scrollbar-thumb-background-color: rgba(36, 37, 39, 0.6);
	--scrollbar-color: rgba(36, 37, 39, 0.6) #d9d9d9;
	--headings-border-bottom-color: #ddd;
	--border-color: #e0e0e0;
	--button-background-color: #fff;
}

.slider {
	background-color: #ccc;
}
.slider:before {
	background-color: white;
}
input:focus + .slider {
	box-shadow: 0 0 0 2px #0a84ff, 0 0 0 6px rgba(10, 132, 255, 0.3);
}

.rust-logo {
	/* This rule exists to force other themes to explicitly style the logo.
	 * Rustdoc has a custom linter for this purpose.
	 */
}

.sidebar .current,
.sidebar a:hover {
	background-color: #fff;
}

.line-numbers span { color: #c67e2d; }
.line-numbers .line-highlighted {
	background-color: #FDFFD3 !important;
}

.search-results a:hover {
	background-color: #ddd;
}

.search-results a:focus {
	color: #000 !important;
	background-color: #ccc;
}
.search-results a:focus span { color: #000 !important; }
a.result-trait:focus { background-color: #c7b6ff; }
a.result-traitalias:focus { background-color: #c7b6ff; }
a.result-mod:focus,
a.result-externcrate:focus { background-color: #afc6e4; }
a.result-enum:focus { background-color: #e7b1a0; }
a.result-struct:focus { background-color: #e7b1a0; }
a.result-union:focus { background-color: #e7b1a0; }
a.result-fn:focus,
a.result-method:focus,
a.result-tymethod:focus { background-color: #c6afb3; }
a.result-type:focus { background-color: #e7b1a0; }
a.result-associatedtype:focus { background-color: #afc6e4; }
a.result-foreigntype:focus { background-color: #e7b1a0; }
a.result-attr:focus,
a.result-derive:focus,
a.result-macro:focus { background-color: #8ce488; }
a.result-constant:focus,
a.result-static:focus { background-color: #afc6e4; }
a.result-primitive:focus { background-color: #e7b1a0; }
a.result-keyword:focus { background-color: #afc6e4; }

.content .item-info::before { color: #ccc; }

.content span.enum, .content a.enum, .block a.current.enum { color: #AD378A; }
.content span.struct, .content a.struct, .block a.current.struct { color: #AD378A; }
.content span.type, .content a.type, .block a.current.type { color:  #AD378A; }
.content span.foreigntype, .content a.foreigntype, .block a.current.foreigntype { color: #3873AD; }
.content span.associatedtype,
.content a.associatedtype,
.block a.current.associatedtype { color: #3873AD; }
.content span.attr, .content a.attr, .block a.current.attr,
.content span.derive, .content a.derive, .block a.current.derive,
.content span.macro, .content a.macro, .block a.current.macro { color: #068000; }
.content span.union, .content a.union, .block a.current.union { color: #AD378A; }
.content span.constant, .content a.constant, .block a.current.constant,
.content span.static, .content a.static, .block a.current.static { color: #3873AD; }
.content span.primitive, .content a.primitive, .block a.current.primitive { color: #AD378A; }
.content span.externcrate,
.content span.mod, .content a.mod, .block a.current.mod { color: #3873AD; }
.content span.trait, .content a.trait, .block a.current.trait { color: #6E4FC9; }
.content span.traitalias, .content a.traitalias, .block a.current.traitalias { color: #5137AD; }
.content span.fn, .content a.fn, .block a.current.fn,
.content span.method, .content a.method, .block a.current.method,
.content span.tymethod, .content a.tymethod, .block a.current.tymethod,
.content .fnname { color: #AD7C37; }
.content span.keyword, .content a.keyword, .block a.current.keyword { color: #3873AD; }

.sidebar a { color: #356da4; }
.sidebar a.current.enum { color: #a63283; }
.sidebar a.current.struct { color: #a63283; }
.sidebar a.current.type { color: #a63283; }
.sidebar a.current.associatedtype { color: #356da4; }
.sidebar a.current.foreigntype { color: #356da4; }
.sidebar a.current.attr,
.sidebar a.current.derive,
.sidebar a.current.macro { color: #067901; }
.sidebar a.current.union { color: #a63283; }
.sidebar a.current.constant
.sidebar a.current.static { color: #356da4; }
.sidebar a.current.primitive { color: #a63283; }
.sidebar a.current.externcrate
.sidebar a.current.mod { color: #356da4; }
.sidebar a.current.trait { color: #6849c3; }
.sidebar a.current.traitalias { color: #4b349e; }
.sidebar a.current.fn,
.sidebar a.current.method,
.sidebar a.current.tymethod { color: #a67736; }
.sidebar a.current.keyword { color: #356da4; }

a {
	color: #3873AD;
}

body.source .example-wrap pre.rust a {
	background: #eee;
}

details.rustdoc-toggle > summary.hideme > span,
details.rustdoc-toggle > summary::before {
	color: #999;
}

#crate-search-div::after {
	/* match border-color; uses https://codepen.io/sosuke/pen/Pjoqqp */
	filter: invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);
}
#crate-search:hover, #crate-search:focus {
	border-color: #717171 !important;
}
#crate-search-div:hover::after, #crate-search-div:focus-within::after {
	filter: invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);
}

.search-input:focus {
	border-color: #66afe9;
}

.stab { background: #FFF5D6; border-color: #FFC600; }
.stab.portability > code { background: none; }

.rightside:not(a),
.out-of-band {
	color: grey;
}

.line-numbers :target { background-color: transparent; }

/* Code highlighting */
pre.rust .kw { color: #8959A8; }
pre.rust .kw-2, pre.rust .prelude-ty { color: #4271AE; }
pre.rust .number, pre.rust .string { color: #718C00; }
pre.rust .self, pre.rust .bool-val, pre.rust .prelude-val,
pre.rust .attribute { color: #C82829; }
pre.rust .comment { color: #8E908C; }
pre.rust .doccomment { color: #4D4D4C; }
pre.rust .macro, pre.rust .macro-nonterminal { color: #3E999F; }
pre.rust .lifetime { color: #B76514; }
pre.rust .question-mark {
	color: #ff9011;
}

.example-wrap > pre.line-number {
	border-color: #c7c7c7;
}

a.test-arrow {
	color: #f5f5f5;
	background-color: rgba(78, 139, 202, 0.2);
}

a.test-arrow:hover{
	background-color: #4e8bca;
}

.toggle-label,
.code-attribute {
	color: #999;
}

:target {
	background: #FDFFD3;
	border-right: 3px solid #AD7C37;
}

pre.compile_fail {
	border-left: 2px solid rgba(255,0,0,.5);
}

pre.compile_fail:hover, .information:hover + pre.compile_fail {
	border-left: 2px solid #f00;
}

pre.should_panic {
	border-left: 2px solid rgba(255,0,0,.5);
}

pre.should_panic:hover, .information:hover + pre.should_panic {
	border-left: 2px solid #f00;
}

pre.ignore {
	border-left: 2px solid rgba(255,142,0,.6);
}

pre.ignore:hover, .information:hover + pre.ignore {
	border-left: 2px solid #ff9200;
}

.tooltip.compile_fail {
	color: rgba(255,0,0,.5);
}

.information > .compile_fail:hover {
	color: #f00;
}

.tooltip.should_panic {
	color: rgba(255,0,0,.5);
}

.information > .should_panic:hover {
	color: #f00;
}

.tooltip.ignore {
	color: rgba(255,142,0,.6);
}

.information > .ignore:hover {
	color: #ff9200;
}

.search-failed a {
	color: #3873AD;
}

.tooltip::after {
	background-color: #000;
	color: #fff;
}

.tooltip::before {
	border-color: transparent black transparent transparent;
}

.notable-traits-tooltiptext {
	background-color: #eee;
}

#titles > button:not(.selected) {
	background-color: #e6e6e6;
	border-top-color: #e6e6e6;
}

#titles > button:hover, #titles > button.selected {
	background-color: #ffffff;
	border-top-color: #0089ff;
}

#titles > button > div.count {
	color: #888;
}

kbd {
	color: #000;
	background-color: #fafbfc;
	box-shadow: inset 0 -1px 0 #c6cbd1;
}

#settings-menu > a:hover, #settings-menu > a:focus,
#help-button > button:hover, #help-button > button:focus {
	border-color: #717171;
}

#copy-path {
	color: #999;
}
#copy-path > img {
	filter: invert(50%);
}
#copy-path:hover > img {
	filter: invert(35%);
}

.search-results .result-name span.alias {
	color: #000;
}
.search-results .result-name span.grey {
	color: #999;
}

#source-sidebar div.files > a:hover, details.dir-entry summary:hover,
#source-sidebar div.files > a:focus, details.dir-entry summary:focus {
	background-color: #E0E0E0;
}
#source-sidebar div.files > a.selected {
	background-color: #fff;
}
.scraped-example-list .scrape-help {
	border-color: #555;
	color: #333;
}
.scraped-example-list .scrape-help:hover {
	border-color: black;
	color: black;
}
.more-examples-toggle summary, .more-examples-toggle .hide-more {
	color: #999;
}
.scraped-example .example-wrap .rust span.highlight {
	background: #fcffd6;
}
.scraped-example .example-wrap .rust span.highlight.focus {
	background: #f6fdb0;
}
.scraped-example:not(.expanded) .code-wrapper:before {
	background: linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
}
.scraped-example:not(.expanded) .code-wrapper:after {
	background: linear-gradient(to top, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
}
.toggle-line-inner {
	background: #ccc;
}
.toggle-line:hover .toggle-line-inner {
	background: #999;
}
