/* Google Font */
@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Mona+Sans:ital,wght@0,200..900;1,200..900&display=swap");

/* Local Font */
/* @font-face {
	font-family: "Font Name";
	src: url("../fonts/fontpath.ttf");
  } */

:root {
  --white: #fff;
  --black: #000;
  --primary: #ffff01;
  --secondary: #0a003d;
}

html {
  scroll-behavior: smooth;
  height: 100%;
}

body {
  position: relative;
  background: #fffbfa;
  overflow-x: hidden;
  height: 100%;
  font-family: "Mona Sans", sans-serif;
}

section {
  position: relative;
  padding: 6rem 0;
}

p {
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
  color: #828282;
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #000;
  margin: 0;
  font-family: "Instrument Serif", serif;
}

.img-auto {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}

.img {
  perspective: none;
  overflow: hidden;
  transform-style: preserve-3d;
}

.img img {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  will-change: transform, box-shadow;
  display: block;
}

a,
button {
  text-decoration: none !important;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

a:hover,
button:hover {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

figure {
  margin: 0;
}

/* Cursor Start */

.mouse-cursor {
  position: fixed;
  left: 0;
  top: 0;
  pointer-events: none;
  border-radius: 50%;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  visibility: hidden;
}

.cursor-inner {
  margin-left: 2px;
  margin-top: 2px;
  width: 7px;
  height: 7px;
  z-index: 10000001;
  background-color: var(--primary);
  -webkit-transition: width 0.3s ease-in-out, height 0.3s ease-in-out,
    margin 0.3s ease-in-out, opacity 0.3s ease-in-out;
  -o-transition: width 0.3s ease-in-out, height 0.3s ease-in-out,
    margin 0.3s ease-in-out, opacity 0.3s ease-in-out;
  transition: width 0.3s ease-in-out, height 0.3s ease-in-out,
    margin 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.cursor-inner.cursor-hover {
  margin-left: -10px;
  margin-top: -10px;
  width: 30px;
  height: 30px;
  background-color: var(--primary);
  opacity: 0.3;
}

/* Cursor End */

/* PRELOADER */

body.loading {
  overflow: hidden;
  height: 100vh;
}

.preLoader {
  width: 100%;
  height: 100%;
  z-index: 1111;
  display: flex;
  flex-direction: column;
  align-items: end;
  justify-content: start;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 11113;
}

.preLoader .counter {
  color: var(--white);
  font-size: 15rem;
  font-family: var(--font-heading);
  font-weight: 700;
  position: absolute;
  bottom: 0rem;
  right: 5rem;
}

.preLoader .bar {
  height: 20%;
  width: 100vw;
  width: 100%;
  background-color: var(--secondary);
}

/* PRELOADER */

/* GLOBAL CSS */

.themeBtn {
  background-color: var(--primary);
  font-size: 1rem;
  color: #0a003d;
  text-transform: capitalize;
  font-weight: 500;
  display: block;
  padding: 1rem 3.125rem 1rem 1.5rem;
  line-height: normal;
  letter-spacing: 0.32px;
  position: relative;
  border-radius: 50px;
  width: fit-content;
}

.themeBtn.borderBtn {
  background: transparent;
  border: 1px solid #fff;
  padding: 1.04em 2em;
}

/* NAV HEADER CSS */

header {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 111;
  top: 0;
  width: 100%;
  padding: 1rem 0 0.625rem 0;
  transition: 0.3s ease-in-out;
  border-bottom: 1px solid #fff7f5;
}

.navbar-brand {
  padding: 0;
  margin: 0;
}

.navbar-nav {
  align-items: center;
  gap: 3rem;
}

.navbar-nav .nav-item .nav-link {
  font-size: 1rem;
  color: #fff7f5;
  text-transform: capitalize;
  font-weight: 500;
  padding: 0 0;
  display: inline-block;
  letter-spacing: 0.32px;
  position: relative;
}

/* !NAV HEADER CSS */

.main-banner {
  background: url(../images/mainBnnr.webp) center/cover no-repeat;
  height: 1770px;
  padding: 11rem 0 6rem 0;
  z-index: 1;
}

.themeBtn::before {
  position: absolute;
  content: "";
  height: 6px;
  width: 6px;
  background: #0a003d;
  right: 1.5rem;
  top: 0;
  bottom: 0;
  margin: auto;
  border-radius: 50px;
}

.main-banner h1 {
  font-size: 6.25rem;
  font-weight: 400;
  color: var(--white);
  text-align: center;
  line-height: 1;
  margin-bottom: 3rem;
}

.main-banner h1 span {
  display: block;
  color: var(--primary);
}

.main-images img:first-child {
  margin-right: -5rem;
}

.main-images {
  text-align: center;
  margin-bottom: 7rem;
}

.main-content .themeBtn {
  margin: 0 auto 0;
}

.main-sub1 {
  position: absolute;
  left: 0;
  top: 6rem;
  z-index: -1;
}

.main-sub2 {
  position: absolute;
  right: 3rem;
  top: 0;
  bottom: 30%;
  margin: auto;
}

.main-sub3 {
  position: absolute;
  left: 10%;
  bottom: 17%;
  z-index: -1;
}

.main-banner h5 {
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 15rem;
  font-style: italic;
  color: var(--white);
  bottom: 0;
  font-weight: 400;
  z-index: -1;
}

.main-banner::before {
  position: absolute;
  content: "";
  background: linear-gradient(45deg, rgb(255 247 245 / 10%), transparent);
  margin: auto;
  width: 100%;
  inset: 0;
  z-index: -1;
}

.about-sec h2 {
  text-align: center;
  font-size: 5rem;
  font-weight: 400;
  color: #160602;
  line-height: 1;
  margin-bottom: -2rem;
  position: relative;
  z-index: 1;
  margin-left: -6rem;
}

.about-content h3 {
  font-size: 1.5rem;
  font-weight: 600;
  color: #0a003d;
  font-family: "Mona Sans";
  border-bottom: 2px solid #0a003d;
  letter-spacing: 0.48px;
  width: fit-content;
  padding: 0 0 0.275rem 0;
}

.about-content h5 {
  font-size: 1.5rem;
  font-weight: 500;
  color: #160602;
  font-family: "Mona Sans";
  margin: 1.15rem 0 1.25rem 0;
  line-height: 1.3;
  letter-spacing: 0.48px;
  width: 90%;
}

.about-content p {
  font-weight: 500;
  color: #160602;
  letter-spacing: 0.32px;
  line-height: 1.5;
  margin-bottom: 6.25rem;
  width: 90%;
}

.about-sub {
  position: absolute;
  right: 16%;
  bottom: -8rem;
}

.about-sec {
  padding: 6rem 0 7rem 0;
}

.fairy-sec {
  height: 1820px;
  background: url(../images/fairybg.webp) center/cover no-repeat;
  padding: 24rem 0 9rem 0;
}

.mainHead {
  font-size: 6.25rem;
  font-weight: 400;
  color: #160602;
  line-height: 1.1;
}

.book-sec .mainHead {
  text-align: center;
}

.book-sec .themeBtn {
  margin: 0 auto 0;
}

.fairy-content .mainHead {
  color: var(--white);
}

.fairy-content p {
  font-size: 2.25rem;
  font-weight: 500;
  color: var(--white);
  letter-spacing: 0.48px;
  margin: 3.125rem auto 3.75rem auto;
  line-height: 1.38;
  width: 75%;
}

.fairy-content .themeBtn {
  margin: 4rem auto 0;
}

.fairy-sub2 {
  position: absolute;
  right: 13%;
  bottom: 13%;
}

.fairy-sub1 {
  position: absolute;
  left: 6rem;
  top: 0;
  bottom: 0;
  margin: auto;
}

.ready-sec .mainHead {
  text-align: center;
  margin-bottom: 2.75rem;
}

.word-flex {
  display: flex;
  align-items: end;
  gap: 1.75rem;
}

.word-img {
  flex-shrink: 0;
}

.word-content p {
  font-size: 1.125rem;
  font-weight: 500;
  color: #160602;
  letter-spacing: 0.36px;
  line-height: 1.5;
  margin-bottom: 1.5rem;
  width: 84%;
}

.word-content h5 {
  font-family: "Mona Sans";
  font-size: 1rem;
  font-weight: 600;
  color: #160602;
  letter-spacing: 0.32px;
}

.word-sec {
  padding: 2rem 0 6rem 0;
}

.word-sec h2 {
  border-bottom: 1px solid #160602;
  padding-bottom: 2rem;
  margin-bottom: 4rem;
}

.word-sub {
  position: absolute;
  left: 5rem;
  top: -2rem;
}

.update-sec {
  padding: 3rem 0 17rem 0;
}

.update-content h4 {
  font-size: 5rem;
  font-weight: 400;
  color: #160602;
  line-height: 1;
  margin: 1.75rem 0 1.25rem 0;
}

.update-content p {
  font-size: 1.5625rem;
  color: var(--black);
  margin: 0 0 1.875rem 0;
}

.update-form .form-group {
  display: flex;
  align-items: center;
  margin: 0;
  gap: 1.275rem;
}

.update-form .form-control {
  border: unset;
  background: transparent;
  outline: unset;
  box-shadow: unset;
  border-radius: unset;
  border-bottom: 1px solid rgb(0 0 0 / 30%);
  font-size: 0.875rem;
  font-weight: 400;
  color: rgb(0 0 0 / 80%);
  font-family: "Mona Sans";
}

.update-form .form-control::placeholder {
  font-size: 0.875rem;
  font-weight: 400;
  color: rgb(0 0 0 / 80%);
  font-family: "Mona Sans";
}

form.update-form button {
  border: unset;
}

.book-sec {
  padding: 6rem 0 0 0;
}

.ready-sec {
  padding: 4rem 0 8rem 0;
}

.word-sec .swiper-button-next:after,
.word-sec .swiper-button-prev:after {
  font-family: "Font Awesome 5 pro";
  font-size: 1.25rem;
}

.word-sec .swiper-button-next:after {
  content: "\f105";
}

.word-sec .swiper-button-prev:after {
  content: "\f104";
}

.word-sec .swiper-button-next,
.word-sec .swiper-button-prev {
  height: 3rem;
  width: 3rem;
  border: 1px solid #160602;
  border-radius: 50px;
  color: #160602;
  transition: 0.6s ease;
  top: 18%;
}

.word-sec .swiper-button-next:hover,
.word-sec .swiper-button-prev:hover {
  background-color: #160602;
  color: var(--white);
}

.word-sec .swiper-button-prev {
  right: 19%;
  left: unset;
}

.word-sec .swiper-button-next {
  right: 16%;
}

/* Footer Sec Css Start */

.footer-section {
  background-color: #0a003d;
  color: #ffffff;
  padding-top: 0;
  padding-bottom: 20px;
  margin-top: 9rem;
}

.content-container {
  z-index: 2;
}

.footer-brand-name {
  font-size: 3.5rem;
  font-weight: 400;
  margin-bottom: 1rem;
  letter-spacing: 1px;
}

.nav-pill-wrapper {
  border: 1px solid rgb(255 255 255 / 60%);
  border-radius: 50px;
  padding: 0.625rem 1.875rem 0.625rem 1.875rem;
  margin: 3.125rem 0 2.5rem 0;
}

.footer-section .nav-link {
  color: #fff7f5;
  font-size: 1.375rem;
  padding: 0.5rem 1rem;
  font-weight: 400;
  text-transform: capitalize;
  letter-spacing: 0.32px;
}

.nav-link:hover {
  color: var(--primary);
}

.inquiry-text {
  font-size: 1.5625rem;
  color: #fff7f5;
  letter-spacing: 0.32px;
}

.email-link {
  font-size: 3.75rem;
  color: #fff7f5;
  font-style: italic;
  font-family: "Instrument Serif";
}

.email-link:hover {
  color: #fff;
  opacity: 0.8;
  text-decoration: none;
}

.social-icons-wrapper {
  display: flex;
  justify-content: center;
  gap: 1rem;
}

.social-icon {
  width: 3.375rem;
  height: 3.375rem;
  border-radius: 50%;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary);
  font-size: 1.5rem;
}

.social-icon:hover {
  transform: translateY(-3px);
  color: #fff;
  text-decoration: none;
}

.copyright-divider {
  border-top: 1px solid rgb(255 255 255 / 60%);
  width: 100%;
}

.copyright-text {
  color: #fff7f5;
  letter-spacing: 0.32px;
}

.footer1 {
  position: absolute;
  left: 0;
  bottom: 0;
}

.footer-sub {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: -72%;
  z-index: -1;
}

.footer2 {
  position: absolute;
  right: 9rem;
  bottom: 8rem;
}

@keyframes scaleAnimation {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.1);
    /* thoda zoom */
  }

  100% {
    transform: scale(1);
  }
}

.box {
  animation: scaleAnimation 2s infinite ease-in-out;
}

.magic-stars {
  animation: starFloat 4s ease-in-out infinite alternate;
  filter: drop-shadow(20px 5px 63px gold);
}

@keyframes starFloat {
  0% {
    transform: translateX(0px) translateY(0px) scale(1);
  }

  100% {
    transform: translateX(20px) translateY(-10px) scale(1.07);
  }
}

.img-shine-box {
  position: relative;
  overflow: hidden;
  border-radius: 15px;
}

.img-shine-layer {
  position: absolute;
  top: 0;
  left: -80%;
  width: 60%;
  height: 100%;
  background: linear-gradient(120deg,
      transparent,
      rgba(255, 255, 255, 0.35),
      transparent);
  transform: skewX(-20deg);
  opacity: 0;
}

/* Active shine */
.img-shine-box.is-visible .img-shine-layer {
  animation: modernShine 1.2s ease-in-out;
  opacity: 1;
}

@keyframes modernShine {
  0% {
    left: -80%;
    opacity: 0;
  }

  20% {
    opacity: 1;
  }

  100% {
    left: 130%;
    opacity: 0;
  }
}

.themeBtn:hover {
  transform: scale(1.05);
  background-color: var(--secondary);
  color: var(--white);
}

.fairy-content .themeBtn:hover {
  background-color: var(--white);
  color: #0a003d;
}

.main-content .themeBtn:hover {
  background-color: var(--white);
  color: #0a003d;
}

.navbar-nav .nav-item .nav-link::before {
  position: absolute;
  content: "";
  height: 2px;
  width: 0;
  background-color: var(--primary);
  bottom: -5px;
  transition: 0.6s ease;
}

.navbar-nav .nav-item .nav-link:hover::before {
  width: 100%;
}

.navbar-nav .nav-item .nav-link:hover {
  color: var(--primary);
}

.form-inline .themeBtn:hover {
  background-color: var(--white);
  color: var(--secondary);
}

.fairy-queen {
  animation: fairyMagic 4s ease-in-out infinite alternate;
  transform-origin: center bottom;
}

@keyframes fairyMagic {
  0% {
    transform: translateY(0) scale(1) rotate(0deg);
    filter: drop-shadow(0 0 5px #a259ff88);
  }

  50% {
    transform: translateY(-15px) scale(1.05) rotate(2deg);
    filter: drop-shadow(0 0 19px #c97fffcc);
  }

  100% {
    transform: translateY(0) scale(1) rotate(0deg);
    filter: drop-shadow(0 0 5px #a259ff88);
  }
}

/* innerpages Start */

.innerBan .overlay {
  position: absolute;
  text-align: left;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
}

.innerBan h2 {
  font-size: 100px;
  color: var(--white);
  text-transform: capitalize;
  font-weight: 400;
}

.innerBan {
  position: relative;
}

.about-content.aboutpage1 p {
  margin-bottom: 1rem;
}

.product-details-wrap {
  background-color: #fdf5f5;
  color: #000;
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

.product-image-box {
  border: 22px solid #11084d;
  display: inline-block;
  background: #fff;
}

.product-image-box img {
  display: block;
  width: 100%;
  max-width: 450px;
}

.product-title {
  font-size: 4.6875rem;
  line-height: 1;
  color: #111;
  margin-bottom: 0.75rem;
  letter-spacing: -0.5px;
}

.reviews .fa-star {
  font-size: 14px;
  color: #ffcc00;
}

.review-count {
  font-size: 0.75rem;
  font-weight: 700;
  color: #000;
}

.product-price {
  font-size: 2.125rem;
  color: #111;
  margin-bottom: 25px;
  letter-spacing: -0.5px;
}

.quantity-input input {
  width: 5.3125rem;
  height: 3rem;
  border: 1px solid #000 !important;
  border-radius: 30px !important;
  text-align: center;
  font-size: 14px;
  background: transparent;
}

.quantity-input input:focus {
  box-shadow: none;
  outline: none;
}

.themeBtn {
  background-color: #ffff00;
  color: #000;
  border-radius: 30px;
  font-weight: 600;
  font-size: 0.875rem;
  height: 3rem;
  min-width: 160px;
  border: none;
  transition: all 0.3s ease;
}

.themeBtn:hover {
  background-color: #e6e600;
  color: #000;
}

.author-info {
  font-size: 1.125rem;
  color: #111;
}

.description-title {
  font-size: 3.5rem;
  color: #160602;
  margin-bottom: 0.9375rem;
  letter-spacing: -0.5px;
}

.description-text {
  font-size: 1rem;
  line-height: 1.8;
  color: #000;
  margin-bottom: 0;
  font-weight: 500;
  width: 80%;
}

section.terms-sec {
  background: #fff7f5;
}

.termswraps h3 {
  font-size: 3.75rem;
  font-weight: 400;
  color: #160602;
  margin-bottom: 1.5rem;
}

.termswraps p {
  font-size: 1.25rem;
  font-weight: 400;
  color: #160602;
  line-height: 1.5;
  margin-bottom: 1rem;
}

.termswraps ul li {
  font-size: 1.25rem;
  font-weight: 400;
  color: #160602;
  margin-bottom: 0.625rem;
  list-style: disc;
}

.termswraps p a {
  font-weight: bold;
  color: #160602;
}


.bgrow {
  background: #e7e7e7;
}

.bookside p {
  color: #000;
  font-size: 1rem;
  font-style: italic;
  font-weight: 600;
}

.bookside {
  padding: 0 2rem;
}

section.product-details-wrap h3 {
  margin: 1rem 0;
}

ul.booklistng li {
  margin-bottom: 1rem;
}