@font-face {
	font-family: IranSans;
	font-weight: normal;
	src: url('../webfonts/IranSans/iransans-fa.ttf') format('truetype');
}

:root {
	--color-blueberry: #51459f;
	--color-scampi: #675bb5;
	--color-vivid-tangerine: #fe9e86;
	--color-coral-pink: #fb896b;
	--color-sunrise-orange: #e16a49;
	--color-celestial-blue: #489bbd;
	--color-raspberry: #e91e63;
	--color-burnt-pink: #c2185b;
	--color-barney: #9c27b0;
	--color-purple-heart: #5727b0;
	--color-sapphire: #272ab0;
	--color-mid-blue: #276bb0;
	--color-picton-blue: #57acdc;
	--color-medium-aquamarine: #57dcbe;
	--color-paris-green: #60c689;
	--color-green: var(--color-paris-green);

	--brand-color: rgb(17, 34, 104);
	--brand-secondary: rgb(246, 130, 31);
	--navbar-color: #ffffff;
	--box-bg-color: #ffffff;
	--bg-color: var(--brand-color);
	--fg-color: var(--brand-color);
	--secondary-bg: var(--box-bg-color);

	--btn-primary1: var(--color-green);
	--btn-primary2: var(--color-medium-aquamarine);

	--border-radius: 8px;
	--navbar-height: 90px;
	--navbar-collapsed-height: 60px;

	--cursor-normal: url('/public/images/cursors/normal.png'), auto;
	--cursor-link: url('/public/images/cursors/link.png'), pointer;
	--cursor-invert: url('/public/images/cursors/invert.png'), auto;
	--cursor-action: url('/public/images/cursors/action.png'), pointer;
	--cursor-disabled: url('/public/images/cursors/disabled.png'), no-drop;

	--bs-card-bg-color: #fff;
}

a {
	cursor: var(--cursor-link);
}

body {
	direction: rtl;
	color: var(--fg-color);
	background-color: var(--bg-color);
	font-family: IranSans;
	margin: 1em;
	line-height: 1.5;
	font-size: 14px;
	cursor: var(--cursor-normal);
}

body.modern-browser {
	position: absolute;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 100%;
	min-height: 100%;
	overflow: auto;
}

body.is-rtl {
	direction: rtl;
}

img {
	max-width: 100%;
}

.btn {
	border-radius: var(--border-radius);
}

.c-pointer {
	cursor: pointer;
}

.navbar-outer {
	min-height: 105px;
}

.navbar {
	height: var(--navbar-height);
	transition: 0.2s;
	border-radius: var(--border-radius);
	color: white;
	background-color: var(--navbar-color);
	box-shadow: 0 0 1em rgba(0, 0, 0, 0.4);
	text-shadow: 0 0 1em rgba(0, 0, 0, 0.4);
}

.navbar-brand img {
	max-height: 110px;
}

.sticky-top .navbar.collapsed {
	top: 0.4em;
	margin: 0.5em;
}

.sticky-top .navbar.collapsed {
	height: var(--navbar-collapsed-height);
}

.sticky-top .navbar.collapsed .navbar-brand img {
	height: calc(var(--navbar-collapsed-height) - 10px);
}

.single-form-wrapper {
	padding: 1em;
  	overflow: auto;
	color: var(--fg-color);
	background: var(--secondary-bg);
	border-radius: var(--border-radius);
}

footer {
	background-color: var(--secondary-bg);
	border-radius: var(--border-radius);
}

.loader-container {
	position: absolute;
	z-index: 600;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: 0.3s;
	opacity: 0;
	background: rgba(0,0,0,0.7);
	display: flex !important;
	align-items: center;
	justify-content: space-around;
}

.loader-container.active {
	opacity: 1;
}

.loader-container.retry {
	background: rgba(0,0,0,0.8);
}

.loader-container > div {
	width: 54px;
	max-height: 100%;
	text-align: center;
	margin: auto;
	height: 54px;
}

.loader-container.retry > div {
	height: unset;
	width: auto;
}

.loader-container img {
	padding: 5px;
	height: 100%;
	max-width: 75px;
	transition: 0s;
	animation-name: loader-spin;
	animation-iteration-count: infinite;
	animation-duration: 2s;
	animation-timing-function: linear;
}

.loader-retry {
	line-height: 0;
	cursor: var(--cursor-action);
	color: #f0f0f0;
	vertical-align: middle;
}

@-moz-keyframes loader-spin { 0% {-moz-transform: rotate(0deg);} 100% { -moz-transform: rotate(360deg); } }
@-webkit-keyframes loader-spin { 0% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); } }
@keyframes loader-spin { 0% { -webkit-transform: rotate(0deg); transform:rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }

.panel-notifications {
	position: fixed;
	bottom: 50px;
	right: 0;
	margin: 25px;
	z-index: 1100;
	width: 280px;
	max-width: calc(90% - 12px);
}

.panel-notif {
	background: rgba(6, 6, 6, 0.9);
	color: #e6e6e6;
	padding: 8px;
	padding-top: 10px;
	border-radius: 5px;
	box-shadow: 0 0 1em rgba(0, 0, 0, 0.39);
	position: relative;
	margin-bottom: 15px;
	border-top: 3px solid transparent;
}

.panel-notif.green {
	border-color: rgba(31, 179, 0, 0.7);
	border-top-right-radius: 0;
}

.panel-notif.red {
	border-color: rgba(234, 0, 0, 0.7);
	border-top-right-radius: 0;
}

.panel-notif.warn {
	border-color: rgba(255, 191, 0, 0.7);
	border-top-right-radius: 0;
}

.panel-notifications .wrapper {
	position: relative;
	transition: 0.4s;
	right: 0;
}

.panel-notifications .wrapper.hide {
	right: -320px;
	height: 0 !important;
}

.panel-notifications .wrapper .close {
	color: red;
	position: absolute;
	top: -18px;
	left: -14px;
	font-size: 14px;
	cursor: var(--cursor-action);
	background: white;
	border-radius: 50%;
	height: 20px;
	width: 20px;
	line-height: 0;
	margin: 4px;
	z-index: 5;
	padding: 11px;
	box-shadow: 0 0 1em rgba(0, 0, 0, 0.5);
}

.panel-notifications .close .bi-x-lg {
	position: absolute;
	transform: translate(-50%, -50%);
	left: 50%;
	top: 50%;
	height: unset;
	width: unset;
}

.panel-notif .title {
	font-weight: bold;
}

.panel-notif .body {
	margin: 0;
	padding: 5px;
	padding-bottom: 0;
	white-space: pre-line;
	line-height: 1.4;
	word-break: break-word;
}

.data-pagination {
	display: flex;
	align-items: center;
	margin: auto;
}

.page-item.disabled .page-link {
	background-color: var(--bs-pagination-bg) !important;
	border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
}

.data-pagination .page-link {
	min-width: 40px;
	text-align: center;
}

.disabled {
	cursor: no-drop;
	opacity: 0.5;
}

.validation-errors ul {
	list-style: inside disc;
	padding: 0.5em;
	padding-top: 0;
	margin-bottom: 0.2em;
	color: #e40000;
}

.mono-space-font {
	font-family: Courier;
}

.grid-col-2 {
	display: grid;
	grid-template-columns: min-content auto;
}

.wizard-progress-bar-outer {
    width: 100%;
    display: flex;
    margin-bottom: 4em;
}

.wizard-progress-bar {
    margin: auto;
	width: calc(100% - 100px);
    position: relative;
}

.wizard-progress-bar ul {
	list-style: none;
	padding: 0;
	display: flex;
	justify-content: space-between;
}

.wizard-progress-bar ul li {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    z-index: 6;
    padding: 0.5em;
}

.wizard-progress-bar ul li.active .number {
    background-color: var(--brand-color);
    color: white;
}

.wizard-progress-bar::before {
  content: '';
  display: block;
  position: absolute;
  top: calc(50% - 8px);
  left: 50%;
  z-index: 2;
  height: 2px;
  width: calc(100% - 40px);
  background: var(--brand-color);
  transform: translateX(-50%) translateY(-50%);
}

.wizard-progress-bar .number {
	background: #e7e7e7;
	width: 20px;
	height: 20px;
	text-align: center;
	line-height: 19px;
	font-size: 12px;
	border-radius: 50%;
	border: 2px solid var(--brand-color);
	position: relative;
}

.wizard-progress-bar .info {
  position: absolute;
  top: 30px;
  width: 150px;
  text-align: center;
}

.wizard-progress-bar ul li .bi {
    margin-inline-end: 0.2em;
}

.wizard-progress-bar.column {
	margin: unset;
	margin-inline-end: auto;
	width: unset !important;
}

.wizard-progress-bar.column .info {
	position: absolute;
	top: 0.55em;
	width: 150px;
	text-align: right;
	right: 3em;
}

.wizard-progress-bar.column ul li:not(:last-child) {
	margin-bottom: 1.5em;
}

.wizard-progress-bar.column::before {
	height: calc(100% - 40px);
	width: 2px;
}

.wizard-progress-bar.column ul {
	flex-direction: column;
}


.loading-bg-gradient {
	animation-duration: 1s;
	animation-iteration-count: infinite;
	animation-name: loading-bg-gradient-animation;
	background-size: 200vw;
	background-position: 0vw center;
	background-image: linear-gradient(to left, rgba(0, 0, 0, 0.04) 10%, rgba(0, 0, 0, 0.10) 40%, rgba(0, 0, 0, 0.04) 65%);
}

@keyframes loading-bg-gradient-animation {
	0% {
		background-position: 0vw center;
	}

	100% {
		background-position: 200vw center;
	}
}

@media only screen and (max-width: 768px) {
	.wizard-progress-bar {
        margin: unset;
        margin-inline-end: auto;
        width: unset !important;
    }

    .wizard-progress-bar .info {
	    position: absolute;
	    top: 0.55em;
	    width: 150px;
	    text-align: right;
	    right: 3em;
    }

    .wizard-progress-bar ul li:not(:last-child) {
        margin-bottom: 1.5em;
    }

    .wizard-progress-bar::before {
        height: calc(100% - 40px);
        width: 2px;
    }

    .wizard-progress-bar ul {
        flex-direction: column;
    }
}

/* override */
a {
	color: currentColor;
	text-decoration: none;
}

.navbar-nav .nav-link {
	margin: 0 0.5em;
	line-height: 1;
}

.navbar-nav .nav-link:focus, .navbar-nav .nav-link:hover {
	color: var(--brand-secondary) !important;
}

.nav-link.active {
  border-color: currentColor;
}


.form-control:disabled, .form-control[readonly] {
	opacity: 0.8;
}

.is-rtl .bi::before, [class^="bi-"]::before, [class*=" bi-"]::before {
	vertical-align: -.25em !important;
}

.btn-close {
	opacity: .75;
	background-color: red;
}

.not-selected {
	opacity: 0.7;
	transition: 0.2s;
}

.not-selected:hover {
	opacity: 1;
}
