/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/*
Styles that are specific to the API reference doc structure
*/

/*
Some global styles for api_reference
*/

.api_reference p {
  margin-top: 0px;
  margin-bottom: 5px;
}

.api_reference .datatype {
  font-style: italic;
}

/***
HEADINGS
Text title for some collection of API elements, like "Properties" or "Methods".
***/

/* top level heading: something like "API Reference" */
h2.api_header {
  font-size: 200%;
  margin-top: 30px;
  margin-bottom: 10px;
}

/* next-level heading: something like "Classes", "Global Functions" */
h3.api_header {
  font-size: 150%;
  margin-top: 20px;
  margin-bottom: 10px;
  padding: 3px;
  border: solid 1px #e0effd;
  background: #e0effd;
  -moz-border-radius: 5px;
}

/* next-level heading: something like "Methods", "Object properties" */
.api_reference > .api_component_group > .api_component > .api_component_group > .api_header {
  font-size: 125%;
  margin-top: 20px;
  margin-bottom: 5px;
  border-bottom: solid 2px #e0effd;
}

/***
NAMES
Name of some API component, like widget or postMessage()
***/

/* default style for all names */
.api_name {
  font-weight: bold;
}

/* top level api component: module-level classes, functions, properties */
h4.api_name {
  font-weight: normal;
  font-size: 150%;
  padding: 3px;
  border: solid 1px #e0effd;
  background: #e0effd;
  -moz-border-radius: 5px;
  margin-bottom: 5px;
}

/* next level API component: methods or object properties */
.api_reference > .api_component_group > .api_component > .api_component_group > .api_component > .api_name {
  font-size: 120%;
  font-weight: bold;
  margin-bottom: 0px;
}

/***
Spacing components and component groups
***/

/*
Top level API component, like a global class, function, or property
*/
.api_reference > .api_component_group > .api_component {
  margin-bottom: 50px;
}

/*
Next-level API component, like a class method
*/
.api_reference > .api_component_group > .api_component > .api_component_group > .api_component {
  margin-bottom: 20px;
}

/*
All collections of API components
*/
.api_component_group {
  margin-bottom: 30px;
}

/***PARAMETERS and RETURNS***/
/*
Parameters and returns have a grey background
*/
.parameter_set, .returns {
  background-color: #f0f8ff;
  -moz-border-radius: 5px;
}

/*
Parameter components are divided by a thin border
*/
.parameter_set .api_component {
  padding: 3px;
  border-top: 3px solid white;
}

/*
Subcomponents of parameters are indented
*/
.parameter_set > .api_component > .api_component {
  padding-left: 20px;
}
