/* ---------------------------------------- GENERAL STYLING ----------------------------------------------- */

section {
  width: 100%;
  position: relative;
}

/* ---------------------------------------- GENERAL STYLING ----------------------------------------------- */

/* ---------------------------------------- HERO SECTION -------------------------------------------------- */

/* Hero Slider Container */
.hero-slider {
  height: calc(95vh - var(--nav-height));
  overflow: hidden;
}

/* Individual Slide */
.hero-slider .slide {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.8s ease-in-out;
  pointer-events: none;
}

.hero-slider .slide.active {
  opacity: 1;
  pointer-events: auto;
}

/* Overlay */
.hero-slider .slide .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1;
}

/* Image Container */
.hero-slider .slide .image-container {
  width: 100%;
  height: 100%;
}

/* Slide Text */
.hero-slider .slide .text {
  position: absolute;
  top: 50%;
  left: 10%;
  transform: translateY(-50%);
  z-index: 2;
  color: var(--white);
  max-width: 600px;
}

.hero-slider .slide .text h1 {
  color: var(--white);
}
.hero-slider .slide .text h2 {
  text-align: left;
  margin-bottom: 0;
}
.hero-slider .slide .text p {
  font-size: 1rem;
  margin: 1rem 0;
  width: 80%;
}

/* Navigation Pills */
.hero-slider .nav-pills {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
  z-index: 3;
}

.hero-slider .nav-pills .pill {
  width: 55px;
  height: 10px;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: 0.3s;
}

.hero-slider .nav-pills .pill.active {
  background: var(--secondary);
}

/* ---------------------------------------- HERO SECTION -------------------------------------------------- */

/* ---------------------------------------- RANGE SLIDER -------------------------------------------------- */

.range-selector {
  padding: 5%;
}
.range-selector .title-l {
  color: var(--secondary);
}
.range-selector input[type="number"] {
  -moz-appearance: textfield;
  outline: none;
  border: none;
  /* border: 1px solid var(--text); */
  font-size: var(--h2);
  padding-left: 5px;
  /* border-radius: 7px; */
  margin: 0;
  color: var(--secondary);
  font-family: inherit;
  font-weight: 700;
}
.range-selector input[type="number"]:nth-child(1) {
  width: 15%;
}
.range-selector input[type="number"]::-webkit-inner-spin-button,
.range-selector input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
}
.range-selector .range-card {
  width: 90%;
  margin: auto;
  height: 65vh;
  background-color: var(--white);
  border-radius: var(--radius);
  /* overflow: hidden; */
  box-shadow: var(--shadow);
}
.range-selector .range-card .user-inputs {
  width: 60%;
  padding: 5%;
}
.range-selector .range-card .user-inputs .amount-days {
  width: 100%;
}
.range-selector .range-card .user-inputs .amount-days .period,
.range-selector .range-card .user-inputs .amount-days .loan-amount {
  width: 50%;
}
.range-selector .range-card .user-inputs .amount-days .period .input,
.range-selector .range-card .user-inputs .amount-days .loan-amount .input {
  align-items: center;
  justify-content: flex-start;
}
.range-selector .range-card .user-inputs .amount-days .period .input p,
.range-selector .range-card .user-inputs .amount-days .loan-amount .input p {
  margin-bottom: 0;
  font-weight: 700;
  text-align: left;
  width: fit-content;
}
.range-selector .range-card .user-inputs .slide-container {
  margin-top: 2rem;
}
.range-selector .range-card .user-inputs .slide-container p {
  width: 100%;
  text-align: right;
  font-weight: 700;
  margin-top: 0.5rem;
}
.range-selector .range-card .user-inputs .slide-container .buttons {
  width: 100%;
}
.range-selector .range-card .user-inputs .slide-container .buttons .btn {
  cursor: pointer;
  width: 35px;
  height: 35px;
  text-align: center;
  border-radius: 50%;
  font-size: 1.5rem;
  font-weight: 700;
  background-color: transparent;
  transition: 300ms;
}
.range-selector .range-card .user-inputs .slide-container .buttons .btn:hover {
  background-color: rgb(236, 236, 236);
}
.range-selector .range-card .user-inputs .slide-container .custom-slider {
  -webkit-appearance: none;
  width: 100%;
  height: 4px;
  background-color: #ccc;
  border-radius: 4px;
  outline: none;
  transition: background-color 0.3s ease-in-out;
  position: relative;
}
.range-selector
  .range-card
  .user-inputs
  .slide-container
  .custom-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 25px; /* Bigger Knob */
  height: 25px;
  margin-top: -0.6rem;
  background: var(--primary); /* Green Knob */
  border-radius: 50%;
  cursor: pointer;
  transition: 0.2s;
}
.range-selector
  .range-card
  .user-inputs
  .slide-container
  .custom-slider::-moz-range-thumb {
  width: 25px;
  height: 25px;
  background: var(--primary);
  border-radius: 50%;
  cursor: pointer;
}
.range-selector
  .range-card
  .user-inputs
  .slide-container
  .custom-slider:active::-webkit-slider-thumb {
  transform: scale(1.1);
}
.range-selector
  .range-card
  .user-inputs
  .slide-container
  .custom-slider::-webkit-slider-runnable-track {
  height: 4px;
  background: linear-gradient(
    to right,
    var(--secondary) 0%,
    var(--secondary) var(--progress),
    #ccc var(--progress),
    #ccc 100%
  );
  border-radius: 4px;
}
.range-selector
  .range-card
  .user-inputs
  .slide-container
  .custom-slider::-moz-range-progress {
  background: var(--secondary);
  height: 8px;
  border-radius: 4px;
}
.range-selector .range-card .user-inputs .slide-container .custom-slider {
  --progress: 0%;
}
.range-selector .range-card .user-inputs p.small {
  margin-top: 2rem;
  width: 90%;
}

.slider-container {
  margin: 20px auto;
  width: 320px;
}
.results {
  padding-top: 1%;
  height: 100%;
  position: relative;
  background-color: var(--primary);
  border-top-right-radius: var(--radius);
  border-bottom-right-radius: var(--radius);
}
.results .repayment {
  width: 100%;
  padding: 5%;
}
.results .repayment .heading {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.results .repayment .heading h4 {
  color: var(--white);
}
.results .repayment h2 {
  color: var(--secondary);
  margin: 1rem 0;
  text-align: left;
}
.results .repayment h2.title-l {
  font-size: var(--h1);
}
.results .repayment .heading .fa-solid,
.results .cta .fa-solid {
  color: var(--secondary);
  font-size: 1.2rem;
  margin-left: 1rem;
  cursor: pointer;
}
.results .repayment .total {
  margin-bottom: 2rem;
}
.results .fees-date {
  background-color: rgba(0, 0, 0, 0.25);
}
.results .disclaimer {
  color: var(--white);
  margin: 1rem auto;
  padding: 0 5%;
}
.results .cta {
  margin-left: 5%;
  justify-content: flex-start;
}
.results .cta a {
  font-weight: 700;
  font-size: 1.2rem;
}

/* ---------------------------------------- RANGE SLIDER -------------------------------------------------- */

/* ---------------------------------------- BENEFITS SECTION ---------------------------------------------- */

.benefits {
  padding: 5% 5% 10%;
  margin: 3rem 0 15rem;
  background-color: var(--primary);
  color: var(--white);
}
.benefits h2 {
  color: var(--white);
}
.benefits p {
  margin: 2rem auto;
  width: 70%;
  text-align: center;
}
.benefits .cards {
  position: absolute;
  left: 0;
  width: 100%;
  padding: 0 5%;
  bottom: -10rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px;
}
.benefits .cards .card {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.benefits .cards .card .fa-solid {
  font-size: 4rem;
  margin-bottom: 2rem;
  color: var(--secondary);
}
.benefits .cards .card p {
  color: var(--text);
  margin: 1rem auto;
}
.benefits .cards .card .btn-green {
  border-radius: var(--radius);
}

/* ---------------------------------------- BENEFITS SECTION ---------------------------------------------- */

/* ---------------------------------------- FAQ SECTION --------------------------------------------------- */

.faq {
  position: relative;
  width: 80%;
  padding: 0 5rem;
  margin: 4rem auto;
}
.faq .intro {
  text-align: center;
  width: 100%;
  margin: auto;
}
.faq .intro h2 {
  margin: 1rem auto 3rem;
}
.faq .intro h2::after {
  left: 50%;
  transform: translateX(-50%);
  width: 10%;
}
.faq .intro p {
  color: var(--text);
  margin: 2rem 0;
}
.faq .my-accordion {
  width: 100%;
  margin: auto;
}
.faq .my-accordion .menu {
  background-color: var(--grey);
  color: var(--text);
  cursor: pointer;
  padding: 12px;
  width: 100%;
  text-align: left;
  border: none;
  outline: none;
  margin: 1rem auto 0rem auto;
  border-radius: 8px;
  font-size: inherit;
  font-family: "Gotham", sans-serif;
  transition: border-radius 1.5s ease;
}
.faq .my-accordion .panel {
  border-radius: 0 0 8px 8px;
  background-color: var(--grey);
  color: var(--text);
  overflow: hidden;
  transition: height 300ms ease;
}
.faq .my-accordion .open {
  /* display: block; */
  height: auto;
  height: calc-size(auto);
  /* height: 80px; */
  transition: height 300ms ease;
}
.faq .my-accordion .close {
  /* display: none; */
  height: 0px;
}
.faq .my-accordion ul {
  margin: 0.5rem 0;
}
.faq .my-accordion li {
  padding: 0.3rem 0 0.3rem 1rem;
  list-style: circle;
  list-style-position: inside;
  font-size: inherit;
}
.faq .my-accordion .active {
  border-radius: 8px 8px 0 0;
  background-color: var(--primary);
  color: var(--white);
  transition: border-radius 300ms ease;
}
.faq .my-accordion .arrow {
  float: right;
  display: block;
}
.faq .my-accordion .darrow {
  display: none;
}
.faq .my-accordion .active .darrow {
  display: block;
}
.faq .my-accordion .active .rarrow {
  display: none;
}
.faq a {
  display: block;
  width: fit-content;
  margin: 2rem 0;
}

/* ---------------------------------------- FAQ SECTION --------------------------------------------------- */

/* ---------------------------------------- ARTICLES SECTION ---------------------------------------------- */

.articles {
  margin: 3rem 0;
}
.articles .h2 {
  margin-bottom: 3rem;
}
.articles .cards {
  padding: 0 5%;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px;
}
.articles .cards .card {
  padding: 0;
}
.articles .cards .card .info {
  padding: 0 5%;
}
.articles .cards .card .image-container {
  width: 100%;
  height: 25vh;
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
}
.articles .cards .card h3 {
  margin: 1.5rem 0 1rem;
}
.articles .cards .card a {
  margin: 1rem 0;
  color: var(--secondary);
}

/* ---------------------------------------- ARTICLES SECTION ---------------------------------------------- */

/* ---------------------------------------- CLOSING MAST -------------------------------------------------- */

.closing-mast .mast {
  background-image: url("../../images/home/bg-pattern.webp");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: var(--primary);
  padding: 5%;
  padding-right: 10%;
}
.closing-mast .mast h2 {
  color: var(--secondary);
  width: fit-content;
  margin: 0;
}
.closing-mast .mast a {
  border-radius: var(--radius);
  font-size: 1.3rem;
}
.closing-mast .ratings {
  padding: 1rem 5%;
}
.closing-mast .ratings .rating p,
.closing-mast .ratings .rate-us p {
  font-size: 1rem;
  margin-right: 1rem;
  font-weight: 700;
}
.closing-mast .ratings .rating .fa-solid {
  font-size: 1.5rem;
  color: var(--secondary);
  margin-right: 0.5rem;
}
.closing-mast .ratings .rate-us a {
  width: fit-content;
}

/* ---------------------------------------- CLOSING MAST -------------------------------------------------- */

/* ---------------------------------------- RESPONSIVE BREAKPOINTS ---------------------------------------- */

/* 1024 PX */

@media screen and (max-width: 1024px) {
  header nav ul {
    width: 80%;
  }
  .benefits {
    margin-bottom: 40rem;
  }
  .benefits .cards {
    bottom: -35rem;
  }
  .faq .my-accordion .open {
    /* height: 105px; */
  }
  .closing-mast .mast h2 {
    text-align: left;
    font-size: 2rem;
  }
  .closing-mast .mast a {
    padding: 1rem 2rem;
    border-radius: 35px;
  }
  .whatsapp-button {
    padding: 3%;
  }
}

/* 768 PX */

@media screen and (max-width: 768px) {
  .flex-res {
    flex-direction: column;
  }
  .flex-res * {
    /* width: 100%; */
  }
  .range-selector .range-card {
    height: auto;
  }
  .range-selector .range-card .user-inputs {
    width: 90%;
  }
  .range-selector .range-card .results {
    border-top-right-radius: 0;
    border-bottom-left-radius: var(--radius);
    padding: 5%;
  }
  .range-selector .range-card .results .cta {
    margin-left: 0;
    width: 70%;
  }
  .benefits {
    margin-bottom: 35rem;
    padding: 5% 5% 60%;
  }
  .benefits .cards {
    bottom: -30rem;
  }
  .benefits .cards .card,
  .articles .cards .card {
    width: 70%;
    margin: auto;
  }
  .faq {
    padding: 3rem;
    padding-bottom: 0;
    width: 100%;
  }
  .faq .my-accordion .open {
    /* height: 75px; */
  }
  .closing-mast .mast {
    flex-direction: column;
    align-items: flex-start;
  }
  .closing-mast .mast h2 {
    margin-bottom: 1rem;
  }
  .closing-mast .mast a {
    padding: 1rem 2rem;
    font-size: var(--h3);
    padding: 0.75rem 1.5rem;
  }
  .whatsapp-button {
    padding: 4%;
    right: 4%;
  }
}

@media screen and (max-width: 550px) {
  h4 {
    text-align: left;
  }
  hr {
    margin: 3rem auto;
  }
  .hero-slider .slide .text {
    padding: 0 3%;
    display: flex;
    flex-direction: column;
    align-items: center;
    left: 0%;
  }
  .hero-slider .slide .text h2,
  .hero-slider .slide .text h1 {
    text-align: center;
  }
  .range-selector .range-card {
    width: 100%;
  }
  .range-selector .range-card .results .cta {
    width: 100%;
  }
  .benefits {
    margin-bottom: 40rem;
    padding: 10% 5% 60%;
  }
  .benefits p {
    width: 100%;
  }
  .benefits .cards {
    bottom: -35rem;
  }
  .benefits .cards .card,
  .articles .cards .card {
    width: 90%;
  }
  .faq .intro h2::after {
    width: 20%;
  }
  .faq .my-accordion .menu {
    font-size: var(--p);
  }
  .faq .my-accordion .open {
    font-size: var(--p);
    /* height: 110px; */
  }
  .faq .see-more {
    width: 65%;
  }
  .articles .cards .card a {
    text-align: center;
    margin-bottom: 2rem;
  }
  .closing-mast .mast h2 {
    width: 100%;
    font-size: 1.5rem;
    margin-bottom: 1rem;
    text-align: center;
  }
  .closing-mast .mast a {
    font-size: 1rem;
    padding: 2% 5%;
    align-self: center;
  }
  .closing-mast .ratings {
    flex-direction: column;
    align-items: center;
  }
  .whatsapp-button {
    padding: 5%;
  }
}

@media screen and (max-width: 425px) {
  .faq {
    padding: 5%;
  }
  .faq .intro h2::after {
    width: 40%;
  }
  .faq .my-accordion .open {
    height: auto;
  }
  .whatsapp-button {
    padding: 6%;
  }
}
