@charset "UTF-8";

html {
  color: #222;
  font-size: 16px;
  line-height: 1.5;
}
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px dashed #ccc;
  margin: auto 0 0 0;
  padding: 0;
  width: 100%;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}


fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

html, body{
  height: 100%;
  margin: 0;
  padding: 0;
}
body{
  background-color: #FAF9F6;
  font-family: 'Georgia', serif;
  display: flex;
  flex-direction: column;
}
a{
  background-color: #222;
  color: #fff;
  display: inline-block;
  padding: 0 .25rem 0 .25rem;
  text-decoration: none;
}
a:hover{
  text-decoration: underline;
  background-color: transparent;
  color: #222;
}
p{
  word-break: break-word;
}
ul{
  list-style: disc;
  padding-left: 1.5rem;
}
ul li{
  font-size: inherit;
  line-height: inherit;
  margin-bottom: .125rem;
}
dl{
  margin-top: 2rem;
}
dt{
  font-weight: 600;
  margin-bottom: .25rem;
  font-family: Helvetica, sans-serif;
}
dd{
  margin-bottom: 1.5rem;
  margin-left: 0;
  padding-bottom: 1rem;
  font-size: 1rem;
  line-height: 1.5rem;
  border-bottom: 1px dashed #ccc;
}
dd:last-child{
  border-bottom: none;
}

h1,h2,h3,h4,h5,h6{
  margin-top: 0;
  margin-bottom: .5rem
}

h1,h2,h3,h4,h5,h6{
  font-family: 'Helvetica', sans-serif;
  font-weight: 600;
}

.book__author{
  font-family: 'Helvetica', sans-serif;
  font-size: 80%;
}

.footer__content,
.full-grid__content,
.wrapper,
.header__content{
  max-width: 1440px;
}
.book__resources{
  margin-top: .5rem;
}
.bi__resources{
  margin-bottom:100px;
}
.full-grid-container{
  width: 100%;
  padding-right: 2rem;
  padding-left: 2rem;
  padding-bottom: 3.5rem;
}
.full-grid__content{
  margin: 1rem auto 1rem auto;
}
.grid-container {
  display: grid;
  grid-gap: 0px 0px;
  height: 100%;
  grid-template-rows: 1fr;
}
.wrapper{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  align-items: stretch;
  height: 100%;
  padding: 0;
  margin: 0 auto;
}

h1 {
  font-size: 2rem;
  line-height: 2.25rem;
}

h2{
  font-size: 1.5rem;
  line-height: 1.75rem;
}

.website-section{
  display: flex;
  justify-content: center;
  background-color: #FAF9F6;
  order: 1;
  flex-direction: column;
}

.book-section {
  display: none;
  background-color: #ececec;
  order: 2;
  flex-direction: row-reverse;
  align-items: flex-start;
  justify-content: flex-start;
}
.book-section__image{
  width: 38%;
  float: right;
  display: none;
}
.book-section h1,
.book-section small,
.book-section p,
.book-section h2{
  padding-left: 1rem;
  padding-right: 1rem;
}
.book-section ul{
  margin-left: 1rem;
}
.book-section h1{
  padding-top: 1rem;
}
.book-section p{
  margin-top: 0;
}
body > header,
.website-section__menu{
  font-family: 'Helvetica', sans-serif;
  padding-top: 1rem;
  padding-bottom: 1rem;
  width: 100%;
}
.website-section__menu{
  display: flex;
  padding-left: 1rem;
  padding-right: 1rem;
  justify-content: space-between;
}
body > header{
  padding-left: 2rem;
  padding-right: 2rem;
  background-color: #222;
}
.menu ul,
.website-section__menu ul{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.website-section__menu ul li,
.website-section__menu h1{
  margin-bottom: 0;
}
.website-section__menu h1{
  line-height: 3rem;
}
.website-section__menu ul li,
.header__content .menu-list li{
  margin-right: .5rem;
}
.website-section__menu .yellow-box{
  width: 1.5rem;
  height: 1.5rem;
}
.website-section__menu li a{
  padding: 0 .5rem 0 .5rem;
}

.menu-list li{
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 400;
}
.header__content{
  color: #fff;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.website-section__menu h1,
.header__content h1{
  min-width: 65px;
}
.header__content h1{
  font-size: 1.5rem;
  line-height: 1.75rem;
  margin-bottom: 0;
  font-weight: 400;
}
.header__content h1 a{
  padding-left: 0;
}
.header__content h1 a:hover{
  color: #fff;
  text-decoration: none;
}
.header__content .menu-list li a{
  border-bottom: 4px solid transparent;
}
.header__content .menu-list li a:hover,
.header__content .menu-list li.menu-selected a{
  border-bottom-width: 4px;
  border-bottom-style: solid;
  border-color: #DDC425;
  color: #fff;
  text-decoration: none;
}
.header__content .menu-list li a:hover{
  border-color: #fff;
}
.yellow-box{
  background-color: #DDC425;
  display: inline-block;
  width: 1.125rem;
  height: 1.125rem;
  margin-right: .25rem;
}
.website-section__content{
  margin-top: 2rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
.book-section__content h1{
  font-size: 1.8rem;
  line-height: 2rem;
}
.book-section__image img{
  width: 100%;
}

.website-section__content h2{
  margin-top: 2rem;
}
.book-section ul{
  margin-left: 1.75rem;
}
article{
  margin-top: 2rem;
}
article header{
  position: relative;
  padding-left: 1rem;
}
article header:before{
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  background-color: #222222;
  width: .5rem;
  height: 100%;
}
article header h1{
  font-size: 1.75rem;
  line-height: 2rem;
}

.site-footer{
  padding-left: 1rem;
  padding-right: 1rem;
  width: 100%;
  min-height: 40px;
  font-family: 'Helvetica', sans-serif;
}
.site-footer p{
  font-size: .75rem;
}
@media only screen and (max-width: 450px){
  .website-section__menu{
    flex-wrap: wrap;
  }
  .menu-list{
    width: 100%;
  }
}
@media only screen and (max-width: 600px){
  .header__content .menu{
    margin-top: 1rem;
    width: 100%;
  }
  .menu ul,
  .website-section__menu ul{
    justify-content: flex-start;
  }
  .menu a{
    padding: 0;
  }
}
@media only screen and (max-width: 959px){
  .book-section p:last-child{
    margin-bottom: 100px;
  }
  .site-footer{
    position: fixed;
    bottom: 0;
    background-color: #222;
    color: #fff;
  }
  .site-footer a:hover{
    color: #fff;
  }
}

@media only screen and (min-width: 600px) {
  h1{
    font-size: 2.75rem;
    line-height: 3.5rem;
  }
  .website-section__menu .yellow-box{
    width: 2rem;
    height: 2rem;
  }
  .website-section__content,
  .book-section h1,
  .book-section small,
  .book-section p,
  .book-section h2{
    padding-right: 2rem;
    padding-left: 2rem;
  }
  .book-section h2{
    margin-top: 1.5rem;
  }
}

@media only screen and (min-width: 960px) {
  .website-section__content{
    margin-top: auto;
    width: 100%;
    max-width: 750px;
  }
  .site-footer{
    padding-right: 2rem;
    padding-left: 2rem;
  }
  .book-section h1,
  .book-section small,
  .book-section p,
  .book-section h2{
    padding-right: 2rem;
    padding-left: 0;
  }
  .book-section ul{
    text-align: left;
  }
  .book-section h2{
    display: none;
  }

  .book-section {
    display: flex;
    text-align: right;
    padding-left: 2rem;
  }

  .book-section__image{
    display: block;
    width: 100%;
    max-width: 720px;
    float: none;
  }

  .book-section{
    order: 1;
    flex-direction: column;
    align-items: center;
  }
  .book-section h1{
    font-size: 1.25rem;
    line-height: 1.55rem;
  }

  .book-section ul{
    margin-left: 0;
    margin-right: 2rem;
    list-style: none;
    text-align: right;
  }

  .website-section{
    order: 2;
  }
}
@media only screen and (min-width: 481px) and (max-width: 959px) {
  .grid-container {
    grid-template-columns: 1fr;
  }
}

@media only screen and (min-width: 960px) and (max-width: 1180px) {
  .grid-container {
    grid-template-columns: 0.55fr 1fr;
  }
  .book-section{
    justify-content: flex-start;
    font-size: .85rem;
  }
}
@media only screen and (min-width: 960px) {
  .website-section{
    justify-content: flex-start;
  }
  .book-section {
    align-items: flex-end;
  }
}
  /* Medium */
@media only screen and (min-width: 1180px) {
  .grid-container {
    grid-template-columns: .75fr 1fr;
  }
  .book-section__content{
    margin-right: 7rem;
  }

}
@media only screen and (min-width: 1600px) {
  .book-section{
    justify-content: center;
  }
  .book-section h1,
  .book-section p,
  .book-section small,
  .book-section ul{
   display: none;
  }
  .book-section__image{
    width: 100%;
  }
  .website-section__content{
    max-width: 95%;
  }
  .website-section__content h2:last-of-type,
  .website-section__content p:last-of-type,
  .website-section__content small,
  .website-section__content ul{
    display: inherit;
  }
}
/* Wide */

/* ==========================================================================
   Utility styles.
   ========================================================================== */

.list-unstyled{
  list-style: none;
  padding-left: 0;
  padding-right: 0;
  margin-top: 0;
  margin-bottom: 0;
}
.text-md{
  font-size: .928rem;
  line-height: 1.125;
}
/* ==========================================================================
   Print styles.
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important; /* Black prints faster */
        -webkit-box-shadow: none !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre {
        white-space: pre-wrap !important;
    }
    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
