
/* --------------------------   reset   ----------------------------- */

@font-face {
  font-family: 'FarsiFont';
  src: url('/fonts/IRANSans_FaNum.ttf') format('truetype');
  font-weight: normal;
}
@font-face {
  font-family: 'FarsiFont';
  src: url('/fonts/IRANSans_FaNum_Bold.ttf') format('truetype');
  font-weight: bold;
}

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

html {
  font-size: 14px;
}

body {
  font-family: 'FarsiFont', sans-serif;
  line-height: 1.5;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  color: #444;
  overflow-x: hidden;
  background-color: #fbfbfb;
}


/* --------------   helpers   ------------------- */

/* .text-center {
  text-align: center;
} */

/* .h-100 {
  height: 100%;
} */

/* .overflow-hidden {
  overflow: hidden;
} */

.hide {
  display: none !important;
}

.hide-module {
  display: none;
}

test-data {
  display: none;
}

/* --------------   heading   ------------------- */
/* h6, h5, h4, h3, h2, h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
} */

/* --------------   paragraph   ---------------- */
p {
  margin-top: 0;
  margin-bottom: 1rem;
}

/* --------------    list     ------------------ */
ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

ul,
ol {
  padding-left: 1rem;
  padding-right: 1rem;
}

nav ul,
nav ol {
  padding-left: 0;
  padding-right: 0;
}

nav ul li {
  list-style: none;
}


/* ----------------   link   ------------------ */
a {
  color: inherit;
  text-decoration: underline;
}
a:hover {
  color: inherit;
}

ul li a {
  text-decoration: none;
}

/* ---------------   img / svg    ------------ */
img,
svg {
  vertical-align: middle;
}

/* --------------    table     --------------- */
table {
  border-collapse: collapse;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

/* -------------    label      ---------------- */
label {
  display: inline-block;
  padding: 0 5px;
  margin-bottom: 0.3rem;
  user-select: none;
  -webkit-user-select: none;
  vertical-align: middle;
}

/* -----   reset input, button, textarea, select, :focus-visible ------- */
input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

/* input:not(:disabled),
button:not(:disabled),
select:not(:disabled),
optgroup:not(:disabled),
textarea:not(:disabled) {
  color: inherit;
} */

input,
textarea {
  /* font-size: 1.25rem; */
  font-size: 17px;
}

a:focus-visible,
input:not([type="checkbox"]):focus-visible,
/* button:focus-visible, */
select:focus-visible,
optgroup:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: none;
  outline-offset: 2px;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
  border-color: transparent;
}

input:not([type="checkbox"]):disabled, 
textarea:disabled,
select:disabled {
  background-color: #F3F3F3;
}

button,
select {
  text-transform: none;
}

@media screen and (min-width: 991px) {
  button:focus-visible {
    outline: none;
    outline-offset: 2px;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
    border-color: transparent;
  }
}

@media screen and (max-width: 991px) {
  a:focus-visible,
  button:focus-visible {
    outline: none;
    box-shadow: none;
  }
}

/* ---------------    button    --------------- */
button,
.link-button {
  display: inline-block;
  white-space: nowrap;
  border: 1px solid #767676;
  border-radius: 3px;
  background-color: #EFEFEF;
  padding: 0.2rem 0.9rem;
  text-decoration: none;
}

button:hover,
.link-button:hover {
  background-color: #e7e7e7;
}

button:not(:disabled):active,
.link-button:not(:disabled):active {
  filter: contrast(1.1);
}

button:disabled {
  background-color: #eee !important;
}

button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
  color: #000;
}

/* -------------   input / textarea:  --------------- */
/* mainly border, border-radius and background-color */
input:not([type="checkbox"]):not([type="radio"]),
textarea {
  display: block;
  width: 100%;
  border: 1px solid #ccc;
  border-radius: 5px;
  background-color: #fff;
  padding: 0.3rem 1rem;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}

textarea {
  resize: vertical;
}

/* ---------------    floating label   ----------------- */
/* <label> tag after <input> tag, .group-floating-label on encapsulating div */
.group-floating-label {
  position: relative;
}

.group-floating-label label {
  position: absolute;
  top: 3px;
  left: 12px;
  right: 12px;
  color: #b6b8bd;
  font-size: 1rem;
  opacity: 0;
  visibility: hidden;
  transition: all 0.15s ease-in-out;
  padding: 0;
}

.group-floating-label input {
  padding: 1.05rem 0.75rem 0.45rem 0.75rem !important;
}

.group-floating-label input:not(:placeholder-shown) + label {
  color: #8b8f99;
  font-size: 0.7rem;
  visibility: visible;
  opacity: 1;
}

.group-button {
  position: relative;
}


/* ---------------    group prefix   ----------------- */

.group-prefix {
  display: flex;
  flex-direction: row;
  position: relative;
}

html[dir="rtl"] .group-prefix {
  flex-direction: row-reverse;
}

.group-prefix .prefix {
  border: 1px solid #aaa;
    border-radius: 5px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    background-color: #eee;
    display: flex;
    align-items: center;
    padding: 0 10px;
}

.group-prefix input {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-left: none;
}


/* -----------------    checkbox   --------------------- */

/* using default user-agent behaviour */

/* -----------------    toggle switch   --------------------- */

.toggle-switch {
  position: relative;
  display: inline-block;
  width: 38px;
  height: 20px;
}

.toggle-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.toggle-switch .slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: transform .4s;
  transition: transform .4s;
  border-radius: 34px;
}

.toggle-switch .slider:before {
  position: absolute;
  content: "";
  height: 14px;
  width: 14px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  -webkit-transition: transform .4s;
  transition: transform .4s;
  border-radius: 50%;
}

.toggle-switch input:checked + .slider {
  background-color: #3582C4;
}

.toggle-switch input:focus-visible + .slider {
  outline-width: 2px;
  outline-color: rgba(0, 0, 0, 0.5);
  outline-style: solid;
  outline-offset: 2px;
}

.toggle-switch input:checked + .slider:before {
  -webkit-transform: translateX(18px);
  -ms-transform: translateX(18px);
  transform: translateX(18px);
}

.toggle-switch input:disabled + .slider {
  opacity: 0.3;
}



/* -----------------    select   --------------------- */
select {
  display: block;
  width: 100%;
  padding: .375rem 2.25rem .375rem .75rem;
  appearance: none;
  word-wrap: normal;
  border-radius: 5px;
  border: 1px solid #ccc;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right .75rem center;
  background-size: 16px 12px;
}

html[dir="rtl"] select {
  padding: .375rem .75rem .375rem 2.25rem;
  background-position: left .75rem center;
}


/* ----------------    containers   ----------------- */
.container-tiny,
.container-small,
.container,
.container-large {
  width: 100%;
  padding: 0 30px;
  margin: 0 auto;
}

.container-tiny {
  max-width: 540px;
}

.container-small {
  max-width: 900px;
}

.container {
  max-width: 1200px;
}

.container-large {
  max-width: 1440px;
}

@media screen and (max-width: 991px) {
  .container-tiny,
  .container-small,
  .container,
  .container-large {
    padding: 0 20px;
  }
}

@media screen and (max-width: 767px) {
  .container-tiny,
  .container-small,
  .container,
  .container-large {
    padding: 0 10px;
  }
}


/* ----------------    grid   ----------------- */

.row {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  flex-wrap:wrap;
}

.row .column {
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: 0%;
}

.row .content-center {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.row .column.width-10,
.row .column.width-20,
.row .column.width-30,
.row .column.width-40,
.row .column.width-50,
.row .column.width-60,
.row .column.width-70,
.row .column.width-80,
.row .column.width-90,
.row .column.width-100 {
  flex-grow: 0;
}

.row .column.width-10 {
  flex-basis: 10%;
}
.row .column.width-20 {
  flex-basis: 20%;
}
.row .column.width-30 {
  flex-basis: 30%;
}
.row .column.width-40 {
  flex-basis: 40%;
}
.row .column.width-50 {
  flex-basis: 50%;
}
.row .column.width-60 {
  flex-basis: 60%;
}
.row .column.width-70 {
  flex-basis: 70%;
}
.row .column.width-80 {
  flex-basis: 80%;
}
.row .column.width-90 {
  flex-basis: 90%;
}
.row .column.width-100 {
  flex-basis: 100%;
}

@media screen and (max-width: 767px) {
  .row .column.width-10,
  .row .column.width-20,
  .row .column.width-30,
  .row .column.width-40,
  .row .column.width-50,
  .row .column.width-60,
  .row .column.width-70,
  .row .column.width-80,
  .row .column.width-90,
  .row .column.width-100 {
    flex-basis: 100%;
  }

  .display-mobile-none {
    display: none !important;
  }
}

/* custom width for multiple breakpoints */
/* .row .column:nth-child(1) {
  flex-basis: 50%;
  flex-grow: 0;
} */

/* .row .col-5,
.row .col-10,
.row .col-15,
.row .col-20,
.row .col-25,
.row .col-30,
.row .col-35,
.row .col-40,
.row .col-45,
.row .col-50,
.row .col-55,
.row .col-60,
.row .col-65,
.row .col-70,
.row .col-75,
.row .col-80,
.row .col-85,
.row .col-90,
.row .col-95,
.row .col-100 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 0%;
} */

.row [class*="col-"] {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 0%;
}

.row .col-5 {
  flex-basis: 5%;
}
.row .col-10 {
  flex-basis: 10%;
}
.row .col-15 {
  flex-basis: 15%;
}
.row .col-20 {
  flex-basis: 20%;
}
.row .col-25 {
  flex-basis: 25%;
}
.row .col-30 {
  flex-basis: 30%;
}
.row .col-35 {
  flex-basis: 35%;
}
.row .col-40 {
  flex-basis: 40%;
}
.row .col-45 {
  flex-basis: 45%;
}
.row .col-50 {
  flex-basis: 50%;
}
.row .col-55 {
  flex-basis: 55%;
}
.row .col-60 {
  flex-basis: 60%;
}
.row .col-65 {
  flex-basis: 65%;
}
.row .col-70 {
  flex-basis: 70%;
}
.row .col-75 {
  flex-basis: 75%;
}
.row .col-80 {
  flex-basis: 80%;
}
.row .col-85 {
  flex-basis: 85%;
}
.row .col-90 {
  flex-basis: 90%;
}
.row .col-95 {
  flex-basis: 95%;
}
.row .col-100 {
  flex-basis: 100%;
}

@media screen and (min-width: 576px) {
  .row .col-sm-5 {
    flex-basis: 5%;
  }
  .row .col-sm-10 {
    flex-basis: 10%;
  }
  .row .col-sm-15 {
    flex-basis: 15%;
  }
  .row .col-sm-20 {
    flex-basis: 20%;
  }
  .row .col-sm-25 {
    flex-basis: 25%;
  }
  .row .col-sm-30 {
    flex-basis: 30%;
  }
  .row .col-sm-35 {
    flex-basis: 35%;
  }
  .row .col-sm-40 {
    flex-basis: 40%;
  }
  .row .col-sm-45 {
    flex-basis: 45%;
  }
  .row .col-sm-50 {
    flex-basis: 50%;
  }
  .row .col-sm-55 {
    flex-basis: 55%;
  }
  .row .col-sm-60 {
    flex-basis: 60%;
  }
  .row .col-sm-65 {
    flex-basis: 65%;
  }
  .row .col-sm-70 {
    flex-basis: 70%;
  }
  .row .col-sm-75 {
    flex-basis: 75%;
  }
  .row .col-sm-80 {
    flex-basis: 80%;
  }
  .row .col-sm-85 {
    flex-basis: 85%;
  }
  .row .col-sm-90 {
    flex-basis: 90%;
  }
  .row .col-sm-95 {
    flex-basis: 95%;
  }
  .row .col-sm-100 {
    flex-basis: 100%;
  }
}

@media screen and (min-width: 768px) {
  .row .col-md-5 {
    flex-basis: 5%;
  }
  .row .col-md-10 {
    flex-basis: 10%;
  }
  .row .col-md-15 {
    flex-basis: 15%;
  }
  .row .col-md-20 {
    flex-basis: 20%;
  }
  .row .col-md-25 {
    flex-basis: 25%;
  }
  .row .col-md-30 {
    flex-basis: 30%;
  }
  .row .col-md-35 {
    flex-basis: 35%;
  }
  .row .col-md-40 {
    flex-basis: 40%;
  }
  .row .col-md-45 {
    flex-basis: 45%;
  }
  .row .col-md-50 {
    flex-basis: 50%;
  }
  .row .col-md-55 {
    flex-basis: 55%;
  }
  .row .col-md-60 {
    flex-basis: 60%;
  }
  .row .col-md-65 {
    flex-basis: 65%;
  }
  .row .col-md-70 {
    flex-basis: 70%;
  }
  .row .col-md-75 {
    flex-basis: 75%;
  }
  .row .col-md-80 {
    flex-basis: 80%;
  }
  .row .col-md-85 {
    flex-basis: 85%;
  }
  .row .col-md-90 {
    flex-basis: 90%;
  }
  .row .col-md-95 {
    flex-basis: 95%;
  }
  .row .col-md-100 {
    flex-basis: 100%;
  }
}

@media screen and (min-width: 992px) {
  .row .col-lg-5 {
    flex-basis: 5%;
  }
  .row .col-lg-10 {
    flex-basis: 10%;
  }
  .row .col-lg-15 {
    flex-basis: 15%;
  }
  .row .col-lg-20 {
    flex-basis: 20%;
  }
  .row .col-lg-25 {
    flex-basis: 25%;
  }
  .row .col-lg-30 {
    flex-basis: 30%;
  }
  .row .col-lg-35 {
    flex-basis: 35%;
  }
  .row .col-lg-40 {
    flex-basis: 40%;
  }
  .row .col-lg-45 {
    flex-basis: 45%;
  }
  .row .col-lg-50 {
    flex-basis: 50%;
  }
  .row .col-lg-55 {
    flex-basis: 55%;
  }
  .row .col-lg-60 {
    flex-basis: 60%;
  }
  .row .col-lg-65 {
    flex-basis: 65%;
  }
  .row .col-lg-70 {
    flex-basis: 70%;
  }
  .row .col-lg-75 {
    flex-basis: 75%;
  }
  .row .col-lg-80 {
    flex-basis: 80%;
  }
  .row .col-lg-85 {
    flex-basis: 85%;
  }
  .row .col-lg-90 {
    flex-basis: 90%;
  }
  .row .col-lg-95 {
    flex-basis: 95%;
  }
  .row .col-lg-100 {
    flex-basis: 100%;
  }
}

@media screen and (min-width: 1200px) {
  .row .col-xl-5 {
    flex-basis: 5%;
  }
  .row .col-xl-10 {
    flex-basis: 10%;
  }
  .row .col-xl-15 {
    flex-basis: 15%;
  }
  .row .col-xl-20 {
    flex-basis: 20%;
  }
  .row .col-xl-25 {
    flex-basis: 25%;
  }
  .row .col-xl-30 {
    flex-basis: 30%;
  }
  .row .col-xl-35 {
    flex-basis: 35%;
  }
  .row .col-xl-40 {
    flex-basis: 40%;
  }
  .row .col-xl-45 {
    flex-basis: 45%;
  }
  .row .col-xl-50 {
    flex-basis: 50%;
  }
  .row .col-xl-55 {
    flex-basis: 55%;
  }
  .row .col-xl-60 {
    flex-basis: 60%;
  }
  .row .col-xl-65 {
    flex-basis: 65%;
  }
  .row .col-xl-70 {
    flex-basis: 70%;
  }
  .row .col-xl-75 {
    flex-basis: 75%;
  }
  .row .col-xl-80 {
    flex-basis: 80%;
  }
  .row .col-xl-85 {
    flex-basis: 85%;
  }
  .row .col-xl-90 {
    flex-basis: 90%;
  }
  .row .col-xl-95 {
    flex-basis: 95%;
  }
  .row .col-xl-100 {
    flex-basis: 100%;
  }
}


/* ----------------    card   ----------------- */

.card {
  background-color: #fff;
  border: 1px solid rgb(221, 221, 221);
  border-radius: 5px;
  box-shadow: rgba(0, 0, 0, 0.12) 0px 2px 9px;
  overflow: hidden;
}


/* ----------------    border responsive   ----------------- */

@media screen and (min-width: 576px) {
  .border-sm-none {
    border: none !important;
  }
}

@media screen and (min-width: 768px) {
  .border-md-none {
    border: none !important;
  }
}

@media screen and (min-width: 992px) {
  .border-lg-none {
    border: none !important;
  }
}

@media screen and (min-width: 1200px) {
  .border-xl-none {
    border: none !important;
  }
}



/* ----------------    alert   ----------------- */

.alert {
  position: relative;
  padding: 1rem 1rem;
  margin-bottom: 1rem;
  border-width: 1px;
  border-style: solid;
  border-radius: 5px;
  color: #2b2f32;
  background-color: #e2e3e5;
  border-color: #c4c8cb;
}

.alert.alert-success {
  color: #0a3622;
  background-color: #d1e7dd;
  border-color: #a3cfbb;
}

.alert.alert-error {
  color: #58151c;
  background-color: #f8d7da;
  border-color: #f1aeb5;
}

.alert .btn-alert-close {
  box-sizing: content-box;
  width: 50px;
  height: 50px;
  background-size: 17px;
  padding: 0;
  color: #000;
  opacity: 0.4;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  border: none;
  position: absolute;
  top: 0;
  right: 0;
}

.alert .btn-alert-close:hover,
.alert .btn-alert-close:focus-visible {
  opacity: 0.75;
}


/* ----------------    toast   ----------------- */

.toast {
  position: fixed;
  /* z-index: 1030; */
  z-index: 10001;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  padding: 20px;
  width: 250px;
  max-width: 300px;
  display: none;
  text-align: center;
}

.toast .toast-content {
  border-radius: 5px;
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
  background-color: #fff;
  border-color: #c4c8cb;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.toast.toast-success .toast-content {
  color: #0a3622;
  background-color: #d1e7dd;
  border-color: #a3cfbb;
}

.toast.toast-error .toast-content {
  color: #58151c;
  background-color: #f8d7da;
  border-color: #f1aeb5;
}

.toast.toast-info .toast-content {
  border-color: #ffd569;
}

.toast .toast-body {
  padding: 0.8rem 1.5rem;
}

.toast .toast-progress-bar {
  height: 5px;
  background-color: #c4c8cb;
  width: 100%;
  animation-name: toast-anime;
  animation-timing-function: linear;
  animation-play-state: paused;
}

.toast.toast-success .toast-progress-bar {
  background-color: #a3cfbb;
}

.toast.toast-error .toast-progress-bar {
  background-color: #f1aeb5;
}

.toast.toast-info .toast-progress-bar {
  background-color: #ffd569;
}

@keyframes toast-anime {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}


/* ----------------    dropdown   ----------------- */

.dropdown {
  position: relative;
}

.dropdown .dropdown-toggle * {
  pointer-events: none;
}

.dropdown .dropdown-menu {
  position: absolute;
  top: calc(100% + 5px);
  /* left: 0; */
  /* right: 0; */
  z-index: 1;
  transition: all .25s;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  display: block;
  border-radius: 4px;
  box-shadow: 0 1px 2px 0 rgba(174, 184, 193, 0.67), 0 11px 22px 0 rgba(0, 0, 0, 0.08);
  background-color: #fff;
  color: #38393e;
  transform: translateY(-0.25rem);
  /* transition: all 0.3s; */
  transition: none;
  padding: 0;
}

.dropdown .dropdown-menu.transition {
  transition: all 0.3s;
}

.dropdown.open .dropdown-menu {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transform: translateY(0);
  padding: 7px 0;
}

.dropdown .dropdown-menu li {
  list-style: none;
}

.dropdown .dropdown-menu li a {
  padding: 7px 15px;
  display: inline-block;
  width: 100%;
  text-decoration: none;
  transition: background-color 0.2s;
}

.dropdown .dropdown-menu li a:hover {
  background-color: #eee;
}


/* ----------------    scrolldown   ----------------- */

.scrolldown .scrolldown-toggle * {
  pointer-events: none;
}

.scrolldown .scrolldown-toggle .scrolldown-chevron {
  transition: all 0.3s linear;
}

.scrolldown .scrolldown-menu {
  height: 0;
  overflow: hidden;
  transition: all 0.3s linear;
}


/* ----------------    modal   ----------------- */

.modal {
  position: fixed;
  z-index: 10000;
  left: 0;
  top: 0;
  /* right: 0; */
  /* bottom: 0; */
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.3);
  overflow-x: hidden;
  overflow-y: auto;
  padding: 3rem 1rem;
  display: none;
}

.modal.show {
  display: block;
}

.modal .modal-content {
  background-color: #fff;
  max-width: 500px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  border-radius: 5px;
  position: relative;
}

.modal .btn-modal-close {
  box-sizing: content-box;
  width: 60px;
  height: 60px;
  background-size: 17px;
  padding: 0;
  color: #000;
  opacity: 0.4;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0;
  right: 0;
  border: none;
}

html[dir="rtl"] .modal .btn-modal-close {
  right: unset;
  left: 0;
}

.modal .btn-modal-close:hover,
.modal .btn-modal-close:focus-visible {
  opacity: 0.75;
}

.modal .modal-header {
  padding: 20px 0;
  padding-left: 20px;
  padding-right: 50px;
  border-bottom: 1px solid #eee;
  font-weight: bold;
  font-size: 1.2rem;
  min-height: 60px;
}

html[dir="rtl"] .modal .modal-header {
  padding-right: 20px;
  padding-left: 50px;
}

.modal .modal-body {
  padding: 20px;
}

.modal .modal-footer {
  padding: 20px 20px;
  text-align: end;
}

.modal .modal-footer button {
  margin: 0 7px;
}


/* ----------------    overlay loader   ----------------- */

.modal.overlay-loader.show {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}


/* ----------------    spinner   ----------------- */

.spinner {
  position: relative;
  width: 52px;
  height: 52px;
}

.spinner-colorful {
  background-color: #fff;
  box-shadow: 0px 1px 5px 1px rgba(0,0,0,.15);
  border-radius: 4px;
}

.spinner-mini {
  transform: scale(0.8);
}

.spinner .loader {
  position: absolute;
  width: 38px;
  height: 38px;
  left: 7px;
  top: 7px;
  border-radius: 50%;
}

.spinner.rotate .loader {
  animation-name: spinner;
  animation-duration: 1s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

.spinner .dot-circle {
  position: absolute;
  width: 32px;
  top: 17px;
  left: 3px;
}

.spinner .dot-circle::after {
  content: '';
  display: block;
  border-radius: 50%;
  width: 4px;
  height: 4px;
}

.spinner .dot-circle::after {
  background-color: #333;
}

.spinner .dot-circle:nth-child(1) {
  transform: rotate(0deg);
}
.spinner .dot-circle:nth-child(2) {
  transform: rotate(40deg);
}
.spinner .dot-circle:nth-child(3) {
  transform: rotate(80deg);
}
.spinner .dot-circle:nth-child(4) {
  transform: rotate(120deg);
}
.spinner .dot-circle:nth-child(5) {
  transform: rotate(160deg);
}
.spinner .dot-circle:nth-child(6) {
  transform: rotate(200deg);
}
.spinner .dot-circle:nth-child(7) {
  transform: rotate(240deg);
}
.spinner .dot-circle:nth-child(8) {
  transform: rotate(280deg);
}
.spinner .dot-circle:nth-child(9) {
  transform: rotate(320deg);
}

.spinner-colorful .dot-circle:nth-child(1)::after {
  background-color: #5896a8;
}
.spinner-colorful .dot-circle:nth-child(2)::after {
  background-color: #dbb572;
}
.spinner-colorful .dot-circle:nth-child(3)::after {
  background-color: #ad894a;
}
.spinner-colorful .dot-circle:nth-child(4)::after {
  background-color: #b35e4f;
}
.spinner-colorful .dot-circle:nth-child(5)::after {
  background-color: #ef8a78;
}
.spinner-colorful .dot-circle:nth-child(6)::after {
  background-color: #828da0;
}
.spinner-colorful .dot-circle:nth-child(7)::after {
  background-color: #3bb67f;
}
.spinner-colorful .dot-circle:nth-child(8)::after {
  background-color: #b57ad4;
}
.spinner-colorful .dot-circle:nth-child(9)::after {
  background-color: #57bbc9;
}


@keyframes spinner {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}


/* ----------------    skeleton   ----------------- */

/* // THE LOADING EFFECT */
.skeleton {
  /* background-color: #e2e5e7 !important; */
  /* background-color: #F7F7F7 !important; */
  background-color: #eee !important;
  /* color: rgba(0, 0, 0, 0); */
  /* // The shine that's going to move across the skeleton: */
  background-image:
      linear-gradient(
        90deg, 
        rgba(255, 255, 255, 0), 
        rgba(255, 255, 255, 0.5),
        rgba(255, 255, 255, 0)
      );
  background-size: 40px 100%; /* width of the shine  */
  background-repeat: no-repeat; /* No need to repeat the shine effect */
  background-position: left -40px top 0; /* Place shine on the left side, with offset on the left based on the width of the shine - see background-size */
  animation: shine 1s ease infinite; /* increase animation time to see effect in 'slow-mo' */
}

@keyframes shine {
  to {
    /* Move shine from left to right, with offset on the right based on the width of the shine - see background-size */
    background-position: right -40px top 0;
  }
}



/* ----------------    image placeholder   ----------------- */

.image-placeholder {
  background-color: #eee;
  /* background-image: url('/img/icons/noun-image-7546116.svg'); */
  background-image: url("data:image/svg+xml;charset=utf-8,<svg width='48' height='48' version='1.1' viewBox='-5 -10 48 48' xmlns='http://www.w3.org/2000/svg'><path d='m12.276 1.1095c-3.2272 0-5.8429 2.6178-5.8429 5.845 0 3.2272 2.6157 5.8429 5.8429 5.8429 3.2272 0 5.8429-2.6157 5.8429-5.8429 0-3.2272-2.6157-5.845-5.8429-5.845zm26.482-3.1019h0.02123c0.73038 0.010611 1.3185 0.60298 1.3227 1.3354v18.403l-6.3907-6.3907c-0.67516-0.67516-1.5626-1.0127-2.448-1.0127h-0.0021c-0.8811 0-1.7601 0.33546-2.4331 1.0043l-11.813 11.813-7.0489-7.0511c-0.67728-0.67728-1.5626-1.0149-2.448-1.0149-0.8811 0-1.7622 0.33546-2.4374 1.0064l-6.8109 6.8109v-23.569c0.00425-0.7325 0.59233-1.3248 1.3227-1.3376zm-39.161-2.1189c-1.9066 0.00425-3.4437 1.552-3.4437 3.4607v29.821c0 1.9066 1.5414 3.4544 3.4458 3.4586h39.174c1.9066-0.0042 3.4458-1.552 3.4458-3.4586v-29.821c0-1.9087-1.5393-3.4543-3.4458-3.4607z' fill='%23ccc'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100px;
}



/* ----------------    mamanashpaz   ----------------- */
/* ----------------    mamanashpaz   ----------------- */
/* ----------------    mamanashpaz   ----------------- */
/* ----------------    mamanashpaz   ----------------- */


/* ----------------    padding   ----------------- */

/* .padding-box-1r {
  padding: 1rem;
}

.padding-box-2r {
  padding: 2rem;
}

@media screen and (max-width: 991px) {
  .padding-box-1r {
    padding: 0.75rem;
  }
  
  .padding-box-2r {
    padding: 1.5rem;
  }
}

@media screen and (max-width: 767px) {
  .padding-box-1r {
    padding: 0.5rem;
  }
  
  .padding-box-2r {
    padding: 1rem;
  }
} */


/* ----------------    margin   ----------------- */

/* .margin-bottom-1r {
  margin-bottom: 1rem !important;
}

.margin-bottom-1r5 {
  margin-bottom: 1.5rem !important;
}

.margin-bottom-2r {
  margin-bottom: 2rem !important;
} */


/* ----------------    button-quantity   ----------------- */

.button-quantity {
  display: inline-flex;
  vertical-align: middle;
  border: 1px solid #767676;
  border-radius: 20px;
  overflow: hidden;
  height: 30px;
  width: 100px;
}

.button-quantity input {
  border: none !important;
  flex-basis: 50%;
  text-align: center;
  font-size: 1.2rem;
}

.button-quantity input:focus-visible {
  box-shadow: none;
}

.button-quantity button {
  flex-basis: 25%;
  padding: 0;
  border: none;
  border-radius: 0;
  height: 100%;
  display: inline-block;
  width: 10px;
  background-size: 15px;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #ffd569;
}

.button-quantity button:not(:disabled):hover {
  background-color: #ffca69 !important;
}

.button-quantity button:focus-visible {
  box-shadow: none;
  filter: contrast(0.9);
}

.button-quantity button.btn-plus-quantity {
  background-image: url("data:image/svg+xml,%3Csvg width='48' height='48' version='1.1' viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform='matrix(.66969 0 0 .66969 1.4558 1.2478)' fill='%23555' stroke-width='1.4932'%3E%3Cg transform='translate(-16 -968.36)'%3E%3Cpath d='m22 996.36c-3.3137 0-6 2.6862-6 6 0 3.3136 2.6863 6 6 6h56c3.3137 0 6-2.6864 6-6 0-3.3138-2.6863-6-6-6z' color='%23000000' fill='%23555' overflow='visible' stroke-width='2.5042' style='text-indent:0;text-transform:none'/%3E%3C/g%3E%3Cg transform='rotate(90 526.18 510.18)'%3E%3Cpath d='m22 996.36c-3.3137 0-6 2.6862-6 6 0 3.3136 2.6863 6 6 6h56c3.3137 0 6-2.6864 6-6 0-3.3138-2.6863-6-6-6z' color='%23000000' fill='%23555' overflow='visible' stroke-width='2.5042' style='text-indent:0;text-transform:none'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.button-quantity button.btn-minus-quantity {
  background-image: url("data:image/svg+xml,%3Csvg width='48' height='48' version='1.1' viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform='matrix(.66765 0 0 .66765 -9.3653 -645)' fill='%23555' stroke-width='1.4978'%3E%3Cpath d='m22 996.36c-3.3137 0-6 2.6862-6 6 0 3.3136 2.6863 6 6 6h56c3.3137 0 6-2.6864 6-6 0-3.3138-2.6863-6-6-6z' color='%23000000' fill='%23555' overflow='visible' stroke-width='1.8118' style='text-indent:0;text-transform:none'/%3E%3C/g%3E%3C/svg%3E%0A");
}



/* ----------------    btn   ----------------- */

.btn {
  padding: 0.3rem 2rem;
  display: inline-block;
  border-radius: 30px;
  box-shadow: 0 1px 2px 0 rgba(174, 184, 193, 0.67), 0 11px 22px 0 rgba(0, 0, 0, 0.08);
  user-select: none;
  -webkit-user-select: none; /* Safari */
}

.btn-large {
  padding: 0.7rem 3rem;
  display: inline-block;
  border-radius: 30px;
  font-size: 1.2rem;
  box-shadow: 0 1px 2px 0 rgba(174, 184, 193, 0.67), 0 11px 22px 0 rgba(0, 0, 0, 0.08);
  user-select: none;
  -webkit-user-select: none; /* Safari */
}

.btn-primary:not(:disabled) {
  background-color: #c33737 !important;
  color: #fff !important;
  border: 1px solid #8b0303 !important;
  transition: background-color 0.2s;
}

.btn-primary:not(:disabled):hover {
  background-color: #db3838 !important;
}

.btn-secondary:not(:disabled) {
  background-color: #ffd569 !important;
  /* color: #fff !important; */
  border: 1px solid #ba9536 !important;
  transition: background-color 0.2s;
}

.btn-secondary:not(:disabled):hover {
  background-color: #ffca69 !important;
}

.btn-close {
  box-sizing: content-box;
  width: 50px;
  height: 50px;
  background-size: 17px;
  padding: 0;
  color: #000;
  opacity: 0.4;
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  border: none;
  appearance: none;
  -webkit-appearance: none;
}

.btn-close:hover,
.btn-close:focus-visible {
  opacity: 0.75;
}


/* ----------------    background color   ----------------- */

.bg-primary {
  background-color: #c33737 !important;
  color: #fff;
}

.bg-primary-soft {
  background-color: #FFD6D6 !important;
}

.bg-secondary {
  background-color: #ffd569 !important;
}

.bg-secondary-soft {
  /* background-color: #FADB8C !important; */
  background-color: #FADB8C !important;
}

.bg-light-grey {
  background-color: #F3F3F3;
}

.border-secondary {
  border-style: solid;
  border-width: 1px;
  border-color: #ffd569 !important;
}

.color-primary {
  color: #c33737 !important;
}

.color-error {
  color: #aa111f !important;
}

/* ----------------    item title   ----------------- */

.item-title {
  font-weight: bold;
  font-size: 1.1rem;
  display: inline-block;
}



/* ----------------    custom persian date select   ----------------- */

.custom-persian-date-select {
  position: relative;
  height: 30px;
  line-height: 30px;
  /* display: inline-block; */
  vertical-align: middle;
  padding: 0 0.5rem;
}

.custom-persian-date-select .text-date {
  padding: 0 5px;
  vertical-align: middle;
}

.custom-persian-date-select .icon-chevron {
  transform: rotate(180deg);
  width: 20px;
  height: 20px;
  display: inline-block;
}

.custom-persian-date-select select {
  width: 100%;
  height: 100%;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  /* background: none; */
  /* border: none; */
  /* opacity: 0; */
  color: transparent;
  background-color: transparent;
}

.custom-persian-date-select select option {
  color: initial;
}


/* ----------------    cook photo frame  ----------------- */

.cook-photo-frame {
  width: 150px;
  height: 150px;
  background-image: url('/img/icons/noun-cook-5964644.svg');
  background-position: center;
  background-repeat: no-repeat;
  background-size: 55px;
  border: 1px solid rgb(221, 221, 221);
  box-shadow: rgba(0, 0, 0, 0.12) 0px 2px 9px;
  border-radius: 50%;
  overflow: hidden;
}



/* ----------------    input error  ----------------- */

.has-error {
  border-color: transparent !important;
  box-shadow: 0 0 0 2px #aa111f !important;
}

.error-msg {
  color: #aa111f;
  margin: 0.2rem 0;
  padding: 0 0.2rem;
  font-size: 0.9rem;
}



/* ----------------    order status   ----------------- */

.order-status {
  border-radius: 5px;
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
  background-color: #fff;
  border-color: #c4c8cb;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  text-align: center;
}

.order-status .status-body {
  padding: 0.8rem 1.5rem;
}

.order-status .status-progress-bar {
  height: 8px;
  background-color: #b1b1b1;
  width: 100%;
}

.order-status.status-success .status-progress-bar {
  background-color: #33be7f;
}

.order-status.status-error .status-progress-bar {
  background-color: #aa111f;
}


/* ----------------    lamp   ----------------- */

.lamp-off,
.lamp-on {
  display: inline-block;
  width: 50px;
  aspect-ratio: 1 / 1;
  background-image: url('/img/led-grey.png');
  background-size: contain;
  background-repeat: no-repeat;
}

.lamp-on {
  background-image: url('/img/led-green.png');
}


/* ----------------    dropdown manage status   ----------------- */

.dropdown-manage-status .dropdown-toggle {
  padding: 5px 10px;
  border-radius: 5px;
  text-decoration: none;
  display: block;
}

.dropdown-manage-status .dropdown-menu {
  font-size: 1.2rem;
  width: 100%;
  padding: 0 !important;
}

.dropdown-manage-status .status-paid { 
  background-color: #ffcbcb; 
}

.dropdown-manage-status .status-preparing { 
  background-color: #b6d8ff;
}

.dropdown-manage-status .status-complete { 
  background-color: #bdffc0; 
}


/* ----------------    primary loader   ----------------- */

.primary-loader {
  text-align: center;
  padding: 1px;
}

.primary-loader .spinner {
  margin: 30px auto;
}

.primary-loader .empty-not-found {
  padding: 2.9rem 1rem;
  font-size: 1.4rem;
  font-weight: bold;
}

.primary-loader .error-content {
  color: #aa111f;
  border: 2px solid #aa111f;
  border-radius: 5px;
  padding: 2.8rem 1rem;
  font-size: 1.4rem;
  margin: 0;
}


/* -----------------    toggle switch green & large  --------------------- */

.toggle-switch-green input:checked + .slider {
  background-color: #28df28;
}

.toggle-switch-large {
  width: 56px;
  height: 30px;
}

.toggle-switch-large .slider:before {
  height: 24px;
  width: 24px;
  left: 3px;
  bottom: 3px;
}

.toggle-switch-large input:checked + .slider:before {
  -webkit-transform: translateX(26px);
  -ms-transform: translateX(26px);
  transform: translateX(26px);
}



/* ----------------    avergage rating badge   ----------------- */

.average-rating-badge .badge-wrapper {
  display: inline-flex;
  border: 2px solid #ccc;
  border-radius: 5px;
  font-size: 10px;
}

.average-rating-badge img {
  width: 20px;
  vertical-align: bottom;
}

.average-rating-badge span {
  font-size: 20px;
  vertical-align: bottom;
  line-height: 0.8;
  margin-left: 2px;
}

.average-rating-badge .span-average {
  font-weight: bold;
}

.average-rating-badge .box-rating,
.average-rating-badge .box-count {
  padding: 7px;
}

.average-rating-badge .box-count {
  background-color: #ccc;
  color: #fff;

}
