article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block} [hidden],template{display:none} html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%} body{margin:0} a{background:transparent} a:focus{outline:thin dotted} a:active,a:hover{outline:0} h1{margin:.67em 0;font-size:2em} hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box} code,kbd,pre,samp{font-family:monospace,serif;font-size:1em} pre{white-space:pre-wrap} img{border:0} legend{padding:0;border:0} button,input,select,textarea{margin:0;font-family:inherit;font-size:100%} button,input{line-height:normal} button,select{text-transform:none} button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button} table{border-collapse:collapse;border-spacing:0} *,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} *,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)} body{font-family:Georgia,"Times New Roman",Times,serif;font-size:15px;line-height:1.428571429;color:#777;background-color:#eee;padding-top: 0px;} input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit} a{color:#eb6864;text-decoration:none} a:hover,a:focus{color:#e22620;text-decoration:underline} a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px} img{vertical-align:middle} .img-responsive{display:block;height:auto;max-width:100%} .img-rounded{border-radius:6px} .img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out} .img-circle{border-radius:50%} hr{margin-top:21px;margin-bottom:21px;border:0;border-top:1px solid #eee} h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Helvetica Neue","Arial Narrow Bold",sans-serif;font-weight:500;line-height:1.1;color:#000} h1,h2,h3{margin-top:32px;margin-bottom:6px} h4,h5,h6{margin-top:10.5px;margin-bottom:10.5px} h1,.h1{font-size:40px} h2,.h2{font-size:28px} h3,.h3{font-size:22px} h4,.h4{font-size:18px} h5,.h5{font-size:14px} h6,.h6{font-size:13px} p{margin:0 0 10.5px} ul,ol{margin-top:0;margin-bottom:10.5px} ul ul,ol ul,ul ol,ol ol{margin-bottom:0} .list-unstyled{padding-left:0;list-style:none} .list-inline{padding-left:0;list-style:none} .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px} .list-inline>li:first-child{padding-left:0} blockquote{padding:10.5px 21px;margin:0 0 21px;border-left:5px solid #eee} blockquote p{font-size:18.75px;font-weight:300;line-height:1.25} code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace} code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px} pre{display:block;padding:10px;margin:0 0 10.5px;font-size:14px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px} pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0} .cn{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto} .cn:before,.cn:after{display:table;content:" "} .cn:after{clear:both} .row:before,.row:after{display:table;content:" "} .row:after{clear:both} .c1,.c2,.c3,.c4,.c5,.c6,.c7,.c8,.c9,.c10,.c11,.c12{position:relative;min-height:1px;padding-right:15px;padding-left:15px} output{display:block;padding-top:9px;font-size:15px;line-height:1.428571429;color:#777;vertical-align:middle} input[type="radio"][disabled],input[type="checkbox"][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed} .btn{display:inline-block;padding:8px 12px;margin-bottom:0;font-size:15px;font-weight:normal;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none} .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px} .btn:hover,.btn:focus{color:#fff;text-decoration:none} .btn:active,.btn.active{background-image:none;outline:0} .btn-primary{color:#fff;background-color:#eb6864;border-color:#eb6864} .btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#e64540;border-color:#e4332e} .btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none} .btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#eb6864;border-color:#eb6864} .btn-success{color:#fff;background-color:#22b24c;border-color:#22b24c} .btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1b903d;border-color:#187f36} .btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none} .btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#22b24c;border-color:#22b24c} label{display:inline-block;margin-bottom:5px;font-weight:bold} .btn-lg{padding:14px 16px;font-size:19px;line-height:1.33;border-radius:6px} .btn-block{display:block;width:100%;padding-right:0;padding-left:0} .btn-block+.btn-block{margin-top:5px} input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%} .list-group{padding-left:0;margin-bottom:20px} .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd} .list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px} .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px} .list-group-item>.badge{float:right} .list-group-item>.badge+.badge{margin-right:5px} a.list-group-item{color:#555} a.list-group-item .list-group-item-heading{color:#333} a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5} a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#fff;background-color:#eb6864;border-color:#eb6864} a.list-group-item.active .list-group-item-heading,a.list-group-item.active:hover .list-group-item-heading,a.list-group-item.active:focus .list-group-item-heading{color:inherit} a.list-group-item.active .list-group-item-text,a.list-group-item.active:hover .list-group-item-text,a.list-group-item.active:focus .list-group-item-text{color:#fff} .list-group-item-heading{margin-top:0;margin-bottom:5px} .list-group-item-text{margin-bottom:0;line-height:1.3} .panel{margin-bottom:21px;background-color:#fff;border:1px solid transparent;border-radius:4px} .panel-body{padding:15px} .panel-body:before,.panel-body:after{display:table;content:" "} .panel-body:after{clear:both} .panel>.list-group{margin-bottom:0} .panel>.list-group .list-group-item{border-width:1px 0} .panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0} .panel>.list-group .list-group-item:last-child{border-bottom:0} .panel-heading+.list-group .list-group-item:first-child{border-top-width:0} .panel>.table,.panel>.table-responsive>.table{margin-bottom:0} .panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd} .panel>.table>tbody:first-child th,.panel>.table>tbody:first-child td{border-top:0} .panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0} .panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0} .panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0} .panel>.table-bordered>thead>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:last-child>th,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:last-child>td,.panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0} .panel>.table-responsive{margin-bottom:0;border:0} .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px} .nel-title{margin-top:0;margin-bottom:0;font-size:17px;color:inherit} .panel-title>a{color:inherit} .panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px} .panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px} .panel-group .panel+.panel{margin-top:5px} .panel-group .panel-heading{border-bottom:0} .panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd} .panel-group .panel-footer{border-top:0} .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd} .panel-success{border-color:#22b24c} .panel-success>.panel-heading{color:#468847;background-color:#22b24c;border-color:#22b24c} .panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#22b24c} .panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#22b24c} .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px} .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)} .clearfix:before,.clearfix:after{display:table;content:" "} .clearfix:after{clear:both} .center-block{display:block;margin-right:auto;margin-left:auto} .pull-right{float:right} .pull-left{float:left} .invisible{visibility:hidden} table.hidden-md{display:table} html,body{font-size:18px;color:#222;background:#fefefe} .footer{padding:20px 0 30px 0} a,a:hover{border-bottom:1px dotted;color:#444} a:hover{text-decoration:none;color:#000} .logo-title a,.logo-title a:hover{font-size:72px;font-weight:normal;letter-spacing:.03em;vertical-align:middle;margin-left:5px;color:#000;text-decoration:none;border-bottom:none;font-family:"Helvetica Neue",sans-serif;line-height:.9em} .logo-title a:hover{color:#808080} .logo-image{vertical-align:middle;border:none} .logo-header-section{margin:15px 0 15px 0} a.list-group-item.active{background:#444;border:1px solid #222} a.list-group-item.active:hover{background:#444;border:1px solid #222} #sidebar{margin-top:30px} .select-next{min-height:260px} .choose-btn{font-size:1.1em;margin:10px 0 0 0} .choose-next{border:1px solid #000;background-color:#444;margin-left:25px;color:#ddd} .choose-next a{color:#eee} .btn-full{width:100%; padding-bottom: 4px;} p.under-btn{text-align:left;margin-top:20px} h3.panel-head{margin:5px 0 0 0;font-size:26px;color:#fff} .smaller-item{font-size:.8em;padding:5px 0 5px 10px} .see-also{margin-top: 20px; background: #22B24C; color: #eee;} .see-also a{color: #fff;} h4.toc-subsection{padding-left: 25px; margin-bottom: 3px; margin-top: 15px;} h4.toc-more-subsection{padding-left: 38px; margin-bottom: 2px; margin-top: 15px;} .indent{margin-left: 25px; padding-bottom: 1px;} .subsection{font-family:"Helvetica Neue","Arial Narrow Bold",sans-serif; margin-left: 56px; padding-bottom: 1px;} .coming-soon{color: #999;} .more-subsection{margin-left: 78px; padding-bottom: 1px;} .toc-indent {padding-left: 25px; padding-bottom: 1px; font-family:"Helvetica Neue","Arial Narrow Bold",sans-serif;} .toc-indent-link {margin-left: 25px; padding-bottom: 1px;} .toc-subsection-link {margin-left: 56px; padding-bottom: 1px;} .toc-indent-subsection {padding-left: 55px; padding-bottom: 1px;} .toc-more-indent {padding-left: 37px; padding-bottom: 1px;} p.banner {font-family:"Helvetica Neue","Arial Narrow Bold",sans-serif;font-weight:500;line-height:1.1;color:#fff;font-size:22px;margin: 16px 66px 0 0;} .subnav {font-family: 'Helvetica Neue', 'Arial Narrow Bold',sans-serif;} a.submenu-item-first {margin-right: 12px;} a.submenu-item {margin-left: 12px; margin-right: 12px;} h1.blog-h1 {font-size: 36px;} .post-byline {font-size: 12px; color: #666; margin-bottom: 10px;} @page { @top {text-align: right; font-size: 9pt; content: "The Full Stack Python Guide to Deployments: September 2016 Edition" } @bottom { text-align: right; font-size: 9pt; content: counter(page) } margin: 0.9in; size: A4; } @page:first { width: 100%; margin: 0px; padding: 0px; size: A4; @top { content: ""} @bottom { content: ""} } ol.toc a::after { content: leader('.') target-counter(attr(href), page); } div.chapter { page: standard; prince-page-group: start; } body { font-family: "Georgia"; /* "Avenir Next"; */ } ol.toc li a { border-bottom: none; } ol.toc { list-style-type: none; margin-left: 10px; } ul.toc2 { list-style-type: none; margin-left: 18px; } pre { font-size: 10px; } .highlight-line { background-color: #FFFF00; } img.chapter-cover { margin: 0; padding: 0; width: 100%; } img.shot { width: 100%; margin: 6px 0 6px 0; }