

@font-face {
font-family: "Source Code Pro";
font-style: normal;
font-weight: 300;
src: local("Source Code Pro Light"), local("SourceCodePro-Light"), url(../fonts/SourceCodePro-Light.otf) format("opentype");
}
@font-face {
font-family: "Source Code Pro";
font-style: normal;
font-weight: 700;
src: local("Source Code Pro Bold"), local("SourceCodePro-Bold"), url(../fonts/SourceCodePro-Bold.otf) format("opentype");
}
@font-face {
font-family: "Source Code Pro";
font-style: italic;
font-weight: 900;
src: local("Source Code Pro Black Italic"), local("SourceCodePro-BlackIt"), url(../fonts/SourceCodePro-BlackIt.otf) format("opentype");
}
@font-face {
font-family: "Source Code Pro";
font-style: normal;
font-weight: 200;
src: local("Source Code Pro ExtraLight"), local("SourceCodePro-ExtraLight"), url(../fonts/SourceCodePro-ExtraLight.otf) format("opentype");
}
@font-face {
font-family: "Source Code Pro";
font-style: normal;
font-weight: 400;
src: local("Source Code Pro"), local("SourceCodePro-Regular"), url(../fonts/SourceCodePro-Regular.otf) format("opentype");
}
@font-face {
font-family: "Source Code Pro";
font-style: italic;
font-weight: 300;
src: local("Source Code Pro Light Italic"), local("SourceCodePro-LightIt"), url(../fonts/SourceCodePro-LightIt.otf) format("opentype");
}
@font-face {
font-family: "Source Code Pro";
font-style: italic;
font-weight: 700;
src: local("Source Code Pro Bold Italic"), local("SourceCodePro-BoldIt"), url(../fonts/SourceCodePro-BoldIt.otf) format("opentype");
}
@font-face {
font-family: "Source Code Pro";
font-style: italic;
font-weight: 600;
src: local("Source Code Pro Semibold Italic"), local("SourceCodePro-SemiboldIt"), url(../fonts/SourceCodePro-SemiboldIt.otf) format("opentype");
}
@font-face {
font-family: "Source Code Pro";
font-style: italic;
font-weight: 200;
src: local("Source Code Pro ExtraLight Italic"), local("SourceCodePro-ExtraLightIt"), url(../fonts/SourceCodePro-ExtraLightIt.otf) format("opentype");
}
@font-face {
font-family: "Source Code Pro";
font-style: italic;
font-weight: 400;
src: local("Source Code Pro Italic"), local("SourceCodePro-It"), url(../fonts/SourceCodePro-It.otf) format("opentype");
}
@font-face {
font-family: "Source Code Pro";
font-style: normal;
font-weight: 900;
src: local("Source Code Pro Black"), local("SourceCodePro-Black"), url(../fonts/SourceCodePro-Black.otf) format("opentype");
}
@font-face {
font-family: "Source Code Pro";
font-style: normal;
font-weight: 600;
src: local("Source Code Pro Semibold"), local("SourceCodePro-Semibold"), url(../fonts/SourceCodePro-Semibold.otf) format("opentype");
}


@font-face {
font-family: "Source Sans Pro";
font-style: normal;
font-weight: 300;
src: local("Source Sans Pro Light"), local("SourceSansPro-Light"), url(../fonts/SourceSansPro-Light.otf) format("opentype");
}
@font-face {
font-family: "Source Sans Pro";
font-style: normal;
font-weight: 700;
src: local("Source Sans Pro Bold"), local("SourceSansPro-Bold"), url(../fonts/SourceSansPro-Bold.otf) format("opentype");
}
@font-face {
font-family: "Source Sans Pro";
font-style: italic;
font-weight: 900;
src: local("Source Sans Pro Black Italic"), local("SourceSansPro-BlackIt"), url(../fonts/SourceSansPro-BlackIt.otf) format("opentype");
}
@font-face {
font-family: "Source Sans Pro";
font-style: normal;
font-weight: 200;
src: local("Source Sans Pro ExtraLight"), local("SourceSansPro-ExtraLight"), url(../fonts/SourceSansPro-ExtraLight.otf) format("opentype");
}
@font-face {
font-family: "Source Sans Pro";
font-style: normal;
font-weight: 400;
src: local("Source Sans Pro"), local("SourceSansPro-Regular"), url(../fonts/SourceSansPro-Regular.otf) format("opentype");
}
@font-face {
font-family: "Source Sans Pro";
font-style: italic;
font-weight: 300;
src: local("Source Sans Pro Light Italic"), local("SourceSansPro-LightIt"), url(../fonts/SourceSansPro-LightIt.otf) format("opentype");
}
@font-face {
font-family: "Source Sans Pro";
font-style: italic;
font-weight: 700;
src: local("Source Sans Pro Bold Italic"), local("SourceSansPro-BoldIt"), url(../fonts/SourceSansPro-BoldIt.otf) format("opentype");
}
@font-face {
font-family: "Source Sans Pro";
font-style: italic;
font-weight: 600;
src: local("Source Sans Pro Semibold Italic"), local("SourceSansPro-SemiboldIt"), url(../fonts/SourceSansPro-SemiboldIt.otf) format("opentype");
}
@font-face {
font-family: "Source Sans Pro";
font-style: italic;
font-weight: 200;
src: local("Source Sans Pro ExtraLight Italic"), local("SourceSansPro-ExtraLightIt"), url(../fonts/SourceSansPro-ExtraLightIt.otf) format("opentype");
}
@font-face {
font-family: "Source Sans Pro";
font-style: italic;
font-weight: 400;
src: local("Source Sans Pro Italic"), local("SourceSansPro-It"), url(../fonts/SourceSansPro-It.otf) format("opentype");
}
@font-face {
font-family: "Source Sans Pro";
font-style: normal;
font-weight: 900;
src: local("Source Sans Pro Black"), local("SourceSansPro-Black"), url(../fonts/SourceSansPro-Black.otf) format("opentype");
}
@font-face {
font-family: "Source Sans Pro";
font-style: normal;
font-weight: 600;
src: local("Source Sans Pro Semibold"), local("SourceSansPro-Semibold"), url(../fonts/SourceSansPro-Semibold.otf) format("opentype");
}


body {
  font-family: 'Source Sans Pro', Helvetica, sans-serif;
}

h1, h2 {
  font-weight: normal;
}
h1 small {
  font-weight: 300;
}

.anchor {
  visibility: hidden;
  margin-left: -23px;
  padding: 0 3px;
}
h1:hover .anchor,
h2:hover .anchor,
h3:hover .anchor,
h4:hover .anchor,
h5:hover .anchor {
  visibility: visible;
} 

blockquote {
  color: gray;
  border-left: 8px solid #ddd;
  margin-left: 0;
  padding-left: 1em;
}

code, pre {
  font-family: 'Source Code Pro', monospace;
  background: #F5F2F0;
  border-radius: 2px;
}
pre {
  font-size: 14px;
  padding: 0.5em;
}
code {
  color: #555;
  padding: 0 0.5em;
  font-size: 0.9em;
}
pre code {
  white-space: pre-wrap;
  padding: 0;
}

p {
  line-height: 1.5;
}
ul p {
  margin: 0;
}

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

hr {
  border: 0;
  border-bottom: 1px solid #ddd;
}

.nav-content-unit {
  display: flex;
  width: 800px;
  margin: 0px auto;
  box-sizing: border-box;
  border: 1px solid #ccc;
  box-shadow: 0 2px 3px rgba(0,0,0,0.05);
}
.nav-content-unit.nonav {
  border-top: 0;
}

.content {
  max-width: 540px;
  flex: 1;
  padding: 2em 1em 2em 2em;
}
.nonav .content {
  max-width: 800px;
  padding: 0;
}
.content > :first-child {
  padding-top: 0;
  margin-top: 0;
}

.footer {
  display: flex;
  width: 800px;
  margin: 0px auto 80px;  
}
.footer-section {
  list-style: none;
  padding: 1.5em 2em;
  margin: 0;
}
.footer-section li {
  line-height: 1.9;
}
.footer-section li:first-child {
  text-transform: uppercase;
  font-size: 0.8em;
  font-weight: bold;
  color: #555;
}
.footer-section p {
  color: gray;
  margin: 0;
}
.footer-section a {
  text-decoration: none;
  color: gray;
  font-weight: 300;
}
.footer-section a:hover {
  color: #555;
}


a.cta {
  display: inline-block;
  padding: 0.25em 0.75em;
  background: #4E9121;
  background: linear-gradient(to bottom, #4E9121, #43801A);
  color: #fff;
  font-size: 1.5em;
  font-weight: 300;
  border-radius: 1px;
  margin: 0.5em 0;
  box-shadow: 1px 2px 3px rgba(0,0,0,0.2);
  transition: opacity 0.2s, box-shadow 0.2s;
}
a.cta:hover {
  text-decoration: none;
  opacity: 0.95;
  box-shadow: 2px 4px 6px rgba(0,0,0,0.4);
}
a.cta.dark {
  background: #666;
  background: linear-gradient(to bottom, #666, #555);
}

.next:before {
  content: 'Next: ';
}

.see-also {
  padding: 0;
  margin: 2em 0 0;
  list-style: none;
}
.see-also:before {
  content: 'See also';
  font-size: 0.8em;
  font-weight: bold;
  color: #555;
  text-transform: uppercase;
}
.see-also li {
  margin-left: 1em;
  padding: 0.25em 0.25em 0;
}

.code-examples {
  max-width: 540px;
}
.code-examples .head {
  display: flex;
  color: #333;
}
.code-examples .tab {
  cursor: pointer;
  padding: 0.1em 0.75em;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}
.code-examples .tab:hover {
  background: #F9F7F6;
}
.code-examples .tab.current {
  background: #F3EFEC;
  color: black;
  text-shadow: 0 1px white;
}
.code-examples .body {
  border: 1px solid #ccc;
  padding: 1em;
  background: #F5F2F0;
  box-shadow: 0 2px 3px rgba(0,0,0,0.05);
}
.code-examples pre {
  display: none;
  margin: 0 !important;
  padding: 0 !important;
}
.code-examples pre.current {
  display: block;
}

.table-of-contents > a {
  display: inline-block;
  float: right;
  border: 1px solid #ddd;
  border-radius: 3px;
  background: #fafafa;
  box-shadow: 0 2px 3px rgba(0,0,0,0.05);
  padding: 0.25em 0.5em;
  text-decoration: none;
  color: #555;
}
.table-of-contents > a:hover,
.table-of-contents.expanded > a {
  background: #fff;
}
.table-of-contents ul {
  display: none;
  list-style: none;
}
.table-of-contents.expanded ul {
  display: block;
  padding: 0;
  margin: 0;
}
.table-of-contents ul li:nth-child(even) {
  background: #fafafa;
}
.table-of-contents ul li:hover {
  background: #eee;
}
.table-of-contents ul li a {
  display: block;
  padding: 0.5em;
  color: #555;
  text-decoration: none;
}

.choice-widget {
  display: flex;
  border: 1px solid #ccc;
  background: #F5F2F0;
  box-shadow: 0 2px 3px rgba(0,0,0,0.05);
}
.choice-widget a {
  flex: 1;
  display: block;
  color: #333;
  text-decoration: none;
  padding: 1em 0.5em;
  text-shadow: 0 1px white;
  text-align: center;
}
.choice-widget a:hover {
  background: #fff;
}
.choice-widget h2 {
  margin-top: 0;
}
.choice-widget p {
  margin-bottom: 0;
}
.choice-widget a:last-child {
  border-left: 1px solid #ccc;
}


.hero {
  width: 650px;
  margin: 0 auto;
  text-align: center;
}
.hero.small img {
  display: inline-block;
  width: 60px;
  height: 60px;
  vertical-align: middle;
}
.hero .description {
  text-align: justify;
  font-weight: 300;
  font-size: 1.4em;
  margin: 2em 0;
  padding: 1em 0;
  border-top: 1px dashed #ccc;
  border-bottom: 1px dashed #ccc;
  color: #555;
}


.tabs {
  display: flex;
  width: 800px;
  margin: 0 auto;
  box-sizing: border-box;
}
.tabs.big {
}
.tabs.small {
  margin-bottom: 1em;
  border: 1px solid #ccc;
  border-top: 0;
}

.tabs > div {
  position: relative;
  flex: 1;
  text-align: center;
}
.tabs.big > div {
  border: 1px solid #ccc;
  border-right: 0;
  background: #F9F7F6;
}
.tabs.big > div:last-child {
  border-right: 1px solid #ccc;
}
.tabs.big > div.current {
  background: #fff;
  border-bottom: 0;
}

.tabs > div a {
  display: inline-block;
  font-weight: 300;
  color: #777;
  padding: 0.4em 1.2em ;
  text-decoration: none;
}
.tabs.big > div a {
  display: block;
  font-size: 2em;
  color: gray;
}
.tabs > div.current a {
  color: #444;
}
.tabs.small > div a {
  padding: 1em 0;
}
.tabs.small > div.current a:before {
  content: '\25b6 ';
  margin-right: 5px;
}
.tabs > div a:hover {
  color: #333;
}


.nav {
  flex: 0 0 210px;
  background: #F9F7F6;
  list-style: none;
  padding: 0;
  margin: 0;
  border-right: 1px solid #ccc;
}
.nav li {
  padding: 0.5em;
  border-bottom: 1px solid #ddd;
}
.nav li.current {
  display: flex;
  background: #fff;
}
.nav li.current:before {
  content: '\2022';
  padding: 0.5em 0 0.5em 0.5em;
}
.nav li a {
  display: block;
  color: #555;
  padding: 0.5em;
  text-decoration: none;
}
.nav li a:hover {
  color: #999;
}


.columns {
  display: flex;
  width: 800px;
  margin: 0px auto 100px;
}
.columns > div {
  flex: 1;
  text-align: justify;
  font-weight: 300;
  border-right: 1px dashed #ccc;
  margin-right: 1em;
  padding-right: 1em;
}
.columns > div:last-child {
  margin: 0;
  padding: 0;
  border: 0;
}
.columns h3 {
  text-align: center;
  font-weight: normal;
}


.cards {
}
.cards a.card {
  display: inline-block;
  width: 250px;
  height: 280px;
  border: 1px solid #ccc;
  margin: 6px;
  vertical-align: top;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  text-align: justify;
  font-weight: 300;
  color: #333;
  text-decoration: none;
  background: #fff;
  transition: box-shadow 0.2s, background 0.2s;
}
.cards a.card:hover {
  background: #fdfdfd;
  box-shadow: 0 2px 3px rgba(0,0,0,0.2);
}
.cards h4, .cards p {
  padding: 0 1em;
}

