/* Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Poppins', sans-serif;
}
/* Global Styles */
body {
  font-family: 'Poppins', sans-serif;
  color: #333;
  background-color: #e1c800;
  position:relative;
}

a {
  text-decoration: none;
}

ul {
  list-style: none;
}

img {
  max-width: 100%;
  width: 60%;
}

section{
    position:relative;
}
section h2{
    margin-top:40px;
}

/* Header */

.header_hero_wrap{

}
header {
background-color: #e1c800;
height: 80px;
/*height: 100vh;*/
display: flex;
justify-content: end;
align-items: center;
position: relative;
background:linear-gradient(to left, rgba(0,0,0,0.25), rgba(0,0,0,0));
/*background:linear-gradient(to bottom, rgba(0,0,0,0.25), rgba(0,0,0,0)), url('../images/hero.png') center/contain no-repeat;*/
}
header nav {
position: absolute;
top: 0;
left: 0;
width: 100%;
padding: 1rem;
display: flex;
justify-content: space-between;
align-items: center;
background: rgba(255,255,255,.4);
}

header nav ul {
display: flex;
justify-content: center;
align-items: center;
}

header nav li {
/*margin: 0 1rem;*/
}

header nav a {
color: #fff;
font-size: 1.2rem;
font-weight: 500;
background: #e1c800;
padding: 10px;
margin-left:1px;
margin-right:1px;
background: #d9cb68;
border-radius:5px;
}
header nav .active a {
background: #e1c800;
}
header nav a:hover {
background: #e1c800;
}



.site_info_link{
    color:white;
}
.site_info{
    border:0px gray solid;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-top: 10px;
    margin-right: 60px;
}
.site_info img{
    height: 80px; width:auto;
}
.site_text{
    font-size:30px;
    margin-left:10px;
}





.hero {
text-align: center;
text-shadow: 1px 2px 7px black;
background:url('../images/hero.png') center/contain no-repeat;
width:100%;
height:400px;
height: 80vh;
display: block;
flex-direction: column;
justify-content: center;
padding-top:15%;
}

.hero h1 {
font-size: 4rem;
margin-bottom: 1rem;
color: #fff;
}

.hero p {
font-size: 1.5rem;
margin-bottom: 2rem;
color: #fff;
}



/* ------- buttons ------ */



button, .btn-primary {
display: inline-block;
background: #e4d719;
color: #fff;
padding: 15px 30px;
border-radius: 20px;
border: 1px #ede356 solid;
font-size: 24px;
transition: all 0.3s ease-in-out;
}

button{
    padding: 5px 15px;
    font-size: 18px;
    cursor: pointer;
}

button:hover, .btn-primary:hover {
background: #efe337;
}

button:disabled,
button[disabled]{
    border: 1px solid #fff;
    background-color: #c7c7c7;
    color: #fff;
    cursor: default;
}








/* Main */
content {
background-color: #fff;
width: 100%;
display: block;
padding: 5px 30px;
padding-bottom:80px
}

.services {
text-align: center;
}

.services h2 {
font-size: 3rem;
margin-bottom: 2rem;
}

.service-item {
margin-bottom: 2rem;
}

.service-item h3 {
font-size: 2rem;
margin-bottom: 1rem;
}

.service-item p {
font-size: 1.2rem;
}

.testimonials {
text-align: center;
}

.testimonials h2 {
font-size: 3rem;
margin-bottom: 2rem;
}

.testimonial {
margin-bottom: 2rem;
}

.testimonial p {
font-size: 1.5rem;
margin-bottom: 1rem;
}

.testimonial .author {
font-size: 1.2rem;
font-weight: 500;
}

/* Footer */
footer {
background: #333;
color: #fff;
text-align: center;
padding: 15px;
padding-bottom:100px;
}

footer a{
    color:white;
}
footer .links{
    margin-bottom:30px;
}

/* ------- PAGES ------ */


/* Book Reader */

.chapters_nav{
position: relative;
display: block;
text-align: center;
}
.chapters_nav p{
    font-size:20px;
}
.chapters_nav button{
    margin-left:0px;
}
.chapters_nav button:first-child{
    margin-left:20px;
}



/* Library - Displaying Books */


      .books-layout{
          display: flex;
          flex-direction: row;
          justify-content: space-between;
      }
      .book-view{
          width:47%;
          border:1px gray solid;
          margin:5px;
          min-height:150px;
          border-radius: 10px;
          position:relative;
      }
      .book-view:hover{
          background:white;
          transition-duration: .25s;
      }
      .tooltip{
          
      }
      .book-image{
          width: 100%;
          height: 100px;
          /*border: 1px gray solid;*/
          background-color: #d9d9d9;
          border-radius: 10px;
          border-bottom-right-radius:0px;
          border-bottom-left-radius:0px;
      }
      .book-view{
          position:relative;
      }
      .tooltip{
          display:none;
          position:absolute;
          top:0;
          left:0;
          width:100%;
          height:60%;
          background-color: #fff;
          border: 1px solid #000;
          box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);

      }
      .book-view:hover .tooltip{
          display:none;
          overflow:scroll;
      }
      .tooltip-content {
          padding: 10px;
      }

      .read-book{
          font-weight:bold;
          font-size:20px;
          margin-top:20px;
      }
      
      /* Library - List View */

      body.library .view_options{
          border:1px rgba(0,0,0,.1) solid;
          text-align:center;
          border-radius:15px;
          margin-top:20px;
          padding:10px;
      }
      body.library .view_options a.active button{
          border:1px black solid;
          background: gray;
      }
      
      body.library .book_list_rows, body.library .book_list_rows_category_list{
          border:0px gray solid;
          margin:2px;
          background-color:#e1c800;
          margin-top:30px;
          width:100%;
          padding:20px;
          text-align: center;
      }
      body.library .book_list_rows_category_list{
          text-align: unset;
      }
      body.library .book_list_rows_cateogry{
          text-align: center;
      }
      body.library .book_list_rows_cateogry h1{
          text-align: center;
          margin-top:50px;
          margin-bottom:20px;
      }
      body.library button{
          margin:10px;
      }
      body.library h1{
          margin-bottom:30px;
      }
      body.library .book-row{
          border:1px gray solid;
          margin:10px;
          padding:20px;
          border-radius:5px;
          position:relative;
          background-color:#fff;
      }
      body.library .book-row .book-row-inner{
          width:80%;
      }



      body.library .book-row .book-read div{
          position:absolute;
          top:0;
          right:0;
          height:100%;
          width:20%;
          border:1px gray solid;
          text-align:center;
          padding-top: 35px;
          background-color:#d9cb68;
          background:linear-gradient(to left, rgba(0,0,0,0.25), rgba(0,0,0,0));
      }
      body.library .book-row .book-read-words{
          font-size: 16px;
          padding-top:20%;
      }
      body.library .book-row .book-num{
          color: #a7a7a7;
      }
      body.library .book-row .book-title{
          margin-bottom:10px;
          font-weight:bold;
          margin-top:10px;
          font-size:20px;
      }
      body.library .book-row a.book-read{
          color:black;
      }
      body.library .book-row .book-subtitle{
          margin-left:30px;
      }
      body.library .checked_out_books{
          border:1px rgba(0,0,0,.1) solid;
          padding:20px;
          margin:20px;
          border-radius:20px;
      }


      /* BLOG Page */


/* BLOG LIST PAGE */

body.blog .page-box-row2{
    padding: 20px 100px;
}


.blog_post_list_group{
    /*border:1px gray solid;*/
    padding:0px;
    margin:0px;
    width:100%;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
}

.blog_post_group_row{
    position:relative;
    width:100%;
    /*border:2px red dashed;*/
    
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
}

a.blog_post_list_single{
    display: block;
    text-decoration: none;
    color: black;
    width: 47%;
    border: 1px gray solid;
    padding: 25px;
    margin-bottom: 20px;
    margin-left: 20px;
    border-radius: 10px;
    background: #ededed;
}
a.blog_post_list_single:hover{
    background-color:white;
}
blog_post_list_single1{
    border:1px gray solid;
    width:40%;
    border:1px gray solid;
    padding:5px;
    margin:5px;
}
.blog_post_list_image img{
    width:100%;
    height:auto;
}

.blog_title{
    font-weight:bold;
    margin-bottom:20px;
    text-align:center;
}
.blog_date{
    margin-bottom:20px;
    text-align:center;
}








      /* BOOK READER Page */

      body.book_reader .chapters_nav{
          border:1px rgba(0,0,0,.1) solid;
          padding:10px;
          width:300px;
          margin:0 auto;
          margin-top: 40px;
          margin-bottom: 40px;
          border-radius:20px;
      }
      body.book_reader .long-summary{
          display:none;
      }
      body.book_reader .long-summary-title{
          cursor:pointer;
          color:blue;
          margin-top:20px;
      }
      
      body.book_reader .toc_chapter{
          line-height:2;
      }

      body.book_reader .return_book, body.book_reader .check_out_book{
          border:0px gray solid;
          padding:20px;
          margin:20px;
      }




/* BLOG - SINGLE BLOG ENTRY */


.breadcrumbs{
    width:90%;
    text-align:left;
    margin-left:0px;
    margin-top:0px;
    margin-bottom:50px;
    /*border:1px gray solid;*/
}

.blog_date1{
    margin-bottom:20px;
}

body.blog_entry .blog-image1 img{
    width:100%;
    height:auto;
    margin-bottom:10px;
    border:1px rgba(255,255,255,.01) solid;
}

body.blog_entry .heading-02{
    margin-bottom:10px;
}





.blog-grid-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 10px;
}

  a.blog_post_list_single{
      width:auto;
  }



/* styles that apply to all screen widths can go here */


/*1.	For mobile devices with a maximum width of 480px:*/
@media (min-width: 0px) and (max-width: 480px) {
/* Styles for mobile devices */

body{border:0px blue solid;}

    header,.site_info_link{
        display:none;
    }
    #mobile_menu_outer_wrap{
        display:none;
        width: 100%;
    }
    #mobile_menu_wrap{
        position:relative;
        display:flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        flex-direction: row-reverse;
        width:100%;
        min-height:200px;
        border:1px gray solid;
        background: rgba(0,0,0,.8);
        background: #e1c800;
        border-bottom:40px rgba(0,0,0,.6) solid;
        border-top:10px rgba(0,0,0,.6) solid;
    }
    #mobile_logo_wrap{
        background: #e1c800;
        width: 100%;
        display:block;
        min-height: 60px;
    }
    a.site_info_link_mobile{
        color:white;
    }
    #mobile_logo{
        border: 0px gray solid;
        float: left;
        margin-left: 10px;
    }
    #mobile_logo img{
        width:50px;
        height:auto;
    }
    #mobile_site_text{
        color:white;
        float: left;
        margin-top: 15px;
    }
    .mobile_menu_icon{
        border:0px gray solid;
        height:60px;
        width:30%;
        text-align:left;
        padding-top:10px;
        padding-left:25px;
        margin-bottom:0px;
        float: left;
    }
    #mobile_menu{
        border:1px gray solid;
        width:100%;
        min-height:200px;
        margin-bottom: 50px;
    }
    #mobile_menu a{
        font-size: 24px;
        display: block;
        padding: 10px 10px 10px 40px;
        border-top: 1px black solid;
        margin-top: 2px;
        color:white;
        background: #b19204;
        font-weight:600;
    }
    #mobile_menu .active a{
        background: #e1c800;
        color:black;
    }
    #mobile_menu a:hover{
        background: #e1c800;
        color:black;
        font-weight:600;
    }

/* ------------------------------- */

    .menu_icon_container {
      display: inline-block;
      cursor: pointer;
    }

    .bar1, .bar2, .bar3 {
      width: 35px;
      height: 5px;
      background-color: #000;
      margin: 6px 0;
      transition: 0.4s;
    }

    /* Rotate first bar */
    .change .bar1 {
      transform: translate(0, 11px) rotate(-45deg);
    }

    /* Fade out the second bar */
    .change .bar2 {opacity: 0;}

    /* Rotate last bar */
    .change .bar3 {
      transform: translate(0, -11px) rotate(45deg);
    }


  .blog-grid-container {
    grid-template-columns: 1fr;
  }
  a.blog_post_list_single{
      width:auto;
  }


}





/*2.	For small tablets with a maximum width of 768px:*/
@media (min-width: 481px) and (max-width: 768px) {
/* Styles for small tablets */

body{border:0px green solid;}


    header,.site_info_link{
        display:none;
    }
    #mobile_menu_outer_wrap{
        display:none;
        width: 100%;
    }
    #mobile_menu_wrap{
        position:relative;
        display:flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        flex-direction: row-reverse;
        width:100%;
        min-height:200px;
        border:1px gray solid;
        background: rgba(0,0,0,.8);
        background: #e1c800;
        border-bottom:40px rgba(0,0,0,.6) solid;
        border-top:10px rgba(0,0,0,.6) solid;
    }
    #mobile_logo_wrap{
        background: #e1c800;
        width: 100%;
        display:block;
        min-height: 60px;
    }
    a.site_info_link_mobile{
        color:white;
    }
    #mobile_logo{
        border: 0px gray solid;
        float: left;
        margin-left: 10px;
    }
    #mobile_logo img{
        width:50px;
        height:auto;
    }
    #mobile_site_text{
        color:white;
        float: left;
        margin-top: 15px;
    }
    .mobile_menu_icon{
        border:0px gray solid;
        height:60px;
        width:30%;
        text-align:left;
        padding-top:10px;
        padding-left:25px;
        margin-bottom:0px;
        float: left;
    }
    #mobile_menu{
        border:1px gray solid;
        width:100%;
        min-height:200px;
        margin-bottom: 50px;
    }
    #mobile_menu a{
        font-size: 24px;
        display: block;
        padding: 10px 10px 10px 40px;
        border-top: 1px black solid;
        margin-top: 2px;
        color:white;
        background: #b19204;
        font-weight:600;
    }
    #mobile_menu .active a{
        background: #e1c800;
        color:black;
    }
    #mobile_menu a:hover{
        background: #e1c800;
        color:black;
        font-weight:600;
    }

/* ------------------------------- */

    .menu_icon_container {
      display: inline-block;
      cursor: pointer;
    }

    .bar1, .bar2, .bar3 {
      width: 35px;
      height: 5px;
      background-color: #000;
      margin: 6px 0;
      transition: 0.4s;
    }

    /* Rotate first bar */
    .change .bar1 {
      transform: translate(0, 11px) rotate(-45deg);
    }

    /* Fade out the second bar */
    .change .bar2 {opacity: 0;}

    /* Rotate last bar */
    .change .bar3 {
      transform: translate(0, -11px) rotate(45deg);
    }


  .blog-grid-container {
    grid-template-columns: 1fr;
  }
  a.blog_post_list_single{
      width:auto;
  }


}





/*3.	For tablets with a maximum width of 992px:*/
@media (min-width: 768px) and (max-width: 992px) {
/* Styles for tablets */
body{border:0px yellow solid;}

/* ------------------------------- */






    header,.site_info_link{
        display:none;
    }

    #mobile_menu_outer_wrap{
        display:none;
        width: 100%;
    }
    #mobile_menu_wrap{
        position:relative;
        display:flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        flex-direction: row-reverse;
        width:100%;
        min-height:200px;
        border:1px gray solid;
        background: rgba(0,0,0,.8);
        background: #e1c800;
        border-bottom:40px rgba(0,0,0,.6) solid;
        border-top:10px rgba(0,0,0,.6) solid;
    }
    #mobile_logo_wrap{
        background: #e1c800;
        width: 100%;
        display:block;
        min-height: 60px;
        position:relative;
    }
    a.site_info_link_mobile{
        color:white;
    }
    #mobile_logo{
        border: 0px gray solid;
        float: left;
        margin-left: 10px;
    }
    #mobile_logo img{
        width:50px;
        height:auto;
    }
    #mobile_site_text{
        color:white;
        float: left;
        margin-top: 15px;
    }
    .mobile_menu_icon{
        border:0px gray solid;
        height:60px;
        width:35%;
        text-align:left;
        padding-top:10px;
        padding-left:25px;
        margin-bottom:0px;
        float: left;
    }
    #mobile_menu{
        border:1px gray solid;
        width:100%;
        min-height:200px;
        margin-bottom: 50px;
    }
    #mobile_menu a{
        font-size: 24px;
        display: block;
        padding: 10px 10px 10px 40px;
        border-top: 1px black solid;
        margin-top: 2px;
        color:white;
        background: #b19204;
        font-weight:600;
    }
    #mobile_menu .active a{
        background: #e1c800;
        color:black;
    }
    #mobile_menu a:hover{
        background: #e1c800;
        color:black;
        font-weight:600;
    }

/* ------------------------------- */

    .menu_icon_container {
      display: inline-block;
      cursor: pointer;
    }

    .bar1, .bar2, .bar3 {
      width: 35px;
      height: 5px;
      background-color: #000;
      margin: 6px 0;
      transition: 0.4s;
    }

    /* Rotate first bar */
    .change .bar1 {
      transform: translate(0, 11px) rotate(-45deg);
    }

    /* Fade out the second bar */
    .change .bar2 {opacity: 0;}

    /* Rotate last bar */
    .change .bar3 {
      transform: translate(0, -11px) rotate(45deg);
    }

.blog-grid-container {
  grid-template-columns: repeat(2, 1fr);
}
  a.blog_post_list_single{
      width:auto;
  }


}


/*4.	For laptops and desktops with a maximum width of 1200px:*/
@media (min-width: 990px) and (max-width: 1200px) {
/* Styles for laptops and desktops */
body{border:0px orange solid;}


.blog-grid-container {
  grid-template-columns: repeat(2, 1fr);
}

    header,.site_info_link{
        display:block;
    }
    #mobile_menu_outer_wrap, #mobile_logo_wrap{
        display:none;
    }


} 


/*5.	For large screens with a minimum width of 1201px:*/
@media (min-width: 1201px) {
/* Styles for large screens */ /* copy and paste the styles that apply to the largest screen size into the media query for screens over 1201px. */

body{border:0px red solid;}

    header,.site_info_link{
        display:block;
    }
    #mobile_menu_outer_wrap, #mobile_logo_wrap{
        display:none;
    }
    

}




















