/* Define global variables in the :root pseudo-class */
:root {
  /* Color Variables */
  --hero-color: #1B3846;
  --hero-color-light: #D8C198;
  --white-color: rgb(255, 255, 255);
  --black: rgb(28, 28, 28);
}

@font-face {
  font-family: "Avenir Next", "Montserrat", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("//www.harpertait.com/cdn/fonts/avenir_next/avenirnext_n4.7fd0287595be20cd5a683102bf49d073b6abf144.woff2?h1=aGFycGVydGFpdC5jb20&h2=aGFycGVyLXRhaXQuYWNjb3VudC5teXNob3BpZnkuY29t&hmac=97a47bd009851c3e99d6ad4d86c7df1e1a0617c87cd7ae28833a3c521193cd0f") format("woff2"),
    url("//www.harpertait.com/cdn/fonts/avenir_next/avenirnext_n4.a26a334a0852627a5f36b195112385b0cd700077.woff?h1=aGFycGVydGFpdC5jb20&h2=aGFycGVyLXRhaXQuYWNjb3VudC5teXNob3BpZnkuY29t&hmac=bb0b6b5f9b4c46b23513ba838632ba9ed819ed8900b15784ff5845aa00594a7b") format("woff");
}

/*

-- Font sizes (px)
10 / 12 / 14 / 16 / 18 / 20 / 24 / 30 / 36 / 44 / 52 / 62 / 74 / 86 / 98


  cursive ----- font-family: "Tenor Sans", sans-serif;


  less cursive --- font-family: "Avenir Next", "Montserrat", sans-serif;



-- Spacing system (px)
2 / 4 / 8 / 12 / 16 / 24 / 32 / 48 / 64 / 80 / 96 / 128

*/

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
}

html {
  font-size: 62.5%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

ul,
li {
  list-style-type: none;
}

button {
  cursor: pointer;
  border: none;
}

a {
  text-decoration: none;
  color: inherit;
}

body {
  font-family: Arial, sans-serif;
  line-height: 1;
  font-weight: 400;
  margin: 0 auto;
}

.container {
  margin: 0 4.8rem;
}

.announcement-bar,
.top-header,
.bottom-header,
.left-h-part ul,
.review-box,
.text-part-box .btn-box,
.text-box-parallax,
.card__cont,
.card__cta,
.card-box,
.right-h-part ul,
.img-text-section .text-part-box,
.mid-header,
.img-text-section .img-part-box,
.mid-header ul,
.the-best-of,
.card-section .card-box,
.bottom-header ul,
.best-selling-section .collection div,
.banner-text-box {
  display: flex;
  justify-content: center;
  align-items: center;
}

.loader {
  display: block;
  position: relative;
  width: 100vw;
  height: 100vh;
  position: fixed;
  z-index: 999;
}

.loading-page {
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--hero-color);
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #ffffff;
}

.preloader-logo {
  width: 70%;
  height: fit-content;
  animation: scaling 5s;
}


@keyframes scaling {
  0% {
    transform: scale(5);
    opacity: 0;
  }

  50% {
    transform: scale(.8);
    opacity: 1;
  }

  100% {
    transform: scale(5);
    opacity: 0;
  }
}


.title-box {
  display: block;
  text-align: center;
  font-family: "Tenor Sans", sans-serif;
  padding: 6.4rem 0 4.8rem 0;
}

.title-box .primary-text {
  padding-bottom: 1.2rem;
  font-size: 3rem;
  font-weight: 400;
  letter-spacing: 1px;
}

.title-box .secondary-text {
  display: inline-block;
  padding-top: .8rem;
  border-top: 1px solid var(--hero-color-light);
  font-size: 1.6rem;
  letter-spacing: 1px;
}

.banner-section-fw {
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
}

.banner-section-fw img,
.img-text-section div img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.announcement-bar {
  padding: 1.6rem 4.8rem;
  text-align: center;
  font-size: 1.2rem;
  font-family: "Tenor Sans", sans-serif;
  color: var(--white-color);
  background-color: var(--hero-color);
}

.top-header {
  justify-content: space-between;
  padding: .6rem 4rem;
  font-size: 1.3rem;
  border-bottom: 1px solid #e8e8e8;
  font-family: "Avenir Next", "Montserrat", sans-serif;
}

.left-h-part ul,
.right-h-part ul {
  gap: 1.6rem;
  color: #404040;
  letter-spacing: .75px;
}

.right-h-part li {
  display: grid;
}

.right-h-part ion-icon {
  font-size: 2rem;
  color: var(--hero-color);
}

.mid-header {
  padding: 3.2rem 0;
  background-color: var(--white-color);
}

.mid-header ul {
  font-family: "Tenor Sans", sans-serif;
  font-size: 3.6rem;
  flex-direction: column;
}

.mid-header ul .mid-top-logo span {
  font-size: 4.4rem;
}

.mid-header ul .mid-top-logo {
  text-align: center;
  padding-bottom: .8rem;
}

.mid-header ul .mid-bottom-logo {
  font-size: 2.2rem;
  padding-top: .8rem;
  text-align: center;
  width: fit-content;
  border-top: 1px solid var(--hero-color-light);
}

.bottom-header {
  font-size: 1.3rem;
  font-family: "Avenir Next", "Montserrat", sans-serif;
  letter-spacing: 2px;
  padding-bottom: 1.2rem;
  box-shadow: 0 4px 4px -2px rgba(0, 0, 0, 0.1);
  background-color: var(--white-color);
}

.bottom-header ul {
  gap: 3.2rem;
}

.bottom-header ul li {
  position: relative;
  cursor: pointer;
}

.bottom-header ul li:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -5px;
  left: 0;
  right: 100%;
  margin: 0 5px;
  border-bottom: 1px solid var(--hero-color-light);
  transition: right 0.5s ease;
}

.bottom-header ul li:hover:after {
  right: 0;
}

.sliding-section .to-left-box,
.sliding-section .to-right-box {
  overflow: hidden;
  width: 100%;
  background-color: var(--white-color);
  border: 1px solid #e8e8e8;
  padding: 1.2rem 0;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-family: "Avenir Next", "Montserrat", sans-serif;
  color: var(--hero-color);
}

.sliding-section .marquee {
  display: flex;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.marquee strong {
  display: inline-block;
  padding-left: 100%;
}

.sliding-section .to-left-box .marquee strong {
  animation: marquee-l 180s linear infinite;
}

.sliding-section .to-right-box .marquee strong {
  animation: marquee-r 180s linear infinite;
}


@keyframes marquee-l {
  0% {
    transform: translateX(0%);
  }

  100% {
    transform: translateX(-100%);
  }
}

@keyframes marquee-r {
  0% {
    transform: translateX(-100%);
  }

  100% {
    transform: translateX(0%);
  }
}

.best-selling-section {
  display: grid;
  place-content: center;
  padding-bottom: 4.8rem;
}


.best-selling-section .collection {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3.2rem;
  position: relative;
}

.best-selling-section .collection div,
.grid-collection .grid-col-box {
  overflow: hidden;
  position: relative;
}

.best-selling-section .collection img,
.grid-collection .grid-col-box img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.best-selling-section .collection span {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  padding: 1.2rem;
  font-family: "Tenor Sans", sans-serif;
  font-size: 1.8rem;
  border-top: 1px solid var(--hero-color);
  color: var(--hero-color);
  width: 80%;
  text-align: left;
}


.grid-collection {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  position: relative;
  padding: 4.8rem 0;
}

.grid-collection .grid-col-box .big-span,
.grid-collection .grid-col-box span {
  position: absolute;
  bottom: 17%;
  left: 50%;
  transform: translateX(-50%);
  padding: 0.8rem 1.2rem;
  font-family: "Avenir Next", "Montserrat", sans-serif;
  font-size: 1rem;
  letter-spacing: 2px;
  color: var(--hero-color);
  text-align: center;
}

.grid-collection .grid-col-box.full-width {
  grid-column: span 3;
  height: 12.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.grid-collection .grid-col-box.full-width span {
  top: 17%;
}

.grid-collection .grid-col-box.full-width .big-span {
  bottom: 40%;
  transform: translate(-50%, 50%);
}

.grid-collection .grid-col-box .big-span {
  font-size: 2.6rem;
  bottom: 8%;
  letter-spacing: 1px;
}

.banner-text-box {
  position: absolute;
  right: 4%;
  top: 50%;
  transform: translateY(-50%);
  flex-direction: column;
  align-items: flex-end;
  font-family: "Avenir Next", "Montserrat", sans-serif;
  gap: 1.2rem;
  color: var(--white);
  z-index: 1;
}

.banner-text-box p {
  font-size: 1.8rem;
  letter-spacing: 2.5px;
}

.banner-text-box h4 {
  font-size: 4rem;
  font-weight: 400;
  letter-spacing: 2px;
}

.banner-text-box span {
  font-size: 2rem;
  letter-spacing: 1px;
}

.btn-box {
  padding-top: 1.2rem;
}

.btn-box button {
  background-color: var(--white-color);
  color: var(--hero-color);
  padding: 1.2rem 2.4rem;
  letter-spacing: 2px;
  border: none;
  cursor: pointer;
  margin: 0 6px;
  border-radius: 3px;
}

.btn-box button:hover {
  opacity: 0.8;
}

.the-best-of {
  flex-direction: column;
  font-family: "Montserrat", sans-serif;
  text-align: center;
  gap: 2.6rem;
  padding: 4.8rem 0;
}

.the-best-of img {
  width: 20rem;
}

.the-best-of span {
  font-size: 1.6rem;
}

.the-best-of h5 {
  font-size: 3.6rem;
  font-weight: 400;
}

.the-best-of p {
  font-size: 1.8rem;
  width: 74vw;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 1px;
}

.bg-img-fix {
  padding: 4.8rem 0;
}

.bg-img-parallax {
  position: relative;
  background-image: url('/designing-images/YJC-wedding-rings-banner.webp');
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 75vh;
  z-index: -1;
}

.mobile-nav,
.mid-header ion-icon {
  display: none;
}

.text-box-parallax {
  position: absolute;
  top: 6rem;
  left: 6rem;
  background-color: var(--white-color);
  padding: 3.6rem 2.4rem;
  font-family: "Avenir Next", sans-serif;
  color: var(--hero-color);
  width: 27vw;
  gap: 1.2rem;
  flex-direction: column;
  align-items: flex-start;
}

.text-box-parallax span {
  letter-spacing: 3px;
  font-size: 1.4rem;
}

.text-box-parallax h4 {
  font-size: 2.4rem;
  font-weight: 500;
}

.text-box-parallax p {
  line-height: 1.2;
  padding: 8px 0;
  font-size: 1.8rem;
}

.text-box-parallax button {
  padding: 1.2rem 3rem;
  color: var(--white-color);
  letter-spacing: 3px;
  font-weight: 600;
  background-color: var(--hero-color);
  border: none;
}

.img-text-section {
  display: grid;
  grid-template-columns: 55% 45%;
  place-content: center;
  padding-bottom: 4.8rem;
}

.img-text-section .img-part-box img {
  width: 80%;
}

.img-text-section .text-part-box {
  flex-direction: column;
  gap: 2.4rem;
  align-items: flex-start;
  font-family: "Avenir Next", "Montserrat", sans-serif;
}

.text-part-box span,
.review-box span {
  font-size: 1.6rem;
  letter-spacing: 2px;
}

.text-part-box h4,
.review-box h4 {
  font-size: 3rem;
  font-weight: 400;
  font-family: "Tenor Sans", sans-serif;
}

.text-part-box .span-breathe {
  padding: 1.2rem 0;
  line-height: 1.2;
}

.text-part-box p,
.review-box p {
  font-size: 1.8rem;
  line-height: 1.2;
  letter-spacing: 2px;
}

.text-part-box button,
.review-box button {
  color: var(--white-color);
  background-color: var(--hero-color);
}

.visit-showroom {
  margin: 1.6rem 0 .4rem 0;
}

.visit-showroom img {
  height: 80vh;
}

.visit-txt-box {
  background-color: var(--white-color);
  padding: 3.2rem;
  right: auto;
  left: 4%;
  width: 40vw;
  align-items: flex-start;
}

.visit-showroom p {
  font-size: 2.4rem;
  font-family: "Tenor Sans", sans-serif;
  letter-spacing: 0;
}

.visit-showroom span {
  font-size: 1.6rem;
}

.visit-showroom .dynamic-address {
  line-height: 1.5;
}

.visit-showroom button {
  background-color: var(--hero-color);
  color: var(--white-color);
}

.card-section {
  padding: 4.8rem 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  place-content: center;
}

.card-box {
  margin: 2rem 0;
}

.card {
  perspective: 150rem;
  width: 54rem;
  height: 36rem;
  position: relative;
}


.card__side {
  height: 100%;
  width: 100%;
  transition: all 0.8s ease;
  position: absolute;
  top: 0;
  left: 0;
  backface-visibility: hidden;
  border-radius: 3px;
  overflow: hidden;
  box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, -0.6);
}

.card__cont,
.card__cta {
  height: 100%;
  width: 100%;
}

.card__cont img,
.card__cta img {
  width: auto;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
}

/* Front Side */
.card__side--front {
  transform: rotateY(0deg);
}

/* Back Side */
.card__side--back {
  transform: rotateY(180deg);
}

/* Flip on hover */
.card:hover .card__side--front {
  transform: rotateY(-180deg);
}

.card:hover .card__side--back {
  transform: rotateY(0deg);
}

.review-box {
  flex-direction: column;
  text-align: center;
  gap: 1.6rem;
}

.review-box button {
  letter-spacing: 2px;
  font-weight: 600;
  padding: 1.2rem 2.4rem;
}

footer {
  background-color: var(--hero-color);
  color: white;
  padding: 6.4rem 6.4rem 3.2rem 6.4rem;
}

footer .footer-box {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  row-gap: 6.4rem;
  margin-bottom: 2.4rem;
}

.footer-box .footer-items {
  text-align: left;
  max-width: 80%;
}

footer .footer-box .footer-items:nth-child(5) {
  grid-column: 1/3;
}

.footer-items h4 {
  font-size: 2.4rem;
  font-family: "Tenor Sans", sans-serif;
  padding-bottom: 8px;
  margin-bottom: 3.2rem;
  font-weight: 600;
  position: relative;
}

.footer-items h4:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background: var(--hero-color-light);
  width: 6rem;
  height: 2px;
}

.footer-items li {
  font-size: 1.8rem;
  line-height: 2;
  font-family: "Avenir Next", "Montserrat", sans-serif;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
}

.social-icons {
  display: flex;
  justify-content: left;
  align-items: center;
  gap: 1.2rem;
}

.social-icons ion-icon,
.footer-items ion-icon {
  width: 24px;
  height: 24px;
}

.img-slider {
  display: none;
}

.ico {
  display: grid;
}

.footer-bottom {
  background-color: var(--hero-color);
  color: white;
  padding: 1.6rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

.footer-bottom p {
  border-top: 1px solid #666;
  width: 80%;
  padding-top: 1.2rem;
  font-weight: 200;
  letter-spacing: 1px;
  line-height: 1.4;
  font-size: 1.4rem;
}

/* Add this to your CSS */

.mid-header,
.bottom-header {
  position: relative;
  z-index: 10;
  transition: transform 0.3s ease-in-out;
}

.sticky {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  transform: translateY(0);
  z-index: 10;
}

.mobile-bottom-navigation {
  display: none;
}

.mid-header.sticky {
  top: 0;
  padding: 1.2rem 0;
}

.bottom-header.sticky {
  top: 8rem;
  padding-top: 2rem;
}

.mid-header.sticky .mid-top-logo span,
.mid-header.sticky ul {
  font-size: 3rem;
}

.mid-header.sticky .mid-bottom-logo {
  font-size: 1.8rem;
}

/* Smooth transition when scrolling */
/* .announcement-bar {
  margin-bottom: 10px;
} */

.top-header {
  margin-bottom: 10px;
}

main {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.4rem;
  padding: 8rem 0;
}

main div {
  display: flex;
  /* Center the image in the div */
  justify-content: center;
  align-items: center;
}

main img {
  max-width: 100%;
  /* Ensure images are responsive */
  height: auto;
  /* Maintain aspect ratio */
  border-radius: 0.5rem;
  /* Optional: add rounded corners */
}

footer ul li:hover {
  text-decoration: underline;
}


.since-section {
  display: none;
}

/* Wrapper to handle horizontal scrolling */
.video-grid-wrapper {
  width: 100%;
  overflow-x: auto;
  /* Enable horizontal scrolling */
  white-space: nowrap;
  /* Prevent line breaks */
}

/* The video grid will use flexbox for horizontal alignment */
.video-grid {
  display: flex;
  gap: 10px;
  /* Space between slides */
  width: max-content;
  /* Make the container as wide as its children */
}

/* Individual video slides */
.video-grid .video-slide {
  min-width: 260px;
  display: grid;
  max-width: 100vw;
  /* Fixed width for each video slide */
  flex-shrink: 0;
  /* Prevent shrinking */
}

.lazy-image {
  width: 100%;
  height: auto;
  display: block;
}

.ig-grid-box {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(4, 1fr);
  max-width: 100vw;
}


.visit-ig .ig-grid-box img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.ig--1 {
  grid-row: 1/2;
  grid-column: 1/3;
}

.ig--2 {
  grid-row: 3/5;
}

.lazy-image {
  height: 80vh;
  width: 35vw;
  object-fit: cover;
}

.promise-section {
  background-color: #FFF8F9;
  padding: 40px 0;
  overflow: hidden;
}

.promise-section .section-inner {
  display: flex;
  transform: translateX(0);
  transition: transform 2s cubic-bezier(0.4, 0, 0.2, 1);
  width: 100%;
}

.promise-section .section-inner .title-img-wrap {
  width: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.promise-section .section-inner .title-img-wrap h4 {
  color: var(--hero-color);
  font-size: 5.2rem;
  font-weight: 300;
}

.promise-section .section-inner .title-img-wrap h4 span {
  font-size: 9.6rem;
  font-weight: 700;
}

.promise-section .section-inner .bp-container {
  width: 50%;
  display: ruby;
}

.bp-container .bp-wrap {
  position: relative;
  left: 0;
  text-align: center;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 3fr);
  grid-column-gap: 0px;
  grid-row-gap: 10px;
  border: 1px solid #06234E;
  border-radius: 10px;
  padding: 15px 0;
  width: 80%;
}

.bp-container .bp-wrap .bp-item {
  width: 100%;
}

.bp-container .bp-wrap .bp-item img {
  width: 65%;
  height: auto;
}

.bp-container .bp-wrap .bp-item h2 {
  font-size: 14px;
  font-family: "Avenir Next", "Montserrat", sans-serif;
  line-height: 19px;
  font-weight: 400;
  margin: 0;
}

.hallmark-box {
  display: grid;
  place-items: center;
  grid-template-columns: repeat(5, 1fr);
  max-width: 100vw;
}

.hallmark-box img {
  width: 55%;
  height: auto;
  object-fit: cover;
}

.hero-section .video-container video {
  width: 100%;
  height: 75vh;
  object-fit: cover;
}

.hero-section .video-container {
  position: relative;
  overflow: hidden;
}

.hero-section .video-container::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 30%;
  background: linear-gradient(to top, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
  z-index: 1;
  pointer-events: none;
}

.hero-section .video-container h2 {
  font-size: 5.2rem;
  color: var(--hero-color);
  font-weight: 200;
  position: absolute;
  bottom: 5%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  letter-spacing: .5px;
  line-height: 1.05;
}

.hero-section .video-container h2 .span1 {
  font-size: 9.8rem;
  font-weight: 400;
  margin-left: 12.8rem;
}

.hero-section .video-container h2 .span2 {
  margin-left: 36rem;
}

.collection-section {
  padding: 6.4rem 0;
}

.collection-section .collection-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  gap: 20px;
  box-sizing: border-box;
  padding: 10px 20px 0;
}

.collection-section .collection-grid .collection-item {
  transition: transform 1.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.collection-section .collection-grid.active .collection-item:nth-child(odd) {
  transform: translateX(calc(100% + 20px));
}

.collection-section .collection-grid.active .collection-item:nth-child(even) {
  transform: translateX(calc(-100% - 20px));
}


.collection-section .collection-grid .collection-item .img-wrap {
  background: #FFF8F9;
  border-radius: 24px;
  box-shadow: 2px 2px 5px 0px rgba(221, 197, 197, 0.25);
  border: 0.3px solid rgba(221, 197, 197, 0.5);
  transition: all .5s ease;
}

.collection-section .collection-grid .collection-item .img-wrap img {
  display: block;
  margin: 0 auto;
  max-width: 180px;
  max-height: 100%;
  height: auto;
  width: 100%;
}

.collection-section .collection-grid .collection-item .title {
  color: #BFB9BD;
  font-family: "Avenir Next", "Montserrat", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 16px;
  margin: 10px 0 0 0;
  text-align: center;
}


.review-block-section {
  padding: 4.8rem 0;
}

.review-block-section .review-block-content {
  padding-top: 40px;
}

.review-block-content.slider-1 {
  margin-top: -20px;
}

.slider-1 {
  background: pr;
  height: auto;
  margin: auto;
  overflow: hidden;
  position: relative;
}

.review-block-section .review-block-content .gridpad {
  padding-top: 30px;
}

.slider-1 .slide-track {
  -webkit-animation: scroll 60s linear infinite;
  animation: scroll 60s linear infinite;
  display: flex;
  flex-wrap: nowrap;
  width: calc(4000px);
}

.grid-4 {
  width: 33.33333%;
}

.review-block {
  background: #ffffff;
  padding: 35px 30px;
  height: 100%;
  box-shadow: 4px 4px 30px rgba(0, 0, 0, 0.06);
  background-image: url(../images/testimonial-bg.png);
  background-size: cover;
  background-position: 100% center;
  position: relative;
  margin: 0 5px;
}

.review-block .head-block {
  float: right;
  position: absolute;
  right: 35px;
  top: -40px;
  display: block;
}

.user-img {
  width: 90px;
  height: 90px;
  margin-bottom: 12px;
  margin-left: auto;
}

.user-img img {
  height: auto;
  width: 100%;
  filter: brightness(-1);
  max-width: 100%;
  border-radius: 50%;
}

.user-name {
  padding-left: 10px;
  text-align: right;
}

.user-name .title {
  font-style: normal;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  margin: 0 0 1px;
  color: #1c1b1b;
}

.user-name span {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: 20px;
  color: #595959;
}

.user-details {
  margin: 26px 0 0;
}

.user-details .rating-star {
  margin-bottom: 14px;
}

.user-details .rating-star img {
  height: 16px;
  object-fit: cover;
  display: flex;
  width: auto;
  background-color: #fff;
  margin: 0;
}

.user-details .title {
  margin: 0 0 14px;
  font-style: normal;
  font-weight: 600;
  font-size: 18px;
  line-height: 22px;
  color: #1c1b1b;
}

.user-details .user-review {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 26px;
  color: #595959;
  margin-bottom: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  max-width: 650px;
  width: 100%;
}

.review-block-section .review-block-content {
  padding-top: 40px;
}

.slider-2 {
  background: pr;
  height: auto;
  margin: auto;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.slider-2 .slide-track-2 {
  -webkit-animation: scroll 60s linear reverse infinite;
  animation: scroll 60s linear reverse infinite;
  display: flex;
  flex-wrap: nowrap;
  width: calc(4000px);
}

.gridpad {
  margin-left: -15px;
  margin-right: -15px;
  display: -ms-flexbox;
  display: flex;
}

.review-block-section .review-block-content .gridpad {
  padding-top: 30px;
}

@keyframes scroll {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    -webkit-transform: translateX(calc(-1800px));
    transform: translateX(calc(-1800px));
  }
}


.how-it-works {
  background: rgb(246, 243, 249);
  padding-bottom: 6.4rem;
}

.how-it-works .how-box {
  max-width: 80vw;
  margin: 0 auto;
}

.how-it-works h3,
.ig-section-red h3 {
  padding: 6.4rem 0 4.8rem 0;
  text-align: center;
  margin: 0 auto;
  font-weight: 300;
  font-size: 3rem;
  color: var(--hero-color);
}

.how-it-works .how-box ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.how-it-works .how-box ul li {
  width: 100%;
  display: inline-block;
  padding: 9px 10px;
}

.how-box ul li div {
  width: 100%;
  display: inline-block;
  text-align: center;
  background: rgb(255, 255, 255);
  border-radius: 19px;
}

.how-box ul li div img {
  display: block;
  width: 100%;
  border-radius: 19px 19px 0px 0px;
}

.how-box .how-details {
  width: calc(100% - 40px);
  text-align: center;
  margin: -20px auto 23px;
  background: rgb(255, 255, 255);
  border-radius: 19px 19px 0px 0px !important;
  font-family: "Avenir Next", "Montserrat", sans-serif;
}

.how-details .how-step {
  margin: -18px auto 0px;
  max-width: 96px;
  min-height: 36px;
  line-height: 36px;
  background: rgb(136, 99, 251);
  color: rgb(255, 255, 255);
  border-radius: 12px;
  text-transform: uppercase;
  font-size: 1.8rem;
  box-shadow: rgba(85, 62, 156, 0.5) 0px 0px 9px;
}

.how-details .how-heading {
  padding: 15px 0px 8px;
  font-size: 1.6rem;
  color: rgb(79, 50, 103);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.how-details .how-desc {
  padding: 0px 25px;
  font-size: 1.4rem;
  letter-spacing: .25px;
  line-height: 1.2;
  color: rgb(79, 50, 103);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Full-width container */
.image-slider-fw {
  width: 100vw;
  /* Full viewport width */
  overflow: hidden;
  /* Hide any overflow */
}

/* Slider-sh container to allow horizontal scroll */
.slider-sh {
  display: flex;
  /* Align items in a row */
  overflow-x: auto;
  /* Horizontal scrolling */
  scroll-behavior: smooth;
  /* Smooth scroll effect */
  width: 100%;
  height: auto;
  gap: 4px;
  padding: 4px;
}

/* Hide the scrollbar */
.slider-sh::-webkit-scrollbar {
  display: none;
}

/* Slide-sh styles */
.slide-sh {
  flex: 0 0 auto;
}

.slide-sh img {
  min-height: 166px;
  width: 92vw;
  height: 100%;
  object-fit: cover;
  border-radius: 15px;
  transition: transform 0.3s ease-in-out;
}

.map {
  max-width: 100vw;
  height: 70vh;
  margin: 2rem 0 6rem 0;
}

.map iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

/* Wrapper to handle horizontal scrolling */
.making-slider-wrapper {
  width: 100%;
  overflow-x: auto;
  white-space: nowrap;
  scroll-behavior: smooth;
}

/* The image grid will use flexbox for horizontal alignment */
.making-slider {
  display: flex;
  gap: 10px;
  width: max-content;
  padding: 10px;
}

/* Individual image slides */
.image-slide {
  flex-shrink: 0;
  width: 35vw;
  height: 80vh;
}

/* Images inside the slides */
.making-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cta-form {
  width: 80%;
  padding: 4.8rem 0;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.2rem;
}

.msg-grid {
  grid-column: -3/-1;
}

.btn--form {
  margin: 0 auto;
  grid-column: -3/-1;
  width: 50%;
  font-family: "Avenir Next", "Montserrat", sans-serif;
  font-size: 2rem;
  background-color: white;
  padding: 1.2rem 0;
  text-transform: uppercase;
  border: 1px solid rgba(128, 128, 128, 0.454);
}

.form-label {
  font-size: 2.2rem;
  font-family: "Avenir Next", "Montserrat", sans-serif;
  padding-bottom: 1.2rem;
}

.form-control,
.form-select {
  display: block;
  width: 100%;
  padding: .375rem .75rem;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.5;
  color: black;
  background-color: white;
  background-clip: padding-box;
  border: 1px solid rgba(128, 128, 128, 0.8);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 3px;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

label {
  display: inline-block;
}

form select,
form input,
form textarea {
  opacity: 0.95;
}


table {
  border-collapse: collapse;
  width: 100%;
  max-width: 1200px;
  margin: auto;
  overflow-x: auto;
}

th,
td {
  border: 1px solid black;
  text-align: center;
  font-size: 1.8rem;
  padding: 1.6rem 0;
}

th {
  background-color: #003a70;
  color: white;
}

td {
  color: red;
  font-weight: bold;
}

tr:nth-child(odd) {
  background-color: #f2f2f2;
}

.upi {
  display: flex;
  justify-content: center;
  /* Center the image horizontally */
  margin: 20px 0;
  /* Add some space around the element */
}

.upi img {
  width: 50%;
  max-width: 100%;
  height: auto;
}


/**
 * MODAL 
 */

.modal1 {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: hsla(0, 0%, 0%, 0.5);
  display: flex;
  justify-content: center;
  font-family: "Avenir Next", "Montserrat", sans-serif;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 25;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.modal1.active {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

.modal-content {
  position: relative;
  max-width: 80vw;
  background-color: white;
  border-radius: 10px;
  padding: 20px;
  text-align: center;
  z-index: 10;
  animation: scaleUp 0.5s ease-in-out forwards;
}

@keyframes scaleUp {
  0% {
    transform: scale(0.9);
    opacity: 0;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.modal-close-btn {
  position: absolute;
  top: 15px;
  right: 15px;
  background: #000;
  color: white;
  display: flex;
  border: none;
  font-size: 16px;
  border-radius: 5px;
  cursor: pointer;
}

.modal-close-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.newsletter-title {
  padding-bottom: 2rem;
  font-size: 1.6rem;
}

.newsletter-desc {
  font-size: 1.4rem;
}

.btn-newsletter {
  background: #222;
  color: white;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 5px;
  font-size: 1.4rem;
  display: inline-block;
  margin-top: 20px;
  transition: background 0.3s ease;
}

.btn-newsletter:hover {
  background: #ff6f61;
}


/*

-- Font sizes (px)
10 / 12 / 14 / 16 / 18 / 20 / 24 / 30 / 36 / 44 / 52 / 62 / 74 / 86 / 98

cursive ----- font-family: "Tenor Sans", sans-serif;

less cursive --- font-family: "Avenir Next", "Montserrat", sans-serif;


-- Spacing system (px)
2 / 4 / 8 / 12 / 16 / 24 / 32 / 48 / 64 / 80 / 96 / 128

*/