@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Poppins", sans-serif;
  background-color: #f3f3f3;
  color: #333;
}

/* icons */
.expense-transaction-icon {
  display: flex;
  justify-content: center;
  font-size: 2.3rem;
  color: #e56372;
  width: 40px;
}

.deposit-transaction-icon {
  display: flex;
  justify-content: center;
  font-size: 2.3rem;
  width: 40px;
  color: #0f9d58;
}

.transfer-transaction-icon {
  display: flex;
  justify-content: center;
  font-size: 2.05rem;
  width: 40px;
  color: #dadee7;
}

.header-container {
  position: fixed;
  top: 0;
  width: 100%;
  height: 175px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  border-radius: 0 0 20px 20px;
  background-color: #6488e5;
  z-index: 1;
}

.header {
  width: 95%;
  max-width: 500px;
}

.title-wrapper {
  display: flex;
  justify-content: center;
  width: 90%;
}

.title {
  width: 90%;
  color: #fff;
  font-size: 1.5rem;
  margin-bottom: 10px;
  letter-spacing: 1px;
  font-weight: 400;
}

.total-balance-container,
.savings-balance-container {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border-radius: 20px;
  height: 85px;
  margin-bottom: -35px;
  box-shadow: rgb(63 61 86) 0px 8px 20px -9px;
}

.total-balance-wrapper,
.savings-balance-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 90%;
}

.cash-available,
.savings-available {
  font-size: 0.7rem;
  color: #9e9e9e;
  margin-top: 5px;
}

.expenses-overview-section {
  display: flex;
  justify-content: center;
}

.expenses-overview-container {
  background-color: #fff;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 95%;
  max-width: 500px;
  height: 185px;
  margin-top: 15px;
  z-index: -1;
}

.expenses-overview-wrapper {
  width: 90%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.expenses-overview-icons-wrapper {
  width: 100%;
}

.expenses-dollar-sign {
  color: #e56372;
  margin-right: 5px;
}

.expense-overview {
  font-size: 0.7rem;
  color: #9e9e9e;
  margin-top: 5px;
}

.expenses-overview-balance {
  color: #e56372;
}

.expenses-overview-icons-list {
  list-style-type: none;
  width: 100%;
  display: flex;
  justify-content: space-around;
  margin-top: 30px;
}

#food-circle {
  width: 70px;
  position: absolute;
}

#shopping-circle {
  width: 70px;
  position: absolute;
  color: #e6e6e6;
}

#transportation-circle {
  width: 70px;
  position: absolute;
}

#household-circle {
  width: 70px;
  position: absolute;
}

.circle-container {
  width: 70px;
  height: 70px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.overview-icon {
  font-size: 30px;
  color: #fff;
  -webkit-text-stroke: 1px #e56372;
  display: flex;
  margin-bottom: px;
}

.food-percent,
.shopping-percent,
.transportation-percent,
.household-percent {
  font-size: 0.8rem;
}

.transactions-container {
  width: 100%;
  display: flex;
  justify-content: center;
}

.transactions-wrapper,
.all-transactions-wrapper {
  width: 95%;
  max-width: 500px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.transactions-label,
.savings-goals-label {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 20px 0 20px 0;
}

.transactions,
.savings-goals {
  width: 90%;
  color: #9e9e9e;
}

.modal-overlay,
.edit-modal-overlay,
.savings-modal-overlay,
.contribute-modal-overlay {
  left: 0;
  top: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: fixed;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 3;
}

.modal {
  width: 100%;
  max-width: 500px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fff;
  border-radius: 20px;
  padding: 10px 0;
  margin-bottom: 60px;
}

.modal-content {
  width: 80%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.expense-deposit-btn {
  width: 100%;
  height: 45px;
  display: flex;
  align-items: center;
  border: 1px solid #6488e5;
  border-radius: 20px;
}

.gray-expense-deposit-btn {
  border: 1px solid #dadee7;
}

.active-expense-btn {
  width: 50%;
  height: 45px;
  border: none;
  border-radius: 20px;
  color: #fff;
  background-color: #6488e5;
}

.gray-btn {
  width: 50%;
  height: 45px;
  border: none;
  border-radius: 20px;
  color: #fff;
  background-color: #dadee7;
}

.inactive-deposit-btn {
  width: 50%;
  height: 45px;
  border: none;
  border-radius: 20px;
  background: none;
}

.inputs-wrapper {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.inputs-label-wrapper {
  display: flex;
  flex-direction: column;
  margin: 5px 0;
}

.input-label {
  margin: 0 0 5px 15px;
}

.form-inputs {
  width: 100%;
  height: 45px;
  border: 1px solid #6488e5;
  border-radius: 20px;
  background: none;
  padding: 0 20px 0 20px;
}

.modal-btn {
  width: 50%;
  height: 45px;
  background-color: #6488e5;
  border: none;
  border-radius: 20px;
}

.submit-btn {
  margin-top: 8px;
}

.add-expense-btn {
  color: #ff7d8c;
  font-size: 1rem;
}

.add-deposit-btn {
  color: #00e300;
  font-size: 1rem;
}

.add-goal-btn {
  color: #fff;
  font-size: 1rem;
}

.confirm-transfer-btn {
  color: #dadee7;
  font-size: 1rem;
}

.cancel-btn {
  border: none;
  background: none;
  color: #333;
  margin-left: 20px;
  font-size: 1rem;
}

.inactive-expense-btn {
  width: 50%;
  height: 45px;
  border: none;
  border-radius: 20px;
  background: none;
}

.active-deposit-btn {
  width: 50%;
  height: 45px;
  border: none;
  border-radius: 20px;
  color: #fff;
  background-color: #6488e5;
}

.transfer-btn-wrapper {
  width: 80%;
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}

.transfer-btn {
  background: none;
  border: none;
  color: #6488e5;
}

.active-transfer-btn {
  border-bottom: 1px solid #6488e5;
}

nav {
  background-color: #fff;
  width: 100%;
  height: 60px;
  bottom: 0;
  position: fixed;
  border-radius: 20px 20px 0 0;
  box-shadow: 0px -10px 25px 0px rgba(0, 0, 0, 0.1);
}

.navbar-list-wrapper {
  width: 100%;
  height: 100%;
  list-style-type: none;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}

.gray-nav-icon {
  font-size: 25px;
  color: #fff;
  -webkit-text-stroke: 1px #b3b3b3;
}

.plus-nav-icon {
  font-size: 40px;
  color: #6488e5;
}

.home-page,
.transactions-page,
.statistics-page,
.savings-page {
  margin-top: 215px;
}

.transactions-container {
  width: 100%;
}

.all-transactions-container {
  width: 100%;
  display: flex;
  justify-content: center;
}

.savings-goals-container {
  width: 95%;
  max-width: 500px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.transactions-list-container,
.all-transactions-list-container,
.savings-goals-list-container {
  width: 100%;
  display: flex;
  justify-content: center;
}

.home-transactions-list {
  list-style-type: none;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin-bottom: 70px;
}

.all-transactions-list {
  list-style-type: none;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column-reverse;
  margin-bottom: 70px;
}

.savings-goals-list {
  list-style-type: none;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin-bottom: 70px;
}

.transaction-list-item,
.all-transaction-list-item,
.goal-list-item {
  border-radius: 20px;
  width: 100%;
  height: 95px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 15px;
  background-color: #fff;
}

.transaction-icon,
.transaction-list-item-amount {
  pointer-events: none;
}

.transaction-icon {
  display: flex;
  align-items: center;
}

.transaction-title-wrapper {
  margin-left: 25px;
}

.transaction-title {
  font-weight: 500;
  font-size: 1rem;
  margin-bottom: 8px;
}

.transaction-subtitle {
  color: #9e9e9e;
  font-size: 0.8rem;
  margin-top: 8px;
}

.transaction-content-wrapper {
  width: 90%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.goal-content-wrapper {
  width: 90%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.expense-list-item-amount {
  color: #e56372;
}

.deposit-list-item-amount {
  color: #0f9d58;
}

.transaction-details-modal,
.all-transaction-details-modal,
.goal-details-modal {
  height: 100vh;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  left: 0;
  top: 0;
  position: fixed;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 1;
}

.transaction-details-wrapper,
.all-transaction-details-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 50vh;
  max-width: 500px;
  max-height: 350px;
  background-color: #fff;
  border-radius: 20px;
}
.transaction-details,
.all-transaction-details {
  width: 100%;
}
.transaction-details ul,
.all-transaction-details ul {
  width: 100%;
  list-style-type: none;
  margin: 20px 0;
}

.transaction-details ul li,
.all-transaction-details ul li {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.transaction-details-and-buttons {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 200px;
}

.are-you-sure {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.are-you-sure-text {
  text-align: center;
}

.yes-delete {
  border: none;
  background: #e56372;
  color: #fff;
  padding: 5px 20px 5px 20px;
  border-radius: 5px;
  margin: 15px 10px 0 0;
}

.no-delete {
  border: 1px solid #6488e5;
  background: #fff;
  color: #6488e5;
  padding: 5px 20px 5px 20px;
  border-radius: 5px;
  margin: 15px 0 0 10px;
}

.active-nav-btn {
  -webkit-text-stroke: 1px #6488e5;
}

.close-transactions {
  background: none;
  border: none;
  color: #8d8d8d;
}

.edit-transaction,
.contribute-btn {
  background: #6488e5;
  color: #fff;
  padding: 5px 20px;
  border: none;
  border-radius: 5px;
  margin-right: 25px;
}

.edit-delete-btn {
  display: flex;
}

.delete-btn,
.goal-delete-btn {
  background: none;
  color: #e56372;
  border: none;
  font-size: 20px;
}

.add-savings {
  margin-top: 170px;
}

.transfer-modal {
  height: 100vh;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.savings-page {
  width: 100%;
  display: flex;
  justify-content: center;
}

.savings-page-wrapper {
  width: 95%;
  display: flex;
  justify-content: center;
}

.savings-goal-btn-wrapper {
  width: 90%;
  display: flex;
  justify-content: flex-end;
}

.add-savings-goal-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  right: 0;
  border: none;
  border-radius: 50%;
  background: #fff;
  color: #6488e5;
  margin: 25px 25px 0 0;
  width: 30px;
  height: 30px;
  font-size: 1.2rem;
  z-index: 2;
}

.name-and-progress-div {
  width: 80%;
}

.goal-amount-div {
  display: flex;
}

.total-progress-p-div {
  display: flex;
  color: #9e9e9e;
  font-size: 0.8rem;
  margin-top: 8px;
}

.total-progress {
}

.progress-bar-div {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.progress-bar-percentage-div {
  display: flex;
  align-items: center;
}

.progress-bar {
  width: 100%;
  height: 5px;
  background-color: #e8e8e8;
  border-radius: 10px;
}

.progress {
  width: 0;
  max-width: 100%;
  height: 5px;
  background-color: #00d100;
  border-radius: 10px;
  transition: 1s;
}

.progress-percentage {
  margin-left: 10px;
}

.savings-goal-details {
  margin: 20px 0;
}

.contribute-modal {
  height: 50vh;
}

.contribute-label {
  margin-left: 15px;
}

.savings-goal-details {
  list-style-type: none;
}

.goal-li-wrapper {
  display: flex;
  justify-content: space-between;
}

.goal-details-and-buttons {
  width: 225px;
}

.delete-contribution-btn {
  background: none;
  border: none;
  color: #e56372;
  margin-right: 10px;
}

.goal-complete {
  padding-right: 20px;
  transition: 1s;
}

.chart-container {
  width: 100%;
  display: flex;
  justify-content: center;
}

.chart {
  width: 75%;
  max-width: 350px;
  margin-top: 15px;
}

.stats-card-container {
  margin: 40px 0 100px 0;
  display: flex;
  overflow-x: scroll;
  padding: 20px 10px;
}

.stats-card {
  height: 185px;
  min-width: 185px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 10px;
  border-radius: 20px;
  color: #fff;
  padding-left: 25px;
  transition: 0.35s;
}

.stats-card:hover {
  transform: scale(1.08);
}

.card-icon {
  font-size: 2.5rem;
  color: transparent;
  -webkit-text-stroke: 1px #fff;
}

.card-label {
  margin: 20px 0 5px 0;
  font-weight: 300;
}

.card-amount {
}

.food-card {
  background-color: #798ea4;
}

.shopping-card {
  background-color: #45b8ac;
}

.transportation-card {
  background-color: #939597;
}

.household-card {
  background-color: #dfcfbe;
}

.savings-card {
  background-color: #f9be7d;
}

.stats-card-container::-webkit-scrollbar {
  display: none;
}

.hidden {
  display: none;
}

.disable-click {
  pointer-events: none;
}

@media screen and (min-width: 360px) {
  .modal {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #fff;
    border-radius: 20px;
    padding: 20px 0;
    margin-bottom: 80px;
  }

  .inputs-label-wrapper {
    display: flex;
    flex-direction: column;
  }
}

@media screen and (min-width: 1050px) {
  .stats-card-container {
    justify-content: center;
  }
}
