/* Modal
/*------------------------------------------------------------*/
:root {
	--modal-custom-scroll-border: 2px solid #FFF;
	--modal-custom-scroll-bg: rgba(0, 0, 0, .15);

	--modal-alert-icon: var(--error);
}

.modal {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1060;
	display: none;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	outline: 0;
}

.modal-dialog {
	position: relative;
	width: auto;
	margin: 0.5rem;
	pointer-events: none;
}

.modal.fade .modal-dialog {
	transition: transform 0.3s ease-out;
	transform: translate(0, -50px);
}

@media (prefers-reduced-motion: reduce) {
	.modal.fade .modal-dialog {
		transition: none;
	}
}

.modal.show .modal-dialog {
	transform: none;
}

.modal.modal-static .modal-dialog {
	transform: scale(1.02);
}

.modal-dialog-scrollable {
	height: calc(100% - 1rem);
}

.modal-dialog-scrollable .modal-content {
	max-height: 100%;
	overflow: hidden;
}

.modal-dialog-scrollable .modal-body {
	overflow-y: auto;
}

.modal-dialog-centered {
	display: flex;
	align-items: center;
	min-height: calc(100% - 1rem);
}

.modal-content {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	pointer-events: auto;
	background-color: #fff;
	background-clip: padding-box;
	border-radius: 16px;
	outline: 0;
}

.modal-backdrop {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1040;
	width: 100vw;
	height: 100vh;
	background-color: #000;
}

.modal-backdrop.fade {
	opacity: 0;
}

.modal-backdrop.fade.in {
	filter: alpha(opacity=50);
	opacity: .5;
}

.modal-backdrop.show {
	opacity: 0.5;
}

.modal-header {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1rem;
	border-bottom: 1px solid #e1e1e1;
	border-top-left-radius: calc(0.3rem - 1px);
	border-top-right-radius: calc(0.3rem - 1px);
}


/* Close Button */
.modal .close:link,
.modal .close:visited {
	width: 28px;
	height: 28px;
 	color: #aaa;

	position: absolute;
	right: 15px;
	top: 15px;

	display: flex;
	align-items: center;
	justify-content: center;

	z-index: 999;
	
	opacity: 1;
}

.modal .close:hover {
	color: #ccc;
}

.modal .close svg {
	width: 90%;
	height: 90%;
}

.modal-title {
	font-size: 15px;
	margin: 0;
	line-height: 1.5;
}

.modal-title .fa-exclamation-triangle {
	color: var(--modal-alert-icon);
}

.modal-body {
	position: relative;
	flex: 1 1 auto;
	padding: 1rem;
}

.modal .modal-footer {
	display: flex;
	flex-wrap: wrap;
	flex-shrink: 0;
	align-items: center;
	justify-content: flex-end;
	padding: 0.75rem;
	border-top: 1px solid #e1e1e1;
	border-bottom-right-radius: calc(0.3rem - 1px);
	border-bottom-left-radius: calc(0.3rem - 1px);
	position: unset;
	left: unset;
	right: unset;
}

.modal-footer > * {
	margin: 0.25rem;
}



/* Modal - Confirmation */
.modal--confirm .modal-header,
.modal--confirm .modal-footer {
	border: 0;
}

.modal--confirm .modal-body {
	font-size: 14px;
	padding: 0 1rem;
}


/* Modal - Plain */
.modal--plain .modal-header,
.modal--plain .modal-footer {
	border: 0;
}

.modal--plain .modal-body {
	font-size: 15px;
}


@media (min-width: 576px) {
	.modal-dialog {
		max-width: 500px;
		margin: 1.75rem auto;
	}

	.modal-dialog-scrollable {
		height: calc(100% - 3.5rem);
	}

	.modal-dialog-centered {
		min-height: calc(100% - 3.5rem);
	}

	.modal-sm {
		max-width: 300px;
	}

	.modal--confirm .modal-dialog {
		max-width: 420px;
	}
}

@media (min-width: 992px) {
	.modal-dialog {
		max-width: 680px;
	}

	.modal-lg,
	.modal-xl {
		max-width: 800px;
	}
}

@media (min-width: 1200px) {
	.modal-xl {
		max-width: 1140px;
	}
}


/* Modal (Full Screen)
/*------------------------------------------------------------*/
.modal-fullscreen {
	width: 100vw;
	max-width: none;
	height: 100%;
	margin: 0;
}

.modal-fullscreen .modal-content {
	height: 100%;
	border: 0;
	border-radius: 0;
}

.modal-fullscreen .modal-header {
	border-radius: 0;
}

.modal-fullscreen .modal-body {
	overflow-y: auto;
}

.modal-fullscreen .modal-footer {
	border-radius: 0;
}
  


@media (max-width: 575.98px) {
	.modal-fullscreen-sm-down {
		width: 100vw;
		max-width: none;
		height: 100%;
		margin: 0;
	}
	.modal-fullscreen-sm-down .modal-content {
		height: 100%;
		border: 0;
		border-radius: 0;
	}
	.modal-fullscreen-sm-down .modal-header {
		border-radius: 0;
	}
	.modal-fullscreen-sm-down .modal-body {
		overflow-y: auto;
	}
	.modal-fullscreen-sm-down .modal-footer {
		border-radius: 0;
	}
}

@media (max-width: 767.98px) {
	.modal-fullscreen-md-down {
		width: 100vw;
		max-width: none;
		height: 100%;
		margin: 0;
	}
	.modal-fullscreen-md-down .modal-content {
		height: 100%;
		border: 0;
		border-radius: 0;
	}
	.modal-fullscreen-md-down .modal-header {
		border-radius: 0;
	}
	.modal-fullscreen-md-down .modal-body {
		overflow-y: auto;
	}
	.modal-fullscreen-md-down .modal-footer {
		border-radius: 0;
	}
}

@media (max-width: 991.98px) {
	.modal-fullscreen-lg-down {
		width: 100vw;
		max-width: none;
		height: 100%;
		margin: 0;
	}
	.modal-fullscreen-lg-down .modal-content {
		height: 100%;
		border: 0;
		border-radius: 0;
	}
	.modal-fullscreen-lg-down .modal-header {
		border-radius: 0;
	}
	.modal-fullscreen-lg-down .modal-body {
		overflow-y: auto;
	}
	.modal-fullscreen-lg-down .modal-footer {
		border-radius: 0;
	}
}

@media (max-width: 1199.98px) {
	.modal-fullscreen-xl-down {
		width: 100vw;
		max-width: none;
		height: 100%;
		margin: 0;
	}
	.modal-fullscreen-xl-down .modal-content {
		height: 100%;
		border: 0;
		border-radius: 0;
	}
	.modal-fullscreen-xl-down .modal-header {
		border-radius: 0;
	}
	.modal-fullscreen-xl-down .modal-body {
		overflow-y: auto;
	}
	.modal-fullscreen-xl-down .modal-footer {
		border-radius: 0;
	}
}

@media (max-width: 1399.98px) {
	.modal-fullscreen-xxl-down {
		width: 100vw;
		max-width: none;
		height: 100%;
		margin: 0;
	}
	.modal-fullscreen-xxl-down .modal-content {
		height: 100%;
		border: 0;
		border-radius: 0;
	}
	.modal-fullscreen-xxl-down .modal-header {
		border-radius: 0;
	}
	.modal-fullscreen-xxl-down .modal-body {
		overflow-y: auto;
	}
	.modal-fullscreen-xxl-down .modal-footer {
		border-radius: 0;
	}
}

@media (min-width: 992px) {
	.modal-title {
		font-size: 16px;
	}

	.modal--confirm .modal-body {
		font-size: 15px;
	}

	/* Custom Scrollbar
	/*------------------------------------------------------------*/
	.modal-body::-webkit-scrollbar {
		-webkit-appearance: none;
	}

	.modal-body::-webkit-scrollbar:vertical {
		width: 13px;
	}

	.modal-body::-webkit-scrollbar:horizontal {
		height: 13px;
	}

	.modal-body::-webkit-scrollbar-thumb {
		border-radius: 14px;
		border: var(--modal-custom-scroll-border);
		background-color: var(--modal-custom-scroll-bg);
	}
}