#permissions td.module{font-weight:bold;}#permissions td.permission{padding-left:1.5em;}#access-rules .access-type,#access-rules .rule-type{margin-right:1em;  float:left;}#access-rules .access-type .form-item,#access-rules .rule-type .form-item{margin-top:0;}#access-rules .mask{clear:both;}#user-login-form{text-align:center;}#user-admin-filter ul{list-style-type:none;padding:0;margin:0;width:100%;}#user-admin-buttons{float:left;  margin-left:0.5em;  clear:right;}#user-admin-settings fieldset .description{font-size:0.85em;padding-bottom:.5em;}.profile{clear:both;margin:1em 0;}.profile .picture{float:right;  margin:0 1em 1em 0;}.profile h3{border-bottom:1px solid #ccc;}.profile dl{margin:0 0 1.5em 0;}.profile dt{margin:0 0 0.2em 0;font-weight:bold;}.profile dd{margin:0 0 1em 0;}.container-inline-date{width:auto;clear:both;display:inline-block;vertical-align:top;margin-right:0.5em;}.container-inline-date .form-item{float:none;padding:0;margin:0;}.container-inline-date .form-item .form-item{float:left;}.container-inline-date .form-item,.container-inline-date .form-item input{width:auto;}.container-inline-date .description{clear:both;}.container-inline-date .form-item input,.container-inline-date .form-item select,.container-inline-date .form-item option{margin-right:5px;}.container-inline-date .date-spacer{margin-left:-5px;}.views-right-60 .container-inline-date div{padding:0;margin:0;}.container-inline-date .date-timezone .form-item{float:none;width:auto;clear:both;}#calendar_div,#calendar_div td,#calendar_div th{margin:0;padding:0;}#calendar_div,.calendar_control,.calendar_links,.calendar_header,.calendar{width:185px;border-collapse:separate;margin:0;}.calendar td{padding:0;}span.date-display-single{}span.date-display-start{}span.date-display-end{}span.date-display-separator{}.date-repeat-input{float:left;  width:auto;margin-right:5px;}.date-repeat-input select{min-width:7em;}.date-repeat fieldset{clear:both;float:none;}.date-views-filter-wrapper{min-width:250px;}.date-views-filter input{float:left !important;  margin-right:2px !important;  padding:0 !important;width:12em;min-width:12em;}.date-nav{width:100%;}.date-nav div.date-prev{text-align:left;  width:24%;float:left;}.date-nav div.date-next{text-align:right;  width:24%;float:right;}.date-nav div.date-heading{text-align:center;width:50%;float:left;}.date-nav div.date-heading h3{margin:0;padding:0;}.date-clear{float:none;clear:both;display:block;}.date-clear-block{float:none;width:auto;clear:both;} 	  .date-clear-block:after{content:" ";display:block;height:0;clear:both;visibility:hidden;}.date-clear-block{display:inline-block;}/* Hides from IE-mac \*/ 	  * html .date-clear-block{height:1%;}.date-clear-block{display:block;}.date-container .date-format-delete{margin-top:1.8em;margin-left:1.5em;float:left;}.date-container .date-format-name{float:left;}.date-container .date-format-type{float:left;padding-left:10px;}.date-container .select-container{clear:left;float:left;}#ui-datepicker-div table,#ui-datepicker-div td,#ui-datepicker-div th{margin:0;padding:0;}#ui-datepicker-div,#ui-datepicker-div table,.ui-datepicker-div,.ui-datepicker-div table,.ui-datepicker-inline,.ui-datepicker-inline table{font-size:12px !important;}.ui-datepicker-div,.ui-datepicker-inline,#ui-datepicker-div{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none;background:#ffffff;border:2px solid #d3d3d3;font-family:Verdana,Arial,sans-serif;font-size:1.1em;margin:0;padding:2.5em .5em .5em .5em;position:relative;width:15.5em;}#ui-datepicker-div{background:#ffffff;display:none;z-index:9999;}.ui-datepicker-inline{display:block;float:left;}.ui-datepicker-control{display:none;}.ui-datepicker-current{display:none;}.ui-datepicker-next,.ui-datepicker-prev{background:#e6e6e6 url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/modules/date/date_popup/themes/images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x;  left:.5em;  position:absolute;top:.5em;}.ui-datepicker-next{left:14.6em;}.ui-datepicker-next:hover,.ui-datepicker-prev:hover{background:#dadada url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/modules/date/date_popup/themes/images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;}.ui-datepicker-next a,.ui-datepicker-prev a{background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/modules/date/date_popup/themes/images/888888_7x7_arrow_left.gif) 50% 50% no-repeat;  border:1px solid #d3d3d3;cursor:pointer;display:block;font-size:1em;height:1.4em;text-indent:-999999px;width:1.3em;}.ui-datepicker-next a{background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/modules/date/date_popup/themes/images/888888_7x7_arrow_right.gif) 50% 50% no-repeat;}.ui-datepicker-prev a:hover{background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/modules/date/date_popup/themes/images/454545_7x7_arrow_left.gif) 50% 50% no-repeat;}.ui-datepicker-next a:hover{background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/modules/date/date_popup/themes/images/454545_7x7_arrow_right.gif) 50% 50% no-repeat;}.ui-datepicker-prev a:active{background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/modules/date/date_popup/themes/images/222222_7x7_arrow_left.gif) 50% 50% no-repeat;}.ui-datepicker-next a:active{background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/modules/date/date_popup/themes/images/222222_7x7_arrow_right.gif) 50% 50% no-repeat;}.ui-datepicker-header select{background:#e6e6e6;border:1px solid #d3d3d3;color:#555555;font-size:1em;line-height:1.4em;margin:0 !important;padding:0 !important;position:absolute;top:.5em;}.ui-datepicker-header select.ui-datepicker-new-month{left:2.2em;  width:7em;}.ui-datepicker-header select.ui-datepicker-new-year{left:9.4em;  width:5em;}table.ui-datepicker{text-align:right;  width:15.5em;}table.ui-datepicker td a{color:#555555;display:block;padding:.1em .3em .1em 0;  text-decoration:none;}table.ui-datepicker tbody{border-top:none;}table.ui-datepicker tbody td a{background:#e6e6e6 url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/modules/date/date_popup/themes/images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x;  border:1px solid #ffffff;cursor:pointer;}table.ui-datepicker tbody td a:hover{background:#dadada url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/modules/date/date_popup/themes/images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;  border:1px solid #999999;color:#212121;}table.ui-datepicker tbody td a:active{background:#ffffff url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/modules/date/date_popup/themes/images/ffffff_40x100_textures_02_glass_65.png) 0 50% repeat-x;  border:1px solid #dddddd;color:#222222;}table.ui-datepicker .ui-datepicker-title-row td{  color:#222222;font-size:.9em;padding:.3em 0;text-align:center;text-transform:uppercase;}table.ui-datepicker .ui-datepicker-title-row td a{color:#222222;}.ui-datepicker-cover{display:none;  display/**/:block;  position:absolute;  z-index:-1;  filter:mask();  top:-4px;  left:-4px;   width:200px;  height:200px;}body{margin:0;padding:0;background:#edf5fa;font:12px/170% Verdana,sans-serif;color:#494949;}input{font:12px/100% Verdana,sans-serif;color:#494949;}textarea,select{font:12px/160% Verdana,sans-serif;color:#494949;}h1,h2,h3,h4,h5,h6{margin:0;padding:0;font-weight:normal;font-family:Helvetica,Arial,sans-serif;}h1{font-size:170%;}h2{font-size:160%;line-height:130%;}h3{font-size:140%;}h4{font-size:130%;}h5{font-size:120%;}h6{font-size:110%;}ul,quote,code,fieldset{margin:.5em 0;}p{margin:0.6em 0 1.2em;padding:0;}a:link,a:visited{color:#027AC6;text-decoration:none;}a:hover{color:#0062A0;text-decoration:underline;}a:active,a.active{color:#5895be;}hr{margin:0;padding:0;border:none;height:1px;background:#5294c1;}ul{margin:0.5em 0 1em;padding:0;}ol{margin:0.75em 0 1.25em;padding:0;}ol li,ul li{margin:0.4em 0 0.4em .5em;}ul.menu,.item-list ul{margin:0.35em 0 0 -0.5em;  padding:0;}ul.menu ul,.item-list ul ul{margin-left:0em;}ol li,ul li,ul.menu li,.item-list ul li,li.leaf{margin:0.15em 0 0.15em .5em;}ul li,ul.menu li,.item-list ul li,li.leaf{padding:0 0 .2em 1.5em;list-style-type:none;list-style-image:none;background:transparent url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/themes/garland/images/menu-leaf.gif) no-repeat 1px .35em;}ol li{padding:0 0 .3em;margin-left:2em;}ul li.expanded{background:transparent url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/themes/garland/images/menu-expanded.gif) no-repeat 1px .35em;}ul li.collapsed{background:transparent url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/themes/garland/images/menu-collapsed.gif) no-repeat 0px .35em;}ul li.leaf a,ul li.expanded a,ul li.collapsed a{display:block;}ul.inline li{background:none;margin:0;padding:0 1em 0 0;}ol.task-list{margin-left:0;  list-style-type:none;list-style-image:none;}ol.task-list li{padding:0.5em 1em 0.5em 2em;}ol.task-list li.active{background:transparent url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/themes/garland/images/task-list.png) no-repeat 3px 50%;}ol.task-list li.done{color:#393;background:transparent url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/misc/watchdog-ok.png) no-repeat 0px 50%;}ol.task-list li.active{margin-right:1em;}fieldset ul.clear-block li{margin:0;padding:0;background-image:none;}dl{margin:0.5em 0 1em 1.5em;}dl dt{}dl dd{margin:0 0 .5em 1.5em;}img,a img{border:none;}table{margin:1em 0;width:100%;}thead th{border-bottom:2px solid #d3e7f4;color:#494949;font-weight:bold;}th a:link,th a:visited{color:#6f9dbd;}td,th{padding:.3em .5em;}tr.even,tr.odd,tbody th{border:solid #d3e7f4;border-width:1px 0;}tr.odd,tr.info{background-color:#edf5fa;}tr.even{background-color:#fff;}tr.drag{background-color:#fffff0;}tr.drag-previous{background-color:#ffd;}tr.odd td.active{background-color:#ddecf5;}tr.even td.active{background-color:#e6f1f7;}td.region,td.module,td.container,td.category{border-top:1.5em solid #fff;border-bottom:1px solid #b4d7f0;background-color:#d4e7f3;color:#455067;font-weight:bold;}tr:first-child td.region,tr:first-child td.module,tr:first-child td.container,tr:first-child td.category{border-top-width:0;}span.form-required{color:#ffae00;}span.submitted,.description{font-size:0.92em;color:#898989;}.description{line-height:150%;margin-bottom:0.75em;color:#898989;}.messages,.preview{margin:.75em 0 .75em;padding:.5em 1em;}.messages ul{margin:0;}.form-checkboxes,.form-radios,.form-checkboxes .form-item,.form-radios .form-item{margin:0.25em 0;}#center form{margin-bottom:2em;}.form-button,.form-submit{margin:2em 0.5em 1em 0;}#dblog-form-overview .form-submit,.confirmation .form-submit,.search-form .form-submit,.poll .form-submit,fieldset .form-button,fieldset .form-submit,.sidebar .form-button,.sidebar .form-submit,table .form-button,table .form-submit{margin:0;}.box{margin-bottom:2.5em;}#header-region{min-height:1em;background:#d2e6f3 url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/themes/garland/images/bg-navigation.png) repeat-x 50% 100%;}#header-region .block{display:block;margin:0 1em;}#header-region .block-region{display:block;margin:0 0.5em 1em;padding:0.5em;position:relative;top:0.5em;}#header-region *{display:inline;line-height:1.5em;margin-top:0;margin-bottom:0;}#header-region script{display:none;}#header-region p,#header-region img{margin-top:0.5em;}#header-region h2{margin:0 1em 0 0;}#header-region h3,#header-region label,#header-region li{margin:0 1em;padding:0;background:none;}#wrapper{background:#edf5fa url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/themes/garland/images/body.png) repeat-x 50% 0;}#wrapper #container{margin:0 auto;padding:0 20px;max-width:1270px;}#wrapper #container #header{height:80px;}#wrapper #container #header #logo-floater{position:absolute;}#wrapper #container #header h1,#wrapper #container #header h1 a:link,#wrapper #container #header h1 a:visited{line-height:120px;position:relative;z-index:2;white-space:nowrap;}#wrapper #container #header h1 span{font-weight:bold;}#wrapper #container #header h1 img{padding-top:16px;padding-right:20px;  float:left;}body.sidebars{min-width:980px;}body.sidebar-left,body.sidebar-right{min-width:780px;}#wrapper #container #center{float:left;width:100%;}body.sidebar-left #center{margin-left:-210px;}body.sidebar-right #center{margin-right:-210px;}body.sidebars #center{margin:0 -210px;}body.sidebar-left #squeeze{margin-left:210px;}body.sidebar-right #squeeze{margin-right:210px;}body.sidebars #squeeze{margin:0 210px;}#wrapper #container .sidebar{margin:60px 0 5em;width:210px;float:left;z-index:2;position:relative;}#wrapper #container .sidebar .block{margin:0 0 1.5em 0;}#sidebar-left .block{padding:0 15px 0 0px;}#sidebar-right .block{padding:0 0px 0 15px;}.block .content{margin:0.5em 0;}#sidebar-left .block-region{margin:0 15px 0 0px;}#sidebar-right .block-region{margin:0 0px 0 15px;}.block-region{padding:1em;background:transparent;border:2px dashed #b4d7f0;text-align:center;font-size:1.3em;}#wrapper #container #center #squeeze{background:#fff url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/themes/garland/images/bg-content.png) repeat-x 50% 0;position:relative;}#wrapper #container #center .right-corner{background:transparent url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/themes/garland/images/bg-content-right.png) no-repeat 100% 0;position:relative;left:10px;}#wrapper #container #center .right-corner .left-corner{padding:60px 25px 5em 35px;background:transparent url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/themes/garland/images/bg-content-left.png) no-repeat 0 0;margin-left:-10px;position:relative;left:-10px;min-height:400px;}#wrapper #container #footer{float:none;clear:both;text-align:center;margin:4em 0 -3em;color:#898989;}#wrapper #container .breadcrumb{position:absolute;top:15px;left:35px;  z-index:3;}body.sidebar-left #footer{margin-left:-210px;}body.sidebar-right #footer{margin-right:-210px;}body.sidebars #footer{margin:0 -210px;}#wrapper #container #header h1,#wrapper #container #header h1 a:link,#wrapper #container #header h1 a:visited{color:#fff;font-weight:normal;text-shadow:#1659ac 0px 1px 3px;font-size:1.5em;}#wrapper #container #header h1 a:hover{text-decoration:none;}#wrapper #container .breadcrumb{font-size:0.92em;}#wrapper #container .breadcrumb,#wrapper #container .breadcrumb a{color:#529ad6;}#mission{padding:1em;background-color:#fff;border:1px solid #e0e5fb;margin-bottom:2em;}ul.primary-links{margin:0;padding:0;float:right;  position:relative;z-index:4;}ul.primary-links li{margin:0;padding:0;float:left;  background-image:none;}ul.primary-links li a,ul.primary-links li a:link,ul.primary-links li a:visited{display:block;margin:0 1em;padding:.75em 0 0;color:#fff;background:transparent url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/themes/garland/images/bg-navigation-item.png) no-repeat 50% 0;}ul.primary-links li a:hover,ul.primary-links li a.active{color:#fff;background:transparent url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/themes/garland/images/bg-navigation-item-hover.png) no-repeat 50% 0;}ul.secondary-links{margin:0;padding:18px 0 0;float:right;  clear:right;  position:relative;z-index:4;}ul.secondary-links li{margin:0;padding:0;float:left;  background-image:none;}ul.secondary-links li a,ul.secondary-links li a:link,ul.secondary-links li a:visited{display:block;margin:0 1em;padding:.75em 0 0;color:#cde3f1;background:transparent;}ul.secondary-links li a:hover,ul.secondary-links li a.active{color:#cde3f1;background:transparent;}ul.primary,ul.primary li,ul.secondary,ul.secondary li{border:0;background:none;margin:0;padding:0;}#tabs-wrapper{margin:0 -26px 1em;padding:0 26px;border-bottom:1px solid #e9eff3;position:relative;}ul.primary{padding:0.5em 0 10px;float:left;}ul.secondary{clear:both;text-align:left;  border-bottom:1px solid #e9eff3;margin:-0.2em -26px 1em;padding:0 26px 0.6em;}h2.with-tabs{float:left;  margin:0 2em 0 0;  padding:0;}ul.primary li a,ul.primary li.active a,ul.primary li a:hover,ul.primary li a:visited,ul.secondary li a,ul.secondary li.active a,ul.secondary li a:hover,ul.secondary li a:visited{border:0;background:transparent;padding:4px 1em;margin:0 0 0 1px;  height:auto;text-decoration:none;position:relative;top:-1px;}ul.primary li.active a,ul.primary li.active a:link,ul.primary li.active a:visited,ul.primary li a:hover,ul.secondary li.active a,ul.secondary li.active a:link,ul.secondary li.active a:visited,ul.secondary li a:hover{background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/themes/garland/images/bg-tab.png) repeat-x 0 50%;color:#fff;}ul.primary li.active a,ul.secondary li.active a{font-weight:bold;}.node{border-bottom:1px solid #e9eff3;margin:-1.5em -26px 1.5em;padding:1.5em 26px;}ul.links li,ul.inline li{margin-left:0;margin-right:0;padding-left:0;  padding-right:1em;  background-image:none;}.node .links,.comment .links{text-align:left;}.node .links ul.links li,.comment .links ul.links li{}.terms ul.links li{margin-left:0;margin-right:0;padding-right:0;padding-left:1em;}.picture,.comment .submitted{float:right;  clear:right;  padding-left:1em;}.new{color:#ffae00;font-size:0.92em;font-weight:bold;float:right;}.terms{float:right;}.preview .node,.preview .comment,.sticky{margin:0;padding:0.5em 0;border:0;background:0;}.sticky{padding:1em;background-color:#fff;border:1px solid #e0e5fb;margin-bottom:2em;}#comments{position:relative;top:-1px;border-bottom:1px solid #e9eff3;margin:-1.5em -25px 0;padding:0 25px;}#comments h2.comments{margin:0 -25px;padding:.5em 25px;background:#fff url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/themes/garland/images/gradient-inner.png) repeat-x 0 0;}.comment{margin:0 -25px;padding:1.5em 25px 1.5em;border-top:1px solid #e9eff3;}.indented{margin-left:25px;}.comment h3 a.active{color:#494949;}.node .content,.comment .content{margin:0.6em 0;}#aggregator{margin-top:1em;}#aggregator .feed-item-title{font-size:160%;line-height:130%;}#aggregator .feed-item{border-bottom:1px solid #e9eff3;margin:-1.5em -31px 1.75em;padding:1.5em 31px;}#aggregator .feed-item-categories{font-size:0.92em;}#aggregator .feed-item-meta{font-size:0.92em;color:#898989;}#palette .form-item{border:1px solid #fff;}#palette .item-selected{background:#fff url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/themes/garland/images/gradient-inner.png) repeat-x 0 0;border:1px solid #d9eaf5;}tr.menu-disabled{opacity:0.5;}tr.odd td.menu-disabled{background-color:#edf5fa;}tr.even td.menu-disabled{background-color:#fff;}.poll .bar{background:#fff url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/themes/garland/images/bg-bar-white.png) repeat-x 0 0;border:solid #f0f0f0;border-width:0 1px 1px;}.poll .bar .foreground{background:#71a7cc url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/themes/garland/images/bg-bar.png) repeat-x 0 100%;}.poll .percent{font-size:.9em;}#autocomplete li{cursor:default;padding:2px;margin:0;}fieldset{margin:1em 0;padding:1em;border:1px solid #d9eaf5;background:#fff url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/themes/garland/images/gradient-inner.png) repeat-x 0 0;}*:first-child+html fieldset{padding:0 1em 1em;background-position:0 .75em;background-color:transparent;}*:first-child+html fieldset > .description,*:first-child+html fieldset .fieldset-wrapper .description{padding-top:1em;}fieldset legend{  display:block;}*:first-child+html fieldset legend,*:first-child+html fieldset.collapsed legend{display:inline;}html.js fieldset.collapsed{background:transparent;padding-top:0;padding-bottom:.6em;}html.js fieldset.collapsible legend a{padding-left:2em;  background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/themes/garland/images/menu-expanded.gif) no-repeat 0% 50%;}html.js fieldset.collapsed legend a{background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/themes/garland/images/menu-collapsed.gif) no-repeat 0% 50%;}#block-node-0 h2{float:left;  padding-right:20px;}#block-node-0 img,.feed-icon{float:right;  padding-top:4px;}#block-node-0 .content{clear:right;}#user-login-form{text-align:center;}#user-login-form ul{text-align:left;}.profile{margin-top:1.5em;}.profile h3{border-bottom:0;margin-bottom:1em;}.profile dl{margin:0;}.profile dt{font-weight:normal;color:#898989;font-size:0.92em;line-height:1.3em;margin-top:1.4em;margin-bottom:0.45em;}.profile dd{margin-bottom:1.6em;}div.admin-panel,div.admin-panel .description,div.admin-panel .body,div.admin,div.admin .left,div.admin .right,div.admin .expert-link,div.item-list,.menu{margin:0;padding:0;}div.admin .left{float:left;  width:48%;}div.admin .right{float:right;  width:48%;}div.admin-panel{background:#fff url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/themes/garland/images/gradient-inner.png) repeat-x 0 0;padding:1em 1em 1.5em;}div.admin-panel .description{margin-bottom:1.5em;}div.admin-panel dl{margin:0;}div.admin-panel dd{color:#898989;font-size:0.92em;line-height:1.3em;margin-top:-.2em;margin-bottom:.65em;}table.system-status-report th{border-color:#d3e7f4;}#autocomplete li.selected,tr.selected td,tr.selected td.active{background:#027ac6;color:#fff;}tr.selected td a:link,tr.selected td a:visited,tr.selected td a:active{color:#d3e7f4;}tr.taxonomy-term-preview{opacity:0.5;}tr.taxonomy-term-divider-top{border-bottom:none;}tr.taxonomy-term-divider-bottom{border-top:1px dotted #CCC;}.messages{background-color:#fff;border:1px solid #b8d3e5;}.preview{background-color:#fcfce8;border:1px solid #e5e58f;}div.status{color:#33a333;border-color:#c7f2c8;}div.error,tr.error{color:#a30000;background-color:#FFCCCC;}.form-item input.error,.form-item textarea.error{border:1px solid #c52020;color:#363636;}tr.dblog-user{background-color:#fcf9e5;}tr.dblog-user td.active{background-color:#fbf5cf;}tr.dblog-content{background-color:#fefefe;}tr.dblog-content td.active{background-color:#f5f5f5;}tr.dblog-warning{background-color:#fdf5e6;}tr.dblog-warning td.active{background-color:#fdf2de;}tr.dblog-error{background-color:#fbe4e4;}tr.dblog-error td.active{background-color:#fbdbdb;}tr.dblog-page-not-found,tr.dblog-access-denied{background:#d7ffd7;}tr.dblog-page-not-found td.active,tr.dblog-access-denied td.active{background:#c7eec7;}table.system-status-report tr.error,table.system-status-report tr.error th{background-color:#fcc;border-color:#ebb;color:#200;}table.system-status-report tr.warning,table.system-status-report tr.warning th{background-color:#ffd;border-color:#eeb;}table.system-status-report tr.ok,table.system-status-report tr.ok th{background-color:#dfd;border-color:#beb;}#admin-menu{position:absolute;top:0px;left:0px;font-size:9px;font-family:"lucida grande",tahoma,verdana,arial,sans-serif;background:#101010 bottom left repeat-x;width:100%;text-align:left;}#admin-menu li.admin-menu-icon a{padding:1px 8px 4px;}#admin-menu li.admin-menu-icon ul a{padding:4px 8px;}#admin-menu li.admin-menu-icon img{vertical-align:bottom;}#admin-menu li.admin-menu-users img{margin-top:1px;}#admin-menu li.admin-menu-action{float:right;}#admin-menu li.admin-menu-action a{border-left:1px solid #323232;border-right:none;}body.admin-menu{margin-top:20px !important;}#admin-menu,#admin-menu ul{padding:0;margin:0;list-style:none;line-height:1.4em;z-index:999;}#admin-menu ul{position:static;}#admin-menu ul a{display:block;border-right:1px solid #323232;border-bottom:none;padding:4px 8px;font-weight:normal;color:#eee;text-decoration:none;text-align:left;}#admin-menu ul li.admin-menu-tab a{border-right:1px solid #52565e;}#admin-menu li li a{border-right:none;border-top:1px solid #323232;}#admin-menu li{float:left;height:100%;margin:0 !important;padding:0;list-style-image:none;list-style-type:none;background-image:none;}#admin-menu li.admin-menu-tab{padding-bottom:1px;background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/css/modules/admin_menu/images/bkg_tab.png) repeat-x left bottom;}#admin-menu li li{width:160px;background:#202020;filter:Alpha(opacity=88);opacity:0.88;}#admin-menu li ul{position:absolute;background:none;margin:0;width:160px;left:-999em;display:none;line-height:1.2em;}#admin-menu li li.expandable ul{margin:-20px 0 0 160px;}#admin-menu li:hover ul ul,#admin-menu li:hover ul ul ul,#admin-menu li:hover ul ul ul ul,#admin-menu li:hover ul ul ul ul ul,#admin-menu li.iehover ul ul,#admin-menu li.iehover ul ul ul,#admin-menu li.iehover ul ul ul ul,#admin-menu li.iehover ul ul ul ul ul{left:-999em;display:none;}#admin-menu li:hover ul,#admin-menu li li:hover ul,#admin-menu li li li:hover ul,#admin-menu li li li li:hover ul,#admin-menu li li li li li:hover ul,#admin-menu li.iehover ul,#admin-menu li li.iehover ul,#admin-menu li li li.iehover ul,#admin-menu li li li li.iehover ul,#admin-menu li li li li li.iehover ul{left:auto;display:block;}#admin-menu li.admin-menu-action:hover ul{right:0;}#admin-menu li li.expandable{background:#45454a url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/css/modules/admin_menu/images/arrow.png) no-repeat 145px 7px;}#admin-menu li li:hover,#admin-menu li li.iehover{background-color:#111;}#admin-menu li li:hover a,#admin-menu li li:hover li:hover a,#admin-menu li li:hover li:hover li:hover a{color:#fff;}#admin-menu li li.expandable:hover a,#admin-menu li li.expandable:hover li.expandable:hover a{border-color:#666666;color:#eee;}#admin-menu li li.expandable:hover li a,#admin-menu li li.expandable:hover li.expandable:hover li a{border-color:#323232;}#admin-menu li li:hover li a,#admin-menu li li.iehover li a,#admin-menu li li.iehover li.iehover li a{color:#eee;}#admin-menu li li.iehover a,#admin-menu li li.iehover li.iehover a,#admin-menu li li.iehover li.iehover li.iehover a{color:#fff;width:90%;}html.js fieldset.collapsible div.fieldset-wrapper{overflow:visible;}@media print{#admin-menu{display:none;}body.admin-menu{margin-top:0 !important;}}.loader-panel{background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/loading.gif) no-repeat center rgb(0,0,0);width:110px;height:110px;opacity:0.7;border-radius:6px;position:absolute;top:50%;left:50%;margin-left:-55px;margin-top:-55px;z-index:9999;}.quiz-panel{background-color:#F8F8F8;width:100%;font-family:Ubuntu;position:relative;margin-bottom:50px;margin-top:50px;}.quiz-body{width:100%;}.quiz-panel-inner{padding:15px;min-height:400px;position:relative;}.quiz-panel-footer-sep{background-color:#E5EAEE;height:10px;}.quiz-panel-footer{position:relative;width:100%;padding-bottom:15%;height:0;overflow:hidden;border-top:1px solid #C5C9CA;background-color:#ffffff;}.quiz-panel-footer-img{background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/css/modules/packt_quiz/images/quiz-logo.jpg) no-repeat 10px 10px transparent;background-size:auto;position:absolute;width:100%;height:100%;}.quiz-counter{float:right;font-size:20px;line-height:1;position:absolute;bottom:10px;right:10px;}.quiz-counter-cells{float:right;}.quiz-counter-info{float:left;}.quiz-counter-cells div{height:10px;min-width:15px;background-color:#e8e8e8;float:left;margin-top:5px;margin-left:3px;}.quiz-counter-cells div.complete{background-color:#F89223;}.quiz-options{margin-bottom:25px;}.quiz-title{text-align:center;text-transform:uppercase;line-height:1;font-size:46px;margin-top:80px;}.quiz-sub-title{text-align:center;text-transform:uppercase;line-height:1;font-size:36px;margin-top:40px;}.quiz-question{text-align:center;line-height:1;font-size:36px;margin-bottom:50px;}.quiz-question img{max-width:200px;border:1px solid #aaa;border-radius:3px;}.quiz-button,.quiz-option-button{text-align:center;margin:20px 0;}.quiz-button button,button.quiz-option-button{background:none;background-color:#5594DB;font-size:36px;line-height:1;font-family:din_bold;border:1px solid #5594DB;padding:25px 30px;margin:10px auto;border-radius:3px;font-family:Ubuntu;}.quiz-button button:hover,button.quiz-option-button:hover{background:none;background-color:#5594DB;border-color:#77B6FD;}button.quiz-option-button{font-size:20px;line-height:1.3;display:block;padding:8px 15px;width:60%;}button.quiz-option-button:active{background-color:#4483CA;color:#fff;}.quiz-email{text-align:center;font-size:16px;margin-top:115px;}.quiz-email table td{margin:0 auto;padding:5px 0;}.quiz-email table td input{}.quiz-social{text-align:center;}.quiz-social-heading{font-size:22px;}.quiz-social-tbl{border:none;margin:0 auto;}.quiz-social-tbl td{padding:3px;}#qEmail{background-color:#eff2f7;height:50px;width:500px;font-size:2em;padding-left:20px;}#qEmailSubmit{height:60px;width:275px;font-size:1.8em;padding:0px;margin:0px;}.page-books-content-web-dev-quiz #title-bar{background:#E7692C;}.quiz-tandc{font-size:12px;margin-left:20px;display:none;}.selectBox-dropdown{min-width:150px;position:relative;border:solid 1px #BBB;line-height:1.5;text-decoration:none;text-align:left;color:#000;outline:none;vertical-align:middle;background:#F2F2F2;background:-moz-linear-gradient(top,#F8F8F8 1%,#E1E1E1 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(1%,#F8F8F8),color-stop(100%,#E1E1E1));    -moz-box-shadow:0 1px 0 rgba(255,255,255,.75);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.75);box-shadow:0 1px 0 rgba(255,255,255,.75);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;display:inline-block;cursor:default;}.selectBox-dropdown:focus,.selectBox-dropdown:focus .selectBox-arrow{border-color:#666;}.selectBox-dropdown.selectBox-menuShowing{-moz-border-radius-bottomleft:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0;}.selectBox-dropdown .selectBox-label{padding:2px 8px;display:inline-block;white-space:nowrap;overflow:hidden;}.selectBox-dropdown .selectBox-arrow{position:absolute;top:0;right:0;width:23px;height:100%;border:none;display:inline-block;text-align:center;line-height:35px;font-size:0.5em;}.selectBox-dropdown-menu{position:absolute;z-index:99999;max-height:200px;min-height:1em;border:solid 1px #BBB;    background:#FFF;-moz-box-shadow:0 2px 6px rgba(0,0,0,.2);-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2);box-shadow:0 2px 6px rgba(0,0,0,.2);overflow:auto;-webkit-overflow-scrolling:touch;}.selectBox-inline{min-width:150px;outline:none;border:solid 1px #BBB;background:#FFF;display:inline-block;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;overflow:auto;}.selectBox-inline:focus{border-color:#666;}.selectBox-options,.selectBox-options LI,.selectBox-options LI A{list-style:none;display:block;cursor:default;padding:0;margin:0;}.selectBox-options LI A{line-height:1.5;padding:0 .5em;white-space:nowrap;overflow:hidden;background:6px center no-repeat;}.selectBox-options LI.selectBox-hover A{background-color:#EEE;}.selectBox-options LI.selectBox-disabled A{color:#888;background-color:transparent;}.selectBox-options LI.selectBox-selected A{background-color:#C8DEF4;}.selectBox-options .selectBox-optgroup{color:#666;background:#EEE;font-weight:bold;line-height:1.5;padding:0 .3em;white-space:nowrap;}.selectBox.selectBox-disabled{color:#888;}.selectBox-dropdown.selectBox-disabled .selectBox-arrow{opacity:.5;filter:alpha(opacity=50);border-color:#666;}.selectBox-inline.selectBox-disabled{color:#888;}.selectBox-inline.selectBox-disabled .selectBox-options A{background-color:transparent;}.ui-helper-hidden{display:none;}.ui-helper-hidden-accessible{position:absolute;left:-99999999px;}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none;}.ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}.ui-helper-clearfix{display:inline-block;}/* required comment for clearfix to work in Opera \*/* html .ui-helper-clearfix{height:1%;}.ui-helper-clearfix{display:block;}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0);}.ui-state-disabled{cursor:default !important;}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%;}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em;}.ui-widget .ui-widget{font-size:1em;}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em;}.ui-widget-content{border:1px solid #aaaaaa;background:#ffffff url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/css/util/images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222222;}.ui-widget-content a{color:#222222;}.ui-widget-header{border:1px solid #aaaaaa;background:#cccccc url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/css/util/images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222222;font-weight:bold;}.ui-widget-header a{color:#222222;}.ui-state-default,.ui-widget-content .ui-state-default{border:1px solid #d3d3d3;background:#e6e6e6 url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/css/util/images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#555555;outline:none;}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555555;text-decoration:none;outline:none;}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus{border:1px solid #999999;background:#dadada url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/css/util/images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121;outline:none;}.ui-state-hover a,.ui-state-hover a:hover{color:#212121;text-decoration:none;outline:none;}.ui-state-active,.ui-widget-content .ui-state-active{border:1px solid #aaaaaa;background:#ffffff url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/css/util/images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121;outline:none;}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;outline:none;text-decoration:none;}.ui-state-highlight,.ui-widget-content .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/css/util/images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636;}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a{color:#363636;}.ui-state-error,.ui-widget-content .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/css/util/images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a;}.ui-state-error a,.ui-widget-content .ui-state-error a{color:#cd0a0a;}.ui-state-error-text,.ui-widget-content .ui-state-error-text{color:#cd0a0a;}.ui-state-disabled,.ui-widget-content .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none;}.ui-priority-primary,.ui-widget-content .ui-priority-primary{font-weight:bold;}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal;}.ui-icon{width:16px;height:16px;background-image:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/css/util/images/ui-icons_222222_256x240.png);}.ui-widget-content .ui-icon{background-image:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/css/util/images/ui-icons_222222_256x240.png);}.ui-widget-header .ui-icon{background-image:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/css/util/images/ui-icons_222222_256x240.png);}.ui-state-default .ui-icon{background-image:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/css/util/images/ui-icons_888888_256x240.png);}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/css/util/images/ui-icons_454545_256x240.png);}.ui-state-active .ui-icon{background-image:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/css/util/images/ui-icons_454545_256x240.png);}.ui-state-highlight .ui-icon{background-image:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/css/util/images/ui-icons_2e83ff_256x240.png);}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/css/util/images/ui-icons_cd0a0a_256x240.png);}.ui-icon-carat-1-n{background-position:0 0;}.ui-icon-carat-1-ne{background-position:-16px 0;}.ui-icon-carat-1-e{background-position:-32px 0;}.ui-icon-carat-1-se{background-position:-48px 0;}.ui-icon-carat-1-s{background-position:-64px 0;}.ui-icon-carat-1-sw{background-position:-80px 0;}.ui-icon-carat-1-w{background-position:-96px 0;}.ui-icon-carat-1-nw{background-position:-112px 0;}.ui-icon-carat-2-n-s{background-position:-128px 0;}.ui-icon-carat-2-e-w{background-position:-144px 0;}.ui-icon-triangle-1-n{background-position:0 -16px;}.ui-icon-triangle-1-ne{background-position:-16px -16px;}.ui-icon-triangle-1-e{background-position:-32px -16px;}.ui-icon-triangle-1-se{background-position:-48px -16px;}.ui-icon-triangle-1-s{background-position:-64px -16px;}.ui-icon-triangle-1-sw{background-position:-80px -16px;}.ui-icon-triangle-1-w{background-position:-96px -16px;}.ui-icon-triangle-1-nw{background-position:-112px -16px;}.ui-icon-triangle-2-n-s{background-position:-128px -16px;}.ui-icon-triangle-2-e-w{background-position:-144px -16px;}.ui-icon-arrow-1-n{background-position:0 -32px;}.ui-icon-arrow-1-ne{background-position:-16px -32px;}.ui-icon-arrow-1-e{background-position:-32px -32px;}.ui-icon-arrow-1-se{background-position:-48px -32px;}.ui-icon-arrow-1-s{background-position:-64px -32px;}.ui-icon-arrow-1-sw{background-position:-80px -32px;}.ui-icon-arrow-1-w{background-position:-96px -32px;}.ui-icon-arrow-1-nw{background-position:-112px -32px;}.ui-icon-arrow-2-n-s{background-position:-128px -32px;}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px;}.ui-icon-arrow-2-e-w{background-position:-160px -32px;}.ui-icon-arrow-2-se-nw{background-position:-176px -32px;}.ui-icon-arrowstop-1-n{background-position:-192px -32px;}.ui-icon-arrowstop-1-e{background-position:-208px -32px;}.ui-icon-arrowstop-1-s{background-position:-224px -32px;}.ui-icon-arrowstop-1-w{background-position:-240px -32px;}.ui-icon-arrowthick-1-n{background-position:0 -48px;}.ui-icon-arrowthick-1-ne{background-position:-16px -48px;}.ui-icon-arrowthick-1-e{background-position:-32px -48px;}.ui-icon-arrowthick-1-se{background-position:-48px -48px;}.ui-icon-arrowthick-1-s{background-position:-64px -48px;}.ui-icon-arrowthick-1-sw{background-position:-80px -48px;}.ui-icon-arrowthick-1-w{background-position:-96px -48px;}.ui-icon-arrowthick-1-nw{background-position:-112px -48px;}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px;}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px;}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px;}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px;}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px;}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px;}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px;}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px;}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px;}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px;}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px;}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px;}.ui-icon-arrowreturn-1-w{background-position:-64px -64px;}.ui-icon-arrowreturn-1-n{background-position:-80px -64px;}.ui-icon-arrowreturn-1-e{background-position:-96px -64px;}.ui-icon-arrowreturn-1-s{background-position:-112px -64px;}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px;}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px;}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px;}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px;}.ui-icon-arrow-4{background-position:0 -80px;}.ui-icon-arrow-4-diag{background-position:-16px -80px;}.ui-icon-extlink{background-position:-32px -80px;}.ui-icon-newwin{background-position:-48px -80px;}.ui-icon-refresh{background-position:-64px -80px;}.ui-icon-shuffle{background-position:-80px -80px;}.ui-icon-transfer-e-w{background-position:-96px -80px;}.ui-icon-transferthick-e-w{background-position:-112px -80px;}.ui-icon-folder-collapsed{background-position:0 -96px;}.ui-icon-folder-open{background-position:-16px -96px;}.ui-icon-document{background-position:-32px -96px;}.ui-icon-document-b{background-position:-48px -96px;}.ui-icon-note{background-position:-64px -96px;}.ui-icon-mail-closed{background-position:-80px -96px;}.ui-icon-mail-open{background-position:-96px -96px;}.ui-icon-suitcase{background-position:-112px -96px;}.ui-icon-comment{background-position:-128px -96px;}.ui-icon-person{background-position:-144px -96px;}.ui-icon-print{background-position:-160px -96px;}.ui-icon-trash{background-position:-176px -96px;}.ui-icon-locked{background-position:-192px -96px;}.ui-icon-unlocked{background-position:-208px -96px;}.ui-icon-bookmark{background-position:-224px -96px;}.ui-icon-tag{background-position:-240px -96px;}.ui-icon-home{background-position:0 -112px;}.ui-icon-flag{background-position:-16px -112px;}.ui-icon-calendar{background-position:-32px -112px;}.ui-icon-cart{background-position:-48px -112px;}.ui-icon-pencil{background-position:-64px -112px;}.ui-icon-clock{background-position:-80px -112px;}.ui-icon-disk{background-position:-96px -112px;}.ui-icon-calculator{background-position:-112px -112px;}.ui-icon-zoomin{background-position:-128px -112px;}.ui-icon-zoomout{background-position:-144px -112px;}.ui-icon-search{background-position:-160px -112px;}.ui-icon-wrench{background-position:-176px -112px;}.ui-icon-gear{background-position:-192px -112px;}.ui-icon-heart{background-position:-208px -112px;}.ui-icon-star{background-position:-224px -112px;}.ui-icon-link{background-position:-240px -112px;}.ui-icon-cancel{background-position:0 -128px;}.ui-icon-plus{background-position:-16px -128px;}.ui-icon-plusthick{background-position:-32px -128px;}.ui-icon-minus{background-position:-48px -128px;}.ui-icon-minusthick{background-position:-64px -128px;}.ui-icon-close{background-position:-80px -128px;}.ui-icon-closethick{background-position:-96px -128px;}.ui-icon-key{background-position:-112px -128px;}.ui-icon-lightbulb{background-position:-128px -128px;}.ui-icon-scissors{background-position:-144px -128px;}.ui-icon-clipboard{background-position:-160px -128px;}.ui-icon-copy{background-position:-176px -128px;}.ui-icon-contact{background-position:-192px -128px;}.ui-icon-image{background-position:-208px -128px;}.ui-icon-video{background-position:-224px -128px;}.ui-icon-script{background-position:-240px -128px;}.ui-icon-alert{background-position:0 -144px;}.ui-icon-info{background-position:-16px -144px;}.ui-icon-notice{background-position:-32px -144px;}.ui-icon-help{background-position:-48px -144px;}.ui-icon-check{background-position:-64px -144px;}.ui-icon-bullet{background-position:-80px -144px;}.ui-icon-radio-off{background-position:-96px -144px;}.ui-icon-radio-on{background-position:-112px -144px;}.ui-icon-pin-w{background-position:-128px -144px;}.ui-icon-pin-s{background-position:-144px -144px;}.ui-icon-play{background-position:0 -160px;}.ui-icon-pause{background-position:-16px -160px;}.ui-icon-seek-next{background-position:-32px -160px;}.ui-icon-seek-prev{background-position:-48px -160px;}.ui-icon-seek-end{background-position:-64px -160px;}.ui-icon-seek-first{background-position:-80px -160px;}.ui-icon-stop{background-position:-96px -160px;}.ui-icon-eject{background-position:-112px -160px;}.ui-icon-volume-off{background-position:-128px -160px;}.ui-icon-volume-on{background-position:-144px -160px;}.ui-icon-power{background-position:0 -176px;}.ui-icon-signal-diag{background-position:-16px -176px;}.ui-icon-signal{background-position:-32px -176px;}.ui-icon-battery-0{background-position:-48px -176px;}.ui-icon-battery-1{background-position:-64px -176px;}.ui-icon-battery-2{background-position:-80px -176px;}.ui-icon-battery-3{background-position:-96px -176px;}.ui-icon-circle-plus{background-position:0 -192px;}.ui-icon-circle-minus{background-position:-16px -192px;}.ui-icon-circle-close{background-position:-32px -192px;}.ui-icon-circle-triangle-e{background-position:-48px -192px;}.ui-icon-circle-triangle-s{background-position:-64px -192px;}.ui-icon-circle-triangle-w{background-position:-80px -192px;}.ui-icon-circle-triangle-n{background-position:-96px -192px;}.ui-icon-circle-arrow-e{background-position:-112px -192px;}.ui-icon-circle-arrow-s{background-position:-128px -192px;}.ui-icon-circle-arrow-w{background-position:-144px -192px;}.ui-icon-circle-arrow-n{background-position:-160px -192px;}.ui-icon-circle-zoomin{background-position:-176px -192px;}.ui-icon-circle-zoomout{background-position:-192px -192px;}.ui-icon-circle-check{background-position:-208px -192px;}.ui-icon-circlesmall-plus{background-position:0 -208px;}.ui-icon-circlesmall-minus{background-position:-16px -208px;}.ui-icon-circlesmall-close{background-position:-32px -208px;}.ui-icon-squaresmall-plus{background-position:-48px -208px;}.ui-icon-squaresmall-minus{background-position:-64px -208px;}.ui-icon-squaresmall-close{background-position:-80px -208px;}.ui-icon-grip-dotted-vertical{background-position:0 -224px;}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px;}.ui-icon-grip-solid-vertical{background-position:-32px -224px;}.ui-icon-grip-solid-horizontal{background-position:-48px -224px;}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px;}.ui-icon-grip-diagonal-se{background-position:-80px -224px;}.ui-corner-tl{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;}.ui-corner-tr{-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;}.ui-corner-bl{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;}.ui-corner-br{-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;}.ui-corner-top{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;}.ui-corner-bottom{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;}.ui-corner-right{-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;}.ui-corner-left{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;}.ui-corner-all{-moz-border-radius:4px;-webkit-border-radius:4px;}.ui-widget-overlay{background:#aaaaaa url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/css/util/images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.30;filter:Alpha(Opacity=30);}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaaaaa url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/css/util/images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.30;filter:Alpha(Opacity=30);-moz-border-radius:8px;-webkit-border-radius:8px;}.ui-accordion .ui-accordion-header{cursor:pointer;position:relative;margin-top:1px;zoom:1;}.ui-accordion .ui-accordion-li-fix{display:inline;}.ui-accordion .ui-accordion-header-active{border-bottom:0 !important;}.ui-accordion .ui-accordion-header a{display:block;font-size:1em;padding:.5em .5em .5em 2.2em;}.ui-accordion .ui-accordion-header .ui-icon{position:absolute;left:.5em;top:50%;margin-top:-8px;}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;margin-top:-2px;position:relative;top:1px;margin-bottom:2px;overflow:auto;display:none;}.ui-accordion .ui-accordion-content-active{display:block;}.ui-datepicker{width:17em;padding:.2em .2em 0;}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0;}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em;}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px;}.ui-datepicker .ui-datepicker-prev{left:2px;}.ui-datepicker .ui-datepicker-next{right:2px;}.ui-datepicker .ui-datepicker-prev-hover{left:1px;}.ui-datepicker .ui-datepicker-next-hover{right:1px;}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px;}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center;}.ui-datepicker .ui-datepicker-title select{float:left;font-size:1em;margin:1px 0;}.ui-datepicker select.ui-datepicker-month-year{width:100%;}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%;}.ui-datepicker .ui-datepicker-title select.ui-datepicker-year{float:right;}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em;}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0;}.ui-datepicker td{border:0;padding:1px;}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none;}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0;}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible;}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left;}.ui-datepicker.ui-datepicker-multi{width:auto;}.ui-datepicker-multi .ui-datepicker-group{float:left;}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em;}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%;}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%;}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%;}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header{border-left-width:0;}.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0;}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left;}.ui-datepicker-row-break{clear:both;width:100%;}.ui-datepicker-rtl{direction:rtl;}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto;}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto;}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto;}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto;}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right;}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left;}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current{float:right;}.ui-datepicker-rtl .ui-datepicker-group{float:right;}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header{border-right-width:0;border-left-width:1px;}.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px;}.ui-datepicker-cover{display:none;    display/**/:block;    position:absolute;    z-index:-1;    filter:mask();    top:-4px;    left:-4px;    width:200px;    height:200px;}.ui-dialog{position:relative;padding:.2em;width:300px;}.ui-dialog .ui-dialog-titlebar{padding:.5em .3em .3em 1em;position:relative;}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0 .2em;}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:19px;margin:-10px 0 0 0;padding:1px;height:18px;}.ui-dialog .ui-dialog-titlebar-close span{display:block;margin:1px;}.ui-dialog .ui-dialog-titlebar-close:hover,.ui-dialog .ui-dialog-titlebar-close:focus{padding:0;}.ui-dialog .ui-dialog-content{border:0;padding:.5em 1em;background:none;overflow:auto;zoom:1;}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin:.5em 0 0 0;padding:.3em 1em .5em .4em;}.ui-dialog .ui-dialog-buttonpane button{float:right;margin:.5em .4em .5em 0;cursor:pointer;padding:.2em .6em .3em .6em;line-height:1.4em;width:auto;overflow:visible;}.ui-dialog .ui-resizable-se{width:14px;height:14px;right:3px;bottom:3px;}.ui-draggable .ui-dialog-titlebar{cursor:move;}.ui-progressbar{height:2em;text-align:left;}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%;}.ui-resizable{position:relative;}.ui-resizable-handle{position:absolute;font-size:0.1px;z-index:99999;display:block;}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none;}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0px;}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0px;}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0px;height:100%;}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0px;height:100%;}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px;}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px;}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px;}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px;}.ui-slider{position:relative;text-align:left;}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;}.ui-slider-horizontal{height:.8em;}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em;}.ui-slider-horizontal .ui-slider-range{top:0;height:100%;}.ui-slider-horizontal .ui-slider-range-min{left:0;}.ui-slider-horizontal .ui-slider-range-max{right:0;}.ui-slider-vertical{width:.8em;height:100px;}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em;}.ui-slider-vertical .ui-slider-range{left:0;width:100%;}.ui-slider-vertical .ui-slider-range-min{bottom:0;}.ui-slider-vertical .ui-slider-range-max{top:0;}.ui-tabs{padding:.2em;zoom:1;}.ui-tabs .ui-tabs-nav{list-style:none;position:relative;padding:.2em .2em 0;}.ui-tabs .ui-tabs-nav li{position:relative;float:left;border-bottom-width:0 !important;margin:0 .2em -1px 0;padding:0;}.ui-tabs .ui-tabs-nav li a{float:left;text-decoration:none;padding:.5em 1em;}.ui-tabs .ui-tabs-nav li.ui-tabs-selected{padding-bottom:1px;border-bottom-width:0;}.ui-tabs .ui-tabs-nav li.ui-tabs-selected a,.ui-tabs .ui-tabs-nav li.ui-state-disabled a,.ui-tabs .ui-tabs-nav li.ui-state-processing a{cursor:text;}.ui-tabs .ui-tabs-nav li a,.ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a{cursor:pointer;}.ui-tabs .ui-tabs-panel{padding:1em 1.4em;display:block;border-width:0;background:none;}.ui-tabs .ui-tabs-hide{display:none !important;}#fancybox-loading{position:fixed;top:50%;left:50%;width:40px;height:40px;margin-top:-20px;margin-left:-20px;cursor:pointer;overflow:hidden;z-index:1104;display:none;}#fancybox-loading div{position:absolute;top:0;left:0;width:40px;height:480px;background-image:url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/util/fancybox/fancybox.png');}#fancybox-overlay{position:absolute;top:0;left:0;width:100%;z-index:1100;display:none;}#fancybox-tmp{padding:0;margin:0;border:0;overflow:auto;display:none;}#fancybox-wrap{position:absolute;top:0;left:0;padding:20px;z-index:1101;outline:none;display:none;}#fancybox-outer{position:relative;width:100%;height:100%;background:#fff;}#fancybox-content{width:0;height:0;padding:0;outline:none;position:relative;overflow:hidden;z-index:1102;border:0px solid #fff;}#fancybox-hide-sel-frame{position:absolute;top:0;left:0;width:100%;height:100%;background:transparent;z-index:1101;}#fancybox-close{position:absolute;top:-15px;right:-15px;width:30px;height:30px;background:transparent url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/util/fancybox/fancybox.png') -40px 0px;cursor:pointer;z-index:1103;display:none;}#fancybox-error{color:#444;font:normal 12px/20px Arial;padding:14px;margin:0;}#fancybox-img{width:100%;height:100%;padding:0;margin:0;border:none;outline:none;line-height:0;vertical-align:top;}#fancybox-frame{width:100%;height:100%;border:none;display:block;}#fancybox-left,#fancybox-right{position:absolute;bottom:0px;height:100%;width:35%;cursor:pointer;outline:none;background:transparent url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/util/fancybox/blank.gif');z-index:1102;display:none;}#fancybox-left{left:0px;}#fancybox-right{right:0px;}#fancybox-left-ico,#fancybox-right-ico{position:absolute;top:50%;left:-9999px;width:30px;height:30px;margin-top:-15px;cursor:pointer;z-index:1102;display:block;}#fancybox-left-ico{background-image:url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/util/fancybox/fancybox.png');background-position:-40px -30px;}#fancybox-right-ico{background-image:url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/util/fancybox/fancybox.png');background-position:-40px -60px;}#fancybox-left:hover,#fancybox-right:hover{visibility:visible;}#fancybox-left:hover span{left:20px;}#fancybox-right:hover span{left:auto;right:20px;}.fancybox-bg{position:absolute;padding:0;margin:0;border:0;width:20px;height:20px;z-index:1001;}#fancybox-bg-n{top:-20px;left:0;width:100%;background-image:url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/util/fancybox/fancybox-x.png');}#fancybox-bg-ne{top:-20px;right:-20px;background-image:url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/util/fancybox/fancybox.png');background-position:-40px -162px;}#fancybox-bg-e{top:0;right:-20px;height:100%;background-image:url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/util/fancybox/fancybox-y.png');background-position:-20px 0px;}#fancybox-bg-se{bottom:-20px;right:-20px;background-image:url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/util/fancybox/fancybox.png');background-position:-40px -182px;}#fancybox-bg-s{bottom:-20px;left:0;width:100%;background-image:url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/util/fancybox/fancybox-x.png');background-position:0px -20px;}#fancybox-bg-sw{bottom:-20px;left:-20px;background-image:url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/util/fancybox/fancybox.png');background-position:-40px -142px;}#fancybox-bg-w{top:0;left:-20px;height:100%;background-image:url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/util/fancybox/fancybox-y.png');}#fancybox-bg-nw{top:-20px;left:-20px;background-image:url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/util/fancybox/fancybox.png');background-position:-40px -122px;}#fancybox-title{font-family:Helvetica;font-size:12px;z-index:1102;}.fancybox-title-inside{padding-bottom:10px;text-align:center;color:#333;background:#fff;position:relative;}.fancybox-title-outside{padding-top:10px;color:#fff;}.fancybox-title-over{position:absolute;bottom:0;left:0;color:#FFF;text-align:left;}#fancybox-title-over{padding:10px;background-image:url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/util/fancybox/fancy_title_over.png');display:block;}.fancybox-title-float{position:absolute;left:0;bottom:-20px;height:32px;}#fancybox-title-float-wrap{border:none;border-collapse:collapse;width:auto;}#fancybox-title-float-wrap td{border:none;white-space:nowrap;}#fancybox-title-float-left{padding:0 0 0 15px;background:url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/util/fancybox/fancybox.png') -40px -90px no-repeat;}#fancybox-title-float-main{color:#FFF;line-height:29px;font-weight:bold;padding:0 0 3px 0;background:url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/util/fancybox/fancybox-x.png') 0px -40px;}#fancybox-title-float-right{padding:0 0 0 15px;background:url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/util/fancybox/fancybox.png') -55px -90px no-repeat;}.fancybox-ie6 #fancybox-close{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_close.png',sizingMethod='scale');}.fancybox-ie6 #fancybox-left-ico{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_left.png',sizingMethod='scale');}.fancybox-ie6 #fancybox-right-ico{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_right.png',sizingMethod='scale');}.fancybox-ie6 #fancybox-title-over{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_over.png',sizingMethod='scale');zoom:1;}.fancybox-ie6 #fancybox-title-float-left{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_left.png',sizingMethod='scale');}.fancybox-ie6 #fancybox-title-float-main{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_main.png',sizingMethod='scale');}.fancybox-ie6 #fancybox-title-float-right{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_right.png',sizingMethod='scale');}.fancybox-ie6 #fancybox-bg-w,.fancybox-ie6 #fancybox-bg-e,.fancybox-ie6 #fancybox-left,.fancybox-ie6 #fancybox-right,#fancybox-hide-sel-frame{height:expression(this.parentNode.clientHeight + "px");}#fancybox-loading.fancybox-ie6{position:absolute;margin-top:0;top:expression( (-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2:document.body.clientHeight/2) + (ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop:document.body.scrollTop )) + 'px');}#fancybox-loading.fancybox-ie6 div{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_loading.png',sizingMethod='scale');}.fancybox-ie .fancybox-bg{background:transparent !important;}.fancybox-ie #fancybox-bg-n{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_n.png',sizingMethod='scale');}.fancybox-ie #fancybox-bg-ne{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_ne.png',sizingMethod='scale');}.fancybox-ie #fancybox-bg-e{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_e.png',sizingMethod='scale');}.fancybox-ie #fancybox-bg-se{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_se.png',sizingMethod='scale');}.fancybox-ie #fancybox-bg-s{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_s.png',sizingMethod='scale');}.fancybox-ie #fancybox-bg-sw{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_sw.png',sizingMethod='scale');}.fancybox-ie #fancybox-bg-w{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_w.png',sizingMethod='scale');}.fancybox-ie #fancybox-bg-nw{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_nw.png',sizingMethod='scale');}div.monelem_container{}div.monelem_page{background:white;top:0;left:0;bottom:3px;right:5px;}div.monelem_sheaf{top:1em;left:1em;bottom:1em;right:1em;}div.monelem_component{}div.monelem_overlay{}div.monelem_billboard_container{background:#FFF;position:absolute;top:0;left:0;height:100%;width:100%;z-index:2000;-webkit-transform:scale(0);-moz-transform:scale(0);transform:scale(0);-webkit-transform-origin:-0 -0;-moz-transform-origin:-0 -0;transform-origin:-0 -0;}.monelem_billboard_inner{height:100%;width:100%;border:none;overflow:auto; }div.monelem_billboard_inner{min-width:100%;min-height:100%;text-align:center;vertical-align:middle;display:-webkit-box;-webkit-box-pack:center;-webkit-box-align:center;}div.monelem_billboard_close{position:absolute;top:0;right:0;width:50px;height:30px;color:white;background:#C00;cursor:pointer;border-bottom-left-radius:4px;text-shadow:1px 1px 1px #900;font:9pt Helvetica Neue,Helvetica,sans-serif;}div.monelem_billboard_close:after{display:block;content:'Close';width:100%;line-height:30px;text-align:center;}div.monelem_book_fatality{font-family:Helvetica Neue,Helvetica,sans-serif;margin:0 auto;max-width:75%;}div.monelem_book_fatality p{line-height:1.4;}.monelem_panels_imode_panel{background:rgba(255,255,255,0.7);opacity:0;}.monelem_panels_imode_backwardsPanel{-webkit-box-shadow:1px 1px 3px #777;-moz-box-shadow:1px 1px 3px #777;box-shadow:1px 1px 3px #777;}.monelem_panels_imode_forwardsPanel{-webkit-box-shadow:-1px 1px 3px #777;-moz-box-shadow:-1px 1px 3px #777;box-shadow:-1px 1px 3px #777;}.monelem_panels_imode_centralPanel{}.monelem_panels_imode_toggleIcon{position:absolute;right:0;bottom:0;width:50px;height:50px;background-repeat:no-repeat;background-position:center center;}div.monelem_controls_panel_expanded{left:0 !important;width:100% !important;z-index:1001 !important;}div.monelem_flippers_slider_wait{position:absolute;right:0px;top:0px;width:92px;height:112px;background-repeat:no-repeat;-webkit-background-size:100%;-moz-background-size:100%;background-size:100%;background-image:-webkit-linear-gradient(22deg,transparent 66%,rgba(0,0,0,0.04) 69%,rgba(0,0,0,0.09) 78%,rgba(0,0,0,0.06) 80%,transparent 87%);background-image:-moz-linear-gradient(22deg,transparent 66%,rgba(0,0,0,0.04) 69%,rgba(0,0,0,0.09) 78%,rgba(0,0,0,0.06) 80%,transparent 87%);background-image:linear-gradient(-292deg,transparent 66%,rgba(0,0,0,0.04) 69%,rgba(0,0,0,0.09) 78%,rgba(0,0,0,0.06) 80%,transparent 87%);-webkit-transition:opacity 100ms linear;-moz-transition:opacity 100ms linear;transition:opacity 100ms linear;}@media screen and (max-width:640px) {div.monelem_flippers_slider_wait{width:61px;height:75px;}}div.monelem_panels_imode_toggleIcon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAaCAYAAABPY4eKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1%2B%2FAAAABV0RVh0Q3JlYXRpb24gVGltZQAzMC82LzEwBMfmVwAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNXG14zYAAANYSURBVEiJtdZbiNVVFMfxj8cx85JkIGlqSESgOGA9WIQgGmTRUyRaYFJDnUWYGV2eyiCpkIbEKJI1UqYvUkmFDxFBgpghonajSDCM7hcxLSnt4ulh%2F2c4HufMTOH8Xs75%2F%2Ffa67v3%2Bu%2B91hphGJWZNUzCXJyKiHd6xxqNhhGDTB6NOViAyzARY3EaP%2BNL7MCBiPi9Ze4leBlTsR9jcCnuiYgDbeGZeV4F7EINe7EP3%2BJ49W4GrsZ8NPAGXouIk5k5F93YFhHPVT5H4kbcjaX1ev3kWfDMPB9P4ko8ERE7BopONWcOVmMc1uBRrG8Oc5Ptq1hdr9cPdrQMTMUWfBQRCweD9ioiPsQtmbkeu7G8P3ClsZSI98EzcxqeUsLXM1RwZs7ErRiJKXgQN2Tmzoj4qsV2Hn7BYcq369UaHIqI5yPizyGCx2MPfsRVOBoR6%2FA%2BNmXmqCbbm%2FAiMiJO9cEzcwEuwLODwMZk5oXVLYA6PouIF%2FC6cvBgI37D0mreStyJroh4r9df785XYGtEHG8Hfnjb1w08Xu2qq3regtOZuaka2whV5NZieWY%2BhkV4ICJ2N%2FusZeYMJQm8NdCuuxdPH4HENGzsXjx9REQcqRxvR2dEfNBrHxF7lHywGPXW7085cEvwZkScHAheaRz%2BwngcqyAnlEPan%2Fbh5oj4rr%2FBDlyOXUMA%2Fx%2F9oFytM5SZs3t6epbWlOtxeJjg%2BzEmMye3vF%2BCYx2YhdFnTTs3OoQT2JqZ3TiC2zETyzrwrnIwhkMTqwVsxW24GLsiYmWj0dCBo2gNy7nSRfgpIjZjM6WU1ut1lHt%2BGLOHCd6J79sN1pSkMSUzJwwD%2FBoD5I9aRHyiFIVFQ3D2j1KR%2Fh7MMDPnY1JE7GwLr3434N5BnI3GFRiFzuai0Ub34aWBDGr0pcKPM%2FPpqovpT11KoVinNAvXt1lkLTNXKFesXU1HUz3HI0plWqW0QGcoIjYoERpMy7AS17b2da06o43KzLF4RanRzwwx3%2FfOHYW7lL5ubUR83p9do9Ho%2B99fDzcZDynfdxPejog%2FBoCOxHW4AxOwKiK%2BaGc%2FILzJ6ULcXznciwM4qFSzCUob3Km0UCeU3W5v5%2B8%2FwZsWMQvzlN1Nq8C%2F4ht8qkRm72B%2B%2BoP%2FC0sEOftJmUbfAAAAAElFTkSuQmCC);}code[class*="language-"],pre[class*="language-"]{color:black;font-family:Consolas,Monaco,'Andale Mono',monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;}pre[class*="language-"]{position:relative;margin:.5em 0;-webkit-box-shadow:-1px 0px 0px 0px #358ccb,0px 0px 0px 1px #dfdfdf;-moz-box-shadow:-1px 0px 0px 0px #358ccb,0px 0px 0px 1px #dfdfdf;box-shadow:-1px 0px 0px 0px #358ccb,0px 0px 0px 1px #dfdfdf;border-left:10px solid #358ccb;background-color:#fdfdfd;background-image:-webkit-linear-gradient(transparent 50%,rgba(69,142,209,0.04) 50%);background-image:-moz-linear-gradient(transparent 50%,rgba(69,142,209,0.04) 50%);background-image:-ms-linear-gradient(transparent 50%,rgba(69,142,209,0.04) 50%);background-image:-o-linear-gradient(transparent 50%,rgba(69,142,209,0.04) 50%);background-image:linear-gradient(transparent 50%,rgba(69,142,209,0.04) 50%);background-size:3em 3em;background-origin:content-box;overflow:visible;max-height:30em;}code[class*="language"]{max-height:inherit;height:100%;padding:0 1em;display:block;overflow:auto;}:not(pre) > code[class*="language-"],pre[class*="language-"]{background-color:#fdfdfd;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:1em;}:not(pre) > code[class*="language-"]{position:relative;padding:.2em;-webkit-border-radius:0.3em;-moz-border-radius:0.3em;-ms-border-radius:0.3em;-o-border-radius:0.3em;border-radius:0.3em;color:#c92c2c;border:1px solid rgba(0,0,0,0.1);}pre[class*="language-"]:before,pre[class*="language-"]:after{content:'';z-index:-2;display:block;position:absolute;bottom:0.75em;left:0.18em;width:40%;height:20%;-webkit-box-shadow:0px 13px 8px #979797;-moz-box-shadow:0px 13px 8px #979797;box-shadow:0px 13px 8px #979797;-webkit-transform:rotate(-2deg);-moz-transform:rotate(-2deg);-ms-transform:rotate(-2deg);-o-transform:rotate(-2deg);transform:rotate(-2deg);}:not(pre) > code[class*="language-"]:after,pre[class*="language-"]:after{right:0.75em;left:auto;-webkit-transform:rotate(2deg);-moz-transform:rotate(2deg);-ms-transform:rotate(2deg);-o-transform:rotate(2deg);transform:rotate(2deg);}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#7D8B99;}.token.punctuation{color:#5F6364;}.token.property,.token.tag,.token.boolean,.token.number,.token.function-name,.token.constant,.token.symbol{color:#c92c2c;}.token.selector,.token.attr-name,.token.string,.token.char,.token.function,.token.builtin{color:#2f9c0a;}.token.operator,.token.entity,.token.url,.token.variable{color:#a67f59;background:rgba(255,255,255,0.5);}.token.atrule,.token.attr-value,.token.keyword,.token.class-name{color:#1990b8;}.token.regex,.token.important{color:#e90;}.language-css .token.string,.style .token.string{color:#a67f59;background:rgba(255,255,255,0.5);}.token.important{font-weight:normal;}.token.entity{cursor:help;}.namespace{opacity:.7;}@media screen and (max-width:767px) {pre[class*="language-"]:before,pre[class*="language-"]:after{bottom:14px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}}.token.tab:not(:empty):before,.token.cr:before,.token.lf:before{color:#e0d7d1;}pre[class*="language-"].line-numbers{padding-left:0;}pre[class*="language-"].line-numbers code{padding-left:3.8em;}pre[class*="language-"].line-numbers .line-numbers-rows{left:0;}pre.line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber;}pre.line-numbers > code{position:relative;}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;	letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.line-numbers-rows > span{pointer-events:none;display:block;counter-increment:linenumber;}.line-numbers-rows > span:before{content:counter(linenumber);color:#999;display:block;padding-right:0.8em;text-align:right;}.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;zoom:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:300px;}.chosen-container *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;width:100%;border:1px solid #aaa;border-top:0;background:#fff;}.chosen-container.chosen-with-drop .chosen-drop{left:0;}.chosen-container a{cursor:pointer;}.chosen-container .search-choice .group-name,.chosen-container .chosen-single .group-name{margin-right:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:normal;color:#999999;}.chosen-container .search-choice .group-name:after,.chosen-container .chosen-single .group-name:after{content:":";padding-left:2px;vertical-align:top;}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:25px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:-webkit-gradient(linear,50% 0%,50% 100%,color-stop(20%,#ffffff),color-stop(50%,#f6f6f6),color-stop(52%,#eeeeee),color-stop(100%,#f4f4f4));background:-webkit-linear-gradient(top,#ffffff 20%,#f6f6f6 50%,#eeeeee 52%,#f4f4f4 100%);background:-moz-linear-gradient(top,#ffffff 20%,#f6f6f6 50%,#eeeeee 52%,#f4f4f4 100%);background:-o-linear-gradient(top,#ffffff 20%,#f6f6f6 50%,#eeeeee 52%,#f4f4f4 100%);background:linear-gradient(top,#ffffff 20%,#f6f6f6 50%,#eeeeee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px white inset,0 1px 1px rgba(0,0,0,0.1);color:#444;text-decoration:none;white-space:nowrap;line-height:24px;}.chosen-container-single .chosen-default{color:#999;}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap;}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px;}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;font-size:1px;}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%;}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap;}.chosen-container-single .chosen-search input[type="text"]{margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0;}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box;}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px;}.chosen-container .chosen-results{color:#444;position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch;}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;background:none;line-height:15px;word-wrap:break-word;-webkit-touch-callout:none;}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer;}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default;}.chosen-container .chosen-results li.highlighted{background-color:#6AA3E6;color:#fff;}.chosen-container .chosen-results li.no-results{color:#777;display:list-item;background:#f4f4f4;}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:bold;cursor:default;}.chosen-container .chosen-results li.group-option{padding-left:15px;}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline;}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;margin:0;padding:0 5px;width:100%;height:auto !important;height:1%;border:1px solid #aaa;background-color:#fff;background-image:-webkit-gradient(linear,50% 0%,50% 100%,color-stop(1%,#eeeeee),color-stop(15%,#ffffff));background-image:-webkit-linear-gradient(#eeeeee 1%,#ffffff 15%);background-image:-moz-linear-gradient(#eeeeee 1%,#ffffff 15%);background-image:-o-linear-gradient(#eeeeee 1%,#ffffff 15%);background-image:linear-gradient(#eeeeee 1%,#ffffff 15%);cursor:text;}.chosen-container-multi .chosen-choices li{float:left;list-style:none;}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap;background:none;}.chosen-container-multi .chosen-choices li.search-field input[type="text"]{margin:1px 0;padding:0;height:25px;outline:0;border:0 !important;background:transparent !important;box-shadow:none;color:#999;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0;}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 5px 3px 0;padding:3px 20px 3px 5px;border:1px solid #aaa;max-width:100%;border-radius:3px;background-color:#eeeeee;background-image:-webkit-gradient(linear,50% 0%,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eeeeee));background-image:-webkit-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eeeeee 100%);background-image:-moz-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eeeeee 100%);background-image:-o-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eeeeee 100%);background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eeeeee 100%);background-size:100% 19px;background-repeat:repeat-x;background-clip:padding-box;  color:#333;line-height:13px;cursor:default;}.chosen-container-multi .chosen-choices li.search-choice span{word-wrap:break-word;}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:-2px;right:-3px;display:block;width:24px;height:24px;background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png);background-position:-2082px 0px;font-size:1px;-ms-transform:scale(0.5,0.5);-webkit-transform:scale(0.5,0.5);transform:scale(0.5,0.5);}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0%,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eeeeee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eeeeee 100%);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eeeeee 100%);background-image:-o-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eeeeee 100%);background-image:linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eeeeee 100%);color:#666;}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4;}.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close{background-position:-42px -10px;}.chosen-container-multi .chosen-results{margin:0;padding:0;}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default;}.chosen-container-active .chosen-single{border:1px solid #5897fb;}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;background-image:-webkit-gradient(linear,50% 0%,50% 100%,color-stop(20%,#eeeeee),color-stop(80%,#ffffff));background-image:-webkit-linear-gradient(#eeeeee 20%,#ffffff 80%);background-image:-moz-linear-gradient(#eeeeee 20%,#ffffff 80%);background-image:-o-linear-gradient(#eeeeee 20%,#ffffff 80%);background-image:linear-gradient(#eeeeee 20%,#ffffff 80%);box-shadow:0 1px 0 #fff inset;}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:none;background:transparent;}.chosen-container-active.chosen-with-drop .chosen-single div b{background-position:-18px 2px;}.chosen-container-active .chosen-choices{border:1px solid #5897fb;}.chosen-container-active .chosen-choices li.search-field input[type="text"]{color:#222 !important;}.chosen-disabled{opacity:0.5 !important;cursor:default;}.chosen-disabled .chosen-single{cursor:default;}.chosen-disabled .chosen-choices .search-choice .search-choice-close{cursor:default;}.chosen-rtl{text-align:right;}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0;}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl;}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px;}.chosen-rtl .chosen-single div{right:auto;left:3px;}.chosen-rtl .chosen-single abbr{right:auto;left:26px;}.chosen-rtl .chosen-choices li{float:right;}.chosen-rtl .chosen-choices li.search-field input[type="text"]{direction:rtl;}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px;}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px;}.chosen-rtl.chosen-container-single-nosearch .chosen-search,.chosen-rtl .chosen-drop{left:9999px;}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0;}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0;}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:none;}.chosen-rtl .chosen-search input[type="text"]{padding:4px 5px 4px 20px;direction:rtl;}.chosen-rtl.chosen-container-single .chosen-single div b{background-position:6px 2px;}.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b{background-position:-12px 2px;}		body{font:62.5%/1.618 sans-serif;}body#ppv4{background-color:#2A2F33;}body,h1,h2,h3,h4,h5,h6,input,button,td,th{font-family:"Ubuntu",sans-serif;}a,a:active,a:hover,a:visited{text-decoration:none;color:#548ED7;cursor:pointer;}strong{font-weight:500;font-size:1.1em;}		div.messages{border:1px solid #adb4bc;padding:0.5em 1em;}		#content .tabs{margin:1em 0em;}#content .tabs li{float:left;list-style-type:none;margin-right:1em;padding:0.5em 2em;border:1px solid #AAA;}#content .tabs li.active{background-color:#ccc;}		#page{margin:0 auto;width:100%;background-color:#E5EAEE;font-size:1.4em;min-width:1040px;overflow:hidden;}div.section-outer.white{background-color:white;}div.section{margin:0 auto;width:1278px;}div.section.vpadding,div.section-outer.vpadding{padding:2em 0em;}div.section.white{background-color:white;}div.section-inner{margin:0 auto;width:1000px;padding-left:20px;padding-right:20px;}#content .node p,#content .node ul li{font-weight:100;}		input{border:0px;height:35px;font-size:1.1em;padding:0em 1em;}textarea{border:0px;}input::-ms-clear,textarea::-ms-clear{display:none;}input[type=button],input[type=submit],input.button,input.form-submit,button,div.fake-button{color:white;font-size:0.9em;background-color:#5594DB;padding:0em 2.5em;margin:10px 0em;cursor:pointer;-webkit-appearance:none;-webkit-border-radius:0px;}a.ib div.fake-button{display:block;float:left;}div.fake-button{margin-left:0px;display:inline-block;margin-right:10px;padding:0em 2.5em;font-size:0.9em;}div.fake-button.large{font-size:1.15em;font-weight:500;padding:0px;margin-right:5px;margin-top:2px;height:35px;line-height:35px;text-align:center;}input.teal,div.fake-button.teal{background-color:#4BA8AF;}input[type=text],input[type=password],input.text{color:#8C8C8C;padding:0em 1em;}input.form-radio{height:auto;}a.button-link{display:inline-block;color:white;font-size:0.9em;background-color:#548ED7;padding:0em 2.5em;line-height:35px;margin-right:1em;}a.button-link.grey{background-color:#ADB4BC;}a.button-link.fill{width:100%;padding:0em;text-align:center;}.form-item{margin:10px 0;}.selectBox-dropdown{background:#FEFEFE;border:0px;border-radius:0px;height:35px;font-size:1.1em;color:#8C8C8C;padding:0em 1em;width:55%;}.selectBox-dropdown:hover{color:inherit;background:#FAFAFA;}.selectBox-dropdown .selectBox-label{padding:0px;line-height:35px;}.selectBox-arrow{display:none;background:none;}.selectBox-dropdown-menu{box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;border:0px;color:inherit;background-color:#EFF3F6;}.selectBox-options li{background-image:none;padding-left:0;font-size:1.2em;}.selectBox-options li a{color:#8C8C8C;font-size:1.2em;padding-left:1em;}		.cf:before,.cf:after{content:" ";display:table;}.cf:after{clear:both;}.cf{*zoom:1;}		.float-left{float:left;}.float-right{float:right;}.float-middle{margin:0 auto;}.hidden{display:none;}		#comments{display:none;}.panel-pane .admin-links{right:0px;position:relative;background:#BBB;display:none;padding:3px;border:1px solid gray;float:right;position:relative;margin-bottom:-30px;height:22px;z-index:10;margin-right:10px;}.panel-pane:hover .admin-links{display:inline-block;}		#page-header{position:relative;	border-bottom:1px solid #C5C9CA;}#content-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:black;opacity:0.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";z-index:9;display:none;}#account-bar{background-color:#373C40;width:100%;color:white;position:relative;z-index:11;}#account-bar p{color:#8293A3;}#account-bar a.title{color:white;}#account-bar-status{float:right;height:32px;font-weight:400;line-height:30px;color:white;}#account-bar-status a{color:white;}#account-bar-status-security{background-image:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png);background-position:-195px 0px;background-repeat:no-repeat;width:20px;height:20px;margin:5px 5px 5px 0px;float:left;}#account-bar-login-register{display:none;float:left;}#account-bar-logged-in{display:none;float:left;}#account-bar-form{margin:25px 0px;}#account-bar-form,#account-bar-form-register{display:none;}#account-bar-form-close{font-weight:bold;float:right;}#account-bar-form-close a,#account-bar-login-register a{color:white;}.account-bar-form-left{width:66%;float:left;border-right:1px solid #4B5054;box-sizing:border-box;-moz-box-sizing:border-box;}.account-bar-form-right{width:32%;float:left;margin-left:1%;}#account-bar-currency-selector{float:left;}.account-bar-divider{margin:0px 8px;}#account-bar-currency-selector-arrow{float:left;margin-right:20px;color:#959698;font-size:0.6em;cursor:pointer;cursor:hand;}#account-bar-currency-selector .selectBox-dropdown{background-color:#373C40;height:31px;width:65px !important;padding-left:13px !important;min-width:inherit;font-family:Ubuntu,sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;padding:0;}#account-bar-currency-selector .selectBox-dropdown .selectBox-label{line-height:29px;}#account-bar-currency-selector .selectBox-dropdown .selectBox-arrow{line-height:29px;}#account-bar-currency-selector a.packt-currency-select-box{-webkit-box-shadow:none;box-shadow:none;height:30px;}ul.packt-currency-select-box-selectBox-dropdown-menu{background-color:#373C40;width:70px !important;}ul.packt-currency-select-box-selectBox-dropdown-menu li a{color:white;}ul.packt-currency-select-box-selectBox-dropdown-menu li.selectBox-selected a{background-color:#959698;}ul.packt-currency-select-box-selectBox-dropdown-menu li.selectBox-hover a{background-color:#DE703C;}#account-bar-currency-selector .selectBox-dropdown .selectBox-label{width:inherit !important;}#account-bar-currency-selector .form-item{margin:0;}#login-form-email,#login-form-pass,#login-form-submit{float:left;}#login-form-submit{margin-left:5px;}#login-form-email input{width:211px;}#login-form-pass input{margin-left:2px;}.price{color:#5893D7;}.disc{color:#459517;margin-top:30px;}.disc-price{color:#459517;font-weight:500;}.alt{display:none;}#footer{background-color:#333A40;padding-top:40px;padding-bottom:30px;}#footer-bottom{background-color:#2A2F33;}.footer-section-inner{width:100%;position:relative;}.footer-section-inner .form-item{}#footer h2{font-size:1.2em;color:white;}#footer p{color:#A2A3A5;font-size:13px;}.middle-footer-block p,.middle-footer-block h2{padding:0px 35px 0px 35px;}#footer p.tel{color:white;font-size:1.2em;font-weight:bold;}.footer-bottom-block{float:left;height:100%;width:25%;text-align:center;line-height:7em;color:#A2A3A5;}.footer-bottom-block-left{margin-top:2em;line-height:1.65em;text-align:left;}.footer-inner-bottom-wrapper,#footer-main-wrapper{position:relative;margin:0 auto;}.footer-main-block{width:33.33%;float:left;}#footer input[type=text]{width:64%;float:left;border:none;background-color:#5A5F65;line-height:28px;color:white;}#footer input[type=button],#footer input[type=submit]{width:20%;float:left;margin:0px;padding:0px;margin-left:20px;border:none;background-color:#548ED7;height:35px;color:white;font-weight:bold;}#footer-bottom .footer-bottom-block a.footer-social{background:url("https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png") no-repeat transparent;height:41px;width:45px;float:right;display:block;margin-top:28px;}#footer-bottom .footer-bottom-block a.footer-social.linkedin{background-position:0px 0px;}#footer-bottom .footer-bottom-block a.footer-social.twitter{background-position:-47px 0px;}#footer-bottom .footer-bottom-block a.footer-social.facebook{background-position:-94px 0px;}#footer-bottom .footer-bottom-block a.footer-social.gplus{background-position:-141px 0px;}#footer-bottom .footer-bottom-block a.footer-social.youtube{background-position:-2504px 0px;}#footer-bottom .footer-bottom-block.footer-contact-us{display:none;}div.loading-spinner-container{position:fixed;top:150px;width:100px;height:100px;background-color:white;right:-105px;border-top-left-radius:10px;border-bottom-left-radius:10px;border-color:#AAA;border-width:1px;border-style:solid;border-right:0px;z-index:10;}div.loading-spinner{border:12px solid rgba(255,135,0,.3);border-top:12px solid rgba(255,135,0,1);-webkit-border-radius:100%;border-radius:100%;height:50px;width:50px;animation:rot .6s infinite linear;-webkit-animation:rot .6s infinite linear;position:relative;margin-left:14px;margin-top:14px;}@keyframes rot{from{transform:rotate(0deg);}to{transform:rotate(359deg);}}@-webkit-keyframes rot{from{-webkit-transform:rotate(0deg);}to{-webkit-transform:rotate(359deg);}}#title-bar{padding:10px 0px;background-image:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/default/files/bookretailers/slideshow-bg_5.png);margin:0px 0px 20px;color:white;border-bottom:2px solid #E12756;min-height:125px;background:#3F4D57;}#title-bar.title-bar-orange{background-color:#E7692C;}#title-bar.title-bar-red{background-color:#D92238;}#title-bar-title h1{font-size:2.9em;font-weight:500;text-transform:uppercase;margin-top:20px;}#title-bar-title{width:100%;float:left;}#title-bar-right{display:none;width:70%;margin-top:1em;}#title-bar-breadcrumb{font-size:0.9em;}#title-bar a{color:white;font-weight:300;}#title-bar a.active{font-weight:400;}#main-carousel{overflow:hidden;position:relative;margin:0 auto;}#main-carousel .slides{width:100%;position:relative;display:block;overflow:hidden;height:340px;}#main-carousel .slide{width:100%;height:340px;float:left;display:none;position:absolute;}#main-carousel .slide-controls{width:100%;background-color:white;}#main-carousel .control{width:auto;float:left;position:relative;background-color:white;box-sizing:border-box;-moz-box-sizing:border-box;cursor:pointer;}#main-carousel .control-content-container{border-right:1px #CDD2D8 solid;margin:10px 0 10px 0;text-align:center;}#main-carousel .control-content-container img{margin-right:10px;}#main-carousel .control.last-control{border:none;}#main-carousel .last-control .control-content-container{border:0;}#main-carousel .control.active:before{background-color:white;content:"\00a0";display:block;height:14px;width:14px;position:absolute;left:50%;top:-7px;transform:rotate(47deg) skew(5deg);-moz-transform:rotate(47deg) skew(5deg);-ms-transform:rotate(47deg) skew(5deg);-o-transform:rotate(47deg) skew(5deg);-webkit-transform:rotate(47deg) skew(5deg);}#main-carousel .slide.active-slide{display:block;}#main-carousel .slide-controls .non-active-tab-icon,#main-carousel .slide-controls .tab-icon-hover{display:none;}#main-carousel .slide-controls .active-tab-icon{display:inline;}#main-carousel .control-content-container img,.control-content-container span{vertical-align:middle;}#main-carousel .control span{font-size:1.15em;font-weight:300;color:#546575;}#main-carousel .control.active span{color:black;font-weight:400;}#main-carousel .half-slide{width:50%;float:left;height:100%;}#main-carousel .slide-title{padding-top:70px;margin:0 auto;text-align:left;color:white;font-size:3.5em;font-weight:bold;padding-bottom:20px;}#main-carousel .slide-body{text-align:left;margin:0 auto;color:white;font-weight:normal;font-size:1.2em;}#main-carousel .slides .section-inner{height:340px;}#main-carousel .section{}#featured-blurb{float:left;margin-right:20px;width:320px;}#featured-blurb h1{color:black;font-size:2.3em;margin-bottom:30px;}#featured-blurb div{color:black;}.panel-pane{padding-bottom:50px;clear:both;}.panel-pane.odd{background-color:#f0f4f7;}#featured-books-inner{position:relative;z-index:1;}.book-block-outer{float:left;position:relative;z-index:1;}.book-block,.title-block{float:left;width:150px;margin-right:20px;background-color:white;position:relative;margin-bottom:40px;height:283px;}.title-block{background-color:transparent;}.title-block-2{width:320px;}.title-block-3{width:490px;}.book-block.dummy{background-color:#D6DEE1;}.book-block.dummy .inner{border:1px dashed gray;margin:10px;height:260px;}.book-block.dummy .inner .dummy-add{width:42px;height:42px;background-image:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png);background-position:-2165px 0px;background-repeat:no-repeat;margin-top:106px;margin-left:42px;}.book-block:hover .book-block-overlay{display:block;}.book-block:before,.book-block:after{bottom:15px;left:5px;width:50%;height:20%;max-width:300px;max-height:100px;-webkit-box-shadow:0 15px 10px rgba(0,0,0,0.5);-moz-box-shadow:0 15px 10px rgba(0,0,0,0.5);box-shadow:0 15px 10px rgba(0,0,0,0.5);-webkit-transform:skew(-15deg) rotate(-6deg);-moz-transform:skew(-15deg) rotate(-6deg);-ms-transform:skew(-15deg) rotate(-6deg);-o-transform:skew(-15deg) rotate(-6deg);transform:skew(-15deg) rotate(-6deg);content:"";position:absolute;z-index:-2;}.book-block:after{right:5px;left:auto;-webkit-transform:skew(15deg) rotate(6deg);-moz-transform:skew(15deg) rotate(6deg);-ms-transform:skew(15deg) rotate(6deg);-o-transform:skew(15deg) rotate(6deg);transform:skew(15deg) rotate(6deg);}.book-block-shadow{position:relative;height:10px;}.book-block-title,.book-block-author,.book-block-price{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;-moz-box-sizing:border-box;padding:0px 10px;}.book-block-title{font-weight:400;font-size:1em;color:black;height:4em;text-overflow:initial;white-space:normal;line-height:1.3em;}.book-block-author{opacity:0.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";}.book-block-price{position:relative;bottom:5px;margin-top:5px;font-size:1.4em;color:#FF6B01;}.book-block-price.owned{color:#AEB6B9;font-size:1.2em;}.book-block-overlay{position:absolute;top:0px;left:0px;width:150px;height:100%;background-color:#E7692C;opacity:0.95;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=95)";display:none;box-sizing:border-box;-moz-box-sizing:border-box;}.book-block-one-liner{height:40%;padding:10px;overflow:hidden;font-size:1.1em;color:white;}.book-block-one-liner.ellipsis:after{content:"\02026 More";top:97px;width:5em;margin-left:-5em;background:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,0)),to(#E7692C),color-stop(15%,#E7692C));background:-moz-linear-gradient(to right,rgba(255,255,255,0),#E7692C 15%,#E7692C);background:-o-linear-gradient(to right,rgba(255,255,255,0),#E7692C 15%,#E7692C);background:-ms-linear-gradient(to right,rgba(255,255,255,0),#E7692C 15%,#E7692C);background:linear-gradient(to right,rgba(255,255,255,0),#E7692D 15%,#E7692C);}.book-block-star-rating{height:10%;padding:10px;}.book-block-buttons{height:40%;padding:10px;}.book-block-buttons.star-book{height:auto;cursor:pointer;}.book-block-collection,.book-block-buy{width:100%;margin:0 auto;height:35px;margin-bottom:10px;padding:0px;cursor:pointer;}.book-block-collection{background:transparent;border:1px solid white;}.book-block-buy{background-color:#548ED7;color:white;border:0px;font-size:1.1em;}.book-block-buy.owned{font-size:1em;}.book-block-star{height:20px;width:16px;margin-right:4px;float:left;}.book-block-outer .book-block-star{background-position:-472px 0px;}.book-block-icon-books,.book-block-icon-videos,.book-block-icon-alpha,.book-block-icon-course{width:24px;height:22px;position:absolute;top:0px;right:0px;background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;}.book-block-icon-videos{background-position:-488px 0px;height:21px;}.book-block-icon-books{height:24px;background-position:-488px -22px;}.book-block-icon-alpha{height:24px;background-position:-3391px 0px;}.book-block-icon-course{height:24px;background-position:-488px -45px;}.book-block-replacement-image{position:relative;width:100%;height:185px;background-color:white;}.book-block-outer img.bookimage{width:100%;}*:focus{outline:0;}#menu-bar{background-color:white;z-index:10;position:relative;}#menu-links,#menu-icons{line-height:45px;margin:8px auto 0px;}#menu-links{width:800px;float:left;}#menu-icons{width:200px;float:right;}#menu-links .menu-item-tab{float:left;margin-right:23px;text-transform:uppercase;font-size:1.15em;}#menu-links .menu-item-tab.pl-tab{border-top-left-radius:10px;border-top-right-radius:10px;}#menu-links .menu-item-tab.pl-tab:hover{background-color:#F0F4F7;}img#pl-img{width:100px;padding-top:11px;}.menu-text.mob-pl{display:none;}.menu-item-text-pl{padding:0.5em 1em 0.75em;height:45px;}#menu-icons .menu-item-tab.last{margin-right:0px;}#menu-links .menu-item-tab .menu-text,#books-menu a:link,#books-menu a:visited,.packt-menu a:link,.packt-menu a:visited,.menu-bar-section-left-inner-alls a:link,.menu-bar-section-left-inner-alls a:visited,.menu-bar-popup-title a:link,.menu-bar-popup-title a:visited{color:black;}#books-menu a:hover,.packt-menu a:hover,.menu-bar-popup-title a:hover,.menu-bar-section-left-inner-alls a:hover{color:#548ED7;}#books-menu .books-menu-column.categories:not(.last),#menu-tech-popup .books-menu-column.categories:not(.last) {border-right:1px solid #DCE1E5;}#books-menu .books-menu-column.categories.last .inner{padding-left:25px;}#books-menu .books-menu-column.categories p.last,#menu-tech-popup .books-menu-column.categories p.last{margin-bottom:0px;}#books-menu .books-menu-column:first-child + .books-menu-column .inner,#menu-tech-popup .books-menu-column:not(:first-child) .inner{margin-left:25px;}#books-menu .books-menu-column:first-child{width:38%;}#books-menu .books-menu-column.last{width:25%;}#menu-icons .menu-item-tab{float:left;margin-right:10px;text-transform:uppercase;font-size:1.2em;border:1px solid transparent;}#menu-bar .menu-item-tab.active{background-color:#f0f4f7;border-top-left-radius:10px;border-top-right-radius:10px;}#menu-bar #menu-packt-logo{background-image:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png);background-position:-218px 0px;width:105px;height:45px;margin:0.5em 0em 0em 0em;padding:0;}#menu-bar .menu-item-text{padding:0.5em 1em 0.75em;height:45px;}#menu-bar .menu-item-icon{margin:9px 7px;height:45px;width:40px;background-repeat:no-repeat;background-image:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png);}#menu-search{background-position:-326px 0px;}#menu-collection{background-position:-1201px 0px;}#menu-cart{background-position:-425px 0px;}#menu-icons a:nth-child(2) > div{border-right:1px #ECECEC solid;border-left:1px #ECECEC solid;}#menu-bar-popup,.menu-bar-popup-menu{width:100%;display:none;}.menu-bar-popup-menu.twocol{background:white;}.menu-bar-popup-menu.threecol{background:white;}.menu-bar-popup-menu.onecol{background:white;}#menu-bar-popup-inner{background-color:#f0f4f7;height:10px;position:relative;}#menu-bar-popup-inner-bottom{height:20px;background:white;}#menu-bar-popup{position:absolute;border-top:2px solid #cacbcf;z-index:10;background:white;}.menu-bar-popup-section-left{background:white;float:left;}.menu-bar-popup-section-right{background:#f0f4f7;float:left;}.menu-bar-popup-section-left.fourcol{width:80%;}.menu-bar-popup-section-left.threecol{width:60%;}.menu-bar-popup-section-right.threecol{width:40%;}.menu-bar-popup-section-left.twocol{width:40%;}.menu-bar-popup-section-right.twocol{width:60%;}.menu-bar-popup-section-left.onecol{width:30%;}.menu-bar-popup-section-right.onecol{width:70%;}.menu-bar-popup-section-left.even,.menu-bar-popup-section-right.even{width:50%;}.fourcol .books-menu-column{width:24%;float:left;}.threecol .books-menu-column{width:33%;float:left;}.twocol .books-menu-column{width:50%;float:left;}.onecol .books-menu-column{width:100%;float:left;}.menu-bar-popup-section-left-inner{margin:1em 1em 1em 0em;}.menu-bar-popup-section-right-inner{margin:1em;}.menu-bar-popup-title{font-weight:500;font-size:1.3em;}.books-menu-column p{margin-right:10px;}.books-menu-column.categories p{height:1.4em;}#menu-books-popup .menu-bar-popup-section-left{height:385px;}#menu-search-popup{background:white;}#menu-cart-popup .menu-bar-popup-section-left{min-height:194px;}#menu-cart-small .small-popup-outer{width:283px;height:54px;background-color:#F0F4F7;border-radius:0px 0px 10px 10px;-moz-border-radius:0px 0px 10px 10px;-webkit-border-radius:0px 0px 10px 10px;border:1px solid rgba(198,200,201,0.5);margin-top:-1px;margin-right:-1px;}.small-popup-tick{width:17%;background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;height:30px;background-position:-2962px -1px;}.small-popup-text{font-size:1em;}.small-popup-seperator{border-left:1px solid white;margin-left:12px;width:1px;height:30px;top:9px;position:relative;}.small-popup-arrows{width:11%;margin-top:0px;background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;background-position:-2931px 0px;margin-left:15px;height:30px;}.small-popup-tick,.small-popup-text,.small-popup-arrows{display:inline-block;margin-top:12px;}.small-popup-seperator{display:inline-block;margin-left:19px;}#menu-bar-article-preview-thumb{float:left;width:45%;}#menu-bar-article-preview-text{float:left;width:53%;}#menu-bar-article-one-liner{height:4.85em;overflow:hidden;}#menu-bar-dotd-preview-thumb{float:left;width:45%;position:relative;}.dotd-sup{font-size:0.5em;}.dotd-sub{display:inline-block;float:right;margin-right:7px;margin-top:-24px;font-size:0.4em;font-weight:300;}.menu-bar-dotd-percentage{position:absolute;top:-11px;right:5px;width:60px;height:60px;background-color:#5594DB;border-radius:100%;border:2px solid white;color:white;-webkit-box-shadow:3px 3px 14px 0px rgba(50,50,50,0.59);-moz-box-shadow:3px 3px 14px 0px rgba(50,50,50,0.59);box-shadow:3px 3px 14px 0px rgba(50,50,50,0.59);}.menu-bar-dotd-percentage-text{position:relative;font-size:2em;margin-left:7px;margin-top:8px;}.deal-of-the-day-in-header{width:100%;font-weight:300;padding-top:5px;}#menu-bar-dotd-preview-text{float:left;width:53%;}#packt-v3-subscribtion-dotd-form input[type=text]{width:200px;float:left;}#packt-v3-subscribtion-dotd-form input[type=submit]{font-size:1.1em;margin:0;}#menu-bar-search{padding:5px 0px;float:right;}#menu-bar-search .form-item,#menu-bar-search .form-button,#menu-bar-search .form-submit,#menu-bar-search input{margin:0em;line-height:2.25em;}#menu-bar-search-title{float:left;line-height:2em;font-size:1.5em;}#menu-bar-search-box{float:left;margin-top:4px;margin-left:15px;}#menu-bar-search-button{float:left;font-size:1.25em;margin-left:15px;margin-top:4px;}#menu-bar-search-box input{background-color:#f0f4f7;font-size:1.25em;width:400px;}#menu-bar-search-box #autocomplete{position:absolute;border-top:1px solid #DADADA;background-color:#F0F4F7;width:600px;margin:11px 0px 0px -63px;}#menu-bar-search-box #autocomplete-all-results{font-size:1.25em;padding:20px;text-align:center;background-color:white;}#menu-bar-search-box #autocomplete ul{padding:0px 20px;}.facet-search-cross.facet-search-cross-autocomplete{margin-top:20px;margin-right:-500px;}#autocomplete ul li{list-style-type:none;background-image:none;}#menu-bar-search-box .autocomplete-result-product-icon{display:inline-block;width:25px;margin-right:5px;margin-top:0.25em;height:1.75em;background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;background-position:-488px -22px;}#menu-bar-search-box .autocomplete-result-product-icon.videos{background-position:-488px 0px;}#menu-bar-search-box .autocomplete-result-product-icon.books{}#menu-bar-search-box .autocomplete-result-product-icon.videos{background-position:-488px -0px;height:1.5em;margin-bottom:-0.15em;}#menu-bar-search-box .autocomplete-result-product-title{display:inline-block;max-width:400px;height:1.75em;overflow:hidden;}#menu-bar-search-box .autocomplete-result-product-author{display:inline-block;font-size:0.8em;color:#999;}#autocomplete .autocomplete-no-result{text-align:center;}#cart-icon-count{display:none;background-color:#548ED7;color:white;font-size:0.75em;border-radius:20px;position:absolute;line-height:1.5em;padding:3px 8px;margin-left:20px;}#menu-bar-popup-cart-preview,#menu-bar-popup-cart-empty-preview{display:none;}#menu-bar-popup-cart-item-preview-image{float:left;margin-right:1em;}#menu-bar-popup-cart-item-preview-title,#menu-bar-popup-cart-item-preview-price,#menu-bar-popup-cart-item-preview-currency{font-size:1.1em;font-weight:500;}#menu-bar-popup-subtotal-value{margin-left:5px;}#menu-bar-popup-content{width:340px;}#checkout-close{float:right;width:17px;height:17px;cursor:pointer;background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;background-position:-1184px -9px;top:-175px;right:18px;position:relative;}.panel-packt-twocol{	width:100%;margin:0 auto;margin-top:40px;}.panel-panel-top-wrapper{width:1000px;margin:0 auto;}.panel-packt-twocol .panel-col-first{float:left;width:30%;}.panel-packt-twocol .panel-col-first .inside{margin:0 .5em 1em 0;}.panel-packt-twocol .panel-col-last{float:left;width:68%;margin-left:18px;}.panel-packt-twocol .panel-col-last .inside,.panel-packt-twocol .panel-col-bottom .inside{margin:0 0 1em .5em;}#panels-edit-display .panel-pane,#panels-edit-display .helperclass{margin:.5em;}.panel-packt-twocol .panel-separator{margin:0 0 1em 0;}.panel-packt-twocol .panel-col-last{position:relative;z-index:1;}.panel-packt-cat h2{font-size:2.2em;font-weight:100;margin-bottom:35px;}.packt-cat-form,.packt-cat-form form{width:100%;overflow:hidden;}.packt-cat-form{width:253px;position:relative;}.facet-placeholder-wrapper.cf{margin:5px 20px;}.facet-heading,.facet-main-heading{padding:10px;padding-left:20px;min-height:30px;font-size:1.2em;font-weight:bold;background-color:#F8F8F8;margin-bottom:10px;}.facet-main-heading{display:none;}.facet-heading.facing-top{border-top:1px solid #DDDDDD;}.facet-heading.facing-bottom{border-bottom:1px solid #DDDDDD;}::-webkit-input-placeholder{font-style:italic;opacity:0.6;}:-moz-placeholder{	font-style:italic;opacity:0.6;}::-moz-placeholder{	font-style:italic;opacity:0.6;}:-ms-input-placeholder{font-style:italic;opacity:0.6;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";}.facet-search-logo{float:right;height:30px;width:19px;background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;margin-top:-43px;margin-right:10px;background-position:-512px 7px;cursor:pointer;}#edit-type-list-books-wrapper::before{background-color:red;}.facet-radio-outer,.book-type-select-dot-outer{height:14px;width:14px;background-color:#C5CDD0;border-radius:100%;margin-left:20px;float:left;margin-right:10px;margin-top:4px;position:relative;cursor:pointer;}.facet-radio-outer.active-dot,.book-type-select-dot-outer.active-dot{background-color:#FF6A01;}.facet-radio-inner,.book-type-select-dot-inner{height:8px;width:8px;background-color:white;border-radius:100%;text-align:center;position:absolute;top:3px;left:3px;}.facet-radio-inner-active-dot,.book-type-select-dot-inner-active{position:absolute;text-align:center;height:4px;width:4px;background-color:#FF6A01;top:2px;left:2px;border-radius:100%;display:none;}.hidden-checkbox{display:none;}.facet-cat-text{float:left;width:75%;margin-bottom:15px;opacity:0.8;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";font-size:1.1em;cursor:pointer;}.facet-level-icon-level{background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;width:30px;height:30px;float:left;margin-right:7px;}.facet-level-icon-level-1{background-position:-2281px -2px;}.facet-level-icon-level-2{background-position:-2320px -2px;}.packt-cat-form-overlay{position:absolute;top:0px;left:0px;width:100%;height:100%;display:none;}.active-checkbox,.active-checkbox .facet-radio-inner-active-dot,.active-checkbox .book-type-select-dot-inner-active{background-color:#FF6A01!important;}.active-checkbox .facet-radio-inner-active-dot,.active-checkbox .book-type-select-dot-inner-active{display:block !important;}div.solr-pager{width:100%;margin:0em 0em 2.9em 0em;}div.solr-pager-page-selector,div.solr-pager-rows-selector{width:25%;float:left;margin-top:4px;}div.solr-pager-rows-selector{text-align:center;}div.solr-pager-sort-selector{float:right;}.solr-pager-sort-selector select{width:243px;}.packt-cat-top-articles,.packt-cat-bottom-articles{width:100%;}.packt-cat-top-articles{background-color:#E1E6EA;border-bottom:1px solid #CED2D5;border-top:1px solid #CED2D5;}.packt-cat-top-articles-inner,.packt-cat-bottom-articles-inner{margin:0 auto;padding-bottom:20px;padding-top:20px;margin-top:30px;}.packt-cat-top-articles-blurb,.packt-cat-bottom-articles-blurb{width:30%;float:left;padding-bottom:20px;}.packt-cat-top-articles-blurb h2,.packt-cat-top-articles-blurb p,.packt-cat-bottom-articles-blurb h2,.packt-cat-bottom-articles-blurb p{font-weight:300;}.packt-cat-top-articles-blurb p,.packt-cat-bottom-articles-blurb p{font-size:1.3em;}.packt-cat-top-articles-articles,.packt-cat-bottom-articles-articles{width:68%;float:left;padding-bottom:40px;margin-left:18px;}.packt-article-line-view{width:320px;background-color:white;padding-bottom:20px;margin-right:23px;margin-bottom:32px;}.row-last-article{margin:0px;}.packt-article-line-view p{color:#494949}#article-next-prev{width:100%;margin-bottom:20px;}#article-previous{width:50%;float:left;}#article-next{width:50%;float:right;text-align:right;}.packt-article-line-view-image{width:100%;height:165px;position:relative;}.packt-article-line-view-text{width:90%;height:70px;overflow:hidden;padding-left:20px;padding-top:14px;font-weight:300;}.packt-article-line-view-bg{position:absolute;color:white;font-size:1.3em;bottom:0px;width:100%;height:65px;background-color:black;opacity:0.3;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";}.packt-article-line-view-title{position:absolute;color:white;font-size:1.3em;bottom:0px;margin:0px 20px;font-weight:400;height:60px;overflow:hidden;}.packt-article-line-view-readmore{padding-left:20px;padding-top:10px;font-weight:300;}.star-books-collection{display:none;}.star-book-cart-button{margin:0 auto;margin-top:45px;margin-bottom:10px;background-color:#548ED7;color:white;border:0px;font-size:1.1em;width:100%;height:35px;padding:0px;cursor:pointer;}#packt-publishers-block{width:255px;margin-top:25px;}#packt-publishers-block h2,#archive-block h2{font-size:1.8em;}#archive-block{width:255px;margin-top:60px;}.hero-blocks{margin-top:43px;}.hero-blocks .hero-block{width:320px;height:284px;background-color:white;float:left;margin-right:20px;}.hero-blocks .hero-block.last{margin-right:0px;}.hero-block-body{margin:20px;}.hero-block h3{font-weight:700;font-size:2.25em;line-height:1em;margin-bottom:0.5em;}.hero-block a{color:#E7692C;}.hero-block.bg-d92238 .hero-block-body,.hero-block.bg-4ba8af .hero-block-body{color:white;}.hero-block.bg-ffffff .hero-block-body{color:black;}.page-books-info-packt-authors #title-bar,.page-books-info-packt-faq #title-bar,.page-books-info-packt-ordering #title-bar,.page-books-content-errata #title-bar,.page-books-content-support #title-bar{background:#6AA3E6;border-bottom:3px solid #5587C2;}.packt-publishers-block{}.packt-publishers-block li{background:none;margin:0 50px 0 0;padding:0.5em 0 0.5em 0;border-bottom:thin solid #CACFD2;}.packt-publishers-block li a{color:#494949;font-size:1.1em;}.packt-publishers-block li.no-border{border:none;}.page-collection div#title-bar{background:#4BA8AF;border-bottom:3px solid #388D92;}div.shelf{display:inline-block;}div.shelf-image{background:no-repeat url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-vertical.png');height:65px;position:relative;top:260px;}.page-collection .book-block-icon-books{bottom:-1px;top:inherit;}#collection-dummy-note{background-color:transparent;margin-top:25px;}#dummy-add-more{font-size:1.75em;font-weight:300;}#collection-add-more{width:250px;}#collection-dummy-arrow{width:65px;height:50px;background-image:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png);background-position:-2214px 6px;margin:10px;}.month-facet,.year-facet{cursor:pointer;}.selected-month,.selected-year{color:#7CB1F3;}.page-books-info-packt-about #title-bar,.page-books-info-packt-terms-and-conditions #title-bar,.page-books-info-packt-contact-us #title-bar{background:#6AA3E6;border-bottom:#5587C2 3px solid;}.page-books-info-packt-about em{color:#494949;font-style:italic;font-size:1.1em;}.page-books-info-packt-about h2.title{display:none;}.page-books-info-packt-about div.panel-panel.panel-col-last,.page-books-info-packt-about .node .content{margin:0px;}.page-books-info-packt-about h2.title{height:0px;}.page-books-info-packt-about #main-container p{font-size:1.15em;font-weight:100px;}.page-books-info-packt-terms-and-conditions .panel-packt-cat .panel-col-last{margin-top:0px;}.page-books-info-packt-ordering .panel-packt-cat .panel-col-last{margin-top:0px;}#left-side-menu{width:255px}div.left-menu-item{padding:8px 0px;font-size:1.15em;border-color:#CACFD2;}#left-side-menu.menu-help-and-support h1,#left-side-menu.menu-packt-publishers h1,#left-side-menu.menu-blog h1,#left-side-menu.menu-techprimers h1{font-weight:100;margin-bottom:35px;}#account-page #left-side-menu{float:left;width:316px;}#account-page #left-side-menu-inner{padding-top:30px;padding-right:30px;}form.logout-left-menu{margin-top:40px;}div.faq-item-question,div.faq-item-answer{width:100%;}.faq-item-inner-question,.faq-item-inner-answer{background:#FFFFFF;padding:20px;}.faq-item-inner-answer{display:none;}div.faq-item{margin-bottom:10px;}div.faq-item-question{font-size:1.4em;font-weight:100;display:inline-block;margin-bottom:-6px;}.toggle-faq-answer,.toggle-newsletter{cursor:pointer;}.toggle-faq-answer-sign,.toggle-newsletter-sign{color:white;background:#6AA3E6;padding:8px;line-height:12px;}.page-books-info-packt-faq h4{margin-bottom:25px;margin-top:40px;}.page-books-info-packt-faq .panel-packt-cat .panel-col-last{margin-top:0px;}.page-books-info-packt-faq #main-container p{font-size:1.15em;font-weight:100;}.page-books-content-errata label{display:block;}.page-books-content-errata .form-item{display:inline-block;}#edit-submitted-books-wrapper label{float:none;}.page-books-content-errata .panel-col-last{margin-top:0px;}.page-books-content-errata textarea{width:524px;border:none;}.page-books-content-errata div#edit-submitted-your-name-wrapper{margin-top:0;}.page-books-content-errata .content.clearfix{margin-top:0;}fieldset.captcha{margin:0;padding:0;border:none;background:none;width:50%;}fieldset.captcha legend{display:none;}fieldset.captcha .description{font-size:1em;color:black;}.page-books-content-errata  .css-captcha{margin-left:50px;}[class*=page-books-content-support] .panel-packt-cat{display:inline-block;}[class*=page-books-content-support] .panel-col-last{margin-top:0;}.support-book-info{display:inline-block;}.support-book-info-text{width:460px;padding-left:20px;}[class*=page-books-content-support] label{width:150px;float:left;}[class*=page-books-content-support] h2{margin-top:30px;}#packt-v3-download-search-form #autocomplete{position:absolute;padding:0px 20px 0px;background-color:white;width:402px;left:32px;}#code-download-origin-select-container{margin:10px 0;}#code-download-origin-select{width:60%;}.ellipsis{overflow:hidden;position:relative;}.ellipsis p{line-height:21px;}.ellipsis:before{content:"";float:left;width:5px;}.ellipsis > *:first-child{float:right;width:100%;margin-left:-5px;}.ellipsis:after{content:"\02026 Read More";box-sizing:content-box;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;float:right;position:relative;top:50px;left:100%;width:7em;margin-left:-7em;padding-right:5px;text-align:right;background:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,0)),to(white),color-stop(15%,white));background:-moz-linear-gradient(to right,rgba(255,255,255,0),white 15%,white);background:-o-linear-gradient(to right,rgba(255,255,255,0),white 15%,white);background:-ms-linear-gradient(to right,rgba(255,255,255,0),white 15%,white);background:linear-gradient(to right,rgba(255,255,255,0),white 15%,white);}.ellipsis a{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;text-indent:-9999px;z-index:999;}.ellipsis i:before{content:"Read More";}#prev,#next{position:absolute;width:170px;height:800px;top:0!important;cursor:pointer;}#next{right:0!important;}#prev{left:0!important;}#reading-wrapper{width:1000px;position:relative;height:800px;}#prev .page-nav{background-position:-1467px 0px;}#next .page-nav{background-position:-1452px 0px;}.page-nav{height:27px;width:14px;background:no-repeat url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png');display:block;margin:0;padding:0;position:absolute;top:50%;margin-left:50%;}.section-read #main-container{background-color:white;}.slider{width:100%;position:relative;}.ui-slider-horizontal{height:20px;}.ui-slider{border:none;background-color:#E2E6E7;margin:0 auto;margin-top:20px;width:90%;border-radius:0px;background-image:none;}.ui-slider .ui-slider-handle{height:20px;border-bottom-left-radius:10px;border-bottom-right-radius:10px;border-top-left-radius:10px;border-top-right-radius:10px;top:0px;border:none;background-color:#4BA8AF;background-image:none;}.slider-wrapper{position:relative;width:80%;margin:0 auto;}.fake-slider-left,.fake-slider-right{width:5%;position:absolute;top:0;height:20px;background-color:#E2E6E7;}.fake-slider-left{border-bottom-left-radius:10px;border-top-left-radius:10px;left:0;}.fake-slider-right{border-top-right-radius:10px;border-bottom-right-radius:10px;right:0;}#reader-left,#reader-right{position:absolute;width:50px;height:50px;border-radius:100%;background-color:#E2E6E7;cursor:pointer;}#reader-left{left:-60px;top:-14px;}#reader-right{right:-61px;top:-15px;}#reader-inner-left,#reader-inner-right{width:36px;height:36px;border-radius:100%;background-color:white;margin-left:7px;margin-top:7px;background:no-repeat white url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png');}#reader-inner-left{background-position:-1677px 6px;}#reader-inner-right{background-position:-1629px 6px;}.slider-wrapper-offset{margin-left:70px;position:relative;}.share-buttons-line{margin-top:20px;margin-bottom:10px;display:inline-block;}#newsletters-subscription-page-form{background:white;display:inline-block;margin-bottom:60px;width:100%;}#newsletters-subscription-page-form .inner{padding:20px;}#newsletters-subscription-page-form .newsletter-option{background:#E9ECF1;}#newsletters-subscription-page-form .newsletter-option-text{background:#F5F9FA;}#main-article .panel-packt-cat .panel-col-last{margin-top:0px;word-wrap:break-word;}#main-article .book-to-consider{background:transparent;}#main-article .book-to-consider-books{width:100%;}#main-article .book-to-consider-books-inner{float:left;}#main-article .book-to-consider-text{width:auto;}#main-article img{display:block;min-height:40px;}.back-button{padding:10px 0 10px 0;float:left;}.title-write-for-packt > h2,.title-write-for-packt > h3{float:left;font-weight:100;}.title-write-for-packt > h3{float:right;}.article-content{font-weight:300;color:#536576;}.bottom-buttons{border-top:1px #D3D8DB solid;}.back-to-top{float:right;padding:10px 0 10px 0;}#article-author-social{background:#F8F8F8;margin-bottom:40px;}#article-author-social .author-name{font-size:0.8em;width:295px;}.author-name .uppercase{font-size:18px;font-weight:100;}.uppercase{text-transform:uppercase;}a.orange{color:#F89224;}.author-twitter{font-size:0.9em;}.blog-published{font-size:0.9em;font-weight:100;}.blog-author-info{padding:19px 0px 0px 15px;}.blog-author-info.twitter-handle{padding-top:11px;}.blog-share-buttons{margin-top:35px;margin-right:12px;}.blog-share-buttons .share-buttons-line{margin-bottom:0;}.nano-promo{width:100%;margin-top:20px;margin-bottom:20px;}.nano-promo-seperator{width:100%;height:1px;background-color:#CACACA;}.nano-promo-seperator-first{margin-bottom:3px;}.nano-promo-left{width:30%;position:relative;margin-top:30px;}.nano-promo-right{width:70%;}.nano-promo-inner{width:100%;margin-top:50px;margin-bottom:50px;}.nano-promo-right-inner{margin-left:50px;margin-top:25px;}.nano-book-image-wrapper{top:29px;left:10px;}.nano-promo-right-inner h2{font-size:1.9em;}.nano-promo-text{font-weight:300;margin-bottom:30px;}.nano-download-logo{height:34px;width:22px;float:left;background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;background-position:-2709px 6px;margin-top:9px;margin-left:25px;margin-right:4px;}.nano-download-separator{float:left;border-right:1px solid #6AB7BD;height:22px;margin-top:15px;margin-left:10px;}#main-book.nano input#edit-register-nano.form-submit{width:80%;margin:0;padding:0;float:left;}form#packt-libraries-claim-nano-form,.nano-fake-register-button{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;overflow:hidden;width:100%;background:#5594DB;height:50px;margin-bottom:30px;cursor:pointer;clear:both;}#main-container.page-books-info-packt-contact-us p{font-size:1.1em;}#main-container.page-books-info-packt-contact-us label{display:block;float:left;width:150px;}#main-container.page-books-info-packt-contact-us input[type=text],select#edit-submitted-contact-us-title{width:349px;}select#edit-submitted-contact-us-title{width:130px;}select#edit-submitted-what-would-you-like-help-with{width:349px;margin-left:20px;}#edit-submitted-what-would-you-like-help-with-wrapper a.selectBox{margin-left:150px;margin-top:10px;}.page-books-info-packt-contact-us .panel-panel h1{font-weight:100;margin-bottom:35px;}#main-container.page-books-info-packt-contact-us .node .content{margin-top:0;}#main-container.page-books-info-packt-contact-us #webform-component-what_would_you_like_help_with label{width:300px;}#main-container.page-books-info-packt-contact-us .form-item{margin-top:25px;}#main-container.page-books-info-packt-contact-us textarea{border:none;margin:0;}.page-books-info-packt-contact-us .panel-panel input#edit-submit{font-size:1.2em;height:50px;width:180px;}.page-books-info-packt-contact-us .webform-component-email,.page-books-info-packt-contact-us .webform-component-select,.page-books-info-packt-contact-us .webform-component-text,.page-books-info-packt-contact-us .webform-component-textfield,.page-books-info-packt-contact-us .webform-component-textarea,.page-books-info-packt-contact-us .webform-client-form select,.page-books-info-packt-contact-us .webform-client-form textarea,.page-books-info-packt-contact-us .webform-client-form input.form-text{width:auto;margin:auto;}#free-learning-banner{background-color:#feca5c;width:100%;height:185px;text-align:center;}#free-learning-mobile-banner{display:none;}.fl-notavailable{position:absolute;}.fl-notavailable-text{z-index:100;position:absolute;font-size:28px;top:28px;width:100%;text-align:center;color:#D7263D;font-weight:600;}.book-block-container.fl{height:183px;}#freelearning-central-image-container{margin-bottom:20px;}.fl-bottom-text-block{width:100%;clear:both;}#title-bar{background:#3F4D57;border-bottom:0px;}#main-article .panel-packt-cat .panel-col-last{margin-top:0px;word-wrap:break-word;}#main-article .book-to-consider{background:transparent;}#main-article .book-to-consider-books{width:100%;}#main-article .book-to-consider-books-inner{float:left;}#main-article .book-to-consider-text{width:auto;}.back-button{border-top:1px #D3D8DB solid;padding:10px 0 10px 0;}.title-write-for-packt > h2,.title-write-for-packt > h3{float:left;font-weight:100;}.title-write-for-packt > h3{float:right}.article-content p,.nano-promo p,.nano-promo span{font-weight:300;color:#536576;}#main-article .panel-packt-cat .panel-col-last{margin-top:0px;word-wrap:break-word;}#main-article .book-to-consider{background:transparent;}#main-article .book-to-consider-books{width:100%;}#main-article .book-to-consider-books-inner{float:left;}#main-article .book-to-consider-text{width:auto;}.back-button{border-top:1px #D3D8DB solid;padding:10px 0 10px 0;}.title-write-for-packt > h2,.title-write-for-packt > h3{float:left;font-weight:100;}.title-write-for-packt > h3{float:right}.author-content p{font-weight:300;color:#536576;}#main-article .panel-packt-cat .panel-col-last{margin-top:0px;word-wrap:break-word;}#main-article .book-to-consider{background:transparent;}#main-article .book-to-consider-books{width:100%;}#main-article .book-to-consider-books-inner{float:left;}#main-article .book-to-consider-text{width:auto;}.back-button{border-top:1px #D3D8DB solid;padding:10px 0 10px 0;}.title-write-for-packt > h2,.title-write-for-packt > h3{float:left;font-weight:100;}.title-write-for-packt > h3{float:right}.article-content p,.nano-promo p,.nano-promo span{font-weight:300;color:#536576;}.node-type-new-newsletter-type #content,#new-newsletter{background-color:white;}.new-newsletter-image{width:25%;}.new-newsletter-top-content{width:75%;}.new-newsletter-summary,.new-newsletter-more-from-blog,.bottom-newsletter{font-weight:300;}.new-newsletter-top-title h1{font-size:280%;}.new-newsletter-types{width:100%;}.new-newsletter-single-type{width:33%;}.new-newsletter-single-type img{float:left;}#newsletter-popup,#signup-popup{position:fixed;bottom:50px;display:block;right:0px;background-color:white;width:340px;z-index:8;}#newsletter-popup-inner,#signup-popup-inner{padding:15px;}.node-type-blog #newsletter-popup,.node-type-techprimer #newsletter-popup,#signup-popup{display:none;}#newsletter-popup input[type=text]{width:340px;padding:0px;background-color:#E5EAEE;}#newsletter-popup-close,#signup-popup-close{float:right;cursor:pointer;}#signup-popup-right{width:50%;padding-left:17px;}#signup-download-link a.button-link{width:100%;padding:0;text-align:center;font-size:1.4em;font-weight:100;margin-top:10px;}.pages{width:100%;text-align:center;height:20px;margin-top:20px;padding-bottom:20px;display:none;}.current-page{font-weight:bold;}.webform-client-form label{display:block;}.webform-component-email,.webform-component-select,.webform-component-text,.webform-component-textfield{width:50%;margin:1.5em 0em;}.webform-component-textarea{width:100%;margin:1.5em 0em;}.webform-client-form select,.webform-client-form textarea,.webform-client-form input.form-text{width:100%;}#packt-subscription{background-color:white;}.node-type-subscriptions .webform-component-textfield{width:100%;}.node-type-subscriptions #content{background-color:white;}.node-type-subscriptions #title-bar{background:#4BA8AF;}.node-type-subscriptions .webform-client-form select,.node-type-subscriptions .webform-client-form textarea,.node-type-subscriptions .webform-client-form input{border:1px solid #cdcdcd;border-radius:1px;}.subs-image{float:left;width:52%;}.subs-description{width:48%;}.packt-subscription-top-image{margin-bottom:40px;}.packt-subs-related-books h2,.packt-subs-how-to-use h2{font-size:3em;}.subs-how-to-use-outer{float:left;width:482px;margin-right:36px;}.subs-how-to-use-outer.end-of-shelf{margin-right:0px;}.packt-subs-top-outer{width:100%;position:relative;background-color:white;}#packt-subscription{width:100%;background-color:white;position:relative;margin:0 auto;margin-top:20px;}.packt-subs-middle-related-outer{width:100%;background-color:#F3F7F8;padding-top:40px;padding-bottom:50px;}.packt-subs-bottom-how-outer{width:100%;background-color:#FFF;}div.packt-subscription-top-image.cf.section-inner{margin-bottom:40px;}.packt-subs-related-books .sub-book-block{background-color:transparent;}.packt-subs-related-books h2{margin-bottom:40px;}.packt-subs-how-to-use h2{margin-bottom:40px;margin-top:40px;}.subs-how-to-use-item{background-color:white;margin-bottom:20px;cursor:pointer;}.subs-how-to-use-item h3{line-height:4.9em;text-align:center;width:70%;}.subs-how-to-use-plus-outer{width:20%;}.subs-how-to-use-plus{width:28px;height:28px;background-color:#6CA4E3;margin-top:34px;}.subs-how-to-use-plus-text{padding-top:2px;margin-left:10px;color:white;}.subs-how-to-use{background-color:white;display:none;padding:30px;border-top:1px solid #E5E5E5;}.sub-book-block{float:left;width:150px;margin-right:20px;background-color:white;position:relative;margin-bottom:40px;height:283px;font-weight:300;}div.end-of-shelf .sub-book-block{margin-right:0px;}.sub-read-button{margin-top:20px;margin-bottom:20px;}.packt-sub-sample{height:46px;width:100%;text-align:center;line-height:3.3em;background-color:#D3D8DD;cursor:pointer;}#packt-subscription{background-color:white;}.node-type-subscriptions #content{background-color:white;}.subs-image,.subs-description{float:left;width:50%;}.packt-subscription-top-image{margin-bottom:40px;}.packt-subs-related-books h2,.packt-subs-how-to-use h2{font-size:2.5em;font-weight:100;}.book-top-block-watchonline-logo{display:inline-block;width:20px;height:42px;background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;float:left;margin-left:13px;background-position:-2409px 9px;}.packt-subs-forms{width:48%;}.packt-subs-forms form{width:100%;}.packt-subs-forms form .book-top-addtocart-inner{background-color:#4FA8AE;}.packt-subs-prices{width:100%;}.packt-subs-left-price,.packt-subs-right-price{width:233px;height:52px;background-color:#EFF1F3;font-weight:300;font-size:2em;line-height:1.8em;cursor:pointer;}.packt-subs-left-price{margin-right:13px;}.packt-subs-forms .book-top-subscribe-subscribe-button{width:100%;margin-left:0px;height:73px;}.packt-subs-forms .book-type-select-dot-outer{margin-top:20px;margin-left:20px;}.packt-subs-interval-text{font-size:0.5em;}.packt-subs-left-price.active-price,.packt-subs-right-price.active-price{background-color:#E4E8EB;}.packt-subs-forms .book-top-subscribe-text{width:81%;line-height:2.1em;font-size:2.4em;}.packt-subs-forms .book-top-subscribe-logo{background-position:-2440px 0px;width:50px;height:50px;}.packt-subs-forms .book-top-subscribe-separator{height:30px;margin-top:20px;}.packt-subs-forms .india-currency{margin:0px;font-size:1.7em;line-height:2.3em;}#main-book.star .book-top-block-wrapper{margin-bottom:20px;}.star-book-banner{width:100%;font-size:1.4em;font-weight:100;border-top:5px solid #f59333;border-bottom:5px solid #f59333;background:#283134;color:white;}.star-book-banner .section-inner{padding:46px 0;}.star-book-banner-left{width:35%;float:left;}.star-book-banner-left img{border:2px solid white;}.star-book-banner-right{width:65%;float:left;padding-top:50px;}.coming-soon{color:#F59533;font-size:1.4em;font-weight:600;}.star-book-banner h1{font-size:3.3em;font-weight:600;line-height:1;padding-bottom:20px;}.star-book-banner .fake-button{box-sizing:border-box;padding:10px;margin-top:30px;width:320px;height:55px;text-align:center;font-size:1.1em;font-weight:400;clear:both;}.star-book-description-banner{background:#F7F7F7;box-sizing:border-box;padding-top:25px;padding-bottom:15px;width:100%;}.star-book-description-banner p{font-size:1.5em;font-weight:100;}.star-book-blocks{width:100%;background:#FFFFFF;padding:55px 0 40px;}.star-book-block{width:230px;margin:0 10px;text-align:center;float:left;font-size:16px;}.star-book-block strong{font-size:18px;}.star-book-bottom-banner{background:#F7F7F7;width:100%;padding:35px 0;font-size:16px;}.star-book-signup{width:100%;background:#F59333;color:#FFF;padding:40px 0;text-align:center;margin-top:25px;}.star-book-signup h1{font-weight:600;font-size:2.8em;margin-bottom:10px;}.star-book-signup span{font-size:20px;margin:30px 0;}.star-book-signup form{margin-top:35px;}.star-book-signup form input{width:285px;height:46px;}.star-book-signup form input[type="submit"]{width:175px;height:55px;font-size:1.6em;padding:0;}.star-book-signup form div.form-item{font-size:16px;}.star-book-signup #edit-mail-wrapper{margin-bottom:20px;}.star-book-banner-left img{width:317px;height:393px;}.star .book-top-block-wrapper{margin-top:0;}.star-book-bottom-banner-left{width:35%;float:left;}.star-book-bottom-banner-right{width:65%;float:left;}.star-book-banner .book-top-addtocart-inner{width:320px;float:none;font-size:0.7em;margin-top:20px;}.node-course .course-banner-right{width:65%;float:left;padding-top:35px;}.node-course .star-book-banner h1{font-size:2.7em;}.node-course .course-banner{width:100%;font-size:1.4em;font-weight:100;border-top:5px solid #f59333;border-bottom:5px solid #f59333;background:#283134;color:white;}.node-course .book-top-addtocart-inner{float:left;margin-top:12px;}.node-course .book-top-pricing-main-book-price{font-size:1.9em;color:#f79421;font-weight:100;}.node-course .book-top-pricing-rrp{margin-top:-10px;}.node-course .book-top-pricing-rrp-book{font-size:0.7em;}.node-course .course-pricing{float:left;width:30%;}.node-course .purchase-row{overflow:hidden;margin-top:25px;}.node-course .star-book-banner-left img{border:none;}.node-course .course-download-button.book-owned-download-inner{background-color:#4AADAD;margin-top:15px;width:320px;}.node-course .book-owned-download-inner .form-submit{font-size:21px;width:100%;margin:0;color:#fff;font-weight:400;padding-top:8px;text-align:center;}#marketing-landing-page-blurb-left{width:49%;margin-right:1%;float:left;}#marketing-landing-page-blurb-right{width:49%;margin-left:1%;float:left;text-align:right;}#marketing-landing-page h2{font-size:2.25em;}#marketing-landing-page h2,#marketing-landing-page .title-block.blurb h3{color:#e7692c;}#marketing-landing-page .title-block.blurb h3{font-size:1.5em;}#marketing-landing-page div.fake-button{float:left;width:490px;margin-right:10px;padding:0px;font-size:1.5em;}#marketing-landing-page-links .fake-button.last{margin-left:10px;margin-right:0px;}.fake-button-inner{margin:10px;text-align:center;}.landing-page-row p{margin-top:0px;}.landing-page-row h3{margin-bottom:0.5em;}.ml-text-banner,.ml-text-banner.mobile{text-align:center;font-size:1.1em;margin-bottom:30px;}.ml-text-banner.mobile{display:none;}.ml-links-title.mobile{display:none;}.bundle-text-block{margin-top:15px;margin-bottom:40px;width:100%;float:none;clear:both;}.multi-bundle-add-to-cart .book-block:after,.multi-bundle-add-to-cart .book-block:before{-webkit-box-shadow:none;box-shadow:none;}.multi-bundle-add-to-cart .book-block{background:none;position:relative;margin-left:0;}.multi-bundle-add-to-cart .book-block p{margin-top:0;}.node-type-multi-bundle-page .book-top-addtocart-inner{position:absolute;bottom:20px;}.node-type-multi-bundle-page .book-top-addtocart-inner{height:40px;}.node-type-multi-bundle-page .book-top-addtocart-logo{margin-top:4px;margin-left:5px;}.node-type-multi-bundle-page .book-top-addtocart-inner input[type=submit]{font-size:1.11em;width:auto;height:auto;font-weight:300;margin-left:11px;padding-top:2px;}.node-type-multi-bundle-page .book-top-addtocart-inner .book-top-addtocart-separator{display:none;}div.section-outer.multi-bundle-links.vpadding{background:#F0F4F7;padding-top:0;}.node-type-multi-bundle-page .book-info-bottom-readmore.cf{background:#E5EAEE;}.multi-bundle-links .book-info-bottom-readmore-button{background-color:#F5A124;color:white;width:320px;}.node-type-multi-bundle-page center.ml-links-title{margin-top:40px;}.node-type-multi-bundle-page h2{color:#e7692c;font-size:2em;margin-bottom:20px;}.node-type-multi-bundle-page div.fake-button{float:left;width:480px;margin-right:20px;padding:0px;font-size:1.5em;}#varnish-popup-inner{font-size:1.4em;}#varnish-popup-inner div.clear-option{margin-bottom:0.5em;padding:0.5em 1em;border:1px dashed navy;}#varnish-popup-inner div.clear-option label{width:550px;display:inline-block;margin-right:100px;}#varnish-popup-inner #varnish_popup_clear_custom{background-color:#EEE;width:550px;}#packt-subscription-new .packt-subscription-testimonial-bar{background:#555;text-align:center;color:#fff;clear:both;box-sizing:border-box;padding:15px;}#packt-subscription-new .packt-subscription-testimonial-bar h2{font-weight:700;}#packt-subscription-plans-section h2{font-size:2.4em;font-weight:500;}#packt-subscription-plans{margin-top:30px;}#packt-subscription-new .packt-subscription-testimonial-bar.green{background:#4FAFAA;}#packt-subscription-new .packt-subscription-testimonial-bar.grey{background:#555555;}#packt-subscription-new .packt-subscription-testimonial-bar p{margin:0;}#packt-subscription-new #packt-subscription-header{background:#000;color:#fff;height:356px;}.packt-subscription-content-container-inner h1{padding-top:45px;}#packt-subscription-new #packt-subscription-header .packt-subscription-content-container{font-weight:300;height:316px;padding-top:40px;}#packt-subscription-new #packt-subscription-header .title{float:left;margin-top:45px;font-size:2.6em;}#packt-subscription-new #packt-subscription-header p{float:left;clear:left;font-size:1.3em;font-weight:100;}#packt-subscription-new #packt-subscription-header .title .h1{font-weight:300;}#packt-subscription-new #packt-subscription-header .title .h2{font-weight:500;}#packt-subscription-new #packt-subscription-header .title .h3{font-weight:700;}#packt-subscription-new #packt-subscription-header img{margin:0 auto;float:none;position:relative;z-index:100;clear:left;}#packt-subscription-new #packt-subscription-content .packt-subscription-page-image{padding:20px 0px;font-size:1.1em;min-width:300px;}#packt-subscription-new #packt-subscription-content .packt-subscription-text{width:48%;padding:20px 0px;font-size:1.1em;}#packt-subscription-new #packt-subscription-content .packt-subscription-page-image{padding-top:40px;}#packt-subscription-new #packt-subscription-content .packt-subscription-text h3{font-weight:500;font-size:1.42em;}#packt-subscription-new #packt-subscription-content .packt-subscription-text p{font-weight:100;}#packt-subscription-new #packt-subscription-plans-section{padding:30px 0px 60px;background:#FFF;}.packt-subscribe-subscribe-button{padding-bottom:20px;}#packt-subscription-new .packt-subscription-plan{width:44%;float:left;margin-right:5%;text-align:center;border:1px solid #DBDBDB;background:#F5F5F5;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;position:relative;}#packt-subscription-new .b2b-buy-seats-block .packt-subscription-plan{width:300px;margin-top:30px;}#packt-subscription-new form .form-text{max-width:500px;min-width:250px;}#packt-subscription-new .packt-subscription-plan-three-cols{width:300px;margin:0 15px;}#packt-subscription-new .packt-subscription-plan:nth-of-type(3) {margin-right:0px;}#packt-subscription-plans form{width:100%;}#packt-subscription-new .packt-subscription-plan .title{height:75px;color:#4C4443;line-height:75px;font-size:2.3em;font-weight:300;}#packt-subscription-new .packt-subscription-plan.alternate .title{background:#4FA8AE;color:#fff;}#packt-subscription-new .packt-subscription-plan .price-bar{height:50px;line-height:50px;background:#57646D;color:#fff;font-size:1.3em;}#packt-subscription-new .packt-subscription-plan .price-bar .user-note{font-weight:300;font-size:14px;}#packt-subscription-new .packt-subscription-plan.alternate .price-bar{background:#555555;}#packt-subscription-new .packt-subscription-plan ul{list-style-type:none;margin:10px 0px;padding:0px;}#packt-subscription-new .packt-subscription-plan ul li{background:none;line-height:40px;padding:0px;color:#A59699;font-weight:100;}#packt-subscription-new .packt-subscription-plan ul li strong{color:#494949;font-weight:700;}#packt-subscription-new .packt-subscription-plan input[type=submit].form-submit,#packt-subscription-new .basic-registration-button-link{width:86%;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;text-align:center;line-height:50px;background:#5594DB;margin-bottom:10px;border:0px;height:50px;font-size:1.2em;font-weight:500;}#packt-subscription-new .float-left.packt-subscription-text{padding-top:30px;}#packt-subscription-new .basic-registration-button-link-container{width:100%;position:relative;display:block}#packt-subscription-new .basic-registration-button-link{line-height:50px;height:50px;font-weight:500;color:#FFF;padding:0em 2.5em;display:block;margin:0 auto;border-radius:6px;font-size:17px;width:58%;margin-top:20px;margin-bottom:30px;}.packt-subscription-header-image{position:relative;width:1000px;margin:0 auto;text-align:center;}.packt-subscription-header-image > div{padding-left:240px;text-align:left;}.packt-subscription-tab-links-container{background:#373C40;width:100%;position:relative;text-align:center;bottom:6px;}#packt-subscription-tab-links{list-style-type:none;background:#373C40;width:1000px;margin:0 auto;}#packt-subscription-tab-links > div{display:inline;position:relative;}#packt-subscription-tab-links .packt-subscription-tab-link{list-style-type:none;width:24%;display:inline-block;padding:0;margin:0;color:#fff;height:60px;line-height:60px;font-size:18px;text-align:center;font-weight:100;cursor:pointer;}.packt-subscription-more-info{padding-bottom:100px;}.packt-subscription-tab-content-container[data-tab-content="pricing"]{padding-bottom:60px;}.packt-subscription-tab-link-current::after{content:'';position:absolute;left:44%;top:26px;width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-bottom:14px solid #fff;clear:both;}.packt-subscription-header-image div div,.packt-subscription-header-image div p{margin:0;padding:0;float:none;}.packt-subscription-buttons{width:100%;clear:left;}.packt-subscription-buttons button{height:50px;line-height:50px;font-size:16px;padding:0 45px;border:0;border-radius:1px;margin-right:25px;margin-top:30px;box-shadow:0px -1px 1px				rgba(100,100,100,0.5),1px 0px 1px rgba(0,0,0,0.2),inset 0 -1px 1px rgba(0,0,0,0.5),inset 0 0px 1px rgba(200,200,200,1);font-weight:100;}.packt-subscription-tab-content-container{display:none;}.b2b-seats-qty-counter{height:48px;width:80px;border:1px solid #9F9F9F;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;float:left;margin-left:25px;margin-top:2px;background:#FFF;}.b2b-seats-qty{float:left;width:46px;padding-top:15px;}.b2b-seats-qty-dec,.b2b-seats-qty-inc{border:0;float:left;width:17px;height:100%;text-align:center;margin-top:0;padding:0;background:#C4C4C4;color:#444444;font-weight:700;}.b2b-seats-qty-dec{-webkit-border-top-left-radius:3px;-moz-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}.b2b-seats-qty-inc{border-top-right-radius:3px;border-bottom-right-radius:3px;}input.b2b-seats-input{width:100%;padding:0;margin-top:0;height:100%;text-align:center;}.packt-subscription-plan.b2b-subscription form{width:60%;float:left;}.packt-subscription-plan.b2b-subscription form input[type="submit"]{margin-top:2px;}#packt-subscription-new .packt-subscription-plan form#packt-libraries-add-to-cart-form-page-subscription-1 input[type=submit].form-submit{width:140px;float:left;margin-top:2px;padding:0px 32px;}#packt-subscription-new .packt-subscription-plan form#packt-libraries-add-to-cart-form-page-subscription-1{margin-left:20px;float:left;width:140px;}#packt-subscription-new .packt-subscription-plan input[type=submit].form-submit:hover,#packt-subscription-new .packt-subscription-plan.alternate input[type=submit].form-submit:hover{background:#5594db;}.first-tab{display:block;}#packt-subscription-content{padding-top:20px;}#packt-subscription-new .packt-subscription-testimonial-bar.testimonial-bar-teal{background:#5F95A1;}.packt-subscription-header-button-2{background:#42454A;}#packt-subscription-content{padding-top:20px;}.skillup-wrapper{color:white;}.skillup-wrapper img{max-width:100%;}.panel-pane .skillup-wrapper{padding:0px;}.skillup-zone1{background-color:#BBD5CF;margin:0 auto;padding:30px 5px;}.skillup-zone2{background-color:#36998B;margin:0 auto;padding:30px 5px;}.skillup-zone3{background-color:#62B9AF;margin:0 auto;padding:30px 5px;}.skillup-zone4{background-color:#C3E3DD;margin:0 auto;padding:50px 5px 0;}.skillup-2boxs{width:480px;}.skillup-3boxs{width:310px;}.skillup-4boxs{width:230px;}.skillup-float{margin:0 auto;}.skillup-boxs{margin:0 auto;border:0;float:left;padding:0 10px;}.skillup-boxs img{display:block;margin-left:auto;margin-right:auto;}.skillup-shadow{-webkit-filter:drop-shadow(0px 15px 10px rgba(0,0,0,0.15));-moz-filter:drop-shadow(0px 15px 10px rgba(0,0,0,0.15));-filter:drop-shadow(0px 15px 10px rgba(0,0,0,0.15));}.skillup-mb30{margin-bottom:30px;}.skillup-text{max-width:280px;min-height:90px;margin-right:auto;margin-left:auto;}.skillup-zone3 a{text-decoration:none;color:white;cursor:pointer;}.skillup-zone4 .skillup-4boxs img{margin-top:106px;}.skillup-viewbundle-button{background-color:#e94c3c;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;text-align:center;width:300px;margin:0 auto;padding:5px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}.skillup-buynow-button{background-color:#407c8f;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;text-align:center;width:300px;margin:0 auto;padding:5px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}.skillup-buynow2-button{background-color:#545454;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;text-align:center;width:300px;margin:0 auto;padding:5px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}.page-skillup #title-bar{background-color:#62B8AF;}.report-banner{background:#E5EAEE;padding:10px 0 20px;}.report-banner-logo{width:500px;float:left;margin:0 auto;}.report-banner-logo img{max-width:350px;max-height:250px;margin:0 auto;display:block;margin-top:20px;}.report-banner-text{width:500px;float:right;text-align:center;margin-top:20px;margin-bottom:20px;}.report-banner-text h1{font-weight:100;font-size:200%;line-height:120%;}.report-block{padding-top:20px;padding-bottom:20px;width:100%;background:#f8f8f8;	background:-moz-linear-gradient(top,#f8f8f8 0%,#ffffff 100%);	background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#f8f8f8),color-stop(100%,#ffffff));	background:-webkit-linear-gradient(top,#f8f8f8 0%,#ffffff 100%);	background:-o-linear-gradient(top,#f8f8f8 0%,#ffffff 100%);	background:-ms-linear-gradient(top,#f8f8f8 0%,#ffffff 100%);	background:linear-gradient(to bottom,#f8f8f8 0%,#ffffff 100%);	filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#f8f8f8',endColorstr='#ffffff',GradientType=0 );}.report-picture{float:left;max-width:290px;padding:35px 0;}.report-picture img{max-width:300px;width:100%;border:1px solid #ACAAAA;}.report-info{float:right;max-width:650px;width:100%;transform:translateY(50%);}.report-info h1{font-size:230%;font-weight:400;}.report-body{margin-top:20px;margin-bottom:20px;font-size:140%;font-weight:100;line-height:120%;}div.report-download-button{background-color:#5594DB;text-align:center;padding:10px;}a.report-download-button{text-decoration:none;color:white;font-size:160%;font-weight:100;}.reportbg0{background:#FFFFFF;}.reportbg1,.reportbg3{background:#f8f8f8;}.reportbg2{background:#eeeff3;}.promo .section-inner{padding-top:50px;padding-bottom:30px;}.promo-landing-book{width:100%;}.promo-landing-book-picture{float:left;width:295px;height:364px;}.promo-landing-book-picture img{width:295px;height:364px;}.promo-landing-book-picture img,.promo-landing-book-info img{display:block;margin:0 auto;max-width:500px;}.promo-landing-book-info{float:left;width:640px;padding-left:60px;}.promo-landing-book-body{width:100%;margin-bottom:10px;}.promo-landing-book-body-title{margin-bottom:5px;}.float-left.promo-register-form:nth-child(2) {margin-top:100px;}#main-book.promo input#edit-register-promo.form-submit{margin:0;float:left;font-size:1.4em;font-weight:100;padding:15px 0;}form#packt-libraries-claim-promo-form,.promo-fake-register-button{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;overflow:hidden;width:100%;background:#5594DB;height:50px;margin-bottom:30px;cursor:pointer;clear:both;}.promo-promo{width:100%;margin-top:20px;margin-bottom:20px;}.promo-promo-seperator{width:100%;height:1px;background-color:#CACACA;}.promo-promo-seperator-first{margin-bottom:3px;}.promo-promo-left{width:30%;position:relative;margin-top:30px;}.promo-promo-right{width:70%;}.promo-promo-inner{width:100%;margin-top:50px;margin-bottom:50px;}.promo-promo-right-inner{margin-left:50px;margin-top:25px;}.promo-book-image-wrapper{top:29px;left:10px;}.promo-promo-right-inner h2{font-size:1.9em;}.promo-promo-text{font-weight:300;margin-bottom:30px;}.promo-download-logo,.promo-download-separator{display:none;}.promo-landing-book-info .fake-button{width:100%;text-align:center;margin:0;float:left;font-size:1.4em;font-weight:100;padding:15px 0;}.promo .book-top-block-wrapper.cf{width:95%;margin:0 auto;}.promo #main-book,.node-type-books.nano #content{background:#E3E7EA;}.promo-book-main-image{width:100%;margin-top:40px;}.promo .float-left.promo-book-text{width:100%;padding-left:0;}.promo .float-left.promo-book-text h1{font-size:1.9em;line-height:1.3;margin-bottom:10px;}#promo-learn-border{display:none;}.promo .share-buttons-line.share-buttons-small{display:block;}.promo .form-item label{margin-left:0;text-align:left;}.promo .form-item input{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;width:100%;}.promo .form-item .description{margin-top:15px;}.promo-book-text a.button-link{margin-bottom:20px;}.node-type-books.promo #content{margin:0;}.promo .promo-book-text{width:510px;padding-left:60px;}.promo .promo-book-main-image{text-align:center;}.promo .book-info-outer-promo-form{background-color:#E3E7EA;}.promo input#edit-register-promo,.promo-book-text a.button-link,a.promo-button-ebooks{width:100%;font-size:1.4em;font-weight:100;height:50px;}.promo .promo-book-text a.button-link,a.promo-button-ebooks{text-align:center;padding:8px 0;height:auto;}.promo ul li{background:transparent url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/new-li-tick.png) no-repeat;background-position:0px 10px;margin-left:25px;padding-left:40px;margin-bottom:10px;}.promo h1{font-size:2.8em;font-weight:500;}.promo .promo-register-form{width:50%;}#packt-v3-register-promo-form input[type=text],#packt-v3-register-promo-form input[type=password]{width:280px;}#packt-v3-register-promo-form label{width:130px;display:block;float:left;text-align:right;padding-right:15px;font-weight:500;}#packt-v3-register-promo-form .captcha{float:right;}#packt-v3-register-promo-form input[type=submit]{float:right;padding:15px 0;margin-top:20px;}#packt-v3-register-promo-form .promo-register-copy{color:#898989;font-size:0.9em;float:right;line-height:1.5em;}.node-type-books div#title-bar{background:#4BA8AF;border-bottom:3px solid #388D92;}#promo-learn{margin-top:20px;margin-bottom:30px;}#promo-learn-border{border:solid 1px;height:4px;border-left:0;border-right:0;position:relative;bottom:22px;color:#898989;}#promo-learn-title-text{width:100%;margin:auto;font-size:1.8em;font-weight:100;position:relative;text-align:center;}#promo-learn-title-text-inner{z-index:2;background:white;padding:0 25px;position:relative;}.promo .promo-thanks-text{font-size:2.1em;font-weight:400;color:#DE2139;}.promo .section-inner{padding-bottom:80px;}.promo .css-captcha > div{background-color:#B4B5BD;}.share-buttons-small{margin-top:10px;}.book-top-block .share-buttons-small{width:300px;text-align:center;}.book-top-block .book-subscribed-read-inner{background:#4BA8AF;}.register-support-form .captcha{margin-left:150px;}.node-type-profiles .book-block{margin-right:15px;}.blue-breadcrumb{padding:8px 0;background:#204464;color:#CCD5DA;margin-top:5px;margin-bottom:35px;}.blue-breadcrumb a,.blue-breadcrumb .breadcrumb a{color:#CCD5DA;}.node-type-profiles .book-block-position-4 .book-block{margin-right:0;}.node-type-profiles .back-button a{color:#fff;}.chosen-container-multi .chosen-choices{background:#EFF2F7;min-height:35px;border:none;padding:0;padding:0em 1em;width:300px;}.chosen-container-multi .chosen-choices li.search-choice{background:#8696A3;color:#fff;margin-top:8px;}#register-page-form .chosen-container-multi .chosen-choices li.search-field input[type="text"],#account-edit .chosen-container-multi .chosen-choices li.search-field input[type="text"]{height:35px;font-size:1.4em;width:auto;max-width:300px;}.chosen-container .chosen-results li.no-results,.chosen-container .chosen-drop{border:1px solid #EFF2F7;background:#fff;}@media only screen and (min-width:1041px) {	#menuIcon{display:none;}.clickDiv{display:none;}.leftSide{display:none;}	#footer-bottom .footer-bottom-block[respo]{display:none;}#menu-bar{z-index:9 !important;}.onlyMobile{display:none !important;}.form-item>a{width:341px !important;}.form-item>a>span:first-child{width:318px !important;}.responsive-slide-text{display:none;}.non-responsive-slide-text{display:inline-block;}.plans-indiv-left{width:65%;}.plans-indiv-right{width:30%;}.float-tab2{float:right;}#register-form-details .captcha{margin-left:150px;}#packt-v3-subscription-signup-form .captcha{margin-left:192px;}}@media only screen and (max-width:1040px) {	#page{width:100%;min-width:0px;padding:0px;transition:all 200ms ease-in-out;-webkit-transition:margin-left 200ms ease-in-out;}div.section-inner{width:auto;}#page.page-cart div.section-inner[checkout='account'] .checkout-pane.disabled{display:none;}#page.page-cart div.section-inner:not([checkout='account']) .summary-total>span:first-child{display:none;}#page.page-cart div.section-inner:not([checkout='account']) .summary-total::before{content:'-';margin:0px 10px;color:white;}#page.page-cart .book-info-outer,.hero-blocks{display:none;}.onlyDesktop{display:none !important;}.packt-article-line-view-text{height:65px;}.ellipsis:after{top:42px;}#mobile-book-container .book-top-block-info-title,#mobile-book-container .book-top-block-info-one-liner{display:none;}	.respoPage{width:100%;min-width:300px;}.respoPage:not([respo='true']) {transition:all 200ms ease-in-out;-webkit-transition:all 200ms ease-in-out;}.respoPage[state='show']{overflow:hidden;}.respoPage[state='hidden']{}.respoPage[state='show'] .clickDiv{display:block;}.respoPage[state='hidden'] .clickDiv{display:none;}.respoPage[state='show'] .leftSide{left:0px;}.respoPage[state='hidden'] .leftSide{left:-70%;}.respoPage[state='show'] #page{margin-left:260px;position:fixed;}.respoPage[state='hidden'] #page{margin-left:0px;}#account-bar{display:none;}	#menu-bar{height:54px;}#menu-icons,#menu-links{margin:0px;}#menu-bar .section-inner{height:54px;}#menu-bar #menu-packt-logo{margin:0px;}#menu-links>a:not(:first-child) {display:none;}#menu-links{float:none;}#menu-links>a:not(:first-child)>div{display:hidden;}#menu-links .menu-item-tab{position:absolute;top:0px;left:0px;width:100%;margin:0;height:0px;float:none;}#menu-bar #menu-packt-logo{margin:4px auto 0px auto;width:105px;-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0) scale(0.7,0.7);filter:none;-webkit-filter:blur(0px);-moz-filter:blur(0px);-ms-filter:blur(0px);filter:progid:DXImageTransform.Microsoft.Blur(PixelRadius='0');}#menu-icons{width:104px;float:right;padding:11px 0px;margin-right:5px;}#menu-icons .menu-item-tab{margin-right:0px;padding:0px 10px;border-left:1px solid #F5F5F5;}#menu-icons .menu-item-icon{margin:0px;height:30px;width:30px;background-size:3000px 60px;}#menu-search{background-position:-283px -5px;}#menu-cart{background-position:-366px -5px;}#menu-icons>a:nth-child(2) {display:none;}#menu-collection{display:none;}#menuIcon{float:left;width:50px;height:50px;vertical-align:middle;background-image:url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png');background-position:-3000px 12px;cursor:pointer;}	.leftSide{position:absolute;top:0px;z-index:15;background-color:#1B1D1E;height:100%;transition:all 200ms ease-in-out;-webkit-transition:all 200ms ease-in-out;left:0px;font-size:15px;color:white;font-weight:100;width:260px;height:100%;display:table-cell;overflow:auto;}.leftSide>div{padding:15px 10px;cursor:pointer;}.leftSide>div,.leftSide>p{border-bottom:1px solid #646566;color:white;white-space:nowrap;}.leftSide>p{background-color:#333A3E;margin:0px;}.leftSide>p>a{color:white!important;width:100%;display:block;padding:15px 10px 15px 30px;box-sizing:border-box;}.leftSide>div{background-color:#1B1D1E;}.leftSide>div:not(:first-child)::after{content:'>';font-size:15px;color:white;float:right;margin-top:0px;transition:all 300ms ease-in-out;-webkit-transition:all 300ms ease-in-out;position:absolute;right:10px;}.leftSide>div[state='folded']:not(:first-child)::after{transform:rotate(0deg) scaleX(0.5);-webkit-transform:rotate(0deg) scaleX(0.5);}.leftSide>div[state='expanded']:not(:first-child)::after{transform:rotate(90deg) scaleX(0.5);-webkit-transform:rotate(90deg) scaleX(0.5);}.leftSide>div:first-child{background-color:#E56936;display:table;width:100%;box-sizing:border-box;border-color:#AE562D;}.leftSide>div:first-child::before{background-image:url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png');background-position:-195px 0px;background-repeat:no-repeat;content:'';width:20px;height:20px;}.respoLogin,.respoReg{display:table-cell;width:50%;text-align:center;}.respoLogin{border-right:1px solid white;}.respoReg a{color:white;}div.respoAcc{text-align:center;}p.respoAcc{background-color:#A7491C;border-color:#AE562D;}.clickDiv{position:fixed;width:100%;left:260px;top:0px;height:100%;z-index:14;}img#pl-img{width:140px;padding:5px 0;}.menu-text.pl{display:none;}.menu-text.mob-pl{display:block;}div#menu-pl{padding:5px 10px;border-bottom:1px solid #646566;}div#menu-packtlib_respo{padding:15px 10px 3px 10px;}div#menu-packtlib_respo::after{margin-top:-45px;}	form#packt-user-login-form-respo{padding-top:10px;border-bottom:1px solid #646566;}form#packt-user-login-form-respo div{margin:0px;}form#packt-user-login-form-respo input,form#packt-user-login-form-respo a{height:50px;width:100%;box-sizing:border-box;}#login-form-submit input{padding-top:0px;padding-bottom:0px;}form#packt-user-login-form-respo a{display:block;padding:8px 0px 2px 10px;}#login-form-email,#login-form-pass,#login-form-submit{width:100%;padding:5px 10px;box-sizing:border-box;}#login-form-pass input{margin:0px!important;}	#footer-bottom{bottom:0px;width:100%;z-index:20;}#footer-bottom .section-inner{padding:0px;margin:0px;width:100%;}#footer-bottom .footer-bottom-block{width:100%;text-align:left;line-height:normal;padding:20px 0px;background-color:#333A3E;color:white;padding-left:10px;}#footer-bottom .footer-bottom-block.footer-contact-us{display:block;}#footer-bottom .footer-bottom-block a{color:white;margin:0px;}		#footer-bottom .footer-bottom-block:first-child{display:none;}		#footer-bottom .footer-bottom-block:last-child{padding:10px;background-color:#2A2F33;}.footer-bottom-block-left{margin-top:0px;}#footer-bottom .footer-bottom-block:last-child div{padding:0px;width:100%;text-align:left;background-color:#2A2F33;font-size:10px;color:#A2A3A6;}#footer-bottom .footer-bottom-block:nth-child(1),#footer-bottom .footer-bottom-block:nth-child(2),#footer-bottom .footer-bottom-block:nth-child(3),#footer-bottom .footer-bottom-block:nth-child(4),{border-bottom:1px solid #494E52;}#footer-bottom .footer-bottom-block:nth-child(5) {display:table;}		#footer-bottom .footer-bottom-block:nth-child(5) {padding:2px 10px;}#footer-bottom .footer-bottom-block:nth-child(5) a{margin:10px 8px !important;float:left;}#footer-bottom .footer-bottom-block a.footer-social.youtube{background-position:-3054px 0px;}#footer-bottom .footer-bottom-block div:not([class]) {display:table-cell;width:20%;}#footer{display:none;}#footer-bottom br{display:none;}	div#page.page-cart #menu-icons,div#page.page-cart #menuIcon{display:none;}div#page.page-cart #content{margin-top:0px;}div#page.page-cart #footer-bottom .footer-bottom-block:not(:last-child) {display:none;}	div.section-inner[checkout='account']::before{content:'login or register';height:70px;padding:20px;background-color:#444D54;color:white;width:100%;font-weight:500;text-transform:uppercase;box-sizing:border-box;font-size:2.1em;line-height:1em;font-family:"Ubuntu",sans-serif;}	#mobile-order-summary{height:70px;padding:0px 20px;background-color:#444D54;color:white;width:100%;font-weight:500;box-sizing:border-box;font-size:1em;line-height:1em;font-family:"Ubuntu",sans-serif;}#mobile-order-summary .summary-shipping,#mobile-order-summary .summary-items{float:left;}#mobile-order-summary .summary-shipping,#page.page-cart #mobile-order-summary .summary-total{color:#5895D9;}#mobile-order-summary .summary-shipping>span:first-child,#page.page-cart #mobile-order-summary .summary-total>span:first-child{margin:0px 5px;color:white;}div.section-inner[checkout='delivery'] #mobile-order-summary .summary-shipping{display:none;}#order-summary{display:none;}div.section-inner[checkout='account'] #mobile-order-summary{background-color:#E5EAEE;background:none;padding:10px;height:auto;font-size:20px;}div.section-inner[checkout='account'] #mobile-order-summary .inner{background-color:white;padding:20px 10px;}div.section-inner[checkout='account'] #mobile-order-summary .summary-shipping,div.section-inner[checkout='account'] #mobile-order-summary .summary-items,div.section-inner[checkout='account'] #mobile-order-summary .order-summary-product-list{display:none;}div.section-inner[checkout='account'] #mobile-order-summary .summary-total>span:nth-child(1) {color:#444D53 !important;}div.section-inner[checkout='account'] #mobile-order-summary .summary-total>span:last-child{float:right;}/**/	div.section-inner[checkout='delivery'] #mobile-order-summary .summary-header,div.section-inner[checkout='payment'] #mobile-order-summary .summary-header,div.section-inner[checkout='billing'] #mobile-order-summary .summary-header{display:none;}div.section-inner[checkout='delivery'] #mobile-order-summary .item-number,div.section-inner[checkout='payment'] #mobile-order-summary .item-number,div.section-inner[checkout='billing'] #mobile-order-summary .item-number{float:left;margin-right:10px;}div.section-inner[checkout='delivery'] #mobile-order-summary .order-cart-brackets,div.section-inner[checkout='payment'] #mobile-order-summary .order-cart-brackets,div.section-inner[checkout='billing'] #mobile-order-summary .order-cart-brackets{display:none;}div.section-inner[checkout='delivery'] #mobile-order-summary #order-cart-summary,div.section-inner[checkout='payment'] #mobile-order-summary #order-cart-summary,div.section-inner[checkout='billing'] #mobile-order-summary #order-cart-summary{padding-bottom:0px !important;}div.section-inner[checkout='delivery'] #mobile-order-summary #order-summary-product-list{position:relative !important;top:-4px;}div.section-inner[checkout='payment'] #mobile-order-summary #order-summary-product-list,div.section-inner[checkout='billing'] #mobile-order-summary #mobile-order-summary-product-list{position:relative !important;top:10px;}div.section-inner[checkout='delivery'] #mobile-order-summary #order-summary-product-list p,div.section-inner[checkout='payment'] #mobile-order-summary #order-summary-product-list p,div.section-inner[checkout='billing'] #mobile-order-summary #order-summary-product-list p{margin:0px !important;}div.section-inner[checkout='delivery'] #mobile-order-summary .subtotal-order-recap,div.section-inner[checkout='payment'] #mobile-order-summary .subtotal-order-recap,div.section-inner[checkout='billing'] #mobile-order-summary .subtotal-order-recap{display:none;}div.section-inner[checkout='delivery'] #mobile-order-summary .total-order>span:first-child,div.section-inner[checkout='payment'] #mobile-order-summary .total-order>span:first-child,div.section-inner[checkout='billing'] #order-display .total-order>span:first-child{display:none;}div.section-inner[checkout='delivery'] #mobile-order-summary .total-order .price,div.section-inner[checkout='payment'] #mobile-order-summary .total-order .price,div.section-inner[checkout='billing'] #mobile-order-summary .total-order .price{font-size:1em;}div.section-inner[checkout='delivery'] #mobile-order-summary .total-order,div.section-inner[checkout='payment'] #mobile-order-summary .total-order,div.section-inner[checkout='billing'] #mobile-order-summary .total-order{border:none;}	div.section-inner[checkout='account'] .checkout-pane.login{		padding:10px;}#cart-register-pane{border-top:1px solid #E5EAEE;}#cart-login input[type='text'],#cart-login input[type='password']{background-color:#EFF3F6;width:100%;box-sizing:border-box;height:50px;}.checkout-pane.login input[type='submit'],.checkout-pane.login input[type='button']{width:100%;box-sizing:border-box;font-size:1.2em;padding:16px 0;height:50px;}#cart-register-pane>div:first-child{margin:15px 0px 10px 0px;font-size:1.2em;font-weight:500;}#checkout-pane-login{padding:10px;margin-bottom:0px !important;}#already-registered{display:none;}#register-info .form-item{width:100%;height:auto;}#register-info label{float:none;white-space:nowrap;width:100px;padding-right:10px;}#register-info input{width:100%;box-sizing:border-box;font-size:1.2em;padding:16px;height:50px;}.submit-button{margin-bottom:15px;}*[mobile='hidden']{display:none;}div.section-inner[checkout='account'] #checkout-pane-delivery,div.section-inner[checkout='account'] #checkout-pane-billing,div.section-inner[checkout='account'] #checkout-pane-payment{}div.section-inner:not([checkout='account']) .checkout-pane.login{display:none !important;}#content-overlay{display:none;}		div.section-inner[checkout='delivery']::before,div.section-inner[checkout='billing']::before,div.section-inner[checkout='payment']::before{content:'checkout';		top:54px;left:0;height:71px;padding:20px;background-color:#444D54;color:white;width:100%;font-weight:500;text-transform:uppercase;box-sizing:border-box;font-size:2.1em;line-height:1em;font-family:"Ubuntu",sans-serif;}div.section-inner[checkout] .checkout-pane{width:100% !important;}.checkout-pane{box-sizing:border-box;}.checkout-pane.collapsed>div.inner{padding:18px;}.checkout-pane.collapsed>div.inner.summary{padding-top:0px;display:none;}.checkout-pane.collapsed,.checkout-pane.collapsed .inner{background-color:#BABFC3 !important;color:white;opacity:1 !important;width:100% !important;box-sizing:border-box;}.checkout-pane:not(.collapsed) .inner.title{background-color:#444D54;color:white;padding:18px;}.checkout-pane:not(.collapsed) .inner.summary,.checkout-pane:not(.collapsed) .inner.content{padding:18px;}	div.section-inner[checkout='delivery'] #checkout-pane-delivery,div.section-inner[checkout='payment'] #checkout-pane-delivery,div.section-inner[checkout='billing'] #checkout-pane-delivery{margin-top:10px;width:100%;}	#edit-panes-cart-billing-copy-address{width:100%!important;box-sizing:border-box;font-size:1.2em!important;padding:16px;height:50px;margin-left:0px!important;}#checkout-billing-intro{display:none;}#billing-next-step,#delivery-next-step{margin:15px 0px !important;}.checkout-pane .form-element label{width:100% !important;float:none !important;text-align:left!important;}.checkout-pane .form-element .form-item{float:none!important;width:100%!important;margin:0px!important;}.checkout-pane #card-expiry-date .form-item{width:50%!important;float:left !important;}#edit-submit{margin:0px;}#card-cvc .hint{width:100% !important;margin:10px 0px !important;}#card-expiry-date label{float:left !important;}		#your-cart{margin-top:80px;}#cart-summary h1::before{content:'Order ';}#checkout-form-modifiers input[type='submit']{background-color:#adb4bc;height:50px;}div.solr-pager{margin:0;}	#menu-bar-popup-inner-bottom{display:none !important;}#menu-bar-popup-inner{height:3px;}#menu-cart-popup>div{float:none;width:100%;}#menu-cart-popup .menu-bar-popup-title{position:absolute;top:0px;left:0px;border-bottom:2px solid#F0F4F7;width:100%;padding:13px 18px 9px 18px;margin:0px;}#menu-cart-popup .menu-bar-popup-title::before{content:'Item ';}#menu-cart-popup .menu-bar-popup-section-left-inner{margin:50px 18px 0px 18px;}#menu-bar-popup-content>div,#menu-bar-popup-content>p,#menu-bar-popup-cart-item-preview-oneliner{display:none;}#menu-bar-popup-content>form{margin:0px;display:table-row;width:100%;}#menu-bar-popup-content>form a{display:table-cell;width:auto;padding:4px 0px;text-align:center;font-size:18px;}#menu-bar-popup-content>form span{display:table-cell;width:12px;}#menu-bar-popup-content{margin:0px;width:100%;display:table;}#checkout-close{position:absolute;top:0;right:2px;padding:16px;background:none;font-stretch:expanded;text-align:center;}#checkout-close::before{content:"X";font-family:sans-serif;font-weight:200;font-size:16px;transform:scale(1.2,1);-webkit-transform:scale(1.2,1);-moz-transform:scale(1.2,1);-o-transform:scale(1.2,1);display:block;}#menu-cart-popup .menu-bar-popup-section-right{background-color:#F0F4F7;background-color:#F0F4F7;padding:18px 0px;		margin-top:10px;}#menu-cart-popup .menu-bar-popup-section-right-inner{margin:0px 18px;}#menu-bar-popup-cart-item-preview-title{font-size:17px;font-weight:400;}#menu-bar-popup-cart-item-preview .price{left:163px;top:171px;font-weight:100;font-size:20px;font-family:Ubuntu-Light,sans-serif;}#menu-bar-popup-cart-item-preview-image img{width:130px;}#menu-bar .menu-item-tab.active{background-color:white;}.packt-article-line-view{width:48%;background-color:white;padding-bottom:20px;margin:auto;margin-bottom:32px;clear:left;}.packt-article-line-view:nth-of-type(even) {float:right;}.packt-article-line-view .packt-article-line-view-image{text-align:center;overflow:hidden;}.packt-article-line-view .packt-article-line-view-image img{width:100%;min-height:100%;}.solr-pager-rows-selector,.solr-page-page-selector-page,.solr-pager-page-selector strong{display:none;width:100%;}div.solr-pager-page-selector,div.solr-pager-rows-selector{width:100%;font-size:0px;}.paginator_top .solr-page-page-selector-page.next,.paginator_top .solr-page-page-selector-page.previous{display:none;}.solr-page-page-selector-page.previous,.solr-page-page-selector-page.next{width:48%;background:#5C6165;display:block;text-align:center;line-height:50px;}.solr-page-page-selector-page.previous.full,.solr-page-page-selector-page.next.full{width:100%;}a.solr-page-page-selector-page.previous,a.solr-page-page-selector-page.next{color:#fff;font-size:20px;}.solr-page-page-selector-page.previous{float:left;}.solr-page-page-selector-page.next{float:right;}	.nano .book-top-block-wrapper.cf{width:95%;margin:0 auto;}.nano #main-book,.node-type-books.nano #content{background:#E3E7EA;}.nano-book-main-image{width:100%;margin-top:40px;}#main-book.nano .float-left.nano-book-text{width:100%;padding-left:0;}#main-book.nano .float-left.nano-book-text h1{font-size:1.9em;font-size:1.9em;line-height:1.3;margin-bottom:10px;}#nano-learn-border{display:none;}.nano #main-book .share-buttons-line.share-buttons-small{display:block;}	#main-book.nano div.nano-register-form{width:100%;}#main-book.nano .form-item label{margin-left:0;text-align:left;}#main-book.nano .form-item input{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;width:100%;}#main-book.nano .form-item .description{margin-top:15px;}#packt-v3-register-nano-form .captcha{width:100%;}.css-captcha{width:220px;}.nano-book-text a.button-link{margin-bottom:20px;}.solr-pager-sort-selector{display:none;}div#featured-blurb{float:none;width:auto;background-color:white;padding:10px;box-sizing:border-box;margin:20px 0;}.book-block:hover .book-block-overlay{display:none;}	.ml-text-banner{display:none;}.ml-text-banner.mobile{display:block;}#marketing-landing-page-blurb-left{width:100%;margin-bottom:40px;}#marketing-landing-page-blurb-right{width:70%;margin:10px auto;float:none;}#marketing-landing-page-blurb-right img{width:100%;}#marketing-landing-page div.fake-button{width:100%;margin-left:0;}#marketing-landing-page div.fake-button.last{width:100%;margin-left:0;}.ml-links-title{display:none;}.ml-links-title.mobile{display:block;}		#title-bar-title h1{font-size:1.7em;line-height:1.3em;}.article #left-side-menu.menu-blog{display:none;}.responsive_search{width:100%;overflow:hidden;;display:block;}.responsive_search input[name=resp_search]{width:100%;display:block;margin-bottom:10px;}.resp_hide_submit{display:none;}div#menu-bar-search{width:100%;}div#menu-bar-search-box{width:100%;margin:0;}div#menu-bar-search-title{display:none;}div#menu-bar-search-button{display:none;}input#main-search-keys{width:100%;box-sizing:border-box;}#menu-bar .section-inner{padding:0;}div#menu-bar-search{width:100%;}div#menu-bar-search-box{width:100%;margin:0;}div#menu-bar-search-title{display:none;}div#menu-bar-search-button{display:none;}input#main-search-keys{width:100%;box-sizing:border-box;}#menu-bar-search-box #autocomplete{width:100%;margin:0;position:relative;overflow:hidden;}.autocomplete-result.cf{white-space:nowrap;}.packt-cat-top-articles,.packt-cat-bottom-articles{display:none;}.facet-search-cross.facet-search-cross-autocomplete{margin-right:0px;position:absolute;right:30px;display:block;}	#main-carousel .slides{height:250px;}#main-carousel .slide{height:auto;}#main-carousel .slide-title{font-size:2.2em;padding-top:40px;}#main-carousel .slide-body{font-size:0.8em;}#main-carousel .left-slide{width:60%;}#main-carousel .left-slide > div{padding:10px;}#main-carousel .right-slide{width:40%;text-align:center;}#main-carousel .half-slide img{height:250px;}#main-carousel .control,#main-carousel .slide-controls .control-content-container img{display:none;}#main-carousel .control.active{display:block;}#main-carousel .control-content-container{border:0;text-align:left;}#main-carousel .control.active:before{display:none;}.slide-controls-responsive-left,.slide-controls-responsive-right{width:11px;height:17px;vertical-align:middle;background-image:url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png');background-position:-1469px -5px;}.slide-controls-responsive-right{background-position:-1455px -5px;}.slide-controls-responsive-button{padding:5px 15px;margin-top:10px;float:left;cursor:pointer;}.slide-controls-responsive-button.first{border-right:1px #ECECEC solid}#main-carousel .half-slide img{display:initial;}	.facet-search-logo,.facet-search-cross{display:none;}	.panel-pane{padding:0;}#left-side-menu{display:none;}	#newsletter-popup{position:static;width:100%;background-color:#E5EAEE;padding-bottom:30px;}#newsletter-popup input[type=text]{width:100%;padding:0px;background-color:#EFF2F7;border:1px solid #8C8C8C;}#newsletter-popup-close,#signup	-popup-close{display:none;}#packt-v3-subscribtion-dotd-form input[type=submit]{margin-top:15px;width:100%;font-size:1.3em;height:45px;}#newsletter-popup-inner h2{font-weight:100;margin-top:10px;}#title-bar{min-height:0px;padding:20px 0;}#title-bar-title h1{margin-top:0px;}#title-bar-breadcrumb{display:none;}	.panel-panel .content .node{padding:20px;margin:0;}.panel-packt-twocol{margin-top:0;}	#edit-submitted-what-would-you-like-help-with-wrapper a.selectBox{margin-left:0;}select#edit-submitted-what-would-you-like-help-with{width:90%;margin-left:0;}.page-books-info-packt-contact-us .webform-client-form textarea,.page-books-info-packt-contact-us .panel-panel input#edit-submit{width:100%;}.page-books-info-packt-contact-us .webform-component-email{margin:0;width:93%;}#main-container.page-books-info-packt-contact-us input[type=text],select#edit-submitted-contact-us-title{width:90%;margin:0;}.careers_navigation td{display:block;width:100%;}iframe{max-width:100%;}#dotd-countdown{display:none;}#packt-subscription-new .packt-subscription-content-container{width:90%;margin:auto;}.subs-how-to-use-outer{width:100%;}.subs-how-to-use-plus-outer{width:10%;}.subs-how-to-use-item h3{font-size:1.34em;line-height:3em;padding-left:15px;padding-right:15px;}.subs-how-to-use-plus{margin:0px;margin-top:14px;}	#packt-subscription-new #packt-subscription-header{height:500px;display:none;}#packt-subscription-new #packt-subscription-header .title{margin-top:10px;font-size:2em;}#packt-subscription-new #packt-subscription-content .float-left.packt-subscription-page-image,#packt-subscription-new #packt-subscription-content .float-right.packt-subscription-text,#packt-subscription-new #packt-subscription-content .float-right.packt-subscription-page-image,#packt-subscription-new #packt-subscription-content .float-left.packt-subscription-text{text-align:left;width:100%;float:none;margin-left:0;margin-right:0;padding-left:0;padding-right:0;}#packt-subscription-new .basic-registration-button-link{width:auto;margin-left:5%;margin-right:5%;}#packt-subscription-new #packt-subscription-header p{width:100%;}#packt-subscription-new #packt-subscription-content .float-left.packt-subscription-page-image img{max-width:100%;}#packt-subscription-new #packt-subscription-header img{display:none;}#packt-subscription-new .packt-subscription-plan,#packt-subscription-new .packt-subscription-plan:nth-of-type(3) {float:none;margin:auto;margin-bottom:40px;width:100%;}#packt-subscription-new .packt-subscription-plan input[type=submit].form-submit{width:100%;margin-top:20px;}.b2b-seats-qty-counter,.packt-subscription-plan.b2b-subscription form{width:90%;margin:0 5%;}.b2b-seats-qty{width:50%;}.b2b-seats-qty-dec,.b2b-seats-qty-inc{width:25%;}#packt-subscription-new .packt-subscription-plan form#packt-libraries-add-to-cart-form-page-subscription-1 input[type=submit].form-submit{width:100%;}#packt-subscription-new .packt-subscription-plan form#packt-libraries-add-to-cart-form-page-subscription-1{width:90%;margin:0 5%;margin-top:15px;margin-bottom:15px;}#packt-subscription-tab-links{width:100%;padding:0;}#packt-subscription-new .packt-subscription-content-container{position:relative;width:100%;box-sizing:border-box;padding:20px;}.float-tab2.packt-subscription-page-image{float:left;width:100%;text-align:center;}.float-tab2.packt-subscription-page-image img{width:100%;max-width:550px;}.b2b-buy-seats-block{float:left;width:100%;}#packt-subscription-new #packt-subscription-content .float-left.packt-subscription-page-image{text-align:center;}#packt-subscription .subs-how-to-use-plus{margin-top:20px;position:relative;bottom:4em;}#freelearning-central-image-container{display:none;}.first-tab .packt-subscription-tab-content-container{display:table;}.first-tab .packt-subscription-page-image{display:table-footer-group;}.first-tab .packt-subscription-text{display:table-header-group;}#packt-subscription-new #packt-subscription-content .packt-subscription-text{width:100%;}#packt-subscription-new .webform-component-textfield{width:100%;}#packt-subscription-new .webform-component-textfield input{max-width:none;width:100%;box-sizing:border-box;}#packt-subscription-new .b2b-buy-seats-block .packt-subscription-plan{width:100%;}.float-left.packt-subscription-text{width:100%;}#packt-subscription-new #packt-subscription-plans-section,.packt-subscription-tab-content-container[data-tab-content="pricing"],.packt-subscription-more-info{padding-bottom:20px;}	.node-type-free-learning-page .section-outer .white{margin-left:10px;margin-right:10px;}#free-learning-banner{display:none;}#free-learning-mobile-banner{display:block;margin-bottom:30px;background-color:#feca5c;width:100%;height:auto;text-align:center;}#free-learning-mobile-banner img{width:380px;}.node-type-free-learning-page .dotd-main-book-image{float:none;width:100%;margin:0 auto;}.node-type-free-learning-page .dotd-main-book-summary{width:100%;}div.eighteen-days-countdown-bar{margin-top:35px;height:auto;padding-top:18px;text-align:center;line-height:1.3;font-size:1.6em;font-weight:600;margin-bottom:0;padding-bottom:55px;}div.eighteen-days-countdown-bar span{display:inline-block;vertical-align:middle;height:auto;}div.eighteen-days-countdown-bar .packt-js-countdown{width:100%;font-weight:700;font-size:1.8em;height:auto;}.node-type-free-learning-page div.dotd-title{display:block;margin-top:15px;margin-bottom:0;}.node-type-free-learning-page div.dotd-title h2{font-size:1.6em;font-weight:600;}.node-type-free-learning-page .free-ebook{width:100%;}.node-type-free-learning-page .book-claim-token-inner .book-claim-token-logo{margin-right:5%;overflow:hidden;zoom:1.3;-moz-transform:scale(1.3);-moz-transform-origin:0 0;margin-top:4px;}.node-type-free-learning-page .free-ebook input{width:80%;margin-top:10px;}	.star-book-banner{border-top:4px solid #f59333;border-bottom:4px solid #f59333;}.star-book-banner .section-inner{width:100%;box-sizing:border-box;padding-left:30px;padding-right:30px;padding-top:68px;}.star-book-banner-left,.star-book-banner-right{width:100%;}.star-book-banner-left img,.star-book-banner-right img{display:block;margin:0 auto;border:1px solid white;}.coming-soon{font-size:1.2em;display:block;margin-bottom:7px;}.star-book-banner-right{padding-bottom:20px;}.star-book-banner-right h1{font-size:2em;line-height:1.2;padding-bottom:10px;}.star-book-banner .fake-button{margin-top:42px;width:100%;height:59px;font-size:1.2em;box-sizing:border-box;padding:9px;}.star-book-one-liner{font-size:0.8em;}.star-book-description-banner{padding-top:40px;padding-bottom:40px;font-size:0.8em;}.star-book-blocks.cf{padding-bottom:0;box-sizing:border-box;padding-left:25px;padding-right:25px;}.star-book-block{width:50%;display:block;margin:0 auto;margin-bottom:60px;}.star-book-bottom-banner{padding-top:65px;padding-bottom:25px;}.star-book-bottom-banner-content{width:100%;}.star-book-signup{margin-top:0;padding-bottom:70px;}.star-book-signup span{font-size:1.4em;line-height:1;}.star-book-signup input[type="text"]{font-size:0.95em;}.star-book-signup input[type="text"]::-webkit-input-placeholder{color:#9B9A9A;}.star-book-signup input#edit-submit{width:100%;margin-top:15px;}.star-book-bottom-banner-left{width:100%;}.star-book-bottom-banner-left img{display:block;margin:0 auto;margin-bottom:50px;}.star-book-bottom-banner-right{width:100%;}#main-book.star .book-top-block-wrapper{margin-bottom:0;}.page-web-development-star-book-example{margin-top:10px;}.node-type-multi-bundle-page #marketing-landing-page-blurb-right{width:100%;margin-right:0;}.node-type-multi-bundle-page #marketing-landing-page-blurb-left{width:100%;margin-right:0;}.node-type-multi-bundle-page div.fake-button{width:100%;}.node-type-multi-bundle-page #marketing-landing-page-blurb-right img{width:auto;max-width:100%;margin:0 auto;display:block;}.node-type-multi-bundle-page .book-block.last{margin-right:0;}	.skillup-2boxs{width:100%;}.skillup-4boxs{width:100%;}a .skillup-float{margin-top:20px;}.skillup-boxs{margin:0 auto;border:0;padding:0;}.skillup-3boxs{padding:20px 0;margin:0 auto;}.skillup-boxs{width:100%;}.skillup-boxs img{display:block;margin-left:auto;margin-right:auto;}.skillup-mb30-reponsive{margin-bottom:30px;}.skillup-text{min-height:50px;}.skillup-zone3 a{text-decoration:none;color:white;cursor:pointer;}.skillup-zone4 .skillup-4boxs img{margin-top:0px;}.skillup-viewbundle-button{background-color:#e94c3c;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;text-align:center;width:100%;max-width:500px;margin:0 auto;padding:5px;}.skillup-buynow-button{background-color:#407c8f;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;text-align:center;width:100%;max-width:500px;margin:0 auto;padding:5px;}.skillup-buynow2-button{background-color:#545454;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;text-align:center;width:100%;max-width:500px;margin:0 auto;padding:5px;}.skillup-hideinsmall{display:none;}	.report-banner-logo{width:100%;float:none;margin:0 auto;}.report-banner-logo img{display:block;margin:0 auto;}.report-banner-text{width:100%;float:none;}.report-block{padding-top:20px;padding-bottom:20px;width:100%;}.report-picture{max-width:100%;width:100%;float:none;}.report-picture img{display:block;margin:0 auto;}.report-info{max-width:100%;float:none;transform:translateY(0%);}	.promo .section-inner{padding-top:50px;padding-bottom:30px;}.promo-landing-book{width:100%;}.promo-landing-book-picture{float:center;width:100%;height:364px;}.promo-landing-book-picture img{width:295px;height:364px;}.promo-landing-book-picture img,.promo-landing-book-info img{display:block;margin:0 auto;max-width:500px;}.promo-landing-book-info{float:left;width:100%;margin-top:20px;padding-left:0px;}.promo-landing-book-body{width:100%;}.promo-landing-book-body-title{margin-bottom:5px;}.promo .promo-register-form{width:100%;}.promo .form-item input{width:100%;}.promo #packt-v3-register-promo-form label{text-align:left;}    .node-course .course-banner-right{width:100%;}}@media only screen and (min-width:905px) and (max-width:1040px) {.book-block-outer.row-blurb-1.book-positiion-5{margin-left:680px;}.book-block-outer.row-blurb-2.book-positiion-4{margin-left:680px;}.book-block-outer.row-blurb-3.book-positiion-3{margin-left:680px;}#packt-subscription .subs-how-to-use-plus{margin-top:20px;position:relative;bottom:4em;}}@media only screen and (min-width:735px) and (max-width:904px) {.book-block-outer.row-blurb-1.book-positiion-4{margin-left:340px;}.book-block-outer.row-blurb-2.book-positiion-3{margin-left:340px;}.book-block-outer.row-blurb-3.book-positiion-2{margin-left:340px;}}@media only screen and (min-width:1020px) and (max-width:1040px) {.node-type-multi-bundle-page .book-block-position-5{margin-right:20px;}}@media only screen and (max-width:359px) {.node-type-multi-bundle-page .book-block{width:130px;}}@media only screen and (max-width:540px) {#packt-subscription .book-top-subscribe-text{width:75%;font-size:1.2em;text-align:left;}#packt-subscription .packt-subs-left-price,#packt-subscription .packt-subs-right-price{font-size:1em;line-height:3.8em;margin-right:0px;}#packt-subscription .packt-subs-related-books h2,.packt-subs-how-to-use h2{font-size:1.8em;}#packt-subscription .packt-subs-left-price,#packt-subscription .packt-subs-right-price{font-size:1em;line-height:3.8em;margin-right:0px;}#packt-subscription .packt-subs-forms .book-top-subscribe-separator{margin-top:8px;}#packt-subscription .packt-subs-forms .book-top-subscribe-subscribe-button{width:100%;margin-left:0px;height:45px;}#packt-subscription .subs-how-to-use-item h3{font-size:100%;}#packt-subscription .packt-subs-related-books h2,.packt-subs-how-to-use h2{font-size:1.4em;}#packt-subscription .subs-how-to-use-plus{margin-top:20px;position:relative;bottom:4em;}#packt-subscription .book-top-subscribe-upsell form input[type=submit],.book-top-subscribe-upsell form input[type=button],.packt-subs-top-outer form input[type=submit]{width:100%;}#packt-subscription .packt-subs-forms .book-top-subscribe-logo{background-position:-696px 0px;width:22px;height:50px;}#packt-subscription .book-top-subscribe-text{font-size:1.2em;text-align:left;}.packt-article-line-view{width:100%;background-color:white;padding-bottom:20px;margin:auto;margin-bottom:32px;}.packt-article-line-view .packt-article-line-view-image{text-align:center;overflow:hidden;}.packt-article-line-view .packt-article-line-view-image img{width:100%;min-height:100%;}.nano-book-main-image img{width:85%;}#marketing-landing-page-blurb-right{width:100%;}	.star-book-block{width:100%;}.star-book-banner-left img{width:270px;height:auto;border:1px:solid white;}.star-book-signup form input{width:90%;}}@media only screen and (max-width:370px) {.sub-book-block{width:130px;}#main-book.nano input#edit-register-nano.form-submit{width:75%;margin:0 auto;padding:0;font-size:0.9em;}#packt-subscription .subs-how-to-use-plus{margin-top:20px;position:relative;bottom:4em;}}.node-type-blog,.node-type-article{background:#fff;}.article-content h1,.article-content h2,.article-content h3,.article-content h4{margin-top:20px;margin-bottom:20px;}.article-content p{font-weight:400;color:#333;font-family:Merriweather,Georgia,serif;font-size:1rem;line-height:1.9rem;margin-bottom:20px;}.article-content strong{font-weight:700;}.article-content pre{margin-bottom:20px;}.blog-header{width:100%;overflow:hidden;}.blog-featured-image,.blog-featured-book{margin-right:30px;}.blog-featured-image{width:285px;height:136px;overflow:hidden;}.blog-featured-image img{width:100%;}.blog-featured-book img{width:145px;}.blog-title{height:136px;}.blog-title h1{font-size:34px;font-weight:100;line-height:1.3;position:relative;top:50%;transform:translateY(-50%);}.blog-author-block{background:#F3F3F3;border:1px solid #FCAB3C;width:100%;overflow:hidden;margin-top:30px;box-sizing:border-box;padding:8px 15px;margin-bottom:15px;}.blog-author-block-left{float:left;}.article-featured-block p,.blog-author-block-left p{margin:0;font-size:12px;font-weight:400;color:#606060;}.article-featured-block h2,.blog-author-block-left h2{font-size:20px;font-weight:500;margin-bottom:0;height:26px;}.article-featured-block h2 a,.blog-author-block-left h2 a{color:#494949;}.blog-author-block .share-buttons-line{float:right;height:30px;overflow:hidden;margin:0;padding-top:10px}.blog-author-block .share-buttons-line .share-icon-background{background:none;}.blog-author-block .share-buttons-line .share-icon{background-size:1697px auto;height:25px;width:26px;}.blog-author-block .share-buttons-line .linkedin.share-icon{background-position:-896px 0px;}.blog-author-block .share-buttons-line .twitter.share-icon{background-position:-922px 0px;}.blog-author-block .share-buttons-line .facebook.share-icon{background-position:-948px 0px;}.blog-author-block .share-buttons-line .google-plus.share-icon{background-position:-976px 0px;}.blog-content-left{width:755px;}.blog-content-right{width:215px;margin-left:20px;margin-top:40px;}.article-content{border-bottom:4px solid #FF8901;margin-bottom:3px;}.article-featured-block{border-top:2px solid #FF8901;padding:45px 0;box-sizing:border-box;overflow:hidden;}.article-featured-block .fake-button{width:235px;height:40px;box-sizing:border-box;padding:3px 0;text-align:center;font-size:21px;}.article-book-title{float:left;overflow:hidden;padding-top:20px;}.article-featured-block h2{min-height:50px;}.sidebar-featured-content{position:relative;}.tech-sidebar-panel .img-container{height:105px;overflow:hidden;}.tech-sidebar-panel h2{font-family:Merriweather,Georgia,serif;font-size:11px;font-weight:600;margin-bottom:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis;color:#494949;overflow:hidden;max-height:30px;}.tech-sidebar-panel{width:100%;}.tech-sidebar-panel .author{font-size:12px;margin-top:0;color:#494949}.sidebar-featured-content h2{font-size:13px;font-weight:100;overflow:visible;max-height:none;}.sidebar-featured-content h2 span{background-color:#FD9300;box-shadow:10px 0 0 #FD9300,-4px 0 0 #FD9300;line-height:1.4;}.sidebar-featured-content .text-overlay .title{overflow:hidden;padding-left:4px;max-height:44px;}.sidebar-featured-content .text-overlay{position:absolute;box-sizing:border-box;padding:10px;top:0;}#main-article .sidebar-featured-content .author{font-size:11px;}#main-article .sidebar-featured-content .author,.sidebar-featured-content .author{background-color:#EBEBEB;box-shadow:4px 0 0 #EBEBEB,-4px 0 0 #EBEBEB;width:auto;display:inline-block;margin-left:4px;}.sidebar-block-header{background:#e8e8e8;background:-moz-linear-gradient(left,#E8E8E8 0%,#E8E8E8 0%,#FFFFFF 100%);background:-webkit-linear-gradient(left,#E8E8E8 0%,#E8E8E8 0%,#FFFFFF 100%);background:linear-gradient(to right,#E8E8E8 0%,#E8E8E8 0%,#FFFFFF 100%);border:1px solid #E7E7E7;box-sizing:border-box;padding:10px 10px 5px 10px;}.sidebar-block-content{background:#F5F5F5;background:-moz-linear-gradient(left,#F5F5F5 0%,#F5F5F5 0%,#FFFFFF 100%);background:-webkit-linear-gradient(left,#F5F5F5 0%,#F5F5F5 0%,#FFFFFF 100%);background:linear-gradient(to right,#F5F5F5 0%,#F5F5F5 0%,#FFFFFF 100%);border:1px solid #E7E7E7;box-sizing:border-box;padding:10px 10px 0 10px;border-top:0;margin-bottom:20px;}.sidebar-block-header h1{font-size:17px;color:#525252;font-weight:400;}.sidebar-block-content .author{color:#929292;font-weight:500;}.sidebar-new-popular{margin-top:10px;}.sidebar-related{padding-top:10px;padding-bottom:10px;}.sidebar-related .related-block{width:70px;box-sizing:border-box;padding:0 3px 15px 3px;text-align:center;font-size:10px;max-height:100px;overflow:hidden;}#main-article .sidebar-other-featured p{margin-bottom:5px;}.sidebar-related .related-block p{line-height:1.1;margin-top:5px;margin-bottom:0;word-wrap:break-word;font-size:10px;font-weight:500;}.sidebar-related .related-block img{width:40px;margin:0 auto;}.nano-promo{border-top:2px solid #FF8901;margin-top:0;}@media only screen and (max-width:1040px) {.blog-content-left{width:100%;}.blog-title{float:left;}.blog-title h1{font-size:32px;line-height:1;margin-top:15px;float:left;}.blog-featured-book{width:100%;}.blog-featured-book img{margin:0 auto;}.article-book-title{width:100%;}.panel-packt-cat .article-book-title h2,.panel-packt-cat .blog-author-block-left h2{display:block;}.blog-author-block-left{width:100%;}.blog-author-block .share-buttons-line{float:none;width:145px;margin:0 auto;display:block;padding-top:25px;}.article-featured-block .fake-button{width:100%;}.blog-content-right{display:none;}.blog-featured-image{width:100%;height:auto;}#main-article .blog-featured-image img{max-width:320px;margin:0 auto;}}.node-type-books #content,.node-type-videos #content{background-color:white;margin-top:16px;}#main-book{width:100%;background-color:white;position:relative;margin:0 auto;margin-top:0px;}.book-top-block{position:relative;margin:0 auto;}.left{float:left;}.book-top-block-image{width:35%;margin-bottom:10px;}.book-top-block-info{width:65%;}.book-top-block-wrapper{width:100%;position:relative;background-color:white;margin-bottom:40px;margin-top:25px;}.book-top-block-read-collect{width:302px;margin-top:28px;}.book-top-block-readonline,.book-top-block-collect,.book-top-block-code{position:relative;margin:0 auto;}.book-top-block-code{}.book-top-block-code a{color:black;}.disabled .book-top-block-code-button{cursor:default;}.book-top-block-readonline-button{position:relative;margin:0 auto;float:left;}.book-top-block-collect-button{position:relative;margin:0 auto;float:right;}.book-top-block-collect-button.in-collection{background-color:#B2B2B2;cursor:default;}.book-top-block-readonline-button,.book-top-block-collect-button,.book-top-block-code-button,.book-interaction-inner .book-owned-download-inner,.book-claim-token{width:140px;text-align:center;background-color:#D3DBDD;height:44px;line-height:3.2em;cursor:pointer;font-weight:300;margin-left:15px;border:#9E9E9E solid 1px;}.disabled{opacity:0.5;cursor:default;}.disabled input,.disabled .book-owned-read-inner,.book-owned-download-inner.disabled,.book-top-block-readonline.disbled{cursor:default;}.book-top-block-readonline-logo,.book-top-block-collect-logo,.book-top-block-code-logo,.book-download-logo,.book-download-logo-white{display:inline-block;width:20px;height:44px;background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;float:left;margin-left:13px;}.book-top-block-readonline-logo{background-position:-571px 12px;}.book-top-block-readonline-logo.book-video-logo{background-position:-2681px 12px;}.book-top-block-collect-logo{background-position:-1208px 0px;width:25px;}.book-top-block-code-logo,.book-download-logo{background-position:-2905px 13px;width:23px;}.book-download-logo-white{background-position:-815px 13px;width:26px;}.book-top-block-code-text{float:left;margin-left:12px;color:rgb(73,73,73);}.book-top-block-readonline-text{display:inline-block;color:rgb(73,73,73);}.book-top-block-info-title h1,.new-newsletter-top-title h1{font-size:280%;font-weight:bolder;color:black;}.book-top-block-info-authors{max-width:380px;font-weight:800;opacity:0.8;}.book-top-block-info-authors time,.book-top-block-info-authors .date-display-single{font-weight:400;}.book-top-block-info-level{font-size:1.2em;}.book-level-1,.book-level-2,.book-level-intermediate{background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;width:53px;height:30px;}.book-level-1{background-position:-2544px 0px;}.book-level-2{background-position:-2593px 0px;}.book-top-block-star-rating,.book-review-star-rating{width:100%;}.book-block-star,.book-review-star{background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;background-position:-637px 0px;}.book-review-star-rating .book-review-star{height:22px;width:23px;background-position:-718px 0px;float:left;margin-right:8px;margin-top:19px;}.book-review-star-rating .active-star{background-position:-745px 0px;}.book-review-star-rating{margin-left:20px;}.book-top-block-star-rating .active-star{background-position:-657px 0px;}.book-top-pricing-block{width:100%;margin-top:44px;}.book-top-pricing-price,.book-top-type-selection{float:left;}.book-top-addtocart{float:right;width:357px;text-align:center;height:53px;position:relative;bottom:60px;}.book-top-addtocart form{width:100%;}.book-top-addtocart-inner input[type=submit]{padding:0em;margin:0em;background-color:#5594DB;float:left;width:80%;height:100%;font-weight:500;font-size:1.5em;line-height:2.5em;}.book-top-block-info .packt-libraries-add-to-cart-form{width:100%;}#marketing-bundle .packt-libraries-add-to-cart-form{width:100%;}.book-top-pricing-main-price{font-weight:300;font-size:3em;color:#5594DB;margin-top:-16px;margin-right:10px;}.book-top-pricing-rrp{text-align:left;font-weight:300;font-size:0.9em;margin-top:-13px;}.book-top-pricing-main-book-price,.book-top-pricing-rrp-book,.physical-product{display:none;}.book-type-select-ebook,.book-type-select-print{background-color:#F8F8F8;font-weight:300;font-size:1.1em;cursor:pointer;padding-right:10px;}.book-type-disabled{opacity:0.6;}.book-type-select-print{margin-top:5px;}.book-type-select-dot-outer{margin-left:10px;}.book-top-block-info-one-liner{font-size:1.2em;font-weight:500;margin-top:20px;}.book-top-addtocart-inner{background-color:#5594DB;float:right;width:100%;height:53px;cursor:pointer;}.book-top-subscribe-subscribe-button{background-color:#4BA8AF;width:89%;float:left;margin-left:15px;cursor:pointer;height:41px;margin-top:10px;}.book-top-addtocart-logo{height:34px;width:22px;float:left;background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;background-position:-674px 6px;margin-top:9px;margin-left:14px;margin-right:4px;}.book-top-subscribe-logo{background-position:-696px 0px;border:none;height:22px;width:22px;float:left;margin-top:9px;margin-left:14px;margin-right:4px;}.book-top-subscribe-logo img{width:100%;}.book-top-addtocart-text,.book-top-subscribe-text{width:80.5%;float:right;color:white;font-weight:500;font-size:1.5em;line-height:2.5em;}.book-top-subscribe-text{width:79%;line-height:2.3em;font-weight:400;text-align:center;font-size:1.3em;}.book-top-subscribe-text p{margin:0;}.book-top-subscribe-separator,.book-top-addtocart-separator{float:left;border-right:1px solid #6AB7BD;height:22px;margin-top:9px;margin-left:15px;}.book-top-addtocart-separator{margin-top:15px;}.book-top-subscribe-upsell,.book-top-buymore-upsell{width:302px;background-color:#F8F8F8;float:left;height:120px;}.book-top-subscribe-blurb{width:698px;background-color:#EAECEB;float:left;height:120px;}.book-top-subscribe,.book-top-buymore{width:100%;}.book-top-subscribe-upsell h4,.book-top-subscribe-blurb h4{padding:20px;padding-bottom:0px;color:black;}.book-top-buymore-blurb h4{padding:20px;padding-bottom:0px;margin-left:20px;}.book-top-buymore-upsell .book-top-pricing-main-book-price,.book-top-buymore-upsell .book-top-pricing-rrp-book,.book-top-buymore-upsell .physical-product{display:block;}.book-top-buymore-upsell:not(.ebook-only) .book-top-pricing-main-ebook-price,.book-top-buymore-upsell:not(.ebook-only) .book-top-pricing-rrp-ebook,.book-top-buymore-upsell:not(.ebook-only) .digital-product{display:none;}.book-top-subscribe-blurb h4{color:#4BA8AF;margin-left:20px;}.book-top-subscribe-price-block{float:left;width:79%;margin-left:20px;color:#4BA8AF;text-align:center;}.book-top-subscribe-price{font-size:2.5em;font-weight:300;}.book-top-subscribe-blurb-text,.book-top-buymore-blurb-text{width:90%;margin-left:40px;margin-top:10px;font-weight:300;font-size:1em;}.book-info-wrapper,.book-info-bottom-wrapper{background-color:#F3F7F8;padding-top:40px;}.more-authors{margin-bottom:20px;}.book-info-details,#book-info-toc{float:left;width:30%;margin-right:50px;}.book-info-bottom-author-text,.book-info-bottom-indetail-text{font-weight:300;}.book-info-about-audience{width:60%;}.book-info-about-audience  .book-page-content{width:100%;}.book-info-bottom-wrapper .book-page-content{width:60%;float:right;}#main-book h2{font-weight:300;font-size:2em;margin-bottom:20px;}.book-info-about-text,.book-info-audience-text,.book-info-will-learn-text{font-weight:300;}.book-info-bottom-author-title h3{font-size:1.3em;margin-bottom:10px;}.book-info-bottom-author-body{margin-bottom:20px;}.book-info-wrapper ul li,.book-info-bottom-wrapper ul li{background:transparent url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/new-li-tick.png) no-repeat;background-position:0px 4px;}.book-info-bottom-readmore{position:relative;background-color:#E3E7EA;}.book-info-bottom-readmore-button{position:relative;margin:0 auto;width:170px;text-align:center;height:35px;background-color:#F3F7F8;line-height:2.5em;cursor:pointer;}.book-info-details span.label{font-weight:400;width:100px;display:inline-block;}.book-info-details-text{font-weight:100;}.book-reviews{background-color:#E3E7EA;}.book-review{width:33.3333%;float:left;height:256px;}.book-review-inner{width:320px;}.book-info-outer{position:relative;width:100%;background-color:#F3F7F8;}.book-info-wrapper,.book-info-bottom-wrapper,.book-reviews{margin:0 auto;}.book-info-outer-reviews{background-color:#E3E7EA;}.book-review-rating{height:65px;background-color:white;}.book-review-review{height:191px;width:100%;background-color:#F2F4F3;}.book-review-name{font-weight:bold;font-size:1.2em;padding:25px;}.book-review-text{padding:25px;padding-top:0px;font-weight:300;}.book-reviews h2{font-weight:300;font-size:2em;margin-bottom:40px;}.book-reviews-wrapper{margin-bottom:40px;}.book-reviews-choice-level{width:50%;float:left;}.book-reviews-choice-inner{width:490px;height:150px;}.float-middle{margin:0 auto;}.book-reviews-choice{margin-bottom:50px;margin-top:40px;}.book-reviews-choice-text{float:left;width:65%;margin-left:20px;margin-top:20px;font-weight:300;}.book-reviews-choice-text h3{font-size:2em;font-weight:bold;color:black;}.bg-4ba8af,.bg-d92238,.bg-4ba8af h3,.bg-d92238 h3{color:white;}.book-reviews-wrapper{margin-bottom:40px;}.book-to-consider{background-color:#F3F7F8;padding-top:40px;}.book-to-consider-text{font-weight:300;}.book-to-consider-inner{margin:0 auto;}.book-to-consider h3{font-weight:300;font-size:2em;margin-bottom:20px;}.book-to-consider-books-inner{position:relative;z-index:1;}.float-middle{margin:0 auto;}#comments{display:none;}.india-currency{font-size:0.666em;margin-top:5px;}.book-top-subscribe-upsell form input[type=submit],.book-top-subscribe-upsell form input[type=button],.packt-subs-top-outer form input[type=submit]{background-color:#4BA8AF;padding:0;margin:0;font-size:1em;margin-left:-17px;cursor:pointer;}.book-owner-blurb,.book-subscribed-blurb{width:45%;float:left;font-weight:300;font-size:1.15em;}.book-owned-download-read{width:55%;}.book-subscribed-download-read{width:357px;margin-top:10px;position:relative;bottom:60px;clear:right;}.book-owned-download-button,.book-owned-read-button,.book-subscribed-read-button{width:50%;text-align:center;}.book-subscribed-read-button{width:100%;}.book-owned-download-inner,.book-owned-read-inner,.book-subscribed-read-inner{height:53px;width:170px;background-color:#5594DB;cursor:pointer;}.book-subscribed-read-inner{width:100%;}.book-owned-read-inner,.book-subscribed-read-inner{float:right;}.book-owner-blurb-inner,.book-subscribed-blurb-inner{width:80%;}.book-owned-download-logo,.book-owned-read-logo,.book-subscribed-read-logo,.book-claim-token-logo{height:34px;width:25px;float:left;background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;background-position:-814px 6px;margin-top:5px;margin-left:15px;}.book-owned-read-logo,.book-subscribed-read-logo{background-position:-788px 6px;}.book-subscribed-read-logo.book-video-logo{background-position:-2647px 3px;}.book-claim-token-logo{background-position:-3140px 8px;}.book-claim-token{width:302px;margin-left:0;}.book-owned-download-separator,.book-owned-read-separator,.book-subscribed-read-separator,.book-claim-token-separator{float:left;border-right:1px solid #6AB7BD;height:22px;margin-top:15px;margin-left:16px}.book-claim-token-separator{display:none;}.book-owned-download-inner input,.book-owned-read-inner input,.book-subscribed-read-inner input{margin:0;margin-top:8px;padding:0;font-size:1.3em;background-color:transparent;}.book-subscribed-read-inner input{margin-top:9px;font-size:1.4em;background:transparent;}.book-interaction-inner .book-owned-download-inner input,.book-claim-token input,.book-claim-token-responsive input{margin-top:0;font-weight:300;color:rgb(73,73,73);font-size:1em;background:transparent;}.book-claim-token-responsive{display:none;}.book-top-buymore-upsell .book-top-type-selection{width:90%;margin-top:10px;margin-left:13px;}.book-top-buymore-upsell .book-top-type-selection .book-type-select-ebook,.book-top-buymore-upsell .book-top-type-selection .book-type-select-print{width:50%;float:left;padding:0px;margin:0px;}.book-top-buymore-upsell .book-top-pricing-price{margin-top:20px;width:42%;margin-left:19px;}.book-top-buymore-upsell .book-top-pricing-main-price{font-size:2.5em;}.book-top-buymore-upsell .book-top-pricing-rrp{margin-top:63px;}.book-subscribed-addtocart-wrapper .book-top-addtocart-inner{float:left;margin:0 auto;width:85%;margin-left:23px;height:41px;margin-top:8px;}.book-subscribed-addtocart-wrapper .book-top-addtocart-logo{margin-top:3px;}.book-subscribed-addtocart-wrapper .book-top-addtocart-separator{margin-top:10px;}.book-subscribed-addtocart-wrapper .book-top-addtocart-inner input[type=submit]{width:70%;height:41px;line-height:1.5em;font-size:1.3em;}.book-top-buymore{margin-top:40px;}.book-level-information{width:19px;height:16px;float:right;background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;background-position:-838px -3px;margin-top:7px;margin-left:4px;}.book-level-text-info{font-size:1.1em;}.book-top-block-info-level .book-level-information{}.book-level-text-info .book-level-2,.book-level-text-info .book-level-1{margin:auto;}.show-level-info{cursor:pointer;}form#packt-libraries-add-to-cart-form-subscription{width:100%;}.book-interaction-wrapper{background-color:#E3E7EA;padding:25px 0;}#book-level-overlay{position:fixed;width:100%;height:100%;z-index:999;filter:alpha(opacity=50);-moz-opacity:0.5;-khtml-opacity:0.5;opacity:0.5;top:0;left:0;background-color:#000;}#book-level-lightbox{position:absolute;top:0%;left:0;z-index:1000;background-color:white;width:100%;min-width:1000px;overflow:auto;}.book-level-lightbox-inner{margin:0 auto;position:relative;font-weight:300;font-size:1.5em;}.book-top-subscribe{margin-top:40px;}.second-level-info{display:none;}.book-top-pricing-main-book-price,.book-top-pricing-rrp-book{display:none;}.book-level-cross{float:right;width:20px;height:20px;background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;background-position:-1181px -7px;cursor:pointer;}div.book-level-underheading{padding-bottom:30px;}.book-level-series{background-color:#F4F7F8;padding-top:30px;}.book-level-series-block{width:333px;float:left;margin-bottom:50px;}.two-book-series-row{width:66.6666%;margin:auto;}.book-level-series-text{width:90%;}.book-level-heading{padding-bottom:20px;padding-top:20px;}.book-level-series-block h3{color:#4FA8AE;margin-bottom:20px;font-size:1.2em;margin-top:20px;}.book-level-level{background:#E3E7EA;padding:30px 0;}.book-level-series-block .book-level-1,.book-level-series-block .book-level-2{margin-left:30px;}.book-level-gauges{width:333px;margin-top:20px;padding:0 20px;}.book-level-gauge-left,.book-level-gauge-middle,.book-level-gauge-right{background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;background-position:-864px 0px;height:54px;width:75px;float:left;}.book-level-gauge-right{background-position:-1040px 0px;}.book-level-gauge-middle{background-position:-952px 0px;}.book-level-line{border-top:1px dotted black;width:130px;float:left;margin:30px 17px 0px 17px;}.book-level-expo{width:312px;text-align:center;}.book-level-text{width:90%;margin:0 auto;}.book-level-expo h3{font-size:1.2em;color:#4FA8AE;}.book-level-level-texts{margin-bottom:50px;margin-top:30px;}.book-level-heading h2{font-weight:300;}div.download-option-item{padding:2px 0 2px 15px;}div.download-option-item a{color:#8C8C8C;}div.download-option-item:hover{background:#C8DEF4;}#main-book div.book-download-options,.reader-book-info .book-download-options{width:140px;font-size:1.2em;background:#ECF1F4;text-align:center;text-align:center;border:1px solid #9e9e9e;border-top:0;margin-left:15px;display:none;}#main-book div.download-option-item{padding-left:0px;cursor:pointer;padding-right:0px;text-align:center;}.node-type-videos .book-top-pricing-main-book-price,.node-type-videos .book-top-pricing-rrp-book,.node-type-videos .physical-product{display:block;}.node-type-videos .book-top-buymore-upsell .book-top-pricing-price{margin-top:30px;}.node-type-videos .book-top-buymore-upsell .book-top-pricing-rrp{margin-top:40px;}.video-product-logo-background{height:58px;width:58px;background:#DE626D;}.video-product-logo-icon{background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;background-position:-1122px 19px;height:30px;width:30px;margin-left:15px;padding-top:15px;}.product-image{position:relative;width:300px;}.video-product-logo{position:absolute;top:0px;right:0px;}.screenshot-list{margin-bottom:80px;}.screenshot-list img.screenshot{margin-right:20px;}#video-screenshots{width:100%;}.title-preorder{margin:1em 0em;padding:0.5em 1em;border:1px solid red;color:red;}.node-type-books .hero-blocks,.node-type-videos .hero-blocks{margin-bottom:43px;}.node-type-books .hero-block,.node-type-videos .hero-block{width:490px;margin-right:20px;height:149px;}.book-toc-sections-wrapper{display:none;}.book-toc-chapter{font-weight:100;padding:10px 0;border-top:#c5c5c5 1px dashed;}.book-toc-chapter-title{cursor:pointer;text-transform:uppercase;}.book-toc-section-circle{border-radius:100%;width:6px;height:6px;border:#6EA5D5 1px solid;position:relative;top:6px;margin-right:10px;}.book-toc-section{margin-left:36px;margin-top:10px;width:100%;}.book-toc-section-text{width:92%;line-height:1.5em;}.book-toc-chapter-title .chapter{display:none;}.node-type-books.nano #content{margin:0;}#main-book.nano .nano-book-text{width:510px;padding-left:60px;}#main-book.nano .nano-book-main-image{text-align:center;}#main-book.nano .book-info-outer-nano-form{background-color:#E3E7EA;padding:50px 0;}#main-book.nano input#edit-register-nano,.nano-book-text a.button-link{width:100%;font-size:1.4em;font-weight:100;height:50px;}#main-book.nano .nano-book-text a.button-link{text-align:center;padding:8px 0;height:auto;}#main-book.nano ul li{background:transparent url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/new-li-tick.png) no-repeat;background-position:0px 10px;margin-left:25px;padding-left:40px;margin-bottom:10px;}#main-book.nano h1{font-size:2.8em;font-weight:500;}#main-book.nano .nano-register-form{width:50%;}#packt-v3-register-nano-form input[type=text],#packt-v3-register-nano-form input[type=password]{width:280px;}#packt-v3-register-nano-form label{width:130px;display:block;float:left;text-align:right;padding-right:15px;font-weight:500;}#packt-v3-register-nano-form .captcha{text-align:center;text-align:-moz-center;text-align:-webkit-center;}#packt-v3-register-nano-form input[type=submit]{float:right;padding:15px 0;margin-top:20px;}#packt-v3-register-nano-form .nano-register-copy{color:#898989;font-size:0.9em;float:right;line-height:1.5em;}.node-type-books div#title-bar{background:#4BA8AF;border-bottom:3px solid #388D92;}#nano-learn{margin-top:20px;margin-bottom:30px;}#nano-learn-border{border:solid 1px;height:4px;border-left:0;border-right:0;position:relative;bottom:22px;color:#898989;}#nano-learn-title-text{width:100%;margin:auto;font-size:1.8em;font-weight:100;position:relative;text-align:center;}#nano-learn-title-text-inner{z-index:2;background:white;padding:0 25px;position:relative;}.share-buttons-small{margin-top:10px;}.book-top-block .share-buttons-small{width:300px;text-align:center;}.book-top-block .book-subscribed-read-inner{background:#4BA8AF;}.alpha-books{width:100%;background:#FFDCBC;border:2px solid #FFB95F;padding:10px 10px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;margin-top:15px;box-sizing:border-box;overflow:hidden;}.alpha-image{float:left;margin-right:20px;width:138px;margin-top:8px;}.alpha-text{overflow:hidden;min-height:84px;margin-top:10px;}#main-book .alpha-books h2,.alpha-books h2{font-size:19px;font-weight:900;margin-bottom:0;margin-top:6px;}.alpha-books p{font-size:15px;font-weight:100;margin-top:5px;}.book-type-select-ebook.alpha-select{color:white;background:#FF9400;font-weight:400;}.book-type-select-ebook.alpha-select .active-checkbox,.book-type-select-ebook.alpha-select .active-checkbox .book-type-select-dot-inner-active{    background-color:#6E6E6E!important;}.alpha .book-top-addtocart,.alpha .book-subscribed-download-read{width:340px;}@media only screen and (max-width:1040px) {.book-info-details,#book-info-toc,.book-info-about-audience,.book-info-bottom-indetail,#book-info-will-learn,.book-info-bottom-author{width:100%;}div.book-top-block,.book-interaction-wrapper{width:100%;box-sizing:border-box;}.second-level-info{padding-bottom:40px;}.book-info-bottom-author,.book-top-block-star-rating,.book-top-block-info-level,.book-top-subscribe,#main-book .share-buttons-line,.book-top-block-code{display:none;}#mobile-book-container .book-top-block-info-title,#mobile-book-container .book-top-block-info-one-liner{display:none;}.book-top-block-info{width:45%;}.book-top-block-image{width:55%;max-width:300px;padding-right:10px;box-sizing:border-box;}.product-image{width:auto;}.book-top-block-image img{width:100%;}.book-top-pricing-price{float:none;margin:0 !important;}.book-top-type-selection{width:100%;font-size:12px;}.book-top-type-selection>div{padding:3px 0px;}.book-type-select-ebook,.book-type-select-print{}.book-top-addtocart form{width:100%;}.alpha .book-top-addtocart,.book-top-addtocart{float:none;width:100%;bottom:0;}.book-top-block-read-collect{width:100%;margin-top:10px;}.book-top-block-readonline-button,.book-top-block-collect-button,.book-top-block-code-button,.book-interaction-inner .book-owned-download-inner{width:100%;}.book-top-block-readonline-button{margin-left:0;border:0;height:100%;}.section-inner.book-interaction-inner > div:last-child{float:left;}.book-top-block-info-title h1,.new-newsletter-top-title h1{font-size:1.7em;}.book-top-block-info-one-liner{font-size:1.1em;font-weight:400;margin-top:5px;margin-bottom:20px;}.book-top-block-wrapper{margin:0;}.book-top-addtocart-inner{margin-top:10px;}.node-type-books #content,.node-type-videos #content{margin-top:0;}.book-top-pricing-block{margin-top:80px;}.book-top-pricing-block{margin-top:0px;}.book-top-addtocart-inner input[type=submit]{margin-left:auto;margin-right:auto;display:block;float:none;font-size:1.2em;font-weight:400;}	.book-interaction-wrapper{background-color:#FFF;}.book-button,.download-container{width:49%;}.book-button > div,.book-interaction-inner .book-owned-download-inner{margin-left:0;border:0;font-weight:400;height:48px;}.book-subscribed-download-read{display:none;}.book-claim-token{display:none;}.book-claim-token-responsive{width:100%;background:#D3DBDD;margin-bottom:10px;border:0;height:48px;display:block;text-align:center;}.book-claim-token-responsive.entitled-token{width:49%;margin-right:1%;float:left;}.book-claim-token-responsive input{font-size:1em;font-weight:400;padding:17px 0;color:#494949;}.book-claim-token-separator{display:block;}/**/	#mobile-book-container{position:relative;display:table;width:100%;}#mobile-book-container .book-top-pricing-block{bottom:7px;clear:both;}.book-owned-download-read,.book-owned-read-inner{width:100%;}.book-owned-read-button,.book-owned-download-button{box-sizing:border-box;font-size:12px;}.book-owned-read-button{padding-left:1%;box-sizing:border-box;width:50%;}.book-owned-download-button{		width:56%;}.book-owner-blurb,.book-owner-blurb-inner{width:100%;}#mobile-book-buttons form{float:none;}#mobile-book-container .book-top-pricing-block:not([itemprop]) {display:none;}#mobile-book-container .book-subscribed-addtocart-wrapper{display:none;}#mobile-book-container .book-top-buymore-blurb{display:none;}#mobile-book-container .book-top-buymore{display:block;}.book-mobile-download-button{overflow:hidden;position:relative;}.book-mobile-download-button .book-owned-download-logo{float:left;margin-left:9px;}.book-mobile-download-button .book-owned-download-separator{float:left;margin-left:9px;}.book-mobile-download-button select{background:transparent;border:0;height:100%;-webkit-appearance:none;-moz-appearance:none;position:absolute;top:0px;left:0px;color:transparent;width:100%;cursor:pointer;}.book-mobile-download-button select option{background-color:white;color:black;}.book-mobile-download-button select::-ms-expand{display:none;}.book-mobile-download-button .book-owned-download-text{color:white;text-align:center;padding-top:13px;margin-left:45px;font-size:16px;}.book-to-consider{padding:20px 0 40px;height:335px;overflow:hidden;background:#E3E7EA;}.book-to-consider h3{font-size:1.8em;padding:0px 20px;}.book-top-buymore-upsell{position:absolute;bottom:7px;width:47.5%;background-color:white;height:110px;}.book-top-buymore-upsell .book-top-type-selection{position:absolute;bottom:0px;margin:0px;width:100%;}.book-top-buymore-upsell .book-type-select-ebook{float:none !important;width:100% !important;margin-bottom:5px !important;padding:5px !important;box-sizing:border-box;}.book-top-buymore-upsell .book-type-select-print{float:none !important;width:100% !important;padding:5px !important;box-sizing:border-box;}.book-top-buymore-upsell .book-top-pricing-rrp{position:absolute;bottom:66px;}.book-block-overlay{width:130px;font-size:13px;}.book-block-one-liner.ellipsis:after{top:88px;}.book-block-star-rating{height:6%;}.book-top-block-collect{display:none;}.book-interaction-inner .book-owned-download-inner input{font-weight:400;}.nano-promo-right-inner .book-subscribed-read-button{position:absolute;left:0px;}.book-top-block-readonline.book-button.float-right{width:100%;}.book-top-block-readonline.book-button.float-right.booknotowned.entitled-token{width:49%;margin-left:1%;float:left;}.book-top-block-readonline.book-button.float-right.bookowned{width:49%;margin-right:1%;float:left;}.video-product-logo{right:2px;}.book-top-block-readonline-text{display:inline-block;padding-top:4px;}.book-top-addtocart-logo,.book-top-subscribe-logo{height:34px;width:22px;float:left;background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;background-position:-674px 6px;margin-top:9px;margin-left:12px;}.book-top-subscribe-separator,.book-top-addtocart-separator{float:left;border-right:1px solid #6AB7BD;height:22px;margin-top:15px;margin-left:11px;}.book-claim-token-logo{background-position:-3140px 8px;margin-left:13px;}.book-claim-token-separator{display:none;}.book-info-bottom-wrapper .book-page-content{float:left;width:100%;}    .alpha-books{display:none;text-align:center;margin-bottom:30px;padding-bottom:5px;padding-top:5px;}.alpha-books-mobile{display:block;}.alpha-image{max-width:230px;width:100%;float:none;margin:0 auto;}.alpha-text{text-align:left;margin-top:0;height:auto;}.alpha-books p{margin-bottom:0;font-weight:400;}#main-book .alpha-books h2,.alpha-books h2{font-size:16px;}}.page-cart div#content{margin-top:45px;}#checkout-main{margin-bottom:20px;}.checkout-left-pane{float:left;width:662px;margin-right:20px;}.checkout-right-pane{float:left;width:318px;}div.checkout-pane{background-color:white;margin-bottom:20px;}div.checkout-pane.collapsed.disabled{cursor:default;}div.checkout-pane.collapsed.disabled div.inner{opacity:0.5;}div.checkout-pane.collapsed{background-color:#dfe3e6;cursor:pointer;}div.checkout-pane div.inner{margin:20px 18px 18px 24px;}div.checkout-pane div.title{padding-bottom:0px;}div.checkout-pane div.content{padding-top:0px;}div.checkout-pane .checkout-step{float:right;font-size:1.3em;}div.checkout-pane div.content{margin-top:0px;border-top:1px solid #dfe3e6;padding-top:20px;}div.checkout-pane h1,.cart-frequently-purchased-block h1{font-weight:lighter;font-size:2.1em;line-height:1em;float:left;}div.checkout-pane div.summary{display:none;padding-top:0px;}div.checkout-pane.collapsed div.content{display:none;}div.checkout-pane.collapsed div.title{}div.checkout-pane.collapsed div.summary{display:block;}#your-cart .cart-product-line{display:inline-block;width:100%;border-bottom:1px #E5E5E5 solid;padding:30px 0px 22px 0px;}#your-cart h1{padding-bottom:20px;border-bottom:1px #E5E5E5 solid;float:none;}#your-cart h2{font-size:1.4em;font-weight:500;padding-bottom:8px;}.cart-product-line .product-qty{color:#7A7875;font-weight:100;}#your-cart .cart-product-line .product-description{width:431px;}#your-cart span.checkout-item-increase-qty,#your-cart span.checkout-item-decrease-qty{background-color:#ADB4B2;line-height:20px;display:inline-block;color:white;cursor:pointer;}#your-cart span.checkout-item-increase-qty{margin-right:5px;padding:0px 6px;}#your-cart span.checkout-item-decrease-qty{padding:0px 8px;margin-left:5px;}#your-cart .qty-line,#your-cart .remove{font-size:1.1em;font-weight:100;margin-right:10px;}#your-cart span.qty input{padding:0px;text-align:center;}#your-cart span.book-block-star.active-star{background-position:-657px 0px;}#your-cart .book-star-rating{display:inline-block;margin-top:10px;}#your-cart div.book-info{opacity:0.8;font-size:1.1em;line-height:1.2em;}#your-cart div.cart-preorder{color:red;margin:0.25em 0em;}#your-cart div.book-author{font-weight:500;}#your-cart span.remove-icon{background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;background-position:-770px 0px;width:20px;height:20px;display:inline-block;position:relative;top:3px;padding-right:5px;}#your-cart div.price{font-size:1.3em;margin-bottom:20px;}#your-cart div.product-thumbnail{height:185px;}#your-cart .inner{background:white;margin:18px 18px 18px 25px;}#your-cart .cart-product-line-quantity{width:40px;}#your-cart .remove-button{cursor:pointer;}.product-description a{color:black;}.summary-header{background:#444D54;color:white;padding:12px 12px 12px 20px;}.summary-header h1{font-weight:100;}div#checkout-form-modifiers-discount-code{padding-top:15px;padding-bottom:10px;}div#checkout-form-modifiers-vat-number{display:none;}.cart-summary-text p{font-size:1.15em;font-weight:100;margin-top:0.5em;margin-bottom:0.6em;}div.subtotal-line{display:inline-block;width:100%;}div.subtotal-field{font-weight:500;font-size:1.3em;}.subtotal-field .price{font-weight:400;}input#checkout-now,input#confirm-and-pay{width:100%;font-size:1.2em;padding:16px 0;height:auto;margin:0;}div.total-order{font-size:1.4em;font-weight:500;padding-top:18px;padding-bottom:8px;}div.accepted-payment{padding-top:18px;}.total-order .price{font-size:1.3em;line-height:1em;font-weight:400;}div.subtotal-line.other-cost{font-size:1.1em;}.subtotal-line.other-cost .float-left{font-weight:100;}div#cart-summary{width:318px;float:left;}div.modifier-field input.form-text{background-color:#eff2f7;width:100%;}div.modifier-button input.form-submit{background-color:#adb4bc;padding:0px 20px;font-size:1.1em;}div.modifier-info{display:none;}div.modifier-name{float:left;}div.modifier-field{float:left;width:185px;}div.modifier-button{float:left;width:78px;margin-left:13px;}div.modifier-field-line{display:inline-block;}.modifier-field .form-item{}div.subtotal-order-recap{border-top:1px solid #E5E5E5;padding-top:20px;padding-bottom:25px;}div.modifier-title{font-size:1.2em;}div.border-top{border-top:solid 1px #E5E5E5;}div.left-menu-item.border-top{border-color:#CACFD2;}.modifier-hint{width:15px;height:15px;background-color:#BAC3CC;position:relative;color:white;font-family:serif;font-style:italic;font-size:0.9em;float:left;border-radius:100%;top:7px;margin-left:10px;}span.info{position:relative;top:-4px;left:5px;}#already-registered{padding-bottom:15px;font-size:1.2em;}.checkout-pane.address input.form-text{background-color:#EFF3F6;}.checkout-pane.address .form-item{height:35px;margin:1em 0 0;display:block;}.checkout-pane.address .form-item .description{margin-left:25%;}.checkout-pane.address .form-item input,.checkout-pane.address .form-item select{width:341px;}.checkout-pane.address #uc-worldpay-direct-auto-form .form-item select{width:126px;}.checkout-pane.address #uc-worldpay-direct-auto-form #card-expiry-date select{width:126px;}#checkout-pane-payment .inner.content{margin-bottom:60px;}.checkout-pane.address label{margin:0px;width:24%;margin-right:1%;text-align:right;font-weight:normal;line-height:35px;float:left;}.checkout-pane.address span.form-required{line-height:35px;}.checkout-pane.address.collapse{height:68px;min-height:68px;overflow:hidden;}.checkout-pane.address.collapse .inner{background:#E0E4E5;}div#checkout-pane-delivery,div#checkout-pane-billing{width:662px;margin-right:20px;margin-bottom:13px;}div#checkout-delivery-form input.form-text{background-color:#EFF3F6;}div#checkout-delivery-form .form-item{margin:1em 0 0;display:block;}div#checkout-delivery-form .form-item input{float:left;}span.form-required{line-height:35px}div#checkout-pane-delivery.collapse{height:68px;min-height:68px;overflow:hidden;}div#checkout-pane-delivery.collapse .inner{background:#E0E4E5;}input[type=button].orange,input[type=submit].orange,input.button.orange,input.form-submit.orange,button.orange{background-color:#FC6B21;cursor:pointer;}#edit-panes-cart-billing-copy-address{margin-left:155px;font-size:1.1em;width:370px;}#billing-next-step,#delivery-next-step{margin-right:94px;font-size:1.3em;margin-top:15px;}div#order-cart-summary{display:inline-block;width:100%;padding-bottom:22px;}div.book-title{max-width:220px;}div.order-item-line{display:inline-block;width:100%;line-height:1.3em;}.order-item-line .price{font-size:1.1em;}h4 .item-number{font-weight:100;}div#order-summary-product-list{margin:1em 0em;}div.cart-summary-text{padding-top:10px;padding-bottom:10px;}#order-summary div.subtotal-order-recap{padding-bottom:35px;}#payment-pane{margin-top:20px;width:66%;}input.orange-button{background:#FF6B01;}#worldpay-checkout-form{position:absolute;display:none;}#worldpay-form,#paypal-form{display:none;}input.checkout-payment-button{font-size:1.2em;padding:1em 3.5em;height:auto;}#checkout-pane-payment input#edit-submit{width:374px;height:50px;font-size:1.2em;display:none;margin-right:83px;margin-top:30px;}#cart-upsell{margin-top:2em;}#checkout-main .hero-block{width:320px;height:284px;background-color:white;float:left;margin-right:20px;}#checkout-main .hero-blocks{margin-top:0px;}.checkout-bottom-pane{padding-bottom:50px;}.checkout-bottom-pane h2{margin-bottom:1em;font-size:2em;font-weight:300;}.page-cart-checkout .selectBox-dropdown{background-color:#EFF3F6;}.page-cart-checkout .selectBox-dropdown:hover{background-color:#E0E5E9;}.page-cart-checkout .selectBox-dropdown-menu{background-color:#EFF3F6;}.cart-frequently-purchased-block{background-color:white;border:1px solid #B50031;margin-top:40px;margin-bottom:40px;}.cart-frequently-purchased-block .inner{background:white;margin:18px 18px 30px 25px;}.cart-frequently-purchased-block .inner h1{padding-bottom:20px;border-bottom:1px #E5E5E5 solid;color:#B50031;float:none;margin-bottom:30px;}.cart-frequently-purchased-block h2{font-size:1.8em;}.cart-frequently-purchased-block p{font-weight:100;}.frequently-purchased-content h2 span{color:#B30634;}.frequently-purchased-image{float:left;}.frequently-purchased-content{float:right;width:420px;}.frequent-price{color:#5B94D6;font-size:3em;font-weight:100;line-height:1em;}.frequently-purchased-content .frequent-add-to-cart{width:220px;float:right;margin-right:30px;}.cart-frequently-purchased-block .book-top-addtocart-inner input[type=submit]{width:74%;font-size:1.1em;}.frequently-purchased-content .book-top-addtocart-logo{margin-top:6px;}.frequently-purchased-content .book-top-addtocart-separator{margin-top:12px;}.frequently-purchased-content .book-top-addtocart-inner{height:45px;}#guest-checkout-inner-selected{display:none;}#checkout-pane-login.can-guest-checkout{display:none;}.logged-out-checkout-method.fake-button{padding:7px 32px;float:left;}.checkout-method-select-row{width:80%;margin:20px 0;}#edit-panes-cart-guest-account-primary-email-wrapper .form-text{background-color:#EFF3F6;margin:22px 0;}#edit-panes-cart-guest-account-primary-email-wrapper label{margin-right:1%;}#registerInner .submit-button{width:auto;float:left;}.checking-out-as-guest-txt{width:500px;float:left;}#edit-panes-cart-guest-account-submit-back{margin-top:-5px;float:right;}#edit-panes-cart-account-pass-wrapper{margin-bottom:20px;}.checkout-method-select-row{margin:15px 0;overflow:hidden;}@media only screen and (max-width:1040px)
{div#page.page-cart #menu-icons,div#page.page-cart #menuIcon{display:none;}div#page.page-cart #content{margin-top:0px;}div#page.page-cart #footer-bottom .footer-bottom-block:not(:last-child) {display:none;}#your-cart h1{position:absolute;top:54px;left:0;height:70px;padding:20px;background-color:#444D54;color:white;width:100%;font-weight:500;text-transform:uppercase;box-sizing:border-box;}#your-cart .inner{margin:0px;}.cart-product-line img{width:110px;height:136px;}#your-cart .cart-product-line .product-description{width:auto;font-size:12px;height:110px;position:relative;}#your-cart div.product-thumbnail{height:110px;}#your-cart .qty-line{position:absolute;top:156px;right:0px;margin-right:0px;}.cart-product-line-quantity{width:20px;}#your-cart .cart-product-line{padding:20px 18px 75px 18px;display:table;box-sizing:border-box;}#your-cart .cart-product-line>div{display:table-cell;float:none;vertical-align:top;}#your-cart .remove{position:absolute;left:-122px;top:159px;font-size:15px;}#your-cart .book-star-rating{display:none;}div#cart-summary{width:100%;}.cart-summary-text{display:none;}#cart-summary-body>div{padding:20px;}#checkout-form-modifiers>div{border:none;padding:0px;}div.modifier-field-line{width:100%;}div.modifier-field{width:70%;}div.modifier-button{width:30%;box-sizing:border-box;margin:0px;padding-left:8px}.modifier-field input{box-sizing:border-box;}div.subtotal-line{box-sizing:border-box;}.accepted-payment{display:none;}div.modifier-button input.form-submit{width:100%;}.subtotal-line.onlyMobile{padding:20px;}.items-in-your-cart{padding:18px;font-size:1.4em;border-bottom:1px #E5E5E5 solid;}.product-qty{display:none;}.checkout-container{padding:0px 20px 20px 20px;}#your-cart span.qty input{width:20px;}#your-cart .cart-product-line>div:first-child{width:110px;padding-right:10px;}div.page-cart div.inner{margin:0px;}.checkout-pane.disabled,.checkout-pane.disabled .inner{background-color:#dfe3e6;color:#494949;opacity:0.5;width:100%;box-sizing:border-box;}.page-cart .form-item label{text-align:left;width:100%;}.page-cart .checkout-pane.address .form-item input,.page-cart .checkout-pane.address .form-item select,.page-cart .checkout-pane.address #uc-worldpay-direct-auto-form .form-item select,.page-cart div.modifier-field input.form-text,.page-cart .checkout-pane.address #uc-worldpay-direct-auto-form #card-expiry-date select,.page-cart .checkout-pane.address #uc-worldpay-direct-auto-form #card-expiry-date select,#cart-login-info input[type=text],#cart-login-info input[type=password]{width:100%;box-sizing:border-box;display:initial !important;height:50px;background-color:#E5EAEE;}.page-cart .form-item a.selectBox{display:none!important;}.page-cart .checkout-pane.address .form-item{height:auto;}#edit-panes-cart-billing-submit,#checkout-pane-payment input#edit-submit,.page-cart #paypal-button,.page-cart #worldpay-button,#edit-panes-cart-delivery-submit{width:100%;box-sizing:border-box;font-size:1.2em;padding:16px;height:50px;margin-right:0px;background-color:#5594DB;}.page-cart .modifier-button .form-submit{padding:0;}.page-cart .cart-product-line .form-submit{width:auto;}.checkout-step{display:none;}.cart-product-line .book-download-read{display:none;}#checkout-main .section-inner{padding:0px;}#checkout-main .checkout-left-pane,#checkout-main .checkout-right-pane{padding:10px;box-sizing:border-box;}#your-cart .book-info-outer,#your-cart .product-qty,#your-cart .book-info{display:none;}#your-cart .product-description div.price{margin:0px;position:absolute;bottom:0px;font-size:25px;font-weight:100;background:linear-gradient(to bottom,rgba(255,255,255,0),white 30%,white);background:-webkit-gradient(linear,left bottom,left bottom,from(rgba(255,255,255,0)),to(white),color-stop(30%,white));background:-moz-linear-gradient(to bottom,rgba(255,255,255,0),white 30%,white);background:-o-linear-gradient(to bottom,rgba(255,255,255,0),white 30%,white);background:-ms-linear-gradient(to bottom,rgba(255,255,255,0),white 30%,white);height:60px;width:100%;}#your-cart .product-description .price span.uc-price{position:absolute;bottom:0px;}.modifier-field-line{width:100%;}.modifier-field{width:70%;}.modifier-button{width:30%;box-sizing:border-box;margin:0px;padding-left:8px}.modifier-field input{box-sizing:border-box;}div.subtotal-line{box-sizing:border-box;}.accepted-payment{display:none;}div.modifier-button input.form-submit{width:100%;}.subtotal-line.onlyMobile{padding:20px;}.items-in-your-cart{padding:18px;font-size:1.4em;border-bottom:1px #E5E5E5 solid;}.product-qty{display:none;}.checkout-container{padding:0px 20px 20px 20px;}#your-cart span.qty input{width:20px;}#your-cart .cart-product-line>div:first-child{width:110px;padding-right:10px;}    .cart-frequently-purchased-block .inner{width:100%;box-sizing:border-box;padding:20px;}.frequently-purchased-content{width:100%;float:left;}.frequent-price{font-size:2em;float:left;}.frequently-purchased-content .frequent-add-to-cart{width:100%;float:left;}.cart-frequently-purchased-block h2{font-size:1.5em;}.frequently-purchased-image{width:100%;float:left;text-align:center;margin-bottom:15px;}}.panel-packt-cat{	width:100%;margin:0 auto;margin-top:10px;}.panel-panel-top-wrapper{width:1000px;margin:0 auto;}.panel-packt-cat .panel-col-first{float:left;width:30%;}.panel-packt-cat .panel-col-first .inside{margin:0 .5em 1em 0;}.panel-packt-cat .panel-col-last{float:left;width:67%;padding-left:30px;margin-top:10px;}.panel-packt-cat .panel-col-last .inside,.panel-packt-cat .panel-col-bottom .inside{margin:0 0 1em .5em;}#panels-edit-display .panel-pane,#panels-edit-display .helperclass{margin:.5em;}.panel-packt-cat .panel-separator{margin:0 0 1em 0;}.panel-packt-cat .panel-col-last{position:relative;z-index:1;}.cf{clear:both;}.packt-cat-form input#edit-search{width:175px;}.facet-search-cross{float:right;width:11px;height:11px;cursor:pointer;margin-top:-34px;margin-right:34px;background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;background-position:-1187px -12px;display:none;}.facet-hide-category{color:#C5CDD0;display:none}.facet-expand-category{color:#8C8C8C;display:none}#packt-cat-form-search,#packt-cat-form-filters{background-color:#FFF;}#packt-cat-form-search,#packt-cat-form-filters{border:1px solid #DEE4E4;}.tech-search-banner{color:#fff;margin-bottom:50px;height:112px;position:relative;}.tech-search-img-resp{display:none;}.tech-search-text{margin-left:190px;font-size:17px;font-weight:100;top:0;position:absolute;margin-top:15px;}.tech-search-text p{margin:0;margin-top:-3px;}p.tech-search-txt-topic{font-weight:700;font-size:28px;margin-top:-5px;}@media only screen and (max-width:1040px){.override-display{display:block !important;}.panel-panel-top-wrapper{width:100%;}div#title-bar-title{line-height:1;}.panel-packt-cat{padding:20px;width:auto;}.panel-packt-cat .panel-col-last{width:100%;padding-left:0;}div#edit-keys-support-wrapper{max-width:100%;}input#edit-keys-support{width:93%;}.panel-panel.panel-col-last > .inside{margin:0;}	.panel-panel.panel-col-first{width:100%;}.packt-cat-form{width:100%;}.panel-packt-cat h2{display:none;}#cat-search-title{display:none;}.facet-heading.facing-top,.facet-heading.facing-bottom{margin:0;background-color:#FFF;border-top:1px solid #DDDDDD;border-bottom:0;}.facet-category-main-wrapper[active] .facet-heading.facing-top,.facet-category-main-wrapper[active] .facet-heading.facing-bottom{border-bottom:1px solid #DDDDDD;margin-bottom:20px;}#packt-cat-form-search,.packt-cat-form input#edit-search{background-color:#F8F8F8;}.packt-cat-form input#edit-search{width:90%;}#packt-cat-form-filters{margin-top:10px;cursor:pointer;}.facet-category-main-wrapper:not([active]) .facet-cat-wrapper{display:none;}.facet-category-main-wrapper:not([active]) .facet-expand-category,.facet-category-main-wrapper[active] .facet-hide-category,.facet-category-global-wrapper:not([active]) .facet-main-heading .facet-expand-category,.facet-category-global-wrapper[active] .facet-main-heading .facet-hide-category{display:block;}#article-network .series-blog,#article-network .level-blog{display:none;}.facet-main-heading{display:block;margin-bottom:0;}.facet-heading,.facet-main-heading{font-weight:400;}.facet-category-global-wrapper:not([active]) .facet-category-list{display:none;}.facet-category-main-wrapper.level,.facet-category-main-wrapper.series,.facet-category-main-wrapper.category{display:none;}.page-all .facet-category-main-wrapper.category,.page-video .facet-category-main-wrapper.category,.page-all-books .facet-category-main-wrapper.category,.page-latest-releases .facet-category-main-wrapper.category{display:block;}#packt-cat-form-search .facet-heading,#archive-block,#packt-cat-form-filters{display:none;}	#techprimer-network #facet-main-header,#blog-network #facet-main-header,#article-network #facet-main-header{display:none;}#techprimer-network .facet-category-main-wrapper:not(.category-blog) ,#blog-network .facet-category-main-wrapper:not(.category-blog),#article-network .facet-category-main-wrapper:not(.category-blog) {display:none;}#techprimer-network .facet-category-global-wrapper .facet-category-list,#blog-network .facet-category-global-wrapper .facet-category-list,#article-network .facet-category-global-wrapper .facet-category-list{display:block;}#techprimer-network .facet-category-global-wrapper .facet-heading,#blog-network .facet-category-global-wrapper .facet-category-list .facet-heading,#article-network .facet-category-global-wrapper .facet-category-list .facet-heading{border-top:0;}	.panel-packt-twocol .panel-col-last{width:100%;margin-left:0;}.webform-component-email,.webform-component-select,.webform-component-text,.webform-component-textfield{width:93%;}fieldset.captcha{width:100%;}div.form-item{width:100%;}input#edit-captcha-response{padding:0;}a.selectBox.form-select.required.selectBox-dropdown{width:100%;}.panel-packt-cat{margin-top:0px;padding-top:10px;}    .tech-search-banner{box-sizing:border-box;padding:20px;padding-top:30px;height:auto;}.tech-search-img{display:none;}.tech-search-img-resp{display:block;width:100%;max-width:230px;margin:0 auto;margin-bottom:20px;}.tech-search-text{margin-top:15px;margin-left:0;width:100%;position:relative;font-size:22px;}.tech-search-text .tech-search-txt-topic{font-size:30px;font-weight:500;}}.page-collection div#title-bar{background:#4BA8AF;border-bottom:3px solid #388D92;}div.shelf{display:inline-block;margin-bottom:105px;width:100%;}div.shelf-image{background:no-repeat url('https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-vertical.png');height:65px;position:relative;top:260px;left:-58px;width:856px;}div.shelf-shadow{width:580px;box-shadow:0px 0px 150px 25px #888888;height:1px;float:left;margin-left:55px;}@media only screen and (max-width:1039px) {.book-block{cursor:pointer;}}@media only screen and (min-width:1041px) {.book-block.last{margin-right:0;}.book-block.fl-last{margin-right:0;}}@media only screen and (max-width:1040px) and (min-width:870px) {.book-block-position-6 .book-block{margin-right:20px;}.book-block-position-5 .book-block{margin-right:0;}}@media only screen and (max-width:869px) and (min-width:700px) {.book-block-position-5 .book-block{margin-right:20px;}.book-block-position-4 .book-block{margin-right:0;}}@media only screen and (max-width:699px) and (min-width:530px) {.book-block-position-4 .book-block{margin-right:20px;}.book-block-position-3 .book-block{margin-right:0;}}@media only screen and (max-width:529px) {.book-block-position-3 .book-block{margin-right:20px;}.book-block-position-2 .book-block{margin-right:0;}}@media only screen and (max-width:320px) {	.book-block{width:130px;}:not(.book-block-position-2) .book-block{margin-right:10px;}}#account-left-menu{width:316px;}div#account-left-menu-inner{padding-top:30px;padding-right:30px;}div.account-left-menu-item{padding:8px 0px;font-size:1.15em;border-color:#D2D6D7;}#account-page h1{font-size:2.1em;font-weight:100;padding-bottom:30px;}div#account-page{display:inline-block;width:100%;}div#account-page-right-content{width:614px;padding-left:70px;padding-top:30px;min-height:1535px;}#account-page{background:linear-gradient(to left,#ECF1F4 50%,#F5F9FA 50%);}#account-page-inner{background:linear-gradient(to left,#ECF1F4 69%,#F5F9FA 50%);}div#account-right-content{width:100%;}#account-page input[type="button"],#account-page input[type="submit"]{font-size:1.15em;font-weight:500;padding:0px 15px;margin-right:5px;margin-top:2px;}.page-account div#page-header{box-shadow:none;}a.navigation,a.navigation:visited,a.navigation:hover,a.navigation:active{color:#494949;font-weight:100;}a.navigation.selected,a.navigation.selected:visited,a.navigation.selected:hover,a.navigation.selected:active{color:#3997D4;}#account-left-menu-inner input[type="submit"]{margin-top:40px;}.product-top-line{width:100%;display:inline-block;padding-top:10px;}span.book-block-star.active-star{background-position:-657px 0px;}div.product-line{border-top:1px solid #BDC1C2;padding-bottom:10px;width:100%;}product-account-list div.title{font-weight:600;font-size:1.1em;}div.product-thumbnail{padding-right:19px;}#product-account-list .author,#sharing-history-list .sharing-status{opacity:0.5;}.product-reference-table td{opacity:0.7;}.product-reference-table th{font-size:1.1em;border:none;}.product-reference-table tbody{border:none;}.product-reference-table{line-height:1em;}.product-reference-table th,.product-reference-table td{padding-left:0px;}th.price-column{width:105px;}table.product-reference-table{margin-top:25px;margin-bottom:5px;}.product-info{width:452px;}.product-info .title a{color:black;}#account-right-content p{font-size:1.15em;font-weight:100;line-height:1.2em;margin-top:2px;padding-bottom:10px;margin-bottom:0px;}div.toggle-product-line{font-size:2em;font-weight:100;line-height:1.2em;cursor:pointer;}div#product-account-list{margin-top:35px;}#product-account-list .product-info .toggle{padding-top:5px;}table.product-reference-table th,table.product-reference-table td{background:none;border:none;text-align:left;}#product-account-list div.book-download-options{background:white;width:150px;font-size:1.1em;margin-top:-10px;}#product-account-list .download-button{width:150px;}div#share-form,#kindle-form{background-color:#E3E8EC;padding:20px;display:inline-block;}div#share-form-textfields,div#share-form-buttons{float:left;}#share-form-textfields label{float:left;width:150px;}#share-form-textfields input{float:left;width:240px;}#share-form-textfields .description{clear:both;}#kindle-form .email-suffix input{width:150px;text-align:right;}#kindle-form .email-suffix div.form-item{float:left;}#kindle-form .email-suffix .suffix{padding-top:16px;font-weight:500;}#account-edit label{float:left;width:125px;text-align:right;padding-right:25px;font-size:1.1em;font-weight:100;min-height:1px;}#account-edit input[type=text],input[type=password],#account-edit select{width:269px;}#account-page h2{font-size:1.3em;margin-top:30px;margin-bottom:20px;}#packt-v3-account-details-form input#edit-save{width:285px;margin:25px 30px 80px 0px;}#packt-v3-account-details-form input#edit-cancel{width:150px;}#packt-v3-account-details-form input[type="button"],#packt-v3-account-details-form input[type="submit"]{height:50px;}input.grey-button{background-color:#CFD7DA;}.newsletter-option .form-item{float:left;margin:0px;padding:33px 38px;}div.newsletter-option{display:inline-block;background-color:white;margin-bottom:5px;}div.newsletter-option-text{background-color:#E3E8EC;width:517px;min-height:90px;}div.newsletter-option-text-inner{padding:10px 23px 0px 23px;}#account-page label.option{width:20px;padding:0px;}input[type=checkbox]{height:auto;}.newsletter-option h5{font-size:1.15em;}div.form-elements{margin-top:38px;}div#newsletter-option-list{padding-top:25px;padding-bottom:15px;}#account-page .selectBox-dropdown{background:white;}div.order-info{width:598px;}div.order-reference{width:220px;}div.order-date,div.order-price{width:120px;}div.order-status{width:138px;}div#order-headers,div#sharing-history-headers,div.affiliate-headers,div#view-order-headers,div#licence-headers{display:inline-block;font-weight:600;}.download-invoice-button{margin-top:20px;}#sharing-history-list div.product-line{display:inline-block;}#sharing-history-list .product-info{width:499px;}th.shared-with{width:140px;}th.email{width:250px;}div.affiliate-domains{width:300px;}div.affiliate-status{width:110px;}div.affiliate-links{width:80px;}div.affiliate-conversions{width:124px;}#my-affiliate div.resizable-textarea{float:left;width:auto;}#my-affiliate input#edit-submit{margin-left:145px;margin-top:20px;}#packt-affiliate-contact-form textarea#edit-message{width:614px;}table.white td,table.white th{border:1px solid #D2D6D7;background-color:white;}input.form-submit.disabled{background:none;background-color:#CFD7DA;}table{font-size:1em;}tbody th{border:none;}#affiliate-payment-preferences .selectBox-dropdown{width:269px;}#account-page #affiliate-payment-preferences label{width:130px;}#account-page #affiliate-reports input[type=text]{width:100px;}#checkout-complete-top{background:white;margin-top:10px;padding-top:20px;padding-bottom:20px;}#checkout-complete-middle{padding-top:35px;}#checkout-complete-middle h1{padding-bottom:20px;float:none;border-bottom:1px rgba(0,0,0,0.1) solid;font-size:1.8em;}#order-complete-summary .cart-product-line{display:inline-block;width:100%;border-top:1px rgba(0,0,0,0.1) solid;padding:30px 0px 0px 0px;margin-top:10px;}#order-complete-summary .product-description{width:450px;}#order-complete-summary .book-star-rating{display:inline-block;margin-top:10px;}#order-complete-summary div.price{font-size:1.3em;}#checkout-complete-middle h2{font-size:1.2em;font-weight:500;padding-bottom:8px;}#share-with-friends{background:#5594DB;color:white;}.share-with-friends-content{font-weight:100;color:#DBE5EE;padding:30px 0;}.payment-summary-item{width:305px;}#checkout-complete-top-left #checkout-thank-you h1{font-size:2.9em;font-weight:100;}#checkout-thank-you{border-bottom:2px solid rgba(0,0,0,0.1);height:75px;margin-bottom:40px;}.order-placed-text{margin-top:27px;font-size:1.2em;margin-left:30px;}.blue{color:#548ED7;}#checkout-complete-top-left h1{font-weight:100;font-size:2.1em;}#checkout-complete-top-left{width:100%;}#checkout-complete-top p{font-size:1.15em;}.share-icon{height:50px;width:50px;background:url("https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png") no-repeat;}.google-plus.share-icon{background-position:-2016px 0px;height:49px;width:49px;}.linkedin.share-icon{background-position:-1849px 0px;height:52px;width:52px;}.twitter.share-icon{background-position:-1904px 0px;}.facebook.share-icon{background-position:-1957px 0px;}.share-buttons-small .share-icon{width:26px;height:26px;}.share-buttons-small .linkedin.share-icon{background-position:-2738px 0px;}.share-buttons-small .twitter.share-icon{background-position:-2765px 0px;}.share-buttons-small .facebook.share-icon{background-position:-2792px 0px;}.share-buttons-small .google-plus.share-icon{background-position:-2821px 0px;}.share-icon-background{display:inline-block;border-radius:100%;background:white;margin-right:10px;}.share-buttons-small .share-icon-background{margin-right:9px;}.share-icon-background.last{margin-right:0px;}#checkout-complete-middle #order-complete-summary h1{border:none;}.payment-summary-item-border{border-left:1px rgba(0,0,0,0.1) solid;padding-left:20px;}#payment-summary-info{padding-top:20px;display:inline-block;}#checkout-complete-bottom .hero-block{width:320px;height:284px;float:left;margin-right:20px;}#checkout-complete-bottom{background:#F5F9FA;padding-top:30px;padding-bottom:30px;}#checkout-complete-bottom h2{padding-bottom:30px;font-size:2em;font-weight:100;}#checkout-complete-bottom .hero-blocks{margin-top:0;}.page-account[class*='page-account-view-order'] div#content,.page-account[class*='page-account-view-order'] div#content div.section-inner{background:initial;}div.order-payment-summary-name{width:100px;}div.order-payment-summary-line.total{font-weight:600;}tr.na{opacity:0.4;}td.image-na,td.image-tick{background:url("https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/default/files/status_tick.png") center no-repeat;height:55px;width:45px;}td.image-cross{background:url("https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/default/files/status_cross.png") center no-repeat;height:55px;width:45px;}#register-guest-checkout{background-color:#8F9E8C;color:#FFF;font-size:15px;font-weight:100;line-height:19px;}#register-guest-checkout h1{border-bottom:1px #B0BFAD solid;font-weight:100;font-size:1.6em;padding-top:2px;}#register-guest-checkout .guest-checkout-enter-password-text{border-top:1px #B0BFAD solid;;border-bottom:0;font-weight:100;line-height:1.2em;padding-top:23px;}#register-guest-checkout .register-guest-checkout-header-text{margin:30px 0px;}#register-guest-checkout .register-guest-checkout-row{margin-bottom:3px;height:60px;}#register-guest-checkout .register-guest-checkout-row.last{margin-bottom:40px;}#register-guest-checkout .register-guest-checkout-txt{width:70%;float:left;padding-top:10px;}#register-guest-checkout .register-guest-checkout-img{width:18%;background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;float:left;height:100%;margin-right:12%;}#register-guest-checkout .register-guest-checkout-img.discount{background-position:-3164px 6px;}#register-guest-checkout .register-guest-checkout-img.instant{background-position:-3218px 6px;}#register-guest-checkout .register-guest-checkout-img.collection{background-position:-3269px 6px;}.section-guest .payment-summary-item{width:295px;}.section-guest #checkout-complete-middle{overflow:hidden;}#register-guest-checkout form input{width:100%;box-sizing:border-box;}#register-guest-checkout form input[type="submit"]{height:50px;font-size:17px;}#register-guest-checkout #edit-pass-wrapper{margin-bottom:0;}#register-guest-checkout .guest-email-sent-img{text-align:center;margin:34px 0;}#register-guest-checkout .guest-email-sent h1.thanks-for-registering{border:0;padding-bottom:30px;}.guest-email-sent form input[type="submit"]{margin-top:30px;}.section-guest .book-download-options .download-option-item{background-color:#5594DB;border-top:1px solid white;}.section-guest .book-download-options{display:none;}.section-guest .book-owned-read-inner{height:auto;padding-bottom:5px;}.section-guest .book-download-options div.download-option-item a{color:#ffffff;}.section-guest .book-download-options .download-option-item:first-of-type{margin-top:10px;}#guest-register-catch-page{background:white;display:inline-block;margin:25px 0;width:100%;}#guest-register-catch-page .inner{padding:20px;}#guest-register-catch-page h1{font-weight:lighter;font-size:1.8em;border-bottom:1px #E5E5E5 solid;padding-bottom:20px;line-height:1em;margin-bottom:15px;}#guest-register-catch-page .check-your-email-row{width:600px;margin:40px auto;display:block;overflow:hidden;}#guest-register-catch-page .check-your-email-row .check-your-email-img{float:left;width:48%;margin-right:2%;}#guest-register-catch-page .check-your-email-row .check-your-email-text{float:left;width:50%;font-size:3.5em;font-weight:100;padding-top:40px;line-height:1.3;}#guest-register-catch-page .catch-page-content{margin-bottom:20px;}#guest-register-catch-page input[type="submit"]{font-size:1.1em;height:50px;margin-bottom:25px;padding:0 45px;}.cart-product-line .fake-button{width:150px;}#order-complete-summary .cart-product-line .book-download-read{display:block;}#register-page-form{background:white;display:inline-block;margin-bottom:60px;width:100%;}#register-page-form div.newsletter-option-text{background:#F5F9FA;width:400px;min-height:52px;}#register-page-form div.newsletter-option{background:#E9ECF1;}#register-page-form .newsletter-option-text-more{background:#F5F9FA;margin-left:49px;border-top:solid 2px white;padding:10px 10px 10px 23px;width:368px;display:none;}#register-page-form .newsletter-option .form-item{padding:15px;}#register-page-form input[type=text],#register-page-form input[type=password]{background:#EFF2F7;width:270px;}div#register-form-details{width:465px;}div#register-form-newsletters{width:451px;margin-left:30px;}#register-form-details label{float:left;width:137px;text-align:right;padding-right:15px;font-size:1.1em;min-height:1px;font-weight:500;}.orange{color:#FF6B00;}#register-page-title h2{font-weight:100;font-size:2.2em;padding-right:30px;line-height:1em;}#register-page-title h3{font-size:1.3em;line-height:2em;padding-right:10px;font-weight:500;}#register-page-title span{line-height:2.6em;font-size:1.1em;}div#register-page-title{margin-bottom:35px;display:inline-block;border-bottom:1px solid #D4D8DB;width:100%;padding-top:50px;}#register-page-form h1{font-weight:lighter;font-size:1.8em;border-bottom:1px #E5E5E5 solid;padding-bottom:20px;line-height:1em;margin-bottom:15px;}input#edit-register{font-size:1.2em;float:right;height:50px;width:285px;margin-top:40px;margin-right:15px;}div#register-terms-conditions{width:420px;margin-top:-5px;}div#register-page p{font-size:1.1em;}#register-page-form div.inner{padding:20px;}.css-captcha{margin-left:152px;}.menu-account .left-menu-item{width:280px;}#product-account-list .product-line.unseen{cursor:pointer;}#account-page div.w-quarter{width:146px;margin-right:5px;display:inline-block;}#account-page div.w-half{width:300px;margin-right:5px;display:inline-block;}.fake-button-icon.download,.fake-button-icon.share,.fake-button-icon.send,.fake-button-icon.read,.fake-button-icon.watch,.fake-button-icon.cart{height:34px;width:25px;position:absolute;background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;background-position:-814px 6px;margin-top:-1px;margin-left:8px;}.fake-button-icon.cart{background-position:-673px 7px;}.fake-button-icon.read{background-position:-788px 6px;}.fake-button-icon.send{background-position:-2871px 9px;}.fake-button-icon.watch{background-position:-2646px 4px;}.fake-button-icon.share{background-position:-2851px 9px;}.fake-button-icon.separator{position:absolute;border-right:1px solid #6AB7BD;height:22px;margin-top:6px;margin-left:42px;}.fake-button-text{position:absolute;margin-left:40px;text-align:center;}.w-half .fake-button-text{width:260px;}.w-quarter .fake-button-text{width:105px;}.download-invoice-account{float:right;}.order-product-item-inner{float:left;width:75%;}#packtlib-cancellation-form label,#packtlib-cancellation-form input.form-submit{display:block;margin:2em 0em 0.5em 0em;}#packtlib-cancellation-form select{width:450px;}.licence-email{width:300px;}.licence-status,.licence-revoke,.licence-invite{width:100px;}.licences-remaining{font-size:1.3em;font-weight:100;margin-bottom:20px;}#licence-licencees-table{margin-bottom:50px;}#packt-licence-add-user-form input[type=text]{width:300px;margin-left:20px;}#account-page #packt-licence-add-user-form input#edit-submit{padding:0px 70px;}#account-page #packt-licence-add-user-form input#edit-cancel{background:#ADB4BC;padding:0px 40px;}#account-page .chosen-container-multi .chosen-choices{background:#ffffff;}.tech-preference-help-txt{width:275px;margin-left:150px;font-size:12px;padding:0 13px;color:#8c8c8c;}#register-form-details label[for="tech_preferences"]{height:35px;padding-top:6px;}@media only screen and (max-width:1040px) {div#checkout-complete-top{margin:10px;}#checkout-complete-middle .section-inner{padding:10px;}.checkout-left-pane,.checkout-right-pane{width:100%;}#order-complete-summary .product-description{width:auto;}#checkout-complete-middle .checkout-pane .inner{margin:21px;}#account-page #left-side-menu{display:block;width:100%;}.menu-account .left-menu-item{width:100%}#account-page-inner,#account-page{background:inherit;}div#account-page-right-content{width:100%;padding-left:0;}#checkout-complete-middle{padding-top:0px;}	.css-captcha{margin-right:auto;margin-left:auto;text-align:center;}div#register-form-details{width:100%;}div#register-form-newsletters{width:100%;margin-left:0;}#register-form-details label{text-align:left;width:100%;}#register-page-form div.newsletter-option,div#register-terms-conditions{width:100%;}#register-page-form .newsletter-option .form-item{width:10%;padding:15px 0;text-align:center;}#register-page-form div.newsletter-option-text{width:90%;}#register-page-form .newsletter-option-text-more{width:90%;padding:0 5%;margin-left:0px;}#account-edit label{float:none;display:block;text-align:left;}#account-edit input[type=text]{width:90%;}div.newsletter-option-text{width:80%;}#account-edit label[for=edit-billing-street2]{display:none;}div.newsletter-option{background:#E3E8EC;}.newsletter-option .form-item{background:white;width:auto;}#register-guest-checkout .register-guest-checkout-img{width:60px;}.page-guest .payment-summary-item{padding-bottom:20px;}.page-guest .payment-summary-item-border{border-left:0;padding:0;}.tech-preference-help-txt{margin-left:0;}}@media only screen and (max-width:540px) {div.newsletter-option-text{width:60%;}}.page-books-info-packt-authors .panel-packt-cat .panel-col-last{margin-top:0;}.packt-authors-search-form{margin-top:-5em;font-size:1.15em;}.packt-authors-search-box{padding:15px 0px 15px 0px;}.packt-authors-search-box div.form-item{display:inline;}.packt-authors-search-alphabet{width:96.5%;word-spacing:0.09em;}.packt-authors-search-alphabet a{color:#494949;}.packt-authors-search-alphabet a.letter-selected{color:#F26C2D;}.packt-authors-search-box span{padding-right:40px;}.packt-authors-search-box input[type="submit"]{background-color:#F26C2D;font-size:1.15em;}.author-blurb-block{margin:0em 0em 2.9em 0em;width:96.5%;}.author-blurb-block h2{display:inline-block;}.author-blurb-block > div > span{float:right;font-size:1.4em;margin-top:0.5em;}.author-blurb-block a.author-blurb-orange{color:#F26C2D;}div.packt-author-line-views{margin-top:-1.5em;}div.packt-author-line-view{margin-right:15px;float:left;width:316px;height:250px;background-color:white;padding-bottom:20px;margin-bottom:30px;}.packt-author-line-view-name{border-bottom:1px solid #E5E5E5;padding:15px;}.packt-author-line-view-book-count{padding:15px;}.packt-author-line-view-description{padding:0px 15px 0px 15px;}.packt-author-line-view-detail-link{padding:15px;}@media only screen and (max-width:1040px) {#packt-nodesearch-block-authors-facets-form{padding-bottom:50px;}.packt-authors-search-form{margin-top:0;}.author-blurb-block p{clear:both;}}@media only screen and (max-width:702px)
{div.packt-author-line-view{width:100%;}}#packt-reader{height:100%;background-color:white;font-weight:300;font-size:1.5em;display:none;}body.admin-menu #packt-reader{margin-top:-20px;}#packt-reader-sidemenu{position:absolute;height:100%;width:70px;background-color:#4BA8AF;z-index:5;}.sidemenu-icon{width:30px;height:30px;margin:20px;cursor:pointer;background-image:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png);}#sidemenu-close{background-position:-1593px 3px;position:absolute;bottom:0px;left:0px;}#sidemenu-toc{background-position:-1488px 1px;}#sidemenu-fontsize{background-position:-1559px 1px;}#sidemenu-contrast{background-position:-1523px 1px;}#packt-reader-content{position:relative;height:100%;width:100%;overflow:hidden;}#reading{position:relative;height:100%;padding:20px 0px 0px 0px;margin-left:70px;margin-top:60px;}#reader-overlay{position:absolute;width:100%;height:100%;z-index:4;background-color:black;display:none;opacity:0.35;}.monelem_container{width:80%;margin:auto;}#packt-reader-sidemenu-popout{height:100%;width:350px;background-color:#F4F4F4;position:absolute;left:70px;padding:0px 40px;display:none;z-index:101;}.accordion-header{cursor:pointer;text-transform:uppercase;margin-top:20px;color:black;font-weight:400;}.accordion-expander.collapsed{display:none;}.accordion-expander{max-height:50%;overflow:auto;}.toc-entry{margin-bottom:0.25em;color:#494949;cursor:pointer;}.toc-entry .text{float:left;text-overflow:ellipsis;height:1.5em;overflow:hidden;margin-right:40px;}.toc-entry.chapter{margin-left:10px;}.toc-entry.subsection{margin-left:30px;}.toc-entry.subsection{font-size:0.9em;}.toc-entry .margin-plus,.toc-entry .margin-minus{width:20px;text-align:center;display:none;}.toc-entry.active{color:#4BA8AF;cursor:default;}.toc-entry.expanded .margin-plus{display:none;}.toc-entry.expanded .margin-minus{display:block;}.toc-entry.collapsed .margin-plus{display:block;}.toc-entry.collapsed .margin-minus{display:none;}.toc-entry.collapsed .toc-entry{display:none;}.bookmark-delete{position:absolute;width:21px;height:21px;right:40px;cursor:pointer;background-image:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png);background-position:-2118px 0px;}.monelem_panel{display:none !important;}.pages{margin-top:1em;font-size:0.9em;text-align:center;}.pages .current-page,.pages .last-page{font-weight:bold;}#reader-top-cta{width:100%;position:fixed;top:0px;height:56px;}#reader-top-bookmark,#reader-top-search{width:50%;position:relative;height:56px;display:inline-block;line-height:1em;float:left;box-sizing:border-box;}#reader-top-bookmark{border-right:1px solid #70B9C0;}#reader-top-bookmark-inner,#reader-top-search-inner{width:68px;position:relative;height:56px;float:none;display:inline-block;cursor:pointer;font-size:3.5em;line-height:1em;color:white;background-color:#4BA8AF;}#reader-top-bookmark-inner{float:right;border-bottom-left-radius:5px;}#reader-top-search-inner{width:68px;height:56px;float:left;border-bottom-right-radius:5px;}#reader-top-search-inner-inner{background:url("https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png") no-repeat #4BA8AF;background-position:-1717px -2px;width:20px;height:20px;margin-left:32%;margin-top:26%;}.reader-top-cta-wrapper{position:relative;width:100%;height:100%;margin:0 auto;text-align:center;display:none;}#reader-search-overlay{position:fixed;display:none;width:100%;height:100%;margin-top:56px;z-index:4;background-color:rgba(0,0,0,0.4);color:black;}#reader-search-overlay-wrapper{position:relative;width:80%;height:auto;margin:0 auto;text-align:left;background-color:white;}#reading.video{margin-top:0;margin-left:140px;margin-right:70px;}#video-title{padding-bottom:20px;}#video-player-info-button{height:23px;width:24px;position:relative;bottom:38px;right:15px;cursor:pointer;background:url("https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png") no-repeat;background-position:-1745px 0px;float:right;}#video-player-wrapper{position:relative;width:100%;height:100%;}#video-player-info-box{position:relative;bottom:375px;right:25px;background:white;width:775px;height:335px;float:right;}#video-player-info-left{width:480px;padding:20px 30px;}#video-player-info-right{width:235px;height:100%;background:#EFEFEF;position:relative;}#video-player-info-left h1{font-weight:100;padding-bottom:20px;}.video-player-link{border-bottom:2px solid white;padding:20px 30px;}#video-player-info-box a{color:black;}#video-player-info-left-icon{height:26px;width:23px;background:url("https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png") no-repeat;background-position:-1821px 0px;position:absolute;bottom:7px;right:7px;cursor:pointer;}#reading-metadata-button{position:absolute;top:0;right:0;background-color:#5594DB;padding:15px 25px;z-index:4;cursor:pointer;}#reading-metadata-icon-open{background:url("https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png") no-repeat;background-position:-1783px 0px;height:21px;width:21px;}#video-player_controlbar button{margin:0px;}#reading.video .slider-wrapper-offset{width:100%;margin:0;margin-top:20px;}#packt-reader-metadata-popout{z-index:5;position:absolute;width:100%;height:100%;background:rgba(1,1,1,0.5);}#reader-book-info-close-button{background:#548ED7;position:fixed;padding:20px 30px;top:150px;right:435px;cursor:pointer;width:22px;height:22px;}#reader-book-info-close-icon{height:21px;width:22px;background:url("https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png") no-repeat;background-position:-2082px 0px;}.active-star{background-position:-657px 0px;}.grey-star{background-position:-637px 1px;}div.reader-book-star-rating{display:inline-block;margin-top:15px;}div.reader-book-info{width:435px;background:#F7F7F7;display:inline-block;position:absolute;right:0px;height:100%;overflow:auto;}div.reader-book-bottom-title{display:inline-block;width:100%;}.reader-book-bottom-title .book-level-1,.reader-book-bottom-title .book-level-2{margin-left:10px;}div.reader-book-info-top{display:inline-block;width:100%;background:white;}div.reader-book-info-bottom{display:inline-block;width:100%;}div.reader-book-top-inner{padding:25px;}div.reader-book-top-text{display:inline-block;}.reader-book-info-text{width:173px;padding-left:25px;}.reader-book-info-text h2{font-weight:500;}.reader-book-info .book-type-select-ebook,.reader-book-info .book-type-select-ebook,.book-type-select-print,.book-type-select-ebook{background-color:#E4E8EB;}.reader-book-type-selection{width:42%;}.reader-book-top-buttons{display:inline-block;margin-top:15px;margin-bottom:-15px;width:100%}#packt-libraries-add-to-cart-form-2 input[type=submit],#packt-libraries-add-to-cart-form-3 input[type=submit]{height:50px;font-size:1.3em;margin-left:20px;margin-top:0px;padding:0 35px;}div.reader-book-bottom-inner{padding:30px;}div.reader-book-authors{margin-top:15px;opacity:0.8;font-weight:800;}div.reader-book-publication-date{opacity:0.8;}.reader-book-pricing-price .book-top-pricing-main-price{margin-top:10px;font-size:2em;}.reader-book-pricing-price .book-top-pricing-rrp{font-size:1em;}.reader-book-pricing-price .book-top-pricing-main-price{margin-top:5px;font-size:2.2em;line-height:2em;}.reader-book-bottom-title h2{font-weight:100;font-size:1.7em;}.reader-book-info-about .book-info-about-text{font-size:1.1em;}.reader-book-info.video .book-top-pricing-main-book-price,.reader-book-info.video .book-top-pricing-rrp-book{display:block;}.video .reader-book-addtocart.book-subscribed-addtocart-wrapper{width:100%;}.reader-book-addtocart{width:58%;}.reader-book-addtocart #packt-libraries-add-to-cart-form-2 input[type=submit]{width:180px;height:59px;padding:0em 1.5em;}.reader-book-info.video .reader-book-addtocart #packt-libraries-add-to-cart-form-2 input[type=submit]{float:right;margin-right:10px;}#packt-reader .book-level-lightbox-inner{font-size:1em;}.reader-book-info .book-top-addtocart-inner{width:100%;}.reader-book-info .book-top-addtocart-separator{margin-left:10px;margin-right:10px;}.reader-book-info .book-top-addtocart-inner input[type=submit]{width:auto;}#reader-search-results{height:100%;overflow:auto;text-align:left;background-color:white;width:80%;margin:0 auto;}#reader-search-form{text-align:center;}#reader-search-form input[type=text]{background-color:#f0f4f7;}#reader-search-form button{height:35px;border:0px;}.search-page-number{font-weight:700;font-size:1.2em;}.reader-search-line-view{padding:20px;}.align-center{text-align:center;}#not-entitled-message,#not-logged-in-message{display:none;z-index:101;position:absolute;background:#F4F4F4;top:50%;left:50%;width:340px;margin-left:-170px;padding:20px;margin-top:-75px;}input#not-entitled-no-button{margin-left:30px;}.article-book-block{background-color:white;min-height:250px;position:relative;}.article-book-block h4{font-weight:bold;}.article-book-block .image,.article-book-block .reading-level{float:left;width:25%;padding:2%;}#main-article .article-book-block .image > img{width:auto;}.article-book-block .content{float:left;width:40%;min-height:inherit;border-right:1px #cccccc solid;padding:2% 0;}.article-book-block .author a{color:#556673;font-size:16px;margin-bottom:0;line-height:1.3em;}.article-book-block .price{font-weight:300;font-size:18px;}.article-book-block .rating{margin-bottom:0;}.article-book-block .date-display-single{font-weight:300;font-size:14px;}.reading-level p{color:#556673;}.level-info-container{position:relative;margin-bottom:10px;left:-5px;width:183px;}.level-info-container .level-text{position:relative;top:10px;bottom:0;text-transform:capitalize;color:#556673;}.article-book-block .book-top-addtocart-logo,.article-book-block .book-top-addtocart-separator{display:none;float:none;width:100%;}.article-book-block .book-top-addtocart-inner input[type=submit]{width:100%;font-size:1.2em;height:auto;}.article-book-block .book-top-addtocart-inner{width:auto;float:left;padding:0 10px 0 10px;height:auto;}#article-buy-now-responsive{display:none;}#packt-libraries-add-to-cart-form-article input[type=submit]{font-size:16px;padding:0 20px 0 20px;}.featured-book-tab{background-color:#FE6A03;color:white;display:inline-block;padding:10px 20px;position:absolute;font-weight:500;top:-42px;left:0;}.reading-level h4{margin-bottom:10px;}.article-image{min-height:42px;}.article-book-block .image .share-buttons-line{margin-left:8px;float:left;margin-bottom:3px;}.appear-for-mobile{display:none;}div.back-button{width:100%;text-align:center;border:0;background:#5C6165;margin-bottom:20px;color:#FCFCFC;font-weight:400;font-size:1.5em;line-height:1.3em;}#main-article .panel-packt-cat .panel-col-last{margin-top:0px;word-wrap:break-word;}#main-article .book-to-consider{background:transparent;}#main-article .book-to-consider-books{width:100%;}#main-article .book-to-consider-books-inner{float:left;}#main-article .book-to-consider-text{width:auto;}#main-article img{display:block;min-height:40px;max-width:100%;height:auto;}.back-button{padding:10px 0 10px 0;float:left;}.title-write-for-packt > h2,.title-write-for-packt > h3{float:left;font-weight:100;}.title-write-for-packt > h3{float:right;}.article-content{font-weight:300;color:#536576;}.bottom-buttons{border-top:1px #D3D8DB solid;}.back-to-top{float:right;padding:10px 0 10px 0;}#article-author-social{background:#F8F8F8;margin-bottom:40px;}#article-author-social .author-name{font-size:0.8em;width:295px;}.author-name .uppercase{font-size:18px;font-weight:100;}.uppercase{text-transform:uppercase;}a.orange{color:#F89224;}.author-twitter{font-size:0.9em;}.blog-published{font-size:0.9em;font-weight:100;}.blog-author-info{padding:19px 0px 0px 15px;width:553px;}.blog-author-info.twitter-handle{padding-top:11px;}.blog-share-buttons{margin-top:15px;margin-right:28px;margin-bottom:10px;}.blog-share-buttons .share-buttons-line{margin-bottom:0;}#main-article .author{width:100%;}@media only screen and (max-width:1040px) {	div.author{width:100%;padding:10px 10px;box-sizing:border-box;}#article-author-social .blog-author-info{width:55%;}#article-author-social .blog-share-buttons{display:block;height:auto;margin:auto;width:100%;}#article-author-social .share-buttons-line{text-align:left;margin-bottom:10px;}div#disqus_thread{display:none;}.book-to-consider-inner > .book-to-consider-text > h3{padding:0 0;}.nano-promo{display:none;}	#main-article .panel-packt-cat .panel-col-last{margin-top:0px;word-wrap:break-word;margin:auto;padding:0;}.blog-author-info{padding:10px;}.article-book-block  div.reading-level{width:100%;padding:0 10px;box-sizing:border-box;}div[class^="book-level-"]{display:none;}.article-book-block div.content{border:0;width:45%;min-height:0;}.article-book-block div.image{margin-right:0;width:155px;max-width:40% !important;padding-right:16px}div.buy-now{padding-left:10px;}.content p{margin:0;}#main-article .panel-packt-cat{padding:0;}.article-book-block .share-buttons-line{display:none;}#article-buy-now-responsive{display:block;clear:both;padding:0 15px;}.article-book-block .book-top-addtocart-inner{padding:0;width:100%;}.article-book-block .buy-now{display:none;}}@media only screen and (max-width:640px) {#article-author-social .author-name{width:auto;}}@media only screen and (max-width:640px) {div.book-to-consider.article.cf{overflow-x:hidden;}.article-book-block .rating{display:none;}div.buy-now{padding-left:0px;}}@media only screen and (max-width:370px) {#signup-popup{width:100%;}#signup-popup-left{width:50%;}#signup-popup-left img{width:100%;}}.website-feedback-form-code{position:relative;font-size:2.5em;margin-bottom:2em;margin-top:-1em;}.node-type-signup-page #title-bar{background:#4BA8AF;border-bottom:3px solid #388D92;}#page .node-type-signup-page{background-color:#FFF;}#signup-main{padding-bottom:40px;padding-top:30px;}#signup-main .signup-form{margin-top:40px;}#signup-main .share-button-line{width:140px;margin:auto;}#signup-main .signup-left{text-align:center;width:50%;}#signup-main .signup-right{width:50%;}#signup-main h1{font-size:2.8em;font-weight:500;}#signup-main p{margin-bottom:30px;}#signup-main .signup-form input[type=text]{width:319px;float:left;background-color:#E5EAEE;}#signup-main input[type=submit]{width:100%;font-size:1.4em;font-weight:100;height:50px;}#signup-main .signup-form label{float:left;width:130px;text-align:right;margin-right:15px;font-weight:500;}.signup-form .form-item{display:inline-block;margin:5px 0;}#signup-main ul li{background:transparent url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/new-li-tick.png) no-repeat;background-position:0px 4px;margin-left:25px;padding-left:40px;margin-bottom:10px;}#sigup-main ul{margin-top:25px;}#sigup-main .form-item .description{float:right;}.signup-information{font-size:0.9em;color:#898989;}#signup-main .signup-thankyou{margin-top:50px;font-size:1.4em;}#edit-first-name-wrapper label,#edit-last-name-wrapper label{margin-top:7px;}.page-register #edit-first-name-wrapper label,.page-register #edit-last-name-wrapper label{margin-top:0;}.page-register #register-form-details label{font-size:1em;}#signup-main #edit-captcha-response{margin-bottom:10px;}#signup-main #edit-captcha-response-wrapper .description{text-align:right;}#marketing-bundle-top,#marketing-bundle-bottom{background:#FFF;}#marketing-bundle-bottom{margin-bottom:15px;}.marketing-bundle-half{width:490px;}.marketing-book-block{width:184px;height:252px;float:left;margin-right:20px;position:relative;margin-bottom:20px;}.marketing-bundle-container{padding:30px 0;}#marketing-bundle img{max-width:100%;}@media only screen and (min-width:1041px) {.marketing-book-block.last{margin-right:0;}}@media only screen and (max-width:1040px) {.marketing-bundle-half{width:100%;text-align:center;}}@media only screen and (max-width:1040px) and (min-width:836px) {.book-block-position-4 .marketing-book-block{margin-right:0;}}@media only screen and (max-width:835px) and (min-width:632px) {.book-block-position-3 .marketing-book-block{margin-right:0;}}@media only screen and (max-width:631px) {.book-block-position-2 .marketing-book-block{margin-right:0;}}@media only screen and (max-width:447px) {.marketing-book-block{width:150px;height:auto;}.marketing-book-block.last{clear:left;}}@media only screen and (max-width:360px) {	.marketing-book-block{width:130px;}:not(.book-block-position-2) .marketing-book-block{margin-right:10px;}}.dotd-main-book-summary{padding-left:50px;width:700px;font-weight:300;}.dotd-main-book-image{padding-left:0px;width:250px;font-weight:300;}.dotd-title{float:right;width:700px;}.dotd-title h2{font-size:2.3em;color:#D92238;}.dotd-main-book-title{margin-top:20px;margin-bottom:20px;}.dotd-main-book-text{font-size:0.9em;}.dotd-main-book-form{margin-top:20px;}.dotd-main-book-form .digital-product{width:65%;margin-top:5px;}.dotd-rrp-price{margin-top:-17px;}.dotd-main-book-form .dotd-rrp-price{margin-top:20px;padding-left:10px;}.deal-of-the-day-in-header .book-top-addtocart-inner input[type=submit]{width:65%;font-size:1.2em;height:40px;}.deal-of-the-day-in-header form{width:54%;	margin-bottom:20px;float:right;margin-left:10px;}.deal-of-the-day-in-header .dotd-rrp-price{margin-top:24px;margin-left:5px;float:left;font-size:0.8em;}.book-top-pricing-main-ebook-price.india-currency,.book-top-pricing-main-book-price.india-currency{margin-top:12px;}.dots-main-book-price .book-top-pricing-main-price{margin-top:0px;margin-right:0px;font-size:2.2em;margin-bottom:15px;float:left;}.dotd-main-book{background-color:white;padding:20px 0;padding-bottom:45px;}.dotd-blurb{font-weight:300;margin:30px 30px 30px 0;width:100%;text-align:center;}.dotd-blurb h2{font-size:1.8em;line-height:1.5em;}.dotd-main-book-form form{width:400px;margin-right:14px;float:right;}#menu-books-popup .book-top-addtocart-inner{height:40px;}#menu-books-popup .book-top-addtocart-logo{margin-top:4px;}#menu-books-popup .book-top-addtocart-separator{margin-top:9px;}.dotd-signup-text{margin-top:10px;font-size:0.9em;}.page-books-deal-of-the-day #title-bar{background:#D92238;}.dotd-extra-books .book-block{width:180px;height:320px;margin-right:40px;}.dotd-extra-books .book-block-overlay{width:180px;}.dotd-extra-books .book-block-one-liner{height:50%;}.dotd-extra-books .book-block-star-rating{height:17px;}.dotd-extra-books .book-block-one-liner.ellipsis:after{top:143px;}.dotd-extra-books .book-block:before{left:6px;}.dotd-extra-books .book-block:after{right:6px;}.dotd-main-book .section-inner{padding-top:10px;}.dotd-extra-books-row{width:100%;padding:0 8%;box-sizing:border-box;min-height:460px}.dotd-extra-books-row .book-block-outer .book-block{background:none;height:350px;}.dotd-extra-books div.dotd-extra-books-row div.book-block-outer div.book-block:after{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-transform:none;}.dotd-extra-books > div > div.dotd-extra-books-row > div.book-block-outer > div.book-block:before{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-transform:none;}div.dotd-extra-books-row div.book-block-buttons{padding:10px 0;}.dotd-extra-books-row .book-block-title{padding:0;margin-top:10px;color:#6B717A;font-weight:bold;}div.dotd-extra-books-row div.book-block-price{padding:0;color:#5198DE;font-size:30px;font-weight:100;float:left;width:60%;}div.dotd-extra-books-row div.book-block-rrp{padding:20px 0;color:#6B717A;font-size:13px;font-weight:100;float:left;width:40%;}.indian-currency div.dotd-extra-books-row div.book-block-price{width:100%;}.indian-currency div.dotd-extra-books-row div.book-block-rrp{width:100%;width:100%;padding:0 0 20px;margin-top:-15px;}div#dotd-extra-books-buy-all{width:180px;height:350px;}div.dotd-extra-books-buy-all-image{box-sizing:border-box;width:100%;padding:0 15%;height:222px;}div.dotd-extra-books-buy-all-text{box-sizing:border-box;width:100%;padding:0;height:98px;line-height:1;text-align:center;font-size:24px;}div.dotd-extra-books-buy-all-text  p{margin-top:18px;margin-bottom:8px;}div.dotd-extra-books-buy-all-text  h1{font-size:130%;font-weight:500;color:#DA283B;}img#dotd-extra-books-stack{padding-top:40px;}div#dotd-extra-books-buy-all div.book-block-buttons > button{margin-top:7px;}div.book-block-button-img{float:left;width:22px;height:35px;background:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/sprite-fixed.png) no-repeat;background-position:-674px 6px;margin-left:10px}div.book-block-button-text{padding-top:8px}#dotd-countdown{width:100%;font-size:1.6em;background:#DD2233;color:#FEDF6A;height:64px;}#dotd-countdown .section-inner{text-align:center;}#dotd-countdown-text{width:60%;padding:14px 0;}#dotd-clock{width:35%;font-size:1.8em;}.book-block-outer img.bookimage.dotd{height:222px;width:180px;}.dotd-extra-books{margin-bottom:30px;}.page-videos-deal-of-the-week .dotd-extra-books.cf{padding-bottom:130px;}.page-videos-deal-of-the-week .dotd-extra-books .book-block{margin-right:65px;}.page-books-deal-of-the-day .book-block-buttons .packt-libraries-add-to-cart-form .book-top-addtocart-inner,.page-videos-deal-of-the-week .book-block-buttons .packt-libraries-add-to-cart-form .book-top-addtocart-inner{height:35px;}.page-books-deal-of-the-day .book-block-buttons .packt-libraries-add-to-cart-form .book-top-addtocart-logo,.page-videos-deal-of-the-week .book-block-buttons .packt-libraries-add-to-cart-form .book-top-addtocart-logo{margin-top:0;margin-left:10px;}.page-books-deal-of-the-day .book-block-buttons .packt-libraries-add-to-cart-form .book-top-addtocart-separator,.page-videos-deal-of-the-week .book-block-buttons .packt-libraries-add-to-cart-form .book-top-addtocart-separator{display:none;}.page-books-deal-of-the-day .book-block-buttons .packt-libraries-add-to-cart-form .book-top-addtocart-inner input[type="submit"],.page-videos-deal-of-the-week .book-block-buttons .packt-libraries-add-to-cart-form .book-top-addtocart-inner input[type="submit"]{height:35px;font-size:1.1em;font-weight:400;}.page-books-deal-of-the-day .book-block-buttons .packt-libraries-add-to-cart-form .book-top-addtocart-inner,.page-videos-deal-of-the-week .book-block-buttons .packt-libraries-add-to-cart-form .book-top-addtocart-inner{margin-bottom:10px;}.page-videos-deal-of-the-week .dotw-banner{border-top:5px solid orange;background:#000;border-bottom:5px solid orange;text-align:center;color:#fff;padding:22px 0;font-size:22px;}.page-videos-deal-of-the-week .video-product-logo-background{width:50px;height:50px;}.page-videos-deal-of-the-week .video-product-logo-icon{margin-left:13px;background-position-y:17px;}.end-of-shelf .book-block{margin-right:0;}.dotw-more-video-titles-from-packt-publishing{padding-bottom:35px;}.dotw-extra-books-row .book-block-outer{padding:0;}.dotw-extra-books-row form{width:100%;}.dotw-extra-books-row{padding:100px 0;width:100%;box-sizing:border-box;min-height:460px;}.dotw-more-video-titles-from-packt-publishing{text-align:center;width:100%;}.dotw-more-video-titles-from-packt-publishing,.dotw-more-video-titles-from-packt-publishing .book-block-outer{background:#F3F7F8;margin:0 auto;}.dotw-extra-books-row .dotw-second-section-title{width:190px;padding-right:65px;padding-top:50px;line-height:1.3em;font-size:2.2em;}.dotw-extra-books-row .dotw-second-section-title img{max-width:100%;height:auto;}.dotw-more-video-titles-from-packt-publishing .book-to-consider-text h1{padding:43px 0;font-size:2.2em;}.dotw-main-video-free-sample-text{position:relative;right:30px;font-size:14px;margin-top:1px;}.page-videos-deal-of-the-week .dotd-extra-books .book-top-block-watchonline-logo{margin-right:-30px;}.page-videos-deal-of-the-week div.dotd-extra-books-row div.book-block-price{width:55%;}.page-videos-deal-of-the-week .dotd-extra-books-row .book-block-title{font-weight:500;font-size:1.1em;}.page-videos-deal-of-the-week div.dotd-extra-books-row div.book-block-rrp{width:45%;font-size:1em;font-weight:100;padding-bottom:0;}.dotw-main-video-container .book-top-block-watchonline-logo{margin-left:40px;}.dotw-heading{font-size:1.9em;margin:20px 0 0 0;}.dotw-hero{font-size:2.2em;color:#DD2233;margin:0 0 10px 0;font-weight:400;}.dotw-summary{font-size:1.2em;}.dotw-main-book-image{position:relative;}.dotw-main-book-image a img{width:100%;}.dotw-more-video-titles-from-packt-publishing .book-block{text-align:left;}.dotw-main-video-summary-container{padding-left:20px;}.dotw-main-video-container{margin:30px 0;}.page-videos-deal-of-the-week .packt-sub-sample{line-height:33px;height:33px;border:1px solid #CCCCCB;font-size:12px;}.page-videos-deal-of-the-week .packt-sub-sample .book-top-block-watchonline-logo{background-position:-2409px 2px;margin-left:45px;-webkit-transform:scale(0.8);-ms-transform:scale(0.8);transform:scale(0.8);}.page-videos-deal-of-the-week .packt-sub-sample.dotw-packt-sub-sample-main-video .book-top-block-watchonline-logo{-webkit-transform:scale(0.9);-ms-transform:scale(0.9);transform:scale(0.9);}.dotw-mobile-heading{display:none;font-size:2.2em;color:#DD2233;background:#fff;}.page-videos-deal-of-the-week .book-block-dotd-left{margin-bottom:25px;height:222px;}.page-videos-deal-of-the-week .dotd-main-book-image .packt-sub-sample{height:45px;margin-top:12px;box-sizing:border-box;padding-top:4px;padding-left:20px;}.page-videos-deal-of-the-week .dotd-main-book-image{width:230px;}.read-sample-mobile{display:none;}@media only screen and (max-width:540px) {.dotd-main-book-text{display:none;}.dotd-main-book-title{font-size:0.7em;}.dotd-extra-books-row .book-block-title{font-size:1.1em;margin-top:0;}}@media only screen and (max-width:760px) {div#dotd-extra-books-buy-all{width:100%}}@media only screen and (max-width:1040px) {	.dotd-extra-books .book-block-icon-books{display:none;}.book-block-dotd-left,.book-block-dotd-right{float:left;width:50%;}.book-block-dotd-left{max-width:224px;}.book-block-dotd-right-inner{padding-left:15px;}.div.dotd-extra-books-row div.book-block-rrp{width:100%;}div.dotd-extra-books-row div.book-block-price,div.dotd-extra-books-row div.book-block-rrp{width:100%;}.dotd-title h2{font-size:1.5em;font-weight:100;}.dotd-title{margin-bottom:30px;width:auto;float:none;}.dotd-main-book-image{width:50%;max-width:224px;}.page-videos-deal-of-the-week .dotd-main-book-image{width:50%;max-width:224px;}.dotd-main-book-image img{width:100%;}.dotd-main-book-summary-inner{padding-left:20px;}.book-block-outer img.bookimage.dotd{height:auto;width:100%;}.dotd-extra-books .book-block-buy{height:53px;}#dotd-countdown{display:none;}	.dotd-main-book-summary{width:50%;padding-left:0;}.dotd-main-book-title{font-size:1em;margin-top:0;margin-bottom:0px;}.dotd-main-book-text{display:none;}.dots-main-book-price .book-top-pricing-main-price{width:100%;margin-bottom:0px;}.dotd-main-book-form .dotd-rrp-price{width:100%;padding-left:0;margin-top:0;font-weight:bold;font-size:12px;color:#6B717A;}.dotw-main-video-container{margin:0;}.page-books-deal-of-the-day .dotd-extra-books{background:#F3F7F8;}.dotd-main-book-form.cf{margin-top:0;}.dotd-main-book-form.cf .digital-product.float-left{width:100%;}.dotd-main-book-form .book-top-addtocart-separator{display:none;}.dotd-main-book-form form{width:100%;margin-right:0px;float:left;bottom:0;}.dotd-main-book-form .book-top-addtocart-logo{margin-left:10px;}.dotd-blurb{display:none;}.dotd-extra-books-row{padding:0;}.dotd-extra-books-row .book-block-outer{width:100%;margin-top:30px;height:auto;}.dotd-extra-books-row .book-block-title{font-size:1.6em;}.dotd-extra-books-row .book-block-outer .book-block{margin:0;width:100%;height:auto;}div.dotd-extra-books-row .book-block-outer .book-block > img{margin:0;width:48%;height:auto;float:left;margin-right:2%;}.dotd-extra-books-row > .book-block-outer > .book-block > .book-block-icon-books{display:none;}div.dotd-extra-books-row > .book-block-outer > .book-block > .book-block-title{width:48%;float:left;height:auto;margin-left:2%;font-size:16px;margin-top:0}.dotd-extra-books-row > .book-block-outer > .book-block > .book-block-price{width:48%;margin-left:2%;float:left;}.dotd-extra-books-row > .book-block-outer > .book-block > .book-block-rrp{width:48%;margin-left:2%;float:left;margin-top:0;padding-top:0;margin-bottom:0;padding-bottom:0;}.dotd-extra-books-row > .book-block-outer > .book-block > .book-block-buttons > button{width:48%;margin-left:2%;float:left;padding-top:0;height:53px}div#dotd-extra-books-buy-all{width:100%;height:auto;}div#dotd-extra-books-buy-all  .book-block{width:100%;height:auto;}div.dotd-extra-books-buy-all-image{width:50%;max-width:224px;float:left;padding:0;text-align:center;}div.dotd-extra-books-buy-all-text{width:50%;float:left;margin-bottom:15px;}div#dotd-extra-books-buy-all div.book-block-buttons{float:left;width:50%;margin-top:10px;}div#dotd-extra-books-buy-all > div > div.book-block-buttons > button{width:100%;}.dotd-main-book .book-top-addtocart-inner input[type=submit]{width:auto;font-size:1em;}.dotd-extra-books div.book-block-button-text{font-size:0.9em;}div.dotd-extra-books-row div.book-block-rrp{padding:0 0 15px;margin-top:-12px;}	.page-videos-deal-of-the-week div.dotd-extra-books-row div.book-block-rrp,.page-videos-deal-of-the-week div.dotd-extra-books-row div.book-block-price{width:100%;}.dotw-second-section-title{width:100%;text-align:center;}.dotw-second-section-title img{margin:0 auto;max-width:60%;}.dotw-more-video-titles-from-packt-publishing{box-sizing:border-box;padding:0;}.page-videos-deal-of-the-week .book-to-consider-text{box-sizing:border-box;padding-left:20px;padding-right:20px;}.dotw-more-video-titles-from-packt-publishing .book-to-consider-books-inner{width:100%;}.page-books-deal-of-the-day .book-block-buttons .packt-libraries-add-to-cart-form .book-top-addtocart-inner,.page-videos-deal-of-the-week .book-block-buttons .packt-libraries-add-to-cart-form .book-top-addtocart-inner{height:53px;}.page-books-deal-of-the-day .book-block-buttons .packt-libraries-add-to-cart-form .book-top-addtocart-logo,.page-videos-deal-of-the-week .book-block-buttons .packt-libraries-add-to-cart-form .book-top-addtocart-logo{margin-top:9px;}.page-books-deal-of-the-day .book-block-buttons .packt-libraries-add-to-cart-form .book-top-addtocart-inner input[type="submit"],.page-videos-deal-of-the-week .book-block-buttons .packt-libraries-add-to-cart-form .book-top-addtocart-inner input[type="submit"]{font-size:1em;height:53px;width:60%;}.book-block-icon-videos{display:none;}.dotw-main-video-summary-container{padding-left:0;}.dotw-mobile-heading{display:block;}.dotd-main-book-image .packt-sub-sample,.dotw-hero,.dotw-summary,.read-sample-mobile,.dotw-second-section-title{display:none;}.dotw-heading{font-size:1.2em;margin-top:0;}.page-videos-deal-of-the-week .packt-sub-sample{height:53px;box-sizing:border-box;padding-top:10px;margin:0;}.page-videos-deal-of-the-week .packt-sub-sample .book-top-block-watchonline-logo{margin-left:10px;margin-right:10px;}.dotw-mobile-heading{font-size:1.4em;padding-top:10px;}.page-videos-deal-of-the-week .dotd-extra-books.cf{padding-bottom:60px;}.read-sample-mobile{display:block;}.page-videos-deal-of-the-week .book-top-addtocart-inner{margin-bottom:10px;}.page-videos-deal-of-the-week div.dotd-extra-books-row div.book-block-price{font-size:26px;}.page-videos-deal-of-the-week div.dotd-extra-books-row div.book-block-rrp{font-size:0.9em;}.video-product-logo{display:none;}}.page-tech{background:#fff;}.tech-page-breadcrumb{padding:8px 0;background:#204464;color:#CCD5DA;margin-top:5px;}.tech-page-breadcrumb a{color:#CCD5DA;}.tech-page-header{color:#000000;background:#FFFFFF;padding:25px 0;}.tech-page-panel.tech-page-header h1{font-size:30px;font-weight:100;overflow:hidden;border-bottom:2px solid #EFEFEF;height:44px;}.tech-page-header img{width:50px;margin-right:35px;}.tech-page-panel h1{font-weight:100;font-size:23px;border-bottom:2px solid #EFEFEF;}.tech-page-panel h2{font-family:'Merriweather',serif;font-size:21px;font-weight:600;overflow:hidden;color:#000;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis;}.tech-page-panel .author{margin:0;color:#929292;font-size:11px;font-weight:500;margin-top:2px;}.tech-page-featured-content{padding:35px 0;background:#F3F3F3;}.tech-page-featured-content .left-container{width:660px;float:left;}.tech-page-featured-content .left-container img{width:100%;overflow:hidden;}.tech-page-featured-content .tech-page-featured-img-container{height:317px;width:660px;overflow:hidden;}.tech-page-featured-content .left-container a{position:relative;display:block;}.tech-page-featured-content .text-overlay{width:390px;padding:15px;position:absolute;top:20px;color:black;}.tech-page-featured-content .text-overlay p,.tech-page-featured-content .text-overlay h2{float:left;}.tech-page-featured-content .text-overlay .main-title{max-height:110px;overflow:hidden;}.tech-page-featured-content .text-overlay h2{font-weight:100;font-size:40px;line-height:56px;padding-left:5px;overflow:visible;}.tech-page-featured-content .text-overlay h2 span{background-color:#F0DA50;box-shadow:40px 0 0 #F0DA50,-5px 0 0 #F0DA50;}.tech-page-featured-content .text-overlay p{padding:2px 5px 2px 5px;background-color:#EBEBEB;margin-top:3px;color:#5A5A5A;}.tech-page-featured-content .right-container{overflow:hidden;padding-left:24px;}.featured-content-block-sm{color:#000;border-bottom:2px solid #ececec;margin-bottom:5px;padding-bottom:5px;}.featured-content-block-sm h2{max-height:52px;}.featured-content-block-sm.no-border{border:0;}.tech-page-new-popular{background:#fff;padding:20px 0;}.tech-page-panel-title{margin-bottom:25px;}.new-popular-block{width:475px;float:left;margin-bottom:20px;}.new-popular-block h2{height:55px;width:300px;}.new-popular-block:nth-child(odd) {margin-right:25px;}.tech-page-new-popular .new-popular-img{overflow:hidden;width:150px;height:72px;float:left;margin-right:25px;}.tech-page-new-popular .new-popular-img img{width:100%;}.tech-page-related-panel{background:#F3F3F3;border-bottom:2px solid #CBCBCB;border-top:2px solid #CBCBCB;padding-top:30px;margin-top:40px;}.tech-page-related-panel h1{text-align:center;color:#424242;border:0;}.tech-page-related-panel h1 span{background:#F3F3F3;position:relative;z-index:99;padding:30px;}.tech-page-related-panel .section-inner{position:relative;}.tech-page-related-panel .related-title-hr{position:absolute;width:100%;z-index:1;margin-top:20px;height:2px;background:#C7C7C7;}.tech-page-related-panel .related-block{padding:0px 25px 30px 25px;box-sizing:border-box;width:165px;float:left;text-align:center;font-size:12px;font-weight:400;}.tech-page-related-panel .related-block p{color:#494949;height:40px;}.tech-page-related-panel .related-block img{width:100%;}.tech-page-relevant{background:#fff;padding-top:15px;}.tech-page-relevant h2{font-size:13px;height:16px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;text-overflow:ellipsis;margin-top:2px;}.tech-page-relevant .left-container{width:320px;}.tech-page-relevant .image-container{width:100%;height:155px;overflow:hidden;}.tech-page-relevant .image-container img{width:100%;}.tech-page-relevant .right-container{width:680px;}.tech-page-relevant .relevant-block-sm{width:320px;margin-left:20px;margin-bottom:4px;}.tech-page-new-popular-titles{background:#ffffff;padding:30px 0;}.tech-page-new-popular-titles .bottom-container a{width:100%;display:block;overflow:hidden;}.tech-page-new-popular-titles .bottom-container .fake-button{margin:40px auto 10px auto;width:320px;height:45px;text-align:center;box-sizing:border-box;padding:8px;font-size:19px;display:block;}.tech-page-index.tech-page-related-panel{background:#fff;padding-top:25px;margin-top:0;border:0;}.tech-page-index.tech-page-related-panel h1{text-align:left;font-size:30px;font-weight:100;overflow:hidden;border-bottom:2px solid #EFEFEF;height:44px;margin-bottom:60px;}.tech-page-panel .section-inner{overflow:hidden;}@media only screen and (max-width:1040px) {    .tech-page-featured-content .left-container{width:100%;float:left;}.tech-page-featured-content .text-overlay{position:relative;top:0;padding:0;width:100%;}.tech-page-featured-content .right-container{padding-left:0;overflow:visible;float:left;width:100%;}.new-popular-block{width:100%;}.tech-page-new-popular .new-popular-img{width:100%;height:152px;}.new-popular-blocks{overflow:hidden;max-width:400px;margin:0 auto 20px auto;}.featured-content-block-sm{overflow:hidden;}.tech-page-panel h2{float:left;width:100%;}.new-popular-block h2{margin-top:10px;}.tech-page-panel .author{width:100%;float:left;}.tech-page-related-panel .related-block{width:50%;padding:0 40px;}.tech-page-related-panel .related-block img{max-width:200px;}.tech-page-relevant .left-container{float:none;margin:0 auto;margin-bottom:20px;overflow:hidden;max-width:400px;width:100%;}.tech-page-relevant .right-container{width:100%;}.tech-page-relevant .relevant-block-sm{width:100%;margin-left:0;margin-bottom:10px;border-bottom:2px solid #EFEFEF;}.tech-page-relevant .image-container{margin-bottom:5px;}.tech-page-related-panel h1 span{padding:10px;}.tech-page-new-popular-titles .bottom-container .fake-button{width:100%;}.tech-page-featured-content .tech-page-featured-img-container{max-width:660px;width:100%;height:auto;max-height:317px;margin:0 auto 20px auto;}} .homepage-bundles{border-top:10px solid #F4B840;border-bottom:10px solid #F4B840;padding-bottom:60px;text-align:center;}.homepage-bundles .homepage-bundle-title{background:rgba(0,0,0,0.4);padding:45px 0px 47px 0px;font-size:30px;color:#fff;margin-bottom:50px;}.homepage-bundles .homepage-bundle{margin:auto;}.homepage-bundles .homepage-bundle a{margin:10px 0px;}.homepage-bundles .homepage-bundle a:nth-of-type(odd) {float:left;}.homepage-bundles .homepage-bundle a:nth-of-type(even) {float:right;}.homepage-bundle img{max-width:100%;}.homepage-zone{padding:40px 0;color:#ECCC9F;}.homepage-header{padding-bottom:0;text-align:center;}.homepage-header img{max-width:100%;}.homepage-tech-tags{background:rgba(0,0,0,0.4);padding:42px 0;font-size:22px;border-bottom:10px solid #F4B840;}.homepage-tech-tags a{color:#EEC88E;font-size:24px;font-weight:100;padding-bottom:2px;margin-right:10px;border-bottom:1px solid #EEC88E;}#main-carousel .panel-pane{padding-bottom:0;}#main-carousel .hero-blocks{margin-bottom:70px;}#featured-books{padding-top:80px;}#featured-books-clear{height:50px;clear:both;}@media only screen and (max-width:1020px) {.homepage-bundles .homepage-bundle a:nth-of-type(odd),.homepage-bundles .homepage-bundle a:nth-of-type(even) {float:none;}.homepage-bundle img{padding-bottom:20px;}}.product-block{float:left;padding:0 10px;box-sizing:border-box;display:block;}.product-block img{width:100%}.product-block h2{font-size:13px;color:#000;height:32px;}.product-block .author{color:#929292;margin-top:0;}.product-block .book-block-icon{right:5px;}.product-block-6{width:160px;margin-right:10px;padding:0 5px;position:relative;}.product-block-6 img{max-height:185px;}@media only screen and (min-width:1040px) {.product-block-6:nth-child(6n+0) {padding-right:0;margin-right:0;width:155px;}.product-block-6:nth-child(6n+1) {padding-left:0;width:155px;}.product-block-6:nth-child(6n+0) .book-block-icon{right:0px;}.product-block-6:nth-child(n+7) {margin-top:20px;}}@media only screen and (min-width:870px) and (max-width:1039px) {.product-block-6:nth-child(n+6) {margin-top:20px;}}@media only screen and (min-width:870px) and (max-width:1034px) {.product-block-6:nth-child(5n+0) {padding-right:0;margin-right:0;width:155px;}.product-block-6:nth-child(5n+1) {padding-left:0;width:155px;}.product-block-6:nth-child(5n+0) .book-block-icon{right:0px;}}@media only screen and (max-width:869px) and (min-width:701px) {.product-block-6:nth-child(n+5) {margin-top:20px;}}@media only screen and (max-width:864px) and (min-width:701px) {.product-block-6:nth-child(4n+0) {padding-right:0;margin-right:0;width:155px;}.product-block-6:nth-child(4n+1) {padding-left:0;width:155px;}.product-block-6:nth-child(4n+0) .book-block-icon{right:0px;}}@media only screen and (max-width:700px) and (min-width:534px) {.product-block-6:nth-child(n+4) {margin-top:20px;}}@media only screen and (max-width:694px) and (min-width:534px) {.product-block-6:nth-child(3n+0) {padding-right:0;margin-right:0;width:155px;}.product-block-6:nth-child(3n+1) {padding-left:0;width:155px;}.product-block-6:nth-child(3n+0) .book-block-icon{right:0px;}}@media only screen and (max-width:533px) {.product-block-6:nth-child(n+3) {margin-top:20px;}}@media only screen and (max-width:523px) {.product-block-6:nth-child(2n+0) {padding-right:0;margin-right:0;width:155px;}.product-block-6:nth-child(2n+1) {padding-left:0;width:155px;}.product-block-6:nth-child(2n+0) .book-block-icon{right:0px;}}@media only screen and (max-width:360px) {.product-block-6:nth-child(2n+0) {width:135px;max-height:215px;}.product-block-6:nth-child(2n+1) {width:135px;max-height:215px;}.product-block-6:nth-child(2n+0) .book-block-icon{right:0px;}}body div.page-packt-offers-christmas-countdown #title-bar{background-color:#C59B66;}.book-block-container{float:left;width:150px;margin-right:20px;position:relative;margin-bottom:40px;height:283px;}.book-block-container.last{margin-right:0px;}.book-block-container.expired{margin-left:-170px;opacity:0.75;z-index:9;background-color:white;}.book-block-container.expired.last{margin-left:-150px;}.section-outer.grey{background-color:#E5EAEE}#twelve-days-central-image-container{margin-bottom:2em;}#twelve-days-left-image-container{width:100%;text-align:center;margin-bottom:2em;}.twelve-days-claim-button{width:100%;margin:46px 0% 0px 0%;text-align:center;color:white;background-color:#548ED7;height:35px;line-height:35px;}#twelve_days_bottom{text-align:center;}#eighteen-days-banner{background-color:#feca5c;background-image:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/task-specific/DM-164/free-learning-header.png);background-repeat:no-repeat;background-position:center center;width:100%;height:184px;}.eighteen-days-countdown-bar{background-color:#D92238;color:#feca5c;text-transform:uppercase;font-size:1.4em;margin:0em 0em 1em 0em;padding:0.25em 1em;font-weight:bold;line-height:2em;}.eighteen-days-countdown-bar .packt-js-countdown{float:right;font-size:1.5em;}.page-packt-offers-free-learning .book-block-container{height:185px;}.twelve-days-claim input[type=submit]{background:transparent;font-size:1.2em;}.twelve-days-claim .book-claim-token-inner{background:#49AAAE;}.twelve-days-claim .book-claim-token-logo{margin-top:10px;background-position:-2708px 8px;}@media only screen and (max-width:1040px){.twelve-days-claim input[type=submit]{padding:0;width:70%;margin-left:5%;}}.packt-five-dollar-zone{padding:40px 0;color:#ECCC9F;}.packt-five-dollar-header{background-image:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/task-specific/DM-335/reptile1-green.png);background-repeat:repeat;padding-bottom:0;text-align:center;}.packt-five-dollar-header img{max-width:100%;}.packt-five-dollar-header > div.section-inner{margin-bottom:30px;}.packt-five-dollar-tech-tags{background:rgba(0,0,0,0.4);padding:42px 0;font-size:22px;border-bottom:10px solid #F4B840;}.packt-five-dollar-tech-tags a{color:#EEC88E;font-size:24px;font-weight:100;padding-bottom:2px;margin-right:10px;border-bottom:1px solid #EEC88E;}#packt-libraries-five-dollar-search-form{max-width:657px;background-color:#fff;margin:auto;margin-top:40px;margin-bottom:90px;height:61px;border:2px solid #E6E6E6;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:7px 7px 0px 0px #B6B6B6;-moz-box-shadow:7px 7px 0px 0px #B6B6B6;box-shadow:7px 7px 0px 0px #B6B6B6;}#packt-libraries-five-dollar-search-form #five-dollar-search-keys{float:left;height:61px;font-size:31px;max-width:86%;line-height:61px;padding:0px 10px;-webkit-border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-bottomleft:4px;border-top-left-radius:4px;border-bottom-left-radius:4px;}#packt-libraries-five-dollar-search-form #five-dollar-search-keys::-webkit-input-placeholder{color:#dddddd;font-style:normal;font-weight:200;}#packt-libraries-five-dollar-search-form #five-dollar-search-keys:-moz-placeholder{   color:#dddddd;font-style:normal;font-weight:200;}#packt-libraries-five-dollar-search-form #five-dollar-search-keys::-moz-placeholder{   color:#dddddd;font-style:normal;font-weight:200;}#packt-libraries-five-dollar-search-form #five-dollar-search-keys:-ms-input-placeholder{color:#dddddd;font-style:normal;font-weight:200;}#packt-libraries-five-dollar-search-form #five-dollar-search-keys-wrapper{margin:0px;}#packt-libraries-five-dollar-search-form input[type="submit"]{float:right;background:#50627A;margin:0px;height:61px;-webkit-border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;background-image:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/task-specific/DM-335/magnify.png);background-repeat:no-repeat;background-position:center center;}.five-dollar-book-blocks .book-block-position-5 .book-block{margin-right:0px;}.five-dollar-best-selling{padding:40px 0px;}.five-dollar-best-selling h3{text-align:center;font-size:30px;color:#41392C;margin-bottom:30px;}.five-dollar-best-selling h3 a{color:#41392C;}.five-dollar-best-selling h3 span{color:#F25B50;}.five-dollar-best-selling.books{background-color:#E5EAF0;}.five-dollar-best-selling.videos{background-color:#F3F7F8;}.packt-five-dollar-bundles{border-top:10px solid #F4B840;border-bottom:10px solid #F4B840;background-image:url(https://waybackassets.bk21.net/20160321183425im_/https://www.packtpub.com/sites/all/themes/packt_v4/images/task-specific/DM-335/reptile2-blue.png);background-repeat:repeat;padding-bottom:60px;text-align:center;}.packt-five-dollar-bundles .packt-five-dollar-bundle-title{background:rgba(0,0,0,0.4);padding:45px 0px 47px 0px;font-size:30px;color:#fff;margin-bottom:50px;}.packt-five-dollar-bundles .packt-five-dollar-bundle-title span{color:#F25B50;}.packt-five-dollar-bundles .packt-five-dollar-bundle{margin:auto;}.packt-five-dollar-bundles .packt-five-dollar-bundle a{margin:10px 0px;}.packt-five-dollar-bundles .packt-five-dollar-bundle a:nth-of-type(odd) {float:left;}.packt-five-dollar-bundles .packt-five-dollar-bundle a:nth-of-type(even) {float:right;}.packt-five-dollar-report-picture{float:left;max-width:330px;padding:33px 0;}.packt-five-dollar-report-picture img{max-width:330px;width:100%;}.packt-five-dollar-report-info{float:right;max-width:600px;transform:translateY(45%);}.packt-five-dollar-report-info h3{font-size:230%;line-height:40px;margin-bottom:15px;font-weight:300;}.packt-five-dollar-report-body{margin-top:20px;margin-bottom:5px;font-size:18px;font-weight:100;line-height:120%;}div.packt-five-dollar-report-download-button{background-color:#5594DB;text-align:center;padding:10px 40px;color:#fff;margin-top:25px;float:left;font-size:22px;font-weight:100;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}a.packt-five-dollar-report-download-button{text-decoration:none;color:white;font-size:160%;font-weight:100;float:left;-webkit-border-radius:5px;margin-top:10px;-moz-border-radius:5px;border-radius:5px;}@media only screen and (max-width:1039px) {#packt-libraries-five-dollar-search-form #five-dollar-search-keys{max-width:86%;}.packt-five-dollar-report-picture{float:none;text-align:center;width:auto;max-width:initial;}.packt-five-dollar-report-info{transform:initial;float:none;margin:auto;margin-bottom:50px;}.packt-five-dollar-bundles .packt-five-dollar-bundle img:nth-of-type(odd),.packt-five-dollar-bundles .packt-five-dollar-bundle img:nth-of-type(even) {float:none;max-width:100%;}.five-dollar-book-blocks .book-block-position-5 .book-block{margin-right:15px;}}@media only screen and (max-width:869px) and (min-width:700px) {#packt-libraries-five-dollar-search-form #five-dollar-search-keys{max-width:86%;}.five-dollar-book-blocks .book-block-position-4 .book-block{margin-right:15px;}.packt-five-dollar-report-info{max-width:550px;}}@media only screen and (max-width:699px) and (min-width:530px) {#packt-libraries-five-dollar-search-form #five-dollar-search-keys{max-width:85%;}.five-dollar-book-blocks .book-block-position-3 .book-block{margin-right:15px;}}@media only screen and (max-width:650px) {#packt-libraries-five-dollar-search-form #five-dollar-search-keys{max-width:85%;}}@media only screen and (max-width:610px) {#packt-libraries-five-dollar-search-form #five-dollar-search-keys{max-width:83%;}}@media only screen and (max-width:529px) {#packt-libraries-five-dollar-search-form #five-dollar-search-keys{max-width:80%;}.five-dollar-book-blocks .book-block-position-2 .book-block{margin-right:15px;}}@media only screen and (max-width:470px) {#packt-libraries-five-dollar-search-form #five-dollar-search-keys{max-width:75%;}}@media only screen and (max-width:375px) {#packt-libraries-five-dollar-search-form #five-dollar-search-keys{max-width:71%;}}@media only screen and (max-width:340px) {#packt-libraries-five-dollar-search-form #five-dollar-search-keys{max-width:69%;}}
/*
     FILE ARCHIVED ON 18:34:25 Mar 21, 2016 AND RETRIEVED FROM THE
     INTERNET ARCHIVE ON 12:11:09 Dec 10, 2025.
     JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.

     ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
     SECTION 108(a)(3)).
*/
/*
playback timings (ms):
  captures_list: 0.654
  exclusion.robots: 0.064
  exclusion.robots.policy: 0.053
  esindex: 0.013
  cdx.remote: 17.005
  LoadShardBlock: 96.979 (3)
  PetaboxLoader3.datanode: 135.847 (5)
  load_resource: 251.441 (2)
  PetaboxLoader3.resolve: 131.72 (2)
*/