body {
	background: #fff;
	font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;
	color: #04111d;
	font-size: 15px;
	line-height: 1.55em;
	margin: 0 auto;

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

header#introduction ul li a span {
	display: block;
}

main {
	margin-top: 123px;
	padding-bottom: 200px;
  margin-left: 27%;
	margin-right: 7%;
}
@media handheld, only screen and (max-width: 650px) {
	main {
		margin-top: 30px;
		margin-left: 6%;
  	margin-right: 6%;
	}
}
body.home {
	background: #f9f9f9;
}
body.home main {
	margin-left: 6%;
  margin-right: 6%;
}

/*
	Typography
*/

h1,h2,h3,h4,h5,h6 {
	font-weight: bold;
	word-wrap: break-word;
	position: relative;
}
h1 a,h2 a,h3 a,h4 a,h5 a,h6 a {
	text-decoration: none;
	border: 0 !important;
}

a {
	text-decoration: none;
	color: inherit;
}

h2 {
	font-size: 27px;
	line-height: 1.1em;
	margin-bottom: 30px;
	margin-top: 60px;
	border-top: 3px solid;
	padding-top: 25px;
}
h3 {
	font-size: 22px;
	margin-bottom: 25px;
	margin-top: 50px;
}
h4 {
	color: #666;
	font-size: 20px;
	margin-bottom: 30px;
	margin-top: 2em;
}
h5 {
	font-size: 17px;
}
p {
	margin-bottom: 1em;
	word-wrap: break-word;
}

.larger { font-size: 32px; line-height: 38px; }
.large 	{ font-size: 26px; line-height: 32px; }
.medium { font-size: 22px; line-height: 28px; }
.normal	{ font-size: 19px; line-height: 27px; }
.small 	{ font-size: 15px; line-height: 20px; }

/*
	Buttons
*/

.anchor {
	width: 0; height: 0;
	overflow: hidden;
  font-size: 0;
  display: block;
  position: absolute;
  top: -120px;
}
@media handheld, only screen and (max-width: 650px) {
	.anchor {
		top: -20px;
	}
}

/*
	Header
*/

.header {
  font-family: 'Roboto Mono','Courier New',Courier,'Lucida Sans Typewriter','Lucida Typewriter',monospace;
  z-index: 10;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: rgba(255,255,255,0.97);
  -webkit-box-shadow: 0 0 10px rgba(4,17,29,.17);
  box-shadow: 0 0 10px rgba(4,17,29,.17);
  font-size: 14.4px;
  font-size: .9rem;
}

.product {
	position: absolute;
	left: 25%; top: 0; bottom: 0;
	border-left: 1px solid #eaebec;
	float: left;
	width: 50%;
}
.product__title {
	padding: 23px 25px;
	float: left;
}
.product img {
	display: inline-block;
	vertical-align: middle;
	margin-right: 8px;
}
.product__versions {
	padding: 21px 25px;
	border-left: 1px solid #eaebec;
	float: left;
	position: relative;
	cursor: pointer;
	display: block;
}

.product__version {
	font-family: "Roboto Mono";
	font-size: 0.8rem;
	cursor: pointer;
	padding: 5px 40px 5px 13px;
	position: relative;
	z-index: 1;
	pointer-events: none;
	background: #f8f8f8 url(icon-down.svg);
  background-repeat: no-repeat;
  background-position: 90% 50%;
  background-size: auto 45%;
}
.product__versions:hover .product__version {
	background-color: #eee;
}

.product__select {
	position: absolute;
  top: 0;
  left: 25px;
  font-size: 1rem;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  padding: 0;
  opacity: 0;
  cursor: pointer;
}
/*.header .source {
	position: absolute;
	right: 0; top: 0;
	color: #888;
}
.header .source svg {
	vertical-align: middle;
	margin-top: -4px;
	margin-left: 2px;
}
@media handheld, only screen and (max-width: 650px) {
	.header .source span {
		display: none;
	}
}*/

.header .logo {
	display: inline-block;
	vertical-align: middle;
	margin-right: 8px;
	margin-top: -2px;
	margin-bottom: 2px;
}
.header > a {
	padding: 26px 40px 23px;
	display: inline-block;
}

@media handheld, only screen and (max-width: 650px) {
	.header,
	.product {
		position: relative;
		float: none;
		left: 0; right: 0;
	}
	.product {
		border-top: 1px solid #eaebec;
		border-left: 0;
		width: 100%;
	}
	.product,
	.product__versions {
		text-align: right;
	}
	.product__versions {
		display: inline-block;
		border: 0;
		box-sizing: border-box;
		float: none;
	}

	.header > a {
		padding: 22px 25px 18px;
	}
	.header .logo {
		width: 28px;
	}
}


/*
	Navigation
*/

@media handheld, only screen and (min-width: 650px) {
nav {
	position: fixed;
	top: 85px; left: 0; bottom: 0;
	width: 20%;
	background-size: 100% 100%;

	overflow: scroll;
	-webkit-overflow-scrolling: touch;
}
}

nav {
	font-size: 14px;
}
nav > ul {
	padding: 0;
	margin: 0;
}

nav > ul > li {
	padding: 20px 20px 20px 50px;
}

nav li {
	list-style: none;
}

@media handheld, only screen and (min-width: 650px) {
nav > ul > li > ul,
nav > ul > li > ul > li > ul {
	max-height: 0;
	opacity: 0;
	transition: 0.3s opacity, 0.3s max-height;
	user-select: none;
	overflow: hidden;
}
nav > ul > li.expanded > ul,
nav > ul > li > ul > li.expanded > ul  {
	max-height: 10000px;
	opacity: 1;
	user-select: auto;
	margin-top: 5px;
}
}

nav .active {
	color: #2c85e5;
}

nav a:hover {
	text-decoration: underline;
}

nav ul ul {
	padding-left: 14px !important;
}

nav > ul > li > ul {
	padding-left: 0 !important;
}

nav > ul > li > ul > li {
	padding: 8px 0 0 0;
}

nav > ul > li > a,
nav > ul > li > p > a {
	font-weight: bold;
}

nav > ul > li.expanded {
	text-decoration: none;
}

nav > ul > li > ul > li > a {
	font-weight: bold;
	display: block;
	line-height: 18px;
	font-size: 15px;
}

nav ul li ul li ul li ul li a {
  color: #888;
  font-size: 13px;
  line-height: 18px;
  display: block;
}

.totop {
	position: fixed;
	bottom: 0;
	right: 0;
	padding: 20px;
	display: block;
	color: #888;
	background: rgba(255,255,255,0.97);
	border-radius: 30px 0 0 0;
	box-shadow: -3px -3px 5px #fff;
}

body.home .totop {
	display: none;
}

@media handheld, only screen and (min-width: 650px) {
	.header--nav { display: none; }
}

@media handheld, only screen and (max-width: 650px) {
	nav {
		background: #f9f9f9;
	}

	nav ul ul ul ul {
		display: none;
	}

	nav > ul > li {
    padding: 20px 6%;
	}	
}


/*
	Styles for docs
*/

.docs h2:first-of-type {
	margin-top: 0;
}

.docs blockquote.advice,
.docs blockquote.warning {
	opacity: 1;
	padding: 1px 1em;
	border-color: #87c443;
	background-color: #eff9e1;
}
.docs blockquote.warning {
	border-color: #e7461f;
	background-color: #ffe3dc;
}
.docs blockquote code {
	border: none;
	box-shadow: none;
}

.docs blockquote {
	padding: 0 1em;
	margin: 30px 0px;
	opacity: 0.5;
	border-left: 0.25em solid #ddd;
}

.docs h1 span {
	vertical-align: middle;
}
.docs table {
	font-size: 13px;
	line-height: 1.3em;
	display: block;
	width: 100%;
	word-break: normal;
	word-break: keep-all;
	border-spacing: 0;
	border-collapse: collapse;
	margin: 60px 0;

	overflow: scroll;
	-webkit-overflow-scrolling: touch;
}
.docs table tbody {
	box-shadow: 7px 7px 4px 0 rgba(0,0,0,0.02);
}
.docs table th {
	font-weight: bold;
}
.docs table th,
.docs table td {
	padding: 6px 13px;
	border: 1px solid #ddd;
}
.docs table tr {
	background-color: #fff;
	border-top: 1px solid #ccc;
}
.docs table tr:nth-child(2n) {
	background-color: #f8f8f8;
}
.docs table tr:hover {
	background-color: #EDEDED;
}

.docs img {
	position: relative;
	max-width: 100%;
	height: auto;
	display: block;
	border-radius: 5px;
	box-shadow: 5px 5px 10px #ddd;
	border: 3px solid #fff;
}

/*
	Code highlighting
*/

a code {
	background: none;
}

pre {
	display: inline-block;
	background: #fafafa;
	border: 1px solid #EFEFEF;
	box-shadow: 2px 2px 15px 0 rgba(0,0,0,.04);
	padding: 0 5px;
	margin: 0;
	font-size: 13px;
	line-height: 1.35em;
	width: 100%;
	font-family: "Roboto Mono", "Courier New", Courier, "Lucida Sans Typewriter", "Lucida Typewriter", monospace;
}

pre {
	overflow: scroll;
	-webkit-overflow-scrolling: touch;
}

pre code {
	padding: 10px;
	display: block;
}
code {
	overflow: scroll;
	-webkit-overflow-scrolling: touch;
	max-width: 100%;
}

@media handheld, only screen and (max-width: 650px) {
	code {
		line-height: 16px;
	}
	.docs table {
		margin-top: 30px;
		margin-bottom: 30px;
	}
	h4 {
		margin-bottom: 20px;
    margin-top: 45px;
	}
	h2 {
		padding-top: 20px;
		font-size: 20px;
	}
}

/*
	Product boxes
*/

.welcome {
	padding: 10px 0 20px;
	position: relative;
}
.welcome h1 {
	line-height: 1.4em;
}
.welcome p {
	font-size: 1.3rem;
	line-height: 1.9rem;
	max-width: 50%;
}
.welcome .icon {
	opacity: .04;
	position: absolute;
	right: 0;
	width: 330px;
	top: -100px;
}

@media handheld, only screen and (max-width: 650px) {
	.welcome h1 {
		font-size: 22px;
	}
	.welcome p {
		max-width: 100%;
		font-size: 18px;
		line-height: 1.4em;
	}
}

.cols {
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin-left: -15px;
	margin-right: -15px;
	margin-top: 40px;
	overflow: hidden;
}
.cols--4>.col {
	width: calc(25% - 30px);
	margin: 0 15px 30px;
}

@media handheld, only screen and (max-width: 900px) {
	.cols--4>.col {
		width: calc(50% - 30px);
	}
}

@media handheld, only screen and (max-width: 400px) {
	.cols--4>.col {
		width: calc(100% - 30px);
	}
}

.box {
	background: #fff;
	color: #04111d;
	border: 1px solid #e5e4e4; 
	box-shadow: 2px 2px 15px 0 rgba(0,0,0,.09), 0px 382px 0 0px rgba(0,0,0,.1);
	position: relative;
	display: block;
	line-height: 1.4em;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	transform-style: preserve-3d;
	padding-top: 350px;

	background-position: 30px 30px;
  background-repeat: no-repeat;
  background-size: auto 40px;
}
.box__inner {
	padding: 25px;
  display: block;
  position: absolute;
  bottom: 0; left: 0; right: 0;
}
.box:hover .box__inner {
	background: rgba(0,0,0,0.1);
}

.box__title {
	margin-bottom: 20px;
	font-family: "Roboto Mono";
	text-transform: lowercase;
}



.btn {
  display: inline-block;
  background-color: transparent;
  color: #04111d;
  text-decoration: none;
  padding: 15px 0;
  padding-right: 23px;
  transition: all 0.2s;
  cursor: pointer;
  line-height: 0;
  font-family: "Roboto Mono";
  outline: none;
	background: none;
  display: inline-block;
  font-size: 14px;
  margin-right: 25px;
  
  background: url(icon-arrow.svg);
  background-repeat: no-repeat;
  background-position: 100% 50%;
  background-size: auto 55%;
}
.btn:hover {
  color: #326ff4;
  position: relative;
  z-index: 1;
}

/* 
	Search
*/

.search {
	position: absolute;
	top: 0; right: 0;
}
.search input {
	outline: none;
	border: 0;
	padding: 28px 70px 28px 10px;
	font-size: .9rem;
	text-align: right;
	font-family: "Roboto Mono";
	background: url(icon-search.svg) no-repeat 80% 50%;
	background-size: 20px auto;
	width: 100%;
	box-sizing: border-box;
}

@media handheld, only screen and (max-width: 650px) {
	.search input {
		padding-top: 23px;
    padding-bottom: 22px;
    padding-right: 40px;
    background-position: 90% 50%;
	}
}

#results.hide {
	display: none;
}
#results {
	position: absolute;
	right: 0;
	top: 100%;
  box-shadow: 2px 2px 15px 0 rgba(0,0,0,.4);
  background: #04111d;
  color: #fff;
  padding: 0;
	margin: 30px;
	width: 300px;
	font-size: 0.8rem;
	z-index: 10;
}
#results:before {
	bottom: 100%;
	right: 25px;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: transparent;
	border-bottom-color: #04111d;
	border-width: 12px;
	margin-left: 0;
}
#results a {
	display: block;
	padding: 6px 10px;
	border-bottom: 1px solid #222;
}
#results a.highlighted {
	background: #326ff4;
	color: #fff;
}
#results a:hover {
	background: #666;
	color: #fff;
}
#results strong {
	opacity: 0.6;
	float: right;
	font-weight: normal;
}


/*
	App overrides
*/


.docs--api h1, .docs--api h2,
#nav--api .active { color: #0ba6dd;}
.docs--api a {
	border-bottom: 1px solid #0ba6dd;
	font-weight: bold;
}
.docs--api ::selection,
.box--api {
	background-color: #0ba6dd;
	color: #fff;
}
.docs--api ::-moz-selection {
	background: #0ba6dd;
	color: #fff;
}
.box--api {
	border-color: #0ba6dd;
	background-image: url(products/dadi-api-bg.svg);
}
.box--api-wrapper {
	background-image: url(products/dadi-api.png);
}

.docs--cdn h1, .docs--cdn h2,
#nav--cdn .active { color: #e02975;}
.docs--cdn a {
	border-bottom: 1px solid #e02975;
	font-weight: bold;
}
.docs--cdn ::selection,
.box--cdn {
	background-color: #e02975;
	color: #fff;
}
.docs--cdn ::-moz-selection {
	background: #e02975;
	color: #fff;
}
.box--cdn {
	border-color: #e02975;
	background-image: url(products/dadi-cdn-bg.svg);
}

.docs--publish h1, .docs--publish h2,
#nav--publish .active { color: #ffbf0d;}
.docs--publish a {
	border-bottom: 1px solid #ffbf0d;
	font-weight: bold;
}
.docs--publish ::selection,
.box--publish {
	background-color: #ffbf0d;
	color: #000;
}
.docs--publish ::-moz-selection {
	background: #ffbf0d;
	color: #000;
}
.box--publish {
	color: #fff;
	border-color: #ffbf0d;
	background-image: url(products/dadi-publish-bg.svg);
}

.docs--web h1, .docs--web h2,
#nav--web .active { color: #e42918;}
.docs--web a {
	border-bottom: 1px solid #e42918;
	font-weight: bold;
}
.docs--web ::selection,
.box--web {
	background-color: #e42918;
	color: #fff;
}
.docs--web ::-moz-selection {
	background: #e42918;
	color: #fff;
}
.box--web {
	border-color: #e42918;
	background-image: url(products/dadi-web-bg.svg);
}

.docs--cli h1, .docs--cli h2,
#nav--cli .active { color: #e7461f;}
.docs--cli a {
	border-bottom: 1px solid #e7461f;
	font-weight: bold;
}
.docs--cli ::selection {
	background: #e7461f;
	color: #fff;
}
.docs--cli ::-moz-selection {
	background: #e7461f;
	color: #fff;
}
.box--cli {
	background-image: url(products/dadi-cli.png);
	background-size: auto 30px;
}

.docs--queue h1, .docs--queue h2,
#nav--queue .active { color: #8773dd;}
.docs--queue a {
	border-bottom: 1px solid #8773dd;
	font-weight: bold;
}
.docs--queue ::selection,
.box--queue {
	background-color: #8773dd;
	color: #fff;
}
.docs--queue ::-moz-selection {
	background: #8773dd;
	color: #fff;
}
.box--queue {
	border-color: #8773dd;
	background-image: url(products/dadi-queue-bg.svg);
}

/* Open API renderer */

.oar-method {
	border-radius: 4px;
	margin: 10px 0;
	padding: 10px 14px;
}

.oar-method table {
	margin: 20px 0;
}

.oar-method .td-main {
	width: 100%;
}

.oar-method .td-main pre {
	margin-left: -6px;
}

.oar-method-label {
  border-radius: 4px;
  color: white;
  display: inline-block;
	font-family: "Roboto Mono", "Courier New", Courier, "Lucida Sans Typewriter", "Lucida Typewriter", monospace;
	font-weight: bold;
	padding: 5px 10px;
}

.oar-method--post {
	background-color: rgba(73,204,144,.1);
	border: 1px solid #49cc90;
}

.oar-method--post .oar-method-label {
  background-color: #49cc90;
}

.oar-method--put {
	background-color: rgba(252,161,48,.1);
	border: 1px solid #fca130;
}

.oar-method--put .oar-method-label {
  background-color: #fca130;
}

.oar-method--delete {
	background-color: rgba(249,62,62,.1);
	border: 1px solid #f93e3e;
}

.oar-method--delete .oar-method-label {
  background-color: #f93e3e;
}

.oar-method--get {
	background-color: rgba(97,175,254,.1);
	border: 1px solid #61affe;
}

.oar-method--get .oar-method-label {
  background-color: #61affe;
}

.oar-method__path {
	font-weight: bold;
	margin: 0 5px;
}