/* ------------- Fonts ---------------*/
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Karla:Poppins:100,400|Work+Sans');
@import url('https://fonts.googleapis.com/css?family=Montserrat:300,700|Playfair+Display:400i');
@import url('https://fonts.googleapis.com/css2?family=Damion&display=swap');

/* ------------- General  ---------------*/
body {
  font-family: sans-serif;
}

label {
  display: block;
}

form div {
  margin: 1em;
  display: inline-block;
}

/* This is a container for all the content on the page
to prevent the navbar from overlapping anything near the top. 
*/
.content {
  padding-top: 75px;
}

/* ------------- Landing Page ---------------*/
.home-page-container {
  display: flex;
  height: 350px;
  justify-content: space-between;
  background-color: #ff9020;
  align-items: center;
}

.front-display-text {
  color: whitesmoke;
  font-size: 30px;
  font-family: 'Roboto';
  font-weight: 600;
  margin-left: 75px;
  margin-bottom: 15px;
}

.front-page-welcome {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  margin-top: 75px;
}

.front-page-buttons {
  width: 100%;
  display: flex;
}

.right-container {
  height: 100%;
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-right: 120px;
}

.subtext {
  font-family: 'Roboto';
  font-weight: 400;
  color: whitesmoke;
  margin-left: 75px;
  margin-top: 20px;
}

.button-margin {
  margin-left: 75px;
  margin-right: 20px;
}

.main-page-image {
  height: 150px;
  width: 300px;
}

.welcome {
  background-color: #ff9020;
  height: 80px;
  display: flex;
  align-items: center;
}

.welcomeText {
  margin: 0;
  margin-left: 75px;
  font-family: 'Roboto';
  font-weight: 700;
}

.user-welcome-img {
  height: 50px;
  width: 50px;
}

/* ------------- Single Product Page ---------------*/
.single-product-img {
  height: 400px;
  width: 275px;
  background-size: cover;
  border-radius: 2px;
}

.single-book-synopsis {
  font-family: 'Roboto';
  font-weight: 500;
  font-size: 1.1em;
  text-decoration: underline;
}

.single-product-price-container {
  display: flex;
  flex-direction: column;
  min-width: 275px;
  height: 175px;
  justify-content: center;
  padding-left: 20px;
  padding-right: 20px;
  border: solid 1px #ddd;
  margin-top: 25px;
  margin-right: 50px;
  margin-left: 25px;
  box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.1);
  border-radius: 6px;
}

.single-product-info-container {
  display: flex;
  flex-direction: column;
  margin-top: 15px;
  margin-left: 50px;
  padding-right: 150px;
}

.single-product-view-title {
  font-family: 'Roboto';
  font-size: 2em;
  margin: 0;
  font-weight: 500;
}

.single-product-view-author {
  font-family: 'Roboto';
  font-size: 1.1em;
  margin: 0;
  font-weight: 400;
}

.rating-count-text {
  font-family: 'Roboto';
  font-weight: 400;
  font-size: 1em;
  margin: 0;
  margin-left: 15px;
  margin-top: 2.2px;
  color: #0066c0;
}

.single-product-rating-container {
  display: flex;
  height: 30px;
  width: fit-content;
  border-bottom: 1.6px solid #ddd;
  margin-bottom: 10px;
}

.book-author-link {
  color: #0066c0;
}

.book-price-text {
  font-family: 'Roboto';
  font-weight: 600;
  font-size: 1.4em;
  color: #710d1f;
}

.single-product-img-container {
  height: fit-content;
  margin-left: 50px;
  margin-top: 25px;
}

.single-product-genre {
  font-family: 'Roboto';
  font-weight: 1em;
  margin: 0;
  color: #0066c0;
  margin-bottom: 30px;
}

.single-product-synopsis {
  font-family: 'Roboto';
  font-size: 1em;
  align-self: flex-end;
}

.singleProduct {
  margin: 30px;
  padding: 0;
}

.single-product-container {
  display: flex;
  margin-top: 75px;
}

.author {
  font-style: italic;
  color: darkslategrey;
}

.price {
  border-radius: 20px;
  border: 2px solid #73ad21;
  padding: 5px;
  text-align: center;
}

.product-preview {
  margin: 25px;
}

/* ------------- All Products Page ---------------*/
.all-products-container {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center;
}

.all-products-container-list {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.all-products-container::after {
  content: '';
  flex: auto;
}

.all-products-start {
  background-color: #ffffff;
  background-image: linear-gradient(315deg, #ffffff 0%, #d7e1ec 74%);
  padding-top: 75px;
  background-attachment: fixed;
  background-size: cover;
  display: flex;
  flex-direction: column;
  width: 100%;
}

.left-right-container {
  display: flex;
}

/* ------------- NAVBAR ---------------*/
.nav-bar {
  display: flex;
  background-color: whitesmoke;
  padding-top: 5px;
  height: 75px;
  justify-content: space-between;
  align-items: center;
  position: fixed; /* Set the navbar to fixed position */
  top: 0; /* Position the navbar at the top of the page */
  width: 100%;
  z-index: 9999;
}

.nav-bar a {
  text-decoration: none !important;
}

.nav-buttons {
  display: flex;
  padding-right: 15px;
}

.nav-title {
  font-family: 'Damion', cursive;
  color: black;
  text-shadow: 1px 10px 5px rgba(16, 16, 16, 0.4),
    1px 15px 10px rgba(16, 16, 16, 0.2), 1px 20px 35px rgba(16, 16, 16, 0.2),
    1px 25px 60px rgba(16, 16, 16, 0.4);
  padding-left: 15px;
}

.nav-links {
  display: flex;
}

.nav-links a {
  font-family: 'Poppins', sans-serif;
  font-weight: lighter;
  display: inline-block;
  margin: 1em;
  text-transform: uppercase;
  color: inherit !important;
}

.nav-links a::after {
  content: '';
  display: block;
  width: 0px;
  height: 1px;
  background: black;
  transition: width 0.3s;
}

.nav-links a:hover::after {
  width: 100%;
  transition: width 0.3s;
}
/*---- ADMIN USERS PAGE ---*/

.user-cards {
  display: flex;
  flex-direction: column;
  margin: 30px;
}

.user-page-text {
  font-family: 'Roboto';
  font-weight: 600;
  margin: 0;
  margin-top: 20px;
  margin-left: 35px;
}

.product-img-preview {
  height: 310px;
  width: 225px;
  background-size: cover;
  border-radius: 5px 0 0 0;
  border: 1px solid darkslategrey;
}

.product-img-preview:hover {
  cursor: pointer;
}

.book-card {
  margin: 25px;
  padding: 10px;
  border-radius: 7px;
  width: 245px;
  height: 425px;
}

.book-card-textarea {
  width: 100%;
  height: 21.5%;
  padding: 5px;
  background-color: white;
  border-radius: 0 0 5px 5px;
}

.book-card-title {
  font-family: 'Roboto';
  font-size: 1.1em;
  font-weight: 500;
  text-overflow: ellipsis;
}

.book-card-title-list {
  font-family: 'Roboto';
  font-size: 1.5em;
  font-weight: 500;
  margin: 0;
}

.quick-add {
  position: absolute;
  bottom: -6px;
  left: -17px;
  height: 40px;
  width: 40px;
  border-radius: 25px;
  background-color: lightseagreen;
  border: none;
  font-family: 'Roboto';
  font-weight: 700;
  color: #fff;
  font-size: 1.5em;
}

.quick-add:hover {
  box-shadow: 0 5px 20px rgb(33, 33, 33);
}

.quick-delete-book {
  border: none;
  background-color: lightcoral;
  border-radius: 25px;
  height: 40px;
  width: 40px;
  position: absolute;
  right: -17px;
  bottom: 0px;
  font-family: 'Roboto';
  font-weight: 700;
  color: #fff;
  font-size: 1.5em;
}

.quick-delete-book:hover {
  box-shadow: 0 5px 20px rgb(33, 33, 33);
}

.img-preview-container {
  width: 100%;
  height: 80%;
  position: relative;
  display: flex;
  flex-direction: column-reverse;
}

.img-preview-container-list {
  width: fit-content;
  height: 80%;
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  margin-right: 35px;
}

.book-card-title {
  font-family: 'Roboto';
  font-size: 1.1em;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hover-links:hover {
  cursor: pointer;
  text-decoration: underline;
}

.book-card-author {
  font-family: 'Roboto';
  font-size: 0.9em;
  margin: 0;
}

.book-card-author-list {
  font-family: 'Roboto';
  font-size: 1em;
  margin: 0;
  color: #0066c0;
}

.author-price-container {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.author-price-container-list {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.price-preview {
  font-family: 'Roboto';
  font-weight: 500;
  color: darkslategrey;
  margin: 0;
}

.price-preview-list {
  font-family: 'Roboto';
  font-size: 1.2em;
  font-weight: 500;
  color: darkslategrey;
  margin: 0;
  margin-top: 5px;
  margin-bottom: 3px;
}

.author-card-list {
  display: flex;
}

.by-text {
  font-family: 'Roboto';
  font-weight: 400;
  font-size: 1em;
  margin: 0;
  margin-right: 5px;
}

.book-genre-preview {
  font-family: 'Roboto';
  font-size: 0.8em;
  margin: 0;
  background-color: white;
  width: fit-content;
  padding: 10px;
  font-weight: 600;
  border-radius: 15px;
  position: absolute;
  top: -5px;
  right: -20px;
}

.book-genre-preview-list {
  font-family: 'Roboto';
  font-size: 0.8em;
  margin: 0;
  background-color: white;
  width: fit-content;
  padding: 10px;
  font-weight: 600;
  border-radius: 15px;
  position: absolute;
  top: -20px;
  right: -30px;
}

.left-filter-container {
  display: flex;
  width: 300px;
  height: fit-content;
  background-color: white;
  flex-direction: column;
  padding-left: 30px;
  padding-right: 30px;
  border-right: 2px solid #ddd;
}

.rating-filter-text {
  font-family: 'Roboto';
  font-size: 1.12em;
  font-weight: 600;
  margin: 0;
  margin-bottom: 5px;
}

.rating-filter {
  display: flex;
  flex-direction: column;
  margin-top: 30px;
  margin-bottom: 20px;
}

.label-text {
  font-family: 'Roboto';
  font-size: 1em;
  font-weight: 400;
  margin-left: 10px;
}

.genre-text {
  font-family: 'Roboto';
  font-weight: 600;
  font-size: 1.12em;
  margin: 0;
  margin-bottom: 10px;
}

.genre-checkbox {
  height: 20px;
  width: 20px;
}

.divider {
  width: 100%;
}

.hover:hover {
  cursor: pointer;
}

.rating-checkbox {
  margin-right: 10px;
}

.results-text {
  font-family: 'Roboto';
  font-size: 1.1em;
  font-weight: 500;
  margin: 0;
  margin-left: 30px;
}

.top-container {
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  box-shadow: 0 0 10px #ddd;
  height: 50px;
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.sorting-container {
  margin-right: 30px;
  height: 25px;
}

.search-bar-container {
  display: flex;
}

.divider-bar {
  margin-left: 15px;
  margin-right: 15px;
}

.sort-text {
  font-family: 'Roboto';
  font-size: 1.1em;
  font-weight: 500;
  margin: 0;
  margin-right: 15px;
}

.sort-container-main {
  display: flex;
  align-items: center;
}

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100px;
}

.rating-preview-container {
  display: flex;
}

.rating-count {
  font-family: 'Roboto';
  font-weight: 400;
  color: grey;
  margin: 0;
  margin-left: 10px;
}

.rating-view {
  margin: 0;
  display: flex;
  margin-top: 5px;
  margin-bottom: 5px;
}

.column-button {
  border: none;
  margin-right: 25px;
  background-color: transparent;
}

.book-card-list {
  display: flex;
  margin: 25px;
  padding: 20px;
  border-radius: 7px;
  width: 800px;
  height: fit-content;
  border-bottom: 2px solid #ddd;
}

.synopsis-list {
  font-family: 'Roboto';
  font-weight: 500;
  font-size: 1em;
  margin: 0;
  margin-top: 10px;
  margin-bottom: 2px;
  text-decoration: underline;
}

.synopsis-text-list {
  font-family: 'Roboto';
  font-weight: 400;
  font-size: 0.92em;
  text-overflow: ellipsis;
}

.wishlist-button {
  margin-top: 12px;
}

/* ------------- To Top Button ---------------*/
.toTop {
  position: fixed;
  right: 30px;
  bottom: 35px;
}

/* ------------- Profile Page ---------------*/

.profileHead {
  display: flex;
  background-color: #2b2d42;
  color: white;
  height: 250px;
  justify-content: space-between;
  align-items: center;
  background-color: #000000;
  background-image: linear-gradient(315deg, #000000 0%, #414141 74%);
}

.profileHead h1 {
  font-family: 'Roboto';
}

.profileHead h6 {
  color: #8d99ae;
  font-family: 'Roboto';
}

.profButtons {
  display: flex;
  height: 50px;
  padding-right: 50px;
}

.profHeadTxt {
  display: flex;
  justify-content: left;
  flex-direction: column;
  padding-left: 50px;
}

.profileInfo {
  display: flex;
  justify-content: space-between;
}

.profileList {
  margin-left: 50px;
  margin-top: 50px;
  font-family: 'Roboto';
  width: 20%;
  padding-top: 0px;
}

.profContent {
  margin-right: 200px;
  margin-top: 50px;
}
