html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%/1.4; vertical-align:baseline; }
html, body { line-height:1.4em; color:#222; font-family:"open-sans",arial,helvetica,sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; height:100%;}
*, *:after, *:before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
body { height: 100%; background-color:#fff; font: 100%/1.4 'guardian-text-oreilly',open-sans,Helvetica,Arial,sans-serif; color: #404040; text-rendering: optimizeLegibility; font-feature-settings: "kern"; -webkit-font-feature-settings: "kern"; -moz-font-feature-settings: "kern"; -moz-font-feature-settings: "kern=1"; font-kerning: normal; }
a {text-decoration: none; background-color: transparent; color: #404040; }
header img, footer img, object, svg, video {
  max-width: 100%;
}
svg {
  height:100%;
}
figure {
  display: inline-block;
  -webkit-margin-before: 1em;
  -webkit-margin-after: 1em;
  -webkit-margin-start: 40px;
  -webkit-margin-end: 40px;
}
body {
  min-width: 992px;
}
/*  =============================
    header */

header {
  display:block;
}
.branding-bar { 
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 2.75rem;
  z-index: 500;
  box-shadow: 0 0 5px rgba(115,115,115,.8),0 2px 6px rgba(115,115,115,.7);width: 100%; 
  background-color: #f5f5f5; 
  display:inline-block; 
  box-shadow: 0 0 5px rgba(115,115,115,.8),0 2px 6px rgba(115,115,115,.7); 
}
.branding-bar .logo { 
  width:124px; 
  height:22px; 
  margin: 11px 50px 11px 10px;
  background: url("//cdn.oreillystatic.com/en/assets/1/eventprovider/1/oreilly_logo.svg");
  display:inline-block;
}
.branding-bar ul { 
  font-family:'oreilly-urw-typewriter-narro', Courier New; 
  display:inline-block; 
  vertical-align: top; 
  white-space: nowrap;
}
.branding-bar li {
  display:inline-block; 
  height: 2.75rem;
  line-height: 2.75rem;
  position: relative; 
  margin-right: 40px;
}
.branding-bar ul li a { 
  text-shadow: 0 1px 2px #999; 
  font-size: 1.375rem;
  color: #fff;
  pointer-events: all;
}
.branding-bar a { 
  color:#fff;
}
.branding-bar ul a:before, .branding-bar a:after {
  -webkit-transition: width .25s cubic-bezier(.86,0,.07,1); 
  transition: width .25s cubic-bezier(.86,0,.07,1); content: ""; 
  z-index: -1; position: absolute; 
  bottom: 0; 
  left: 0; 
  height: 4px; 
  width: 0; 
}
.branding-bar ul a:after {
  background-color: #e6e6e6; 
  z-index: 500; 
}
.branding-bar ul a:hover:after {
  width: 100%; 
}
.branding-bar #user {
  position: absolute;
  right: 13px;
  top: 0;
  font-size: .75rem;
  z-index: 500;
  line-height: 1;
  margin-top: 1rem;
  text-transform: uppercase;
  letter-spacing: .1em;
}
.branding-bar #user a {
  color: #fff;
  margin-left: 10px;
  text-decoration: none;
  cursor: pointer;
  outline: 0;
  opacity: 0.6;
}
.branding-bar #user a:hover {
  color: #fff;
  opacity: 1;
}
header #user a {
  display:inline-block;
}
#menu-toggle {
  display:none;
}
.topics {
  height: 40px;
  position: relative;
  z-index: 300;
  overflow: hidden;  
  padding: .5rem 0 .375rem;
  background: #f5f5f5;
  box-shadow: 0 0 4px rgba(0,0,0,.08),0 2px 8px rgba(0,0,0,.05);
}
.topics:after { 
  content: "";
  position: absolute;
  z-index: 400;
  top: 0;
  right: 0;
  width: 5.75em;
  height: 100%;
  background-image: -webkit-linear-gradient(left,rgba(245,245,245,0) 0,#f5f5f5 10%);
  background-image: linear-gradient(to right,rgba(245,245,245,0) 0,#f5f5f5 10%);
}
.topics h3, .sa {
  font-family: 'guardian-text-oreilly', Arial, Verdana, Helvetica, sans-serif;
  font-weight: bold;
  font-size: .8125rem;
  letter-spacing: .05em;
  float: left;
  padding-left: .625rem;
  text-transform: uppercase;
  line-height: 1;
  color: #404040;
}
.topics h3 {
  margin: .4375rem 0 0;
  width: 11.7125rem;
}
.topics-list {
  white-space: nowrap;
}
.topics-list li {
  display:inline-block; 
  background: #fff;
  margin-bottom: 10px;
  margin-right: 1.25rem;
  position: relative;
  overflow: hidden;
  z-index: 5;
}
.topics-list li a {
  text-decoration: none;
  cursor: pointer;
  outline: 0;
  font: 100%/1.4 'guardian-text-oreilly',open-sans,Helvetica,Arial,sans-serif;
  font-size: .6875rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 400;
  padding: .2875rem .5rem .4rem 1.125rem;
  display: block;
}
.scrollable {
  overflow: auto;
  padding-bottom: 40px;
  margin-bottom: -40px;
  vertical-align: baseline;
}
.sa {
  position: absolute;
  z-index: 500;
  right: .3125rem;
  top: .6rem;
  padding: .3125rem .5rem .5rem;
}
.sa:hover {
  color: #fff;
  background: #b9002d;
}
.business-bg--before:before { background: #008739; } 
.data-bg--before:before { background: #d3002d; } 
.design-bg--before:before { background: #7473a9; }
.hardware-innovation-bg--before:before { background: #51729c; }
.operations-bg--before:before { background: #008a96; }
.software-engineering-bg--before:before { background: #510c76; }
.web-programming-bg--before:before { background: #00b7b7; }
.economy-bg--before:before { background: #570e51; }
.flag {
  display: inline-block;
  position: relative;
  text-decoration: none;
  background-color: #f5f5f5;
  font-size: .875rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 400;    
}
.flag a {
  position:relative;
  z-index:5;
  -webkit-transition: color .25s cubic-bezier(.86,0,.07,1);
  transition: color .25s cubic-bezier(.86,0,.07,1);
}
.flag:before {
  content: "";
  height: 100%;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: .5625rem;
  z-index: 0;
  -webkit-transition: width .25s cubic-bezier(.86,0,.07,1);
  transition: width .25s cubic-bezier(.86,0,.07,1);
}
.flag:hover:before {
  width: 102%;
}
.flag:hover a {
  color: #fff;
}
header #menu-toggle, header #mobile-menu .mobile-nav {
  display: none;
}

/*  =============================
    Search box */

#search2 {
  max-width: 990px;
  background: #fff;
  margin:  0 auto;
  border-bottom: none;
}
#search2 #search-box {
  padding: 10px 0 2px;
  margin: 0 auto;
}
#search2 #search-box #q {
  font-size: 16px;
}
#search2 .searchInput {
  height: 35px;
}
.v2 #autocomplete {
    width: 620px !important;
}
#q {
  color: #404040;
}

/*  =============================
    Body */

#page * {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
.orm.ml {
  margin-left: 0;
  padding-left: 8px;
}
.mainLayoutTable {
  border: none;
  margin-bottom: 0;
}
#page {
  margin-bottom: 0;
} 
li.GlobalNavInfo.right { 
  width: 145px; 
}
.orm .tabbed-content .body li { /*carousel*/
  width: 720px;
}

/*  =============================
    Footer */

footer {
  max-width:1390px;
  margin-left:auto;
  margin-right:auto;
  background-color: #fff;
  background: #fff;
  position: relative;
  clear:both;
  display:block;
}
footer:after {
  content:"";
  display:table;
  clear:both
}
footer ul {
  margin: 0; 
  padding: 20px 0; 
  list-style: none; 
}
footer .bullet {
  color: #999;
  font-size: .75rem;
}
.footer-inner {
  overflow:hidden;
  padding:2.5rem 40px;
  width:100%;
  float:left;
  background:#363838;
  color:#fff;
  line-height:1.2;
}
.footer-inner a {
  color:#fff;
}
.footer-inner a:hover {
  color:#666!important
}
footer a.logo {
  display:block;
  float:none;
  width: 140px;
  height: 38px;
  background: url("//cdn.oreillystatic.com/en/assets/1/eventprovider/1/oreilly_logo.svg");
  background-position: center;
  background-repeat: no-repeat;
  margin-left:0;
  clear:both;
  max-width:8.5rem;
}
.icon {
  width:1.875rem;
  height:1.875rem;
  margin:0 .1875rem;
  fill:#000;
  display:inline-block;
  vertical-align:middle
}
.icon--large {
    width: 2.625rem;
    height: 2.625rem;
}
.icon--white svg {
  fill:#fff
}
.icon--small,.topic-header .flag-follow .icon {
  width:1.375rem;
  height:1.375rem
}
.btn .icon,.login-box .janrain-capture-ui .capture_btn .icon,a.icon-link .icon,button .icon {
  margin-left:0;
  margin-right:0;
  margin-bottom:.2em
}
body a:hover .icon svg {
  fill: #363838;
}
footer a {
  text-decoration:none;
  cursor:pointer;
  outline:0
}
.t-c a:focus, .t-c a:hover {
  opacity:0.8;
}
footer:before, footer:after, .footer-inner:before, .footer-inner:after, .legal:before, .legal:after {
  content: " ";
  display:table;
  box-sizing: inherit;
}
.footer-inner:after, .legal:after {
  clear:both;
}
a.icon-link {
  display:inline-block;
  font-weight:700
}
body .t-bkg {
  height:100%;
  display:table;
  width:100%;
  color:#fff;
  background-color:#b9002d
}
.about-us, .footer-social {
  padding-bottom:2.5rem;
  margin-bottom:.625rem
}
.about-us, .footer-social {
  -webkit-align-self:stretch;
  -ms-flex-item-align:stretch;
  align-self:stretch;
}
.about-us {
  width:22.22222%;
  float:left;
  margin-left:1.38889%;
  margin-right:1.38889%;
  text-align:left;
  margin-bottom:0;
  padding-bottom:0;
  border-bottom:none;
}
.about-us .title {
  margin-bottom:1.25rem;
  color:#666;
  text-transform: uppercase;
}
.about-us a {
  display:block;
  padding:0 0 .625rem;
}
.footer-social {
  width:72.22222%;
  float:left;
  margin-left:1.38889%;
  margin-right:1.38889%;
  margin-bottom:0;
  padding-bottom:0;
  border-left:1px solid #737373;
  display:-webkit-box;
  display:-webkit-flex;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -webkit-align-items:center;
  -ms-flex-align:center;
  align-items:center
}
.footer-social ul {
  margin: 0;
  width:100%;
  max-width:34.375rem;
  text-align:left;
  -webkit-box-pack:justify;
  -webkit-justify-content:space-between;
  -ms-flex-pack:justify;
  justify-content:space-between;
  display:-webkit-box;
  display:-webkit-flex;
  display:-ms-flexbox;
  display:flex
}
.footer-social li {
  display:inline-block;
  margin-bottom:.625rem;
  width:20%;
  vertical-align:top;
  border-right:1px solid #737373;
}
.footer-social li:last-child {
  border-right:none
}
.footer-social a {
  display:block;
  background-color:transparent;
  text-align:center
}
.footer-social a svg {
  fill:#fff
}
.footer-social a:hover {
  background:#fff
}
.footer-social .icon {
  margin:1.875rem 0!important
}
.footer-social .icon-youtube-large {
  margin:1.875rem 0;
  width:4.0625rem
}
footer a.logo,footer a.logo-block,footer a.logo-white {
  margin-left:0;
  clear:both;
  max-width:9rem;
  padding:.5rem;
}
.legal {
  width:97.22222%;
  float:left;
  margin-left:1.38889%;
  margin-right:1.38889%;
  margin-top:-.625rem;
  padding-left: 40px;
  padding-right: 40px;
  position:relative;
  z-index:2;
  top:-.5rem;
}
.copyright {
  margin-bottom:.25rem;
  display:inline-block;
}
.t-c {
  font-weight:600;
  font-size:.6875rem;
  line-height: 15px;
  display:inline-block;
  margin-bottom: 5px;
}
.t-c a {
  white-space: nowrap;
}
.t-c a:hover, .t-c a:focus {
  color: #b9002d;
}
.copyright {
  font-size:.6875rem;
  margin-bottom:.625rem;
  margin-top:.625rem;
}
.animal {
  position:absolute;
  right:.625rem;
  margin:0;
  width:11.25rem;
  bottom:0;
  max-height:11.25rem;
  line-height:0;
  display: block;
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
}
.radar .pa-text { color: #b9002d;}
.business .pa-text { color: #008739; } 
.data .pa-text { color: #d3002d; } 
.design .pa-text { color: #7473a9; }
.hardware-innovation .pa-text { color: #51729c; }
.operations .pa-text { color: #008a96; }
.software-engineering .pa-text { color: #510c76; }
.web-programming .pa-text { color: #00b7b7; }
.economy .pa-text { color: #570e51; }
.radar .pa-bg { background-color: #b9002d;}
.business .pa-bg { background-color: #008739; } 
.data .pa-bg { background-color: #d3002d; } 
.design .pa-bg { background-color: #7473a9; }
.hardware-innovation .pa-bg { background-color: #51729c; }
.operations .pa-bg { background-color: #008a96; }
.software-engineering .pa-bg { background-color: #510c76; }
.web-programming .pa-bg { background-color: #00b7b7; }
.economy .pa-bg { background-color: #570e51; }