/* do not edit this file by hand, generate it with the combine-for-release tool */



/* ==UserStyle==
@name          ayu-rs
@description   Gorgeous dark theme for various Rust websites
@namespace     https://github.com/Cldfire
@version       1.5.11
@homepageURL   https://github.com/Cldfire/ayu-rs
@author        Cldfire (https://cldfire.dev)
@license       MIT
==/UserStyle== */

@-moz-document domain("docs.rs") {
/* 
Note that:
    1. I am not a CSS expert and will likely use cringe-worthy terminology 
       and cringe-worthy methods to get the look I want
    2. I put little to no effort into organizing this file
*/

body {
    background-color: #0f1419;
    color: #c5c5c5;
}

div.warning {
    background-color: #1a2633;
    color: #e6e6e6;
}

.in-band, code {
    background-color: inherit;
    border-radius: 4px;
}

.pure-menu-active>.pure-menu-link, .pure-menu-link:hover, .pure-menu-link:focus {
    background-color: inherit;
}

div.nav-container {
    background-color: #0f1419;
}

div.cratesfyi-package-container {
    border-bottom: 0px solid #5c6773;
    background-color: #0f1419;
    margin-bottom: 0px;
}

div.cratesfyi-package-container .pure-menu .pure-menu-link {
    border-bottom: 1px solid transparent;
}

div.cratesfyi-package-container .pure-menu .pure-menu-active:hover {
    border-bottom: 1px solid #ffb44c !important;
}

div.cratesfyi-package-container .pure-menu .pure-menu-link:hover {
    color: #fff;
    background-color: inherit !important;
    border-bottom: 1px solid rgba(242, 151, 24, 0.3);
}

div.cratesfyi-package-container .pure-menu .pure-menu-active {
    color: #fff;
    background-color: #0f1419;
    border-bottom: 1px solid #ffb44c;
    border-top: 0px solid #ddd;
    border-left: 0px solid #ddd;
    border-right: 0px solid #ddd;
}

div.package-page-container div.package-menu li.pure-menu-heading {
    color: #fff;
    border-bottom: 1px solid #5c6773;
    font-family: "Fira Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

div.package-page-container div.package-menu a.pure-menu-link:hover {
    background-color: rgba(70, 70, 70, 0.33);
    color: #fff;
}

div.package-page-container div.package-menu {
    margin-top: 10px;
}

html, button, input, select, textarea, .pure-g [class*="pure-u"] {
    color: inherit;
}

a.pure-menu-link:active {
    background-color: #0f1419;
}

.about a {
    color: #0096cf;
}

a.release {
    color: #c5c5c5;
}

p.location a {
    color: #fff;
}

div.package-page-container div.package-details a {
    color: #0096cf;
}

div.package-page-container div.package-details {
    margin-top: 20px;
}

div.package-page-container div.package-menu a.pure-menu-link,
div.package-page-container div.package-menu li.pure-menu-item {
    color: #5c6773;
}

.pure-table thead {
    background-color: #191f26;
    color: #e6e6e6;
}

.pure-table {
    border: 1px solid #5c6773;
}

.pure-table-horizontal td, .pure-table-horizontal th {
    border-bottom: 1px solid #5c6773;
}

.pure-button-hover, .pure-button:hover, .pure-button:focus {
    filter: none;
    background-image: none;
    background-color: rgba(242, 151, 24, 0.05);
    color: #ffb44c;
    font-weight: 300;
}

.pure-button-normal {
  background-color: rgba(255, 255, 255, 0);
  border: none;
}

.pure-button {
    font-size: 90%;
    color: #5c6773;
    border-radius: 4px;
    font-weight: 400;
}

div.nav-container form.landing-search-form-nav #search-input-nav input {
    background-color: #0f1419;
}

div.nav-container form.landing-search-form-nav #search-input-nav input:focus {
    color: #fff;
}

div.nav-container form.landing-search-form-nav #search-input-nav {
    border-left-color: #5c6773;
}

.pure-u-1.pure-u-sm-17-24.pure-u-md-19-24 {
    padding-right: 10px;
}

div.nav-container .pure-menu-link:hover {
    color: #fff;
}

div.nav-container {
    border-bottom: 1px solid #5c6773;
}

div.nav-container li {
    border-left: 1px solid #5c6773;
}

div.nav-container .pure-menu-children {
    border: 1px solid #5c6773;
}

.menu-item-divided {
    border-bottom: 1px solid #5c6773;
}

.pure-menu-children {
    background-color: #0f1419;
}

div.recent-releases-container .release {
    border-bottom: 1px solid #5c6773;
}

div.recent-releases-container .release:hover {
    background-color: rgba(70, 70, 70, 0.33);
}

div.recent-releases-container .name {
    color: #ffffff;
}

div.recent-releases-container .date {
    font-size: small;
}

div.recent-releases-container {
    margin-top: 10px;
}

div.highcharts-container {
    margin-top: 10px;
}

rect.highcharts-background {
    fill: #0f1419;
}

text.highcharts-title, g.highcharts-axis-labels > text {
    fill: #e6e6e6 !important;
}

g.highcharts-legend-item > text {
    fill: #5c6773 !important;
}

g.highcharts-grid > path {
    stroke: #5c6773 !important;
}

/* global scrollbar */
::-webkit-scrollbar {
    /* actual width is 2px */
    width: 5px;
}

/* global scrollbar thumb (aka the part you see) */
::-webkit-scrollbar-thumb:vertical {
    background-color: #5c6773; 
    /* doesn't look right because of below hack */
    border-radius: 4px;
    /* hacky way to 'pad' right side */
    border-right: 3px solid #0f1419;
}

/* global scrollbar thumb horizontal (aka the part you see) */
::-webkit-scrollbar-thumb:horizontal {
    background-color: #5c6773; 
    /* doesn't look right because of below hack */
    border-radius: 4px;
    /* more ugly, ugly, ugly hacks */
    border-bottom: 3px solid #191f26;
    border-top: 11px solid #191f26;
}

.hljs {
    color: #e6e1cf;
    background: #191f26;
}

.hljs-string, .hljs-doctag {
    color: #b8cc52;
}

.hljs-keyword, .hljs-title, .hljs-selector-tag, .hljs-subst, .hljs-attribute {
    color: #ff7733 !important;
}

.hljs-built_in, .hljs-builtin-name {
    color: #ffb454;
}

.hljs-number, .hljs-literal, .hljs-variable, .hljs-template-variable, .hljs-tag .hljs-attr {
    color: #ff7733;
}

.hljs-section, .hljs-selector-id {
    color: #ff7733;
}

.hljs-comment, .hljs-quote {
    color: #5c6773;
}

.hljs-symbol, .hljs-bullet {
    color: #ff7733;
}

.hljs-meta {
    color: #5c6773;
    font-style: italic;
}

.hljs-regexp, .hljs-link {
    color: #95e6cb;
}

}

@-moz-document domain("play.rust-lang.org"), domain("play.integer32.com") {
/* i32 and official */
:root, body {
    background-color: #0f1419;
    background-image: none;
    color: #c5c5c5;
}

:root::before {
    content: none;
}

#configure-editor span {
    background: url("data:image/svg+xml,%3C?xml version='1.0' standalone='no'?%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' version='1.1'%3E%3Cpath fill='%2375818e' stroke='%2375818e' stroke-width='1' d='M 7,0.5 6.5,1 6.5,3 6,3.5 5.5,3.5 4,2 3,2 2,3 2,4 3.5,5.5 3.5,6 3,6.5 1,6.5 0.5,7 l 0,2 0.5,0.5 2,0 0.5,0.5 0,0.5 -1.5,1.5 0,1 1,1 1,0 1.5,-1.5 0.5,0 0.5,0.5 0,2 0.5,0.5 2,0 0.5,-0.5 0,-2 0.5,-0.5 0.5,0 1.5,1.5 1,0 1,-1 0,-1 -1.5,-1.5 0,-0.5 0.5,-0.5 2,0 L 15.5,9 15.5,7 15,6.5 13,6.5 12.5,6 12.5,5.5 14,4 14,3 13,2 12,2 10.5,3.5 10,3.5 9.5,3 9.5,1 9,0.5 Z m 1,5 c 1.5,0 2.5,1 2.5,2.5 0,1.5 -1,2.5 -2.5,2.5 C 6.5,10.5 5.5,9.5 5.5,8 5.5,6.5 6.5,5.5 8,5.5 Z'/%3E%3C/svg%3E");
}

#configure-editor span:hover {
    background: url("data:image/svg+xml,%3C?xml version='1.0' standalone='no'?%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' version='1.1'%3E%3Cpath fill='%23ffb44c' stroke='%23ffb44c' stroke-width='1' d='M 7,0.5 6.5,1 6.5,3 6,3.5 5.5,3.5 4,2 3,2 2,3 2,4 3.5,5.5 3.5,6 3,6.5 1,6.5 0.5,7 l 0,2 0.5,0.5 2,0 0.5,0.5 0,0.5 -1.5,1.5 0,1 1,1 1,0 1.5,-1.5 0.5,0 0.5,0.5 0,2 0.5,0.5 2,0 0.5,-0.5 0,-2 0.5,-0.5 0.5,0 1.5,1.5 1,0 1,-1 0,-1 -1.5,-1.5 0,-0.5 0.5,-0.5 2,0 L 15.5,9 15.5,7 15,6.5 13,6.5 12.5,6 12.5,5.5 14,4 14,3 13,2 12,2 10.5,3.5 10,3.5 9.5,3 9.5,1 9,0.5 Z m 1,5 c 1.5,0 2.5,1 2.5,2.5 0,1.5 -1,2.5 -2.5,2.5 C 6.5,10.5 5.5,9.5 5.5,8 5.5,6.5 6.5,5.5 8,5.5 Z'/%3E%3C/svg%3E");
}

/* top bar */

div.popper__content {
    background: #14191f;
    color: #c5c5c5;
    border: none;
    box-shadow: 0px 6px 15px 0px black;
}

div.popper__content .menu-group__title, div.button-menu-item__name, .selectable-item__header {
    color: #fff;
}

span.popper__arrow {
    border-bottom-color: #14191f;
}

button.button-menu-item {
    color: #c5c5c5;
}

button.selectable-item {
    color: #c5c5c5;
}

div.segmented-button {
    box-shadow: none;
}

div.segmented-button .segmented-button__button {
    color: #c5c5c5;
    background-color: #191f26;
    background: #191f26;
    border: none;
}

div.segmented-button .segmented-button__button:hover {
    background-color: rgba(242, 151, 24, 0.05);
    background: rgba(242, 151, 24, 0.05);
    color: #ffb44c !important;
}

.config-element__toggle :checked + label {
	border-color: #ffb44c;
	background: rgba(242, 151, 24, 0.05);
}

.build-menu__code {
    background: #191f26;
    color: #ffb454;
}

/* code editor itself */

/* i32 and official */
main, .playground-editor {
    border: none;
    border-radius: 0px;
}

.ace-chrome {
    background-color: #0f1419;
    color: #e6e1cf;
}

.ace-chrome .ace_gutter {
    background: transparent;
    color: #2d3640;
    font-family: "Roboto Mono"
}

.ace-chrome .ace_gutter-active-line {
    background-color: rgba(70, 70, 70, 0.25);
}

.ace-chrome .ace_marker-layer .ace_selection {
    background-color: rgba(37, 51, 64, 0.99);
}

.ace-chrome .ace_cursor {
    color: #f29718;
}

.ace-chrome .ace_print-margin {
    visibility: hidden !important;
}

.ace-chrome .ace_marker-layer .ace_active-line {
    background: #14191f;
}

::-webkit-scrollbar {
    width: 2px;
    height: 2px;
}

::-webkit-scrollbar-thumb:vertical {
    background-color: #5c6773; 
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:horizontal {
    background-color: #5c6773; 
    border-radius: 4px;
}

/* look of code */

.ace-chrome .ace_keyword.ace_operator {
    color: #ff7733;
}

.ace-chrome .ace_support.ace_constant {
    color: #e6e1cf;
}

.ace-chrome .ace_string, .ace-chrome .ace_constant.ace_numeric {
    color: #b8cc52;
}

.ace-chrome .ace_storage, .ace-chrome .ace_keyword, .ace-chrome .ace_meta.ace_tag {
    color: #ff7733;
}

.ace-chrome .ace_entity.ace_name.ace_function {
    color: #ffb454;
}

.ace-chrome .ace_punctuation {
    color: #ff7733;
}

.ace-chrome .ace_comment {
    color: #5c6773;
    font-style: italic;
}

.ace-chrome .ace_constant.ace_language {
    color: #ff7733;
}

.ace-chrome .ace_variable {
    color: #ff7733;
}

.ace-chrome .ace_indent-guide {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNQUFD4z6Crq/sfAAuYAuYl+7lfAAAAAElFTkSuQmCC) right repeat-y;
}

/* result thing (shows you errors, output) */

#result.ace-chrome {
    border: none !important;
    box-shadow: 0px 6px 20px 0px black;
}

#result.ace-chrome > button {
    color: #e6e6e6;
}

.output a {
    color: #0096cf;
}

.output svg {
    filter: invert(100%);
}

/* their output thing */

.output-body {
    background-color: #0f1419;
    border: none;
}

.output-tab {
    color: #c5c5c5;
    background-color: #0f1419;
	border-style: solid;
    border-width: 1px;
    border-color: transparent;
    cursor: pointer;
}

.output-tab-selected {
    color: #e6e6e6;
    cursor: default;
    border-bottom-color: #ffb44c;
}

.output-tab:last-of-type {
    border-right: none;
}

.output-header {
	visibility: hidden;   
}

.output-tab:focus,  .output-tab-selected:focus {
    background-color: #0f1419; 
    color: #e6e6e6;
    outline: none;
    border-bottom-color: #ffb44c;
}

.output-tab:hover, .output-tab:active {
    background-color: #0f1419; 
    color: #e6e6e6;
    border-bottom-color: rgba(242, 151, 24, 0.3);
}

.output-tab-selected:hover, .output-tab-selected:active {
    background-color: #0f1419; 
    color: #e6e6e6;
    border-bottom-color: #ffb44c;
}

a.token.error-location {
    color: #cfbcf5;
}

/* help page */

.help {
    background-color: #0f1419;
}

.help h1 {
    color: white;
}

.help__header-link {
    color: white;
}

.help p a, section.help > a {
    color: #0096cf;
    text-decoration: none;
}

.help p a:hover, section.help > a:hover {
    text-decoration: underline;
}

p.help__logo {
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 4px;
}

p.help__logo img {
    margin-top: 20px;
    margin-bottom: 20px;
}

code.help__code, pre.help__code {
    background-color: #191f26;
    border-radius: 4px;
    color: #ffb44c;
}

.help :not(pre) > code[class*="language-"], .help pre[class*="language-"] {
    background-color: #191f26;
    border-radius: 4px;
}

.help code[class*="language-"] {
    color: #e6e1cf;
}

button.help__load_example {
    padding: .4em .6em;
    transition: none;
    -webkit-transition: none;
    background: transparent;
    color: #75818e;
}

button.help__load_example:hover {
    background: rgba(242, 151, 24, 0.05);
    color: #ffb44c;
}

}

@-moz-document domain("doc.rust-lang.org"), domain("docs.rs"), url-prefix("https://manishearth.github.io/rust-internals-docs/") {
/* 
Note that:
    1. I am not a CSS expert and will likely use cringe-worthy terminology 
       and cringe-worthy methods to get the look I want
    2. I put little to no effort into organizing this file

Quick notes on things I learned while working on this (here so I remember them):
    * `>` selector applies to immediate descendants only
*/


/* fairly self-explanatory */
body {
    background-color: #0f1419;
    color: #c5c5c5;
}

/* remove lines below nav things */
nav {
    border-bottom: none;
    margin-bottom: 8px;
}

/* selected thing (function, method, etc.) */
:target {
    background: rgba(255, 52, 52, 0.33);
    border-right: 3px solid #ffb44c;
}

/* fix selected thing code part */
h4:target code {
    background: inherit;
}

input:checked + .slider {
    background-color: #ffb454;
}

#all-types {
    background-color: #141920;
    color: #fff;
}

#all-types:hover {
    background-color: rgba(70, 70, 70, 0.33);
}

#settings-menu {
    margin-top: 3px;
    background-color: #141920;
}

#settings-menu > img {
    filter: invert(100);
}

/* global scrollbar */
::-webkit-scrollbar {
    /* actual width is 2px */
    width: 5px;
}

/* global scrollbar thumb (aka the part you see) */
::-webkit-scrollbar-thumb:vertical {
    background-color: #5c6773; 
    /* doesn't look right because of below hack */
    border-radius: 4px;
    /* hacky way to 'pad' right side */
    border-right: 3px solid #0f1419;
}

/* global scrollbar thumb horizontal (aka the part you see) */
::-webkit-scrollbar-thumb:horizontal {
    background-color: #5c6773; 
    /* doesn't look right because of below hack */
    border-radius: 4px;
    /* more ugly, ugly, ugly hacks */
    border-bottom: 3px solid #191f26;
    border-top: 11px solid #191f26;
}

/* change highlighted text color to look something like ayu */
::selection {
    background-color: rgba(37, 51, 64, 0.99);
}

/* fix sidebar */
.sidebar, .source .sidebar {
    background-color: #0f1419;
}

.line-numbers span {
    color: #5c67736e; 
}

.line-numbers .line-highlighted {
    background-color: rgba(255, 52, 52, 0.16) !important;
    border-right: 2px solid #ffb44c;
}

/* top left thing on sidebar */
.sidebar .location {
    background: #0f1419;
    color: #333;
}

div.modal-content {
    background-color: #14191f;
    box-shadow: 0px 6px 20px 0px black;
}

div.modal-content > .close {
    background-color: #14191f;
    border: 1px solid #999;
    border-left: none;
    
}

div.modal-content > .whiter {
    background-color: #14191f;
}

span.content .method .where, .content .fn .where, .content .where.fmt-newline {
    color: #c5c5c5;
}

.stab.portability > code {
    color: #c5c5c5;
}

div.theme-picker {
    visibility: hidden;
}

.tooltip .tooltiptext {
    color: #c5c5c5 !important;
    background-color: #314559 !important;
    border: 1px solid #5c6773 !important;
}

#titles > div.selected {
    background-color: #141920 !important;
    border-bottom: 1px solid #ffb44c !important;
}

#titles > div:hover {
    border-bottom: 1px solid rgba(242, 151, 24, 0.3);
}

#titles > div {
    background-color: transparent !important;
    border: none;
}

/* top left beneath logo, orange colons */
p.location {
    color: #ff7733 !important;
}

/* shift + ? */
#help dt {
    background: #0f1419;
}

/* shift + ? */
#help > div {
    background: #14191f;
    box-shadow: 0px 6px 20px 0px black;
    border: none;
    border-radius: 4px;
}

/* change color of headers and the lines that go under them */
h1, h2, h3:not(.impl):not(.method):not(.type):not(.tymethod), h4:not(.method):not(.type):not(.tymethod), 
h1 a:link, h1 a:visited, h2 a:link, h2 a:visited, h3 a:link, h3 a:visited, h4 a:link, h4 a:visited, h5 a:link, h5 a:visited {
    color: white;
    border-bottom-color: #5c6773 !important;
}

/* fixes things related to code backing */
h4 > code, h3 > code, h2 > code, h1 > code, td > code, .in-band > code, p > code, .invisible > code, .in-band {
    background-color: #0f1419;
}

code {
    color: #ffb454;
}

pre > code {
    color: #e6e1cf; 
}

span code {
    color: #e6e1cf;
}

a {
    color: #0096cf;
}

.docblock a > code {
    color: #0096cf !important;
}

/* hover highlight for blocks on sidebar */
.block a:hover {
    background: rgba(70, 70, 70, 0.33);
}

/* `Run` button on code blocks */
a.test-arrow {
    font-family: "Roboto Mono";
    font-size: 90%;
    color: #5c6773 !important;
    border-radius: 4px;
    font-weight: 400;
    background-color: rgba(255, 255, 255, 0);
    border: none;
}

/* when button is hovered */
a.test-arrow:hover {
    background-color: rgba(242, 151, 24, 0.05);
    color: #ffb44c !important;
    font-weight: 300;
}

/* modules, crates, types, etc. on sidebar */
.block a, .block a.current.crate {
    color: #5c6773 !important;
    font-family: "Roboto Mono", "Fira Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 80%;
    font-weight: 400;
}

/* selected one */
a.current {
    color: #fff !important;
    background-color: transparent !important;
}

/* more color changes for the lines below headers */
.docblock h1, .docblock h2, .docblock h3, .docblock h4, .docblock h5 {
    border-bottom-color: #5c6773;
}

/* I don't remember, other than that this is the color for URLs */
.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow), .docblock-short a:not(.srclink):not(.test-arrow), .stability a {
    color: #0096cf;
}

/* search bar */
.search-input {
    color: #ffffff;
    background-color: #141920;
    box-shadow: none !important;
    transition: box-shadow 150ms ease-in-out;
    border-radius: 4px;
    margin-left: 8px;
    margin-top: 8px;
}

/* when typing in it */
.search-input:focus {
    border-radius: 4px;
    box-shadow: 0px 6px 20px 0px black !important;
}

/* crate search selector button */
select#crate-search {
    color: #c5c5c5;
    background-color: #141920;
    border-radius: 4px;
    box-shadow: none;
    border-color: #5c6773;
    margin-top: 8px;
    background-position-x: calc(100% - 3px);
    padding-right: 22px;
}

/* move docs down from top */
div.search-container {
    margin-top: 20px;
}

/* code in between backticks */
.docblock code, .docblock-short code {
    background-color: #191f26 !important;
}

/* stability notes (such as unstable) */
.stab {
    border-style: none;
    border-top: 1px solid #5c6773;
    margin-bottom: 5px;
    color: #c5c5c5 !important;
}

em.stab, .stab.deprecated, .stab.unstable, .stab.portability {
    background: #314559 !important;
    border-style: none !important;
    border-radius: 4px;
    padding: 3px 6px 3px 6px;
}

.module-item .stab {
    color: #c5c5c5 !important;
    background: none !important;
}

/* fix methods */
.method.stab {
    border-top-style: none;
}

/* code blocks */
pre {
    background-color: #191f26;
    color: #e6e1cf;
}

/* line numbers in front of code blocks */
.example-wrap > pre.line-number {
    color: #5c67736e;
    border: none;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* code blocks not on a `src` page */
body:not(.source) pre {
    border-radius: 4px;
}

/* `#[]` */
pre.rust .attribute {
    color: #5c6773 !important;
    font-style: italic;
}

/* making it work */
pre.rust .attribute, pre.rust .attribute .ident, pre.rust .attribute .op {
    color: #5c6773;
}

/* lots of things, main orange color */
pre.rust .kw, pre.rust .kw-2, pre.rust .prelude-ty, pre.rust .bool-val, pre.rust .prelude-val, pre.rust .op, pre.rust .lifetime {
    color: #ff7733;
}

/* numbers and strings */
pre.rust .number, pre.rust .string {
    color: #b8cc52;
}

/* self */
pre.rust .self {
    color: #36a3d9;
    font-style: italic;
}

/* comments */
pre.rust .comment {
    color: #5c6773;
    font-style: italic;
}

/* module color in doc listing */
.content span.externcrate, .content span.mod, .content a.mod, .block a.current.mod {
    color: #acccf9;
}

/* struct color */
.content span.struct, .content a.struct, .block a.current.struct {
    color: #ffa0a5;
}

/* enum color */
.content span.enum, .content a.enum, .block a.current.enum {
    color: #99e0c9;
}

/* trait color */
.content span.trait, .content a.trait, .block a.current.trait {
    color: #36a3d9;
}
 /* type definition color */
.content span.type, .content a.type, .block a.current.type {
    color: #cfbcf5;
}

/* function name color */
.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: #fdd687;
}

/* macro name color */
.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: #a37acc;
}

}

@-moz-document domain("doc.rust-lang.org") {
/* global scrollbar */
::-webkit-scrollbar {
    /* actual width is 2px */
    width: 5px;
}

/* global scrollbar thumb (aka the part you see) */
::-webkit-scrollbar-thumb:vertical {
    background-color: #5c6773; 
    /* doesn't look right because of below hack */
    border-radius: 4px;
    /* hacky way to 'pad' right side */
    border-right: 3px solid #0f1419;
}

/* global scrollbar thumb horizontal (aka the part you see) */
::-webkit-scrollbar-thumb:horizontal {
    background-color: #5c6773;
    /* doesn't look right because of below hack */
    border-radius: 4px;
    /* more ugly, ugly, ugly hacks */
    border-bottom: 3px solid #191f26;
    border-top: 11px solid #191f26;
}

/* rust logo located top left as well as bottom-right on the root page */
.sidebar img, div#versioninfo > img {
    content: url(https://www.rust-lang.org/logos/rust-logo-256x256.png);
    margin-top: 30px;
}

/* sticker in bottom-right on doc.rust-lang.org */
.white-sticker {
    background-color: transparent;
}

/* NEW book stuff (rendered by mdBook) */

.navy :not(pre) > .hljs {
    color: #ffb454;
}

.hljs {
    background-color: #191f26;
    border-radius: 4px;
    color: #e6e1cf;
}

pre.playpen {
    background-color: #0f1419;
}

pre > code {
    padding: 11px;
}

.navy .chapter li .active, .navy .chapter li a:hover {
    color: #ffb454;
    background-color: transparent;
}

.navy .sidebar {
    background-color: #14191f;
    color: #c5c5c5;
}

a.header:target {
    border: none;
}

a.header:target h1, a.header:target h2, a.header:target h3, a.header:target h4 {
    background: rgba(255, 52, 52, 0.33);
    border-right: 3px solid #ffb44c;
} 

.navy {
    background-color: #0f1419;
    color: #c5c5c5;
}

.navy .content a:link, .navy a:visited {
    color: #0096cf;
}

.hljs-keyword, .hljs-literal, .javascript .hljs-function {
    color: #ff7733;
}

.hljs-title, .css .hljs-hexcolor {
    color: #ffb44c;
}

.hljs-built_in {
    color: #e6e1cf;
}

.hljs-comment, .hljs-meta {
    color: #5c6773;
    font-style: italic;
}

.hljs-number, .hljs-string {
    color: #b8cc52;
}

p.warning {
    color: #ffffff;
    background: #314559;
    border: none;
    border-radius: 4px;
}

/* OLD book stuff */

blockquote {
    color: inherit;
    background-color: rgba(70, 70, 70, 0.33);
    border-style: none;
    border-radius: 4px;
}

/* sidebar */
#toc {
    border-style: none;
    background-color: #0f1419;
}

/* list items */
.chapter li a {
    color: #5c6773;
}

/* when selected */
.chapter li a.active {
    color: #fff;
}

/* when hovered */
.chapter li a:hover {
    color: #fff;
    background-color: rgba(70, 70, 70, 0.33);
}

/* space between each item */
.chapter {
    line-height: 22px;
}

/* inherit from above */
.section {
    line-height: inherit;
}

/* fix line numbers for source */
.content.source {
    padding-top: 10px;
}

/* fix border look for line numbers */
.content.source pre.rust {
    border-radius: 0px 4px 4px 0px;
}

/* button to show list on small screens (kinda pointless to style but whatever) */
#toggle-nav {
    border-radius: 4px;
    background-color: rgba(255, 255, 255, 0);
    border: none;
}

/* individual bars */
#toggle-nav .bar {
    background-color: #5c6773;
}

/* on hover */
#toggle-nav:hover {
    background-color: rgba(242, 151, 24, 0.05);
}

#toggle-nav:hover .bar {
    background-color: #ffb44c;
}

}

@-moz-document domain("crates.io") {
html {
    background: none;
    background-color: #0f1419;
}

body {
    background: #0f1419;
}

/* global scrollbar */
::-webkit-scrollbar {
    /* actual width is 2px */
    width: 5px;
}

/* global scrollbar thumb (aka the part you see) */
::-webkit-scrollbar-thumb:vertical {
    background-color: #5c6773; 
    /* doesn't look right because of below hack */
    border-radius: 4px;
    /* hacky way to 'pad' right side */
    border-right: 3px solid #0f1419;
}

/* global scrollbar thumb horizontal (aka the part you see) */
::-webkit-scrollbar-thumb:horizontal {
    background-color: #5c6773; 
    /* doesn't look right because of below hack */
    border-radius: 4px;
    /* more ugly, ugly, ugly hacks */
    border-bottom: 3px solid #191f26;
    border-top: 11px solid #191f26;
}

main[class^="_main_"] {
    background-color: transparent;
    border-radius: 0px;
    box-shadow: none;
    border: none;
    color: #c5c5c5;
}

#install-downloads td.label {
    color: #ffffff;
    text-align: right;
    padding-right: 15px;
}

h1, h2, h3, h4 {
    color: #ffffff;
}

#title-header {
    border-bottom: 1px solid #5c6773;
}

#header .menu, #header .nav {
    margin-top: 10px;
}

#header .sep {
    color: #5c6773;
}

[class^="_nav_"] > [class^="_sep_"] {
    color: #5c6773;
}

#header span.subtitle {
    color: #5c6773;
}

.after-main-links a {
    color: #c5c5c5;
}

.after-main-links .sep {
    color: #5c6773;
}

[class^="_inner-main_"] > [class^="_header_"] {
    background-color: #141920;
}

#me-api {
    color: #c5c5c5; 
}

#me-api h2 {
    color: #ffffff; 
}

#me-api pre {
    background-color: #191f26;
    color: #e6e1cf;
    border-radius: 4px;
}

#me-profile {
    padding-bottom: 40px;
}

#me-profile dd {
    color: #c5c5c5;
}

[class^="_feed_"] {
    background-color: #141920;
}

[class^="_feed_"] [class^="_feed-row_"] {
    border-bottom: 1px solid #5c6773;
}

[class^="_my-feed_"] [class^="_load-more_"] {
    background-color: transparent;
    color: #c5c5c5;
}

[class^="_my-feed_"] [class^="_load-more_"]:hover {
    background-color: rgba(242, 151, 24, 0.05);
    color: #ffb44c;
}

#crate-links, #me-profile, #me-email {
    border-bottom: 1px solid #5c6773;
}

[class^="_crate-info_"] [class^="_install_"] button,
[class^="_crate-info_"] [class^="_install_"] button:active,
[class^="_crate-toml-copy_"] button,
[class^="_crate-toml-copy_"] button:active {
    background-color: #141920;
    border-radius: 0px 4px 4px 0px;
}

[class^="_crate-info_"] [class^="_install_"] button:hover,
[class^="_crate-toml-copy_"] button:hover {
    background: #363a3e;
}

[class^="_crate-info_"] [class^="_install_"] button svg,
[class^="_crate-info_"] [class^="_install_"] button:active svg,
[class^="_crate-toml-copy_"] button svg,
[class^="_crate-toml-copy_"] button:active svg {
    filter: invert(70%);
}

div.exact-match {
    border-bottom: 1px solid #5c6773;
}

div.exact-match h1 {
    margin-bottom: 5px;
    color: #ffffff;
}

/* search bar */
[class^="_search_"] {
    color: #ffffff !important;
    background-color: #141920 !important;
    transition: box-shadow 150ms ease-in-out;
    border-radius: 4px !important;
    margin-top: 8px;
    padding: 10px 16px 10px 35px !important;
    background-position: 8px 8px !important;
    background-size: 19px 20px !important;
    background-image: url(https://crates.io/assets/search-1bf5f758e4272794e840ccb4b0a0dca9.png) !important;
}

#cargo-mobile-search [class^="_search_"] {
    color: #ffffff !important;
    background-color: #141920 !important;
    transition: box-shadow 150ms ease-in-out;
    border-radius: 4px !important;
    margin-top: 8px;
    background-position: 8px 8px !important;
    background-size: 19px 20px !important;
    background-image: url(https://crates.io/assets/search-1bf5f758e4272794e840ccb4b0a0dca9.png) !important;
}

/* when typing in it */
#cargo-mobile-search [class^="_search_"]:focus, [class^="_search_"]:focus {
    border-radius: 4px;
    box-shadow: 0px 6px 20px 0px black;
}

.crates-heading {
    background-color: #141920;
}

#blurb #stats {
    border-left: none;
}

a {
    color: #0096cf;
}

a:hover {
    color: #0096cf;
    text-decoration: underline;
}

[class^="_highlight_"] {
    color: #ffffff;
}

.white-rows, [class^="_token-list_"], [class^="_notifications-list_"] li {
    background-color: #0f1419;
}
[class^="_notifications-list_"] [class^="_row_"] label {
    z-index: inherit;
}

[class^="_inner-main_"] > [class^="_list_"] {
    background-color: #141920;
}

[class^="_list_"] [class*="_row_"] {
    border-bottom: 1px solid #5c6773;
}

[class^="_list_"] [class*="_name_"] {
    color: #ffffff;
}

[class^="_list_"] [class*="_description_"] {
    color: #c5c5c5;
}

[class^="_lists_"] li a, [class^="_list_"] li a {
    color: #c5c5c5;
    background-color: #141920;
    padding: 17px 10px;
}

.authorship li, .authorship p, div.docs p {
    color: #c5c5c5;
}

[class^="_lists_"] li a:hover {
    background-color: #191f26;
}

.crate-info {
    border-bottom: 1px solid #5c6773;
}

.crate-info .authorship {
    border-left: 1px solid #5c6773;
}

#crate-links {
    border-bottom: 1px solid #5c6773;
}

[class^="_dropdown_"] {
    box-shadow: 0px 6px 20px 0px black;
    background: #0f1419;
}

[class^="_dropdown_"] li {
    background: #141920;
}

[class^="_dropdown_"] li a {
    color: #c5c5c5 !important;
}

[class^="_dropdown_"] li a:hover {
    background-color: #191f26;
}

[class^="_dropdown_"] li.last {
    border-top: 1px solid #5c6773;
}

[class^="_fork-me_"] {
    pointer-events: none;
}

[class^="_fork-me_"] > img {
    visibility: hidden;
}

[class^="_crate-info_"] [class^="_crate-readme_"] p code {
    border-radius: 3px;
    padding: 0 0.2em;
    background-color: #191f26;
    color: #ffb454;
}

code[class*=language-], pre[class*=language-] {
    border: none;
    box-shadow: none;
    text-shadow: none !important;
    background-color: #191f26;
    border-radius: 4px;
    color: #e6e1cf;
}

#results span.amt {
    color: #c5c5c5;
}

#results .cur, #results .total {
    color: #ffffff;
}

.white-rows .row {
    border-bottom: 1px solid #5c6773;
    padding: 10px 0px;
}

[class*="_yellow-button_"]:hover, [class*="_tan-button_"]:hover, #results [class~="dropdown-button"]:hover, #install-downloads td a:hover {
    background: none;
    background-color: rgba(242, 151, 24, 0.05);
    color: #ffb44c !important;
    font-weight: 400;
}

[class*="_yellow-button_"], [class*="_tan-button_"], #results [class~="dropdown-button"], #install-downloads td a {
    cursor: pointer;
    border: none;
    font-size: 90%;
    color: #5c6773 !important;
    border-radius: 4px !important;
    font-weight: 400;
    background: none;
    background-color: rgba(255, 255, 255, 0);
    padding: 12px 14px;
    text-decoration: none;
}

#results a.dropdown {
    font-size: 100%;
}

[class*="_trigger_"] {
    background-color: #141920;
}

[class^="_crate-info_"] [class^="_install_"] {
    background-color: #141920;
    border-radius: 4px;
    padding: 0px;
    padding-left: 10px;
}

[class^="_crate-info_"] [class^="_install_"] code {
    background-color: #191f26;
    color: #e6e1cf;
}

#crates a img {
    color: #c5c5c5;
}

.crate .info a {
    color: #ffffff;
}

div.links a {
    text-decoration: none;
}

[class^="_selection_"] {
    background-color: #141920;
}

[class^="_selection_"] a, [class^="_pagination_"] a {
    color: #c5c5c5;
    border-radius: 4px;
}

[class^="_selection_"] a:hover, [class^="_pagination_"] a:hover {
    background-color: #191f26;
    color: #0096cf;
    text-decoration: underline;
}

[class^="_selection_"] a.active, [class^="_pagination_"] a:active, [class^="_pagination_"] a.active {
    background-color: rgba(242, 151, 24, 0.05);
    color: #ffb44c;
}

.pagination img {
    filter: invert();
}

.pagination a {
    border-radius: 4px;
}

.pagination a:hover {
    background-color: #141920;
}

.pagination a.next.ember-view:hover {
    background-color: #0f1419;
}

.pagination a.active {
    background-color: rgba(242, 151, 24, 0.05);
    color: #ffb44c;
}

img.download {
    width: 20px;
    height: 21px;
    content: url(https://crates.io/assets/button-download-ce25ffd7683ff23d3f5dd7931140b1f8.png);
}

#home-crates.crate-lists img {
    width: 25px;
    height: 25px;
    filter: invert();
}

.crate.row.ember-view img.download {
    width: 16px;
    height: 17px;
    margin-right: 5px;
}

/* the downloads graph at the bottom of crate pages */

[class^="_crate-downloads_"] [class^="_graph_"] rect {
    fill: #141920;
    rx: 4;
    ry: 4;
}

[class^="_crate-downloads_"] [class^="_graph_"] g rect {
    fill: #191f26;
}

[class^="_crate-downloads_"] [class^="_graph_"] text {
    fill: #c5c5c5;
}

/* footer */
footer[class^="_footer_"] {
    background: #0f1419;
}

footer[class^="_footer_"] [class^="_sep_"] {
    color: #5c6773;
}

}

@-moz-document domain("doc.crates.io") {
main {
    background-color: transparent;
    border-radius: 0px;
    box-shadow: none;
    border: none;
    color: #c5c5c5;
}

:target {
    background: rgba(255, 52, 52, 0.33);
    border-right: 3px solid #ffb44c;
}

table th {
    border-bottom: 1px solid #5c6773;
}

pre[class*="language-"] {
    border-radius: 4px;
}

pre {
    background-color: #191f26 !important;
}

pre > code:not(.highlight) {
    color: #e6e1cf;
}

code[class*="language-"], pre[class*="language-"] {
    color: #e6e1cf;
}

code {
    border-radius: 3px;
    padding: 0 0.2em;
    color: #ffb454;
    background-color: #191f26;
}

code:not(.highlight) {
    color: #ffb454;
}

h1 a, h2 a {
    color: #ffffff
}

h1:hover a, h2:hover a {
    color: #ffffff;
}

h1.title {
    color: #ffffff;
    background-color: #141920;
    margin-bottom: 20px;
}

button.active {
    background-color: #0f1419;
    box-shadow: none;
}

code span.s1 {
    color: #b8cc52;
}

pre.language-toml .token.string {
    color: #b8cc52;
}

pre.language-toml .token.toml-section {
    color: #ff7733;
}

pre.language-toml .token.toml-key {
    color: #ffb454;
}

pre.language-toml .token.number {
    color: #ffb454;
}

pre.rust span.comment {
    color: #5c6773;
    font-style: italic;
}

pre.rust span.kw, pre.rust span.kw-2 {
    color: #ff7733;
}

pre.rust span.macro {
    color: #a37acc;
}

pre.rust span.string {
    color: #b8cc52;
}

pre.rust span.op {
    color: #ff7733;
}

}

@-moz-document regexp('https://doc\.rust-lang\.org(/.*/|/)rust-by-example/.*') {
/* ace editor (edited version of playground theme) */

html.ayu .ace-tomorrow-night {
    background-color: #191f26;
    color: #e6e1cf;
    font-family: "Source Code Pro", Consolas, "Ubuntu Mono", Menlo, "DejaVu Sans Mono", monospace, monospace;
    font-size: 0.875em;
    padding-bottom: 0px;
}

html.ayu .ace-tomorrow-night .ace_gutter {
    background: transparent;
    color: #2d3640;
    font-family: "Roboto Mono"
}

html.ayu .ace-tomorrow-night .ace_gutter-active-line {
    background-color: rgba(70, 70, 70, 0.25);
}

html.ayu .ace-tomorrow-night .ace_marker-layer .ace_selection {
    background-color: rgba(37, 51, 64, 0.99);
}

html.ayu .ace-tomorrow-night .ace_cursor {
    color: #f29718;
}

html.ayu .ace-tomorrow-night .ace_print-margin {
    visibility: hidden !important;
}

html.ayu .ace-tomorrow-night .ace_marker-layer .ace_active-line {
    background: #14191f;
}

/* global scrollbar */
::-webkit-scrollbar {
    /* actual width is 2px */
    width: 5px;
}

/* global scrollbar thumb (aka the part you see) */
::-webkit-scrollbar-thumb:vertical {
    background-color: #5c6773; 
    /* doesn't look right because of below hack */
    border-radius: 4px;
    /* hacky way to 'pad' right side */
    border-right: 3px solid #0f1419;
}

/* global scrollbar thumb horizontal (aka the part you see) */
::-webkit-scrollbar-thumb:horizontal {
    background-color: #5c6773; 
    /* doesn't look right because of below hack */
    border-radius: 4px;
    /* more ugly, ugly, ugly hacks */
    border-bottom: 3px solid #191f26;
    border-top: 11px solid #191f26;
}

/* syntax colors */

html.ayu .ace-tomorrow-night .ace_keyword.ace_operator {
    color: #ff7733;
}

html.ayu .ace-tomorrow-night .ace_support.ace_constant {
    color: #e6e1cf;
}

html.ayu .ace-tomorrow-night .ace_string, html.ayu .ace-tomorrow-night .ace_constant.ace_numeric {
    color: #b8cc52;
}

html.ayu .ace-tomorrow-night .ace_storage, html.ayu .ace-tomorrow-night .ace_keyword, html.ayu .ace-tomorrow-night .ace_meta.ace_tag {
    color: #ff7733;
}

html.ayu .ace-tomorrow-night .ace_entity.ace_name.ace_function {
    color: #ffb454;
}

html.ayu .ace-tomorrow-night .ace_punctuation {
    color: #ff7733;
}

html.ayu .ace-tomorrow-night .ace_comment {
    color: #5c6773;
    font-style: italic;
}

html.ayu .ace-tomorrow-night .ace_constant.ace_language {
    color: #ff7733;
}

html.ayu .ace-tomorrow-night .ace_variable {
    color: #ff7733;
}

html.ayu .ace-tomorrow-night .ace_indent-guide {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNQUFD4z6Crq/sfAAuYAuYl+7lfAAAAAElFTkSuQmCC) right repeat-y;
}

}

@-moz-document domain("this-week-in-rust.org") {
body {
    background-color: #0f1419;
    color: #c5c5c5;
}

.site-header {
    border-top: none;
    border-bottom: 1px solid #5c6773;
}

body > footer {
    border-top: 1px solid #5c6773;
}

.site-title {
    color: #fff !important;
}

.past-issues li.nav-header h2 {
    border-bottom: 1px solid #5c6773;
}

input.form-control {
    color: #ffffff;
    background-color: #141920;
    box-shadow: none;
    transition: box-shadow 150ms ease-in-out;
    border: none;
    border-radius: 4px;
}

input.form-control:focus {
    box-shadow: 0px 6px 20px 0px black;
}

h1, h2, h3, h4, h5 {
    color: #fff;
}

code {
    border: none;
    border-radius: 3px;
    padding: 0 0.2em;
    color: #ffb454;
    background-color: #191f26;
}

blockquote {
    border-left-color: #5c6773;
    color: inherit;
}

a {
    color: #0096cf;
}

a:visited {
    color: #005d81;
}

a:hover {
    color: #0096cf;
    text-decoration: underline;
}

body > footer a:visited {
    color: #0096cf;
}

.post-header a:visited {
    color: #0096cf;
}

/* Syntax Highlighting */
.highlight {
    background-color: #191f26;
    border: none;
}

pre > code {
    background-color: #191f26;
    color:#e6e1cf;
}

pre {
    overflow-x: auto;
}

/* Operator */
.highlight .o{
    color:#ff7733;
}

/* Constant */
.highlight .kc{
    color:#e6e1cf;
}

/* Keyword */
.highlight .k{
    color:#ff7733;
}

/* String */
.highlight .s,
.highlight .sb, 
.highlight .sc, 
.highlight .sd,
.highlight .s2,
.highlight .se, 
.highlight .sh, 
.highlight .si, 
.highlight .sx, 
.highlight .sr, 
.highlight .s1, 
.highlight .ss
{
    color: #b8cc52;
}

/* Numerics */
.highlight .m,
.highlight .mf,
.highlight .mh,
.highlight .mi,
.highlight .mo
.highlight .il
{
   color: #b8cc52;
}


/* Tag */
.highlight .nt{
    color:#ff7733;
}

/* Function */
.highlight .nf{
    color:#ffb454;
}
/*Punctuaiton  */
.highlight .p{
    color:#e6e1cf;
}
/* Comment */
.highlight .c,
.highlight .cm,
.highlight .cp,
.highlight .c1,
.highlight .cs
{
    color: #5c6773;
    font-style: italic;
}

/* Variable */
.highlight .nv{
    color:#ff7733;
}

/******************************MISC*******************************/

/*NameSpace*/
.highlight .nn{
    color:#e6e1cf;
}
/*Builtin*/
.highlight .nb{
    color:#ff7733 !important;
}

/*Invert Logo Color */
#site-logo { 
        filter: invert(100%);
}

}