
html, body {
    margin: 0;
    padding: 0;
    font-family: 'Times New Roman', Times, serif;
    line-height: 1.6;
    color: #51291A;
    background-color: #ffffff;
    font-size: 1.2rem;
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Wrapper */
.wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Header */
header {
    background-color: #406799;
    padding: 10px 0;
}

header .logo {
    height: 50px;
}

.nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nav .links {
    display: flex;
    gap: 15px;
    list-style: none;
}


.nav .links a {
    display: flex;
    flex-direction: row;
    font-size: 1.4rem;
    color: #fff;
    text-decoration: none;
    padding: 20px 12px;
    transition: background-color 0.3s;
    justify-content: space-evenly;
}

.nav .links a:hover {
    color: #D5B74F;
}
/* Main Content */
main{
    margin-bottom: 2rem;
    flex-grow: 1;
}
main h1 {
    font-size: 2rem;
    color: #51291A;
    margin-top: 20px;
    margin-bottom: 10px;
}

main p {
    margin-bottom: 20px;
    color: #51291A;
}
/* about */
.about-section, .author-bio {
    margin-bottom: 30px;
    color: #51291A;
  }
  
  .author-bio {
    margin-bottom: 30px;
    color: #51291A;
    font-size: 20px;
  }
  
  .heading-author-bio {
    font-size: 40px;
    margin-bottom: 50px;
    margin-top: 60px;
    color: #51291A;
  }
  
  .author-bio .bio-content {
    display: flex;
    align-items: flex-start;
    margin-top: 20px;
    font-size: 20px;
    color: #51291A;
    gap: 20px;
  }
  
  .author-bio img {
    max-width: 250px;
    border-radius: 8px;
  }
  
  .heading-about-talecraft {
    font-size: 40px;
    font-family: 'Higuen Elegant Serif', serif;
    margin-bottom: 50px;
    margin-top: 10px;
    color: #51291A;
  }
  
  .author-more-content {
    margin-top: 15px;
  }


/* Contact */

.contact-container, .faq-container {
    max-width: 1200px;  
    margin: 0 auto;
    padding: 20px;
    min-height: 500px;
    text-align: left;
    box-sizing: border-box;
    color: #51291A;
}

.contact-container h1, .faq-container h1 {
    text-align: left;
    width: 100%;
    color: #51291A;
}

.contact form {
    width: 100%;
    box-sizing: border-box;
    padding-right: 1rem;
}

.contact form .form-container {
    display: flex;
    flex-wrap: wrap; 
    justify-content: space-between; 
    box-sizing: border-box;
    flex-direction: column; 
    align-items: stretch; 
    color: #51291A;
}

.contact form .form-group {
    flex: 1; 
    margin-right: 0;
    margin-bottom: 15px;
    width: 100%;
    color: #51291A;
}

.contact form input,
.contact form textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 10px;
    font-size: 14px;
    color: #51291A;
}

.contact form input[type="text"],
.contact form input[type="email"] {
    height: 32px;
    color: #51291A;
}

.contact form textarea {
    resize: none;
    height: 150px;
    color: #51291A;
}

.contact form button {
    display: block;
    background: #D5B74F;
    color: #51291A;
    margin: 30px 0 0 0;
    border: none;
    border-radius: 30px;
    text-align: center;
    width: 100%;
    height: 55px;
    font-size: 16px;
    box-sizing: border-box;
}

.faq {
    margin: 20px 0;
    color: #51291A;
}

.faq h3 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #51291A;
    padding: 10px;
    cursor: pointer;
    border-radius: 5px;
    font-size: 18px;
}

.faq p {
    display: none;
    margin: 0;
    padding: 10px;
    font-size: 14px;
    color: #51291A;
}

.faq.open h3 span {
    transform: rotate(360deg);
    color: #51291A;
}


.author {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
}

.author img {
    max-width: 250px;
    border-radius: 8px;
}
.home-book {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin: 20px 0;

}


.book-content {
    display: flex;
}
.home-book img,
.book-content img {
    max-width: 300px;
    border-radius: 8px;
    float: left;
    margin-right: 20px;
}
.book-p {
    display: flex;
    flex-direction: column;
}

.button {
    margin-top: 20px;
}

/* Button */
.button {
    display: flex;
    justify-content: center;
    padding: 10px 20px;
    background-color: #D5B74F;
    color: #fff;
    text-decoration: none;
    border-radius: 35px;
    margin-top: 10px;
    transition: background-color 0.3s;
    max-width: 10rem;
    
}

.button:hover {
    background-color: #ffffff;
    color: #D5B74F;
    border: 1px solid #D5B74F;
}

/* Footer */
footer {
    background-color: #406799;
    color: #fff;
    padding: 20px 0;
    
}

footer h3 {
    margin-bottom: 10px;
    font-size: 1.5rem;
}

.footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.footer .social-media-links a {
    color: #fff;
    margin: 0 5px;
    text-decoration: none;
    font-size: 1.2rem;
}

.footer p {
    margin-top: 10px;
}

/* css for books */

.ks {
    margin-top: 3.5rem;
}

/* css for all-cleared.html */
.book-description h2 {
    font-size: 1.8rem;
    margin-bottom: 10px;
}

.book-description p {
    font-size: 1rem;
    margin-bottom: 15px;
}

.book-description ul {
    list-style-type: none;
    padding: 0;
    font-weight: bold;
    margin: 15px 0;
}

.book-description ul + li {
    font-weight: normal;
    list-style-type: disc;
    list-style-position: inside;
    margin-left: 15px;
}

.book-description li {
    margin: 8px 0;
    padding-left: 20px;
}
@media (min-width: 768px) {
    .wrapper {
        max-width: 100%;
        padding: 0 2rem;
    }

    .contact-container {
        box-sizing: border-box;
        width: 100%;
        color: #51291A;
    }

    .contact-container,
    .faq-container {
        max-width: 1200px;
        padding: 20px;
        width: 100%;
        min-height: 500px;
        color: #51291A;
    }

    .contact-container,
    .faq-container {
        padding-left: 20px;
        padding-right: 20px;
    }

    h1 {
        font-size: 50px;
        color: #51291A;
    }

    .contact form .form-container {
        flex-direction: row;
        align-items: flex-start;
        color: #51291A;
    }

    .contact form .form-group {
        margin-right: 75px;
        color: #51291A;
    }

    .contact form .form-group:last-child {
        margin-right: 0;
        color: #51291A;
    }
}

@media (max-width: 768px) {
    .book-content{
        flex-direction: column;
    }
    .book-content a{
        max-width: 300px;
        margin: 0 auto;
    }
    .home-book img, .book-content img{
        align-self: center;
    }

    

    .button {
        width: 80%;
        max-width: none;
        font-size: 1rem;
        padding: 8px 15px;
        align-self: center;        
    }
    .home-book {
        flex-direction: column;
        align-items: center;
    }
    .book-description{
        display: flex;
        flex-direction: column;
    }
    .paragon-books .home-book{
        flex-direction: column-reverse;
    }
    .paragon-buy .home-book{
        flex-direction: column-reverse;
    }
    .bio-content{
        flex-direction: column;
    }
    .bio-content img{
        align-self: center;
    }
    .author{
        flex-direction: column-reverse;
    }
    .author img {
        max-width: 200px;
        margin: 0 auto;
    }
    .book-content{
        flex-direction: column;
    }
    .book-content img {
        max-width: 200px;
        margin: 0 auto;
    }
}

/* Mobile (510px and below) */
@media (max-width: 510px) {
  
    .nav {
      flex-direction: row;
      justify-content: space-between;
      position: relative;
    }
  
    .nav .links {
      display: none;
      flex-direction: column;
      gap: 8px;
      font-size: 1rem;
    }
  
    header .logo {
      height: 45px;
      margin: 0;
    }
    header .logo-up {
        height: 25px;
        margin: 0;
      }
  
    .nav .links a {
      padding: 10px 20px;
      text-align: center;
      text-decoration: none;
      color: #ffffff; 
    }
  
    /* Hamburger Icon */
    .hamburger {
      display: flex;
      flex-direction: column;
      gap: 5px;
      background: none;
      border: none;
      cursor: pointer;
      z-index: 1000;
    }
  
    .hamburger .bar {
      width: 30px;
      height: 4px;
      background-color: #ffffff;
      border-radius: 5px;
    }
  

    .nav {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
  
    .logo {
      order: 1; 
    }
  
    .hamburger {
      order: 2; 
    }
  
  
    .nav.active .links {
      display: flex;
      align-items: center; 
      justify-content: center; 

    }
  

    .nav.active .hamburger {
      display: none;
    }
  

    .nav.active {
      flex-direction: column;
      justify-content: center; 
      align-items: center; 
   
    }
  

    .nav.active .logo {
      order: 1; 
    }
  
 
    .nav.active .links {
      order: 2; 
    }
  
 
    .nav.active .close-arrow {
      display: block;
      margin-top: 20px;
      cursor: pointer;
      font-size: 30px; 
      color: #ffffff; 
      order: 3;
    }
  

    .close-arrow {
      display: none;
    }
  }
  

@media (min-width: 511px) {
    .close-arrow {
      display: none !important;
    }
  }
  

    /* Main Content */
    main h1 {
        font-size: 1.5rem;
    }
    .button {
        width: 30%;
        max-width: none;
        font-size: 1rem;
        padding: 8px 15px;
        
    }
    
    
    /* Footer */
    footer h3 {
        font-size: 1.2rem;
    }

    .footer {
        gap: 10px;
    }

    .footer p {
        text-align: center;
    }