
/************************************************
 * Basic style
 ************************************************/

html {
    font-size: 16px;
    height: 100%;
}
body {
    font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-family: sans-serif;
    font-size: 16px;
    font-weight: normal;
    line-height: 20px;
    height: 100%;
    width: 100%;
    background: #f1f5f6;
    color: #777;
    overflow-x: hidden;
}
h1, h2, h3, h4, h5 {
    font-weight: bold;
    margin: 0;
    margin-top: 2rem;
    margin-bottom: 1rem;
}
h1 {
    font-size: 3.5rem;
    line-height: 3.5rem;
}
h2 {
    font-size: 2.75rem;
    line-height: 2.75rem;
}
h3 {
    font-size: 2.25rem;
    line-height: 2.25rem;
}
h4 {
    font-size: 1.75rem;
    line-height: 1.75rem;
}
h5 {
    font-size: 1.3rem;
    line-height: 1.3rem;
}
hr {
    height: 1px;
    border: 0;
    background: #777;
    margin: 0;
    margin-bottom: 2rem;
}
li {
    margin-bottom: 0rem;
}
blockquote {
    font-style: italic;   
}

/* Code */
code {
    padding: .2rem .5rem;
    margin: 0 .2rem;
    font-size: 90%;
    white-space: normal;
    background: #f1f5f6;
}
pre > code {
    display: block;
    margin: 0;
    padding: 1rem 1.5rem;
    white-space: pre; 
    overflow-x: auto;
    max-width: 100%;
    border: 1px solid #e4e8e9;
    border-radius: 4px; 
}

.button.disabled {
    cursor: not-allowed;
}

/** Blog header */
main header {
    margin-bottom: 1.8em;
    font-size: 12pt;
    overflow: hidden;
}

main header h1 {
    border-bottom: 1px solid #045578;
    margin-bottom: 0.2em;
}

main header h1 a {
    text-decoration: none;
}
main h1 {
    margin-top: 2rem;
    margin-bottom: 0rem;
    line-height: 1.75rem;
    display: block;
    color: #777;
    border-bottom: solid 0px #777;
    font-size: 1.75rem;
}
main .section-number {
    display: inline-block;
    background: #777;
    color: #fff;
    padding: 0;
    line-height: 1.75rem;
    font-size: 1rem;
    vertical-align: top;
}
main h1.section {
    margin-top: 0rem;
    margin-bottom: 1rem;
    display: inline-block;
    padding: 1rem 1.5rem;
    padding-top: 0;
    width: 100%;
    box-sizing: border-box; 
    background: #777;
    color: #fff;
    border: solid 1px #777;
    border-radius: 0 0 4px 4px;
}
main .chapter {
    margin-top: 1.75rem;
    line-height: 1.75rem;
    vertical-align: middle;
    font-weight: bold;
    display: block;
    padding: 1rem 1.5rem;
    padding-bottom: 0;
    background: #777;
    color: #fff;
    border-radius: 4px 4px 0 0;
}
main h3 {
    font-style: italic;
    text-decoration: underline;
}

main h4.subtitle {
    margin-top: 0;
    margin-bottom: 0rem;
}
.toc_section {
    font-weight: bold;
/*
    font-style: italic;
    text-decoration: underline;
*/
}

header aside {
    margin-top: 0;
    font-size: 12pt;
}

header aside * {
    float: left;
    display: inline-block;
    margin-right: 0.5em;
    margin-bottom: 0;
}

/** Add a line when using the "Continue reading..." link */
section:target {
    padding-top: 0.5em;
    border-top: 2px dashed #777;
}

/**
 * Don't allow main content images to push things around
 */
main img {
    max-width: 100%;
}

a[rel=external]::after {
    content: '\f08e';
    padding-left: 0.2em;
    font-family: "FontAwesome";
    display: inline-block;
    font-size: smaller;
    vertical-align: top;
}

/************************************************
 * Classes
 ************************************************/

img.u-pull-left, img.u-pull-right {
    /* Give some padding so the text isn't too close */
    padding: 0.2em;
}

/************************************************
 * Grid
 ************************************************/

.container {
    position: relative;
    width: 1140px;
    min-height: 100%;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box; 
    background: #fff;
    border-right: 1px solid #e4e8e9;
}
.sidebar {
    position: relative;
    height: inherit;
    width: 325px;
    box-sizing: border-box;
    float: left;
    z-index: 2;
}
main {
    position: relative;
    height: inherit;
    width: 810px; 
    box-sizing: border-box;
    float: left;
    padding-bottom: 4rem;
}
.container:after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 325px;
  height: 100%;
  background: #20aaea;
}

/************************************************
 * Widgets
 ************************************************/

/** Navbar widget */
.navbar {
  overflow: hidden;
  color: #777;
  background-color: white;
}

.navbar a {
  color: #777;
  text-decoration: none;
  width: 100%;
  line-height: 4rem;
  box-sizing: border-box;
}

.navbar a:hover {
  color: #1EAEDB;
}

.navbar .brand {
  font-size: 18px;
  line-height: 20px;
  margin-right: 0.5em;
}

.navbar ul {
  list-style: none;
  display: inline-block;
  margin: 1em 0;
}

.navbar li {
  display: inline-block;
  padding: 0 1em;
  margin: 0;
}
.navbar .left {
  float: left;
  display: inline-block;
  width: 50%;
  text-align: center;
  white-space: nowrap;
  box-sizing: border-box;
}
.navbar .right {
  float: right;
  display: inline-block;
  width: 50%;
  text-align: center;
  white-space: nowrap;
  box-sizing: border-box;
}
.navbar.bottom {
  position: relative;
  bottom: 4rem;
  z-index: 10;
  float: right;
  width: 810px;
  box-sizing: border-box;
}
.subscribe {
  background: hotpink;
  margin-top: 4rem;
  padding: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
.sidebar .subscribe a {
  color: #fff;
  font-weight: bold;
  text-decoration: underline;
}

/** Sidebar widget */
.sidebar {
  background: #20aaea;
  color: #fff;
  padding: 0;
  padding-top: 1rem;
  padding-bottom: 6rem;
  box-sizing: border-box;
  font-size: 1rem;
}
.sidebar h1,
.sidebar h2,
.sidebar h3,
.sidebar h4,
.sidebar h5,
.sidebar h6 {
    margin-bottom: 0.2rem;
}

.sidebar h1 {
    font-size: 2.25rem;
}

.sidebar h2 {
    font-size: 1.75rem;
}

.sidebar h3 {
    font-size: 1.3rem;
}

.sidebar h4 {
    font-size: 1.1rem;
}

.sidebar h5 {
    font-size: 1rem;
}

.sidebar a, .sidebar a:visited {
    color: #fff;
    text-decoration: none;
}
.sidebar a:hover {
    text-decoration: underline;
}

.sidebar a.home, .sidebar a.home:visited {
    display: block;
    color: #fff;
    text-decoration: none;
    padding: 1rem;
    margin-top: 1.5rem;
    margin-bottom: 2rem;
}
.sidebar a.hideme {
    color: transparent;
}
.sidebar .fa-home {
    width: 16px;
    margin-right: 5px;
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.6rem;
    padding-right: 0.5rem;
}
.sidebar #title1 {
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.2rem;
}
.sidebar #title2 {
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 2.4rem;
}
.sidebar #title3 {
    font-size: 3.4rem;
    font-weight: bold;
    line-height: 2.4rem;
}

.sidebar ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
/** sub menu **/
.sidebar ul li {
}
.sidebar ul li a {
    display: block;
    background: #20aaea;
    padding: 10px 15px;
    padding-left: 1rem;
    color: #fff;
    text-decoration: none;
    -webkit-transition: 0.2s linear;
    -moz-transition: 0.2s linear;
    -ms-transition: 0.2s linear;
    -o-transition: 0.2s linear;
    transition: 0.2s linear;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.sidebar ul li a:hover {
    background: rgba(255, 255, 255, 0.3);
}
.sidebar ul li a .fa {
    width: 16px;
    text-align: center;
    margin-right: 5px;
}
.sidebar ul li ul li a {
    font-size: 1rem;
    line-height: 1rem;
    padding-left: 1rem;
    background: rgba(255, 255, 255, 0.4);
    border-left:   4px solid rgba(255, 255, 255, 0.5);
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.sidebar ul li ul li a:hover {
    background: rgba(255, 255, 255, 0.3);
}
.sidebar .right {
    float: right;
}
.sidebar .left {
    float: left;
}
.sidebar .section {
    font-size: 1rem;
    line-height: 1rem;
}


/** Pager widget */
ul.pager {
    list-style: none;
    margin-left: 0;
}

.pager .prev {
    float: left;
}

.pager .next {
    float: right;
}

.pager::after {
    /* Clear the floated pager items */
    content: "";
    clear: both;
    display: table;
}

/** Footer */
footer {
    margin-top: 0em;
    padding-bottom: 0em;
    font-size: 0.7em;
}

footer .tagline {
    font-size: smaller;
    line-height: 1.3;
    text-align: right;
}

/** Crumbtrail widget */

.crumbtrail ul {
    display: inline-block;
    list-style: none;
    margin: 0;
}

.crumbtrail li {
    display: inline-block;
}

.crumbtrail li::before {
    content: '::';
    display: inline-block;
}

.crumbtrail li:first-child::before {
    content: '';
}

/************************************************
 * Applications
 */

/** Blog */
.tags {
    float: right;
    margin-bottom: 0;
}

/** MVP */
.full-height {
    height: 100%;
}
main {
    background: #fff;
    padding: 2rem;
    padding-top: .5rem;
    padding-bottom: 6rem;
    font-family: sans-serif;
    font-weight: normal;
}
.title-page {
    padding-top: 4rem;
    box-sizing: border-box;
    text-align: center;
    font-family: sans-serif;
}
#title1 {
    font-size: 6rem;
    font-weight: bold;
    line-height: 6rem;
}
#title2 {
    font-size: 8.6rem;
    font-weight: bold;
    line-height: 6rem;
}
#title3 {
    font-size: 14.4rem;
    font-weight: bold;
    line-height: 12rem;
}
#subtitle1 {
    font-size: 2.54rem;
    line-height: 2rem;
}
#subtitle2 {
    font-size: 1.3rem;
    line-height: 2rem;
}
#subtitle3 {
    margin-top: 1rem;
    margin-bottom: 4rem;
    font-size: 1rem;
    line-height: 1rem;
}
#spacer {
  width: 9rem;
  display: inline-block;
}
#description {
  font-size: 1rem;
  line-height: 1rem;
  background: #ccc;
  padding: 2rem;
}

/* Perl books */
.perl-book {
    min-height: 230px;
    border: 0px solid #eee;
    margin-bottom: 2rem;
    overflow: auto;
}
.perl-book-left {
    float: left;
    height: 100%;
    width: 192px;
    box-sizing: border-box; 
}
.perl-book-right {
    float: left;
    padding-left: 1rem;
    width: 554px;
    box-sizing: border-box; 
}
.perl-book-img {
    border: solid 1px #aaa;
}
h4.perl-book-title {
    margin-top: 0;
    padding-top: 0;
}
.no-border {
    border: 0px;
}

/* Tables */
table {
    border-collapse: collapse;
}
th {
    background: #eee;
    background: #eee;
    padding: 0.5rem;
    padding-left: 0.7rem;
    padding-right: 0.7rem;
    border: 1px solid #eee;
}
td {
    padding: 0.5rem;
    padding-left: 0.7rem;
    padding-right: 0.7rem;
    border: 1px solid #eee;
}

/* Misc */
.highlight {
    color: #796eff;
}
.sidebar-trigger {
    position: absolute;
    clip: rect(0, 0, 0, 0);
}
.fa.fa-bars {
    display: none;
}
.tip-title {
    color: #777;
    display: block;
    font-weight: bold;
    box-sizing: border-box; 
    padding: 1rem 1.5rem;
    padding-left: 0;
    height: 100%;
    float: left;
}
.tip-content {
    display: block;
    background: #fff;
    box-sizing: border-box; 
    border-left: solid 1px #777;
    border-radius: 0px 4px 4px 0px;
    margin-left: 8rem;
    padding: 1rem 1.5rem;
}
.tip-content::after {
    clear: both;
    display: table;
    content: "";
}
.tip {
    background: #fff;
    color: #777;
    display: block;
    box-sizing: border-box; 
    overflow: hidden;
}
.tip a {
    color: #fff;
    color: #777;
}
.module {
    background: #eee;
    border-radius: 4px 4px 4px 4px;
    padding: 0;
}
.module .column {
    padding: 1rem;
    float: left;
    box-sizing: border-box; 
}
.module:after {
    content: "";
    clear: both;
    display: block;
}
.module .column a {
    color: #777;
}
.toc {
    padding: 1rem;
    background: #eee;
}

/************************************************
 * Reponsive
 */
@media ( max-width: 1140px ) {
  .container       { width: 800px; } /* total */
  .container:after { width: 228px; }
  .sidebar         { width: 228px; } /* left  */
  main             { width: 571px; } /* total - left - 1 */
  .navbar.bottom   { width: 571px; }
  .sidebar         { width: 228px; } /* left  */
  .perl-book-left  { width: 192px; }
  .perl-book-right { width: 313px; } 
  .module {
    padding: 1rem 0;
  }
  .module .column {
    float: none;
    padding: 0 1rem;
  }
}
@media ( max-width: 900px ) {
    .container       { width: 200%;  }
    .container:after { width: 325px; }
    .sidebar         { width: 325px; }
    main             { width: 50%;   }
    .navbar.bottom   { width: 50%;   }
    .sidebar         { width: 325px; }
    .perl-book-left  { width: 192px; }
    .perl-book-right { width: 70%;   }
/*  .perl-book-right { width: 313px; } */
    .perl-book-right { padding: 0.4rem }

    .fa.fa-bars {
      display: inline-block;
    }
    .container {
      position: absolute;
      top: 0;
      left: -322px;
      z-index: 1;
    }
    .sidebar {
      z-index: 2;
    }
    .navbar.bottom {
      position: absolute;
      left: 325px;
      bottom: 0;
      z-index: 2;
    }

    label[for="sidebar-trigger"] {
      position: relative;
      left: 1rem;
      top:  1rem;
      z-index: 3;
      height: 2rem;
      width: 2rem;
      font-size: 2rem;
      line-height: 2rem;
      cursor: pointer;
      background: transparent;
      color: #666;
    }

    .sidebar-trigger + label, .container {
      transition: left 0.2s;
    }
    .sidebar-trigger:checked + label {
      left: 1rem;
      top: 1rem;
      color: #fff;
    }
    .sidebar-trigger:checked ~ .container {
      left: 0px;
    }
    .sidebar-trigger:checked ~ .navbar.bottom {
      left: 0;
    }

    .sidebar a.home {
      margin-top: 3rem;
      margin-bottom: .3rem;
    }
    main {
      padding: .7rem;
      padding-top: 2rem;
      padding-bottom: 6rem;
    }
}
@media ( max-width: 600px ) {
    .container       { width: 200%;  }
    .container:after { width: 310px; }
    .sidebar         { width: 310px; }
    main             { width: 50%;   }
    .navbar.bottom   { width: 50%;   }
    .sidebar         { width: 310px; }
/*  .perl-book-left  { width: 192px; } */
/*  .perl-book-right { width: 313px; } */
    .perl-book-left  { width: 100%;  }
    .perl-book-right { width: 100%; }

    .perl-book-left  { align: center   }
    .perl-book-right { padding-left: 0   }

    .container { left: -307px; }

    label[for="sidebar-trigger"] {
      left: .7rem;
      top:  .7rem;
    }

    .sidebar a.home {
      margin-top: 3rem;
      margin-bottom: .3rem;
    }
    main {
      padding: .4rem;
      padding-top: 2rem;
      padding-bottom: 6rem;
    }
    pre > code {
      padding: .4rem;
      padding-left: .6rem;
    }

    .title-page {
      padding-top: 2rem;
    }
    #title1 {
      font-size: 4.9rem;
      line-height: 4.9rem;
    }
    #title2 {
      font-size: 7rem;
      line-height: 4.9rem;
    }
    #title3 {
      font-size: 11.5rem;
      line-height: 9.8rem;
    }
    #subtitle2 {
      font-size: 1rem;
      line-height: 2rem;
    }
    #subtitle1 {
      font-size: 2rem;
      line-height: 2rem;
    }
    #spacer {
      width: 4rem;
    }
}
