tt, code, pre {
    font-family: monospace, sans-serif;
    font-size: 96.5%;
}

.rst-content dl:not(.docutils) tt.descname,
.rst-content dl:not(.docutils) tt.descclassname,
.rst-content dl:not(.docutils) tt.descname,
.rst-content dl:not(.docutils) code.descname,
.rst-content dl:not(.docutils) tt.descclassname,
.rst-content dl:not(.docutils) code.descclassname {
  font-size: 130% !important;
}

.rst-content dl:not(.docutils) dl dt {
  background: #fff;
  border: none;
  margin: 0;
  padding: 0;
}

/* We instruct sphinx to order members groupwise and use the following css to add headlines.
Notice that while the css differentiates between methods, classmethods and staticmethods,
unfortunately, sphinx groups these all alphabetically as methods which means we only
display them as one "methods" group. */

dl.attribute:before {
  content: "Attributes";
}

dl.method:before,
dl.classmethod:before,
dl.staticmethod:before {
  content: "Methods";
}

dl.method:before,
dl.attribute:before,
dl.classmethod:before,
dl.staticmethod:before {
  background: #e7f2fa;
  border-top: solid 3px #6ab0de;
  color: #000;
  display: inline-block;
  font-weight: bold;
  margin: 5px 0 10px 0;
  padding: 5px;
}

/* Remove method header if a previous element already introduced it */
dl.attribute + dl.attribute:before,
/* We have to treat all these as just "methods" (see comment further above) */
dl.method + dl.method:before,
dl.classmethod + dl.method:before,
dl.staticmethod + dl.method:before,
dl.method + dl.classmethod:before,
dl.classmethod + dl.classmethod:before,
dl.staticmethod + dl.classmethod:before,
dl.method + dl.staticmethod:before,
dl.staticmethod + dl.staticmethod:before,
dl.classmethod + dl.staticmethod:before {
  display: none;
}
