/** Elements **/
* { scrollbar-width: thin; scrollbar-color: var(--bs-scrollbar-color) transparent; }
body { 
  background-color : var(--bs-page-bg) ; 
  margin : 130px 30px 0 130px ;
  transition : var(--bs-transition) ; 
  font-size : var(--bs-body-font-size) ; 
  scrollbar-color: var(--bs-gray-500) transparent; 
}
body.no-scroll { overflow : hidden }
select { word-wrap: normal }
button, select { 
	text-transform: none 
}
button, input, optgroup, select, textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
	background : transparent ;
}
a { text-decoration : none ; cursor : pointer ; transition : ease-out .25s }
label { 
	cursor : pointer 
}
table { 
	caption-side: bottom ; 
	border-collapse: collapse 
}

/** Preset **/
.has-image[data-field='profile-image'] * {
	display : none 
}
.cursor-pointer { cursor : pointer }
.ki-duotone { vertical-align : middle }
.ki-duotone > span { display : flex }
.no-transition { transition : none }
.no-padding { padding : 0 !important }
.hidden { display : none !important }
.w100 { width : 100% }
.h100 { height : 100% ; height: -webkit-fill-available; }
.uppercase { text-transform : uppercase }
.d-block { display : block }
.item-center {
    display: grid;
    place-content: center;
}
.accept-scroll { overflow-y : auto }
.word-reduce {
	word-break: keep-all; 
	overflow : hidden; 
	white-space: nowrap; 
	text-overflow:ellipsis;
}
pre code.hljs {
    white-space: pre-wrap;
    word-break: break-all;
}

.icon-shortcut {
	display : inline-block ;
	text-align : center ;
	border-radius : var(--bs-radius) ; 
	background-color : var(--bs-gray-200) ;
	font-size : 2rem ;
	padding : .5rem 0 ; 
	width : 4rem ;
	height : 4rem ; 
}
.icon-shortcut > i {
	display: grid;
    place-items: center;
}
.icon-shortcut p {
	font-size : .5rem 
}
.sticky-top {
	position : sticky ;
	top : 100px 
}
.sticky-t0 {
	position : sticky ;
	top : 0  
}
.sticky-t140 {
	position : sticky ;
	top : 140px  
}

/** Bootstrap **/
.pt-4 {
	padding-top : 1rem !important ;
}
.pb-4 {
	padding-bottom : 1rem !important ;
}
.pw-1 {
  padding : 0 .5rem !important ;
}
.ps-13 {
    padding-left: 3.25rem !important;
}
.w-150px {
  width: 150px !important;
}
.w-250px {
    width: 250px !important;
}
.mt-1 {
    margin-top: .25rem !important;
}
.mt-2 {
    margin-top: .5rem !important;
}
.mt-3 {
    margin-top: .75rem !important;
}
.mt-4 {
    margin-top: 1rem !important;
}
.mt-5 {
    margin-top: 1.25rem !important;
}
.mt-6 {
    margin-top: 1.5rem !important;
}
.mt-7 {
    margin-top: 1.75rem !important;
}
.mt-8 {
    margin-top: 2rem !important;
}

.mb-1 {
    margin-bottom: .25rem !important;
}
.mb-2 {
    margin-bottom: .5rem !important;
}
.mb-3 {
    margin-bottom: .75rem !important;
}
.mb-4 {
    margin-bottom: 1rem !important;
}
.mb-5 {
    margin-bottom: 1.25rem !important;
}
.mb-6 {
    margin-bottom: 1.5rem !important;
}
.mb-7 {
    margin-bottom: 1.75rem !important;
}
.mb-8 {
    margin-bottom: 2rem !important;
}

.mr-1 {
    margin-right: .25rem !important;
}
.mr-2 {
    margin-right: .5rem !important;
}
.mr-3 {
    margin-right: .75rem !important;
}
.mr-4 {
    margin-right: 1rem !important;
}
.mr-5 {
    margin-right: 1.25rem !important;
}
.mr-6 {
    margin-right: 1.5rem !important;
}
.mr-7 {
    margin-right: 1.75rem !important;
}
.mr-8 {
    margin-right: 2rem !important;
}


.mh-auto {
	min-height : auto !important  ;
	max-height : auto !important ;
}
.mh-150px {
    max-height: 150px !important;
}
.mh-100 {
    max-height: 100% !important;
}
.mh-article {
    max-height: calc( 100vh - 170px ) !important;
	height :100%;
}
.mw-100 {
    max-width: 100% !important;
}
.mw-100px {
    max-width: 100px !important;
}
.mw-250px {
    max-width: 250px !important;
}
.my-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.text-hover-primary {
    transition: color .2s ease;
}
@media (min-width: 1200px) {
    .fs-3 {
        font-size: 1.35rem !important;
    }
}
.fw-bold {
    font-weight: 600 !important;
}
.fs-1 {
    font-size: calc(1.3rem + .6vw)!important
}

.fs-2 {
    font-size: calc(1.275rem + .3vw)!important
}

.fs-3 {
    font-size: calc(1.26rem + .12vw)!important
}

.fs-4 {
    font-size: 1.25rem!important
}

.fs-5 {
    font-size: 1.15rem!important
}

.fs-6 {
    font-size: 1.075rem!important
}

.fs-7 {
    font-size: .95rem!important
}

.fs-8 {
    font-size: .85rem!important
}

.fs-9 {
    font-size: .75rem!important
}

.fs-10 {
    font-size: .5rem!important
}
.white {
	color : var(--bs-white) ;
}
.align-middle {
    vertical-align: middle !important;
}
.table {
    --bs-table-color-type: initial;
    --bs-table-bg-type: initial;
    --bs-table-color-state: initial;
    --bs-table-bg-state: initial;
    --bs-table-color: var(--bs-body-color);
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--bs-border-color);
    --bs-table-accent-bg: transparent;
    --bs-table-striped-color: var(--bs-body-color);
    --bs-table-striped-bg: rgba(var(--bs-gray-100-rgb), 0.75);
    --bs-table-active-color: var(--bs-body-color);
    --bs-table-active-bg: var(--bs-gray-100);
    --bs-table-hover-color: var(--bs-body-color);
    --bs-table-hover-bg: var(--bs-gray-100);
    width: 100%;
    margin-bottom: 1rem;
    vertical-align: top;
    border-color: var(--bs-table-border-color);
}
.g-4, .gy-4 {
    --bs-gutter-y: 1rem;
}

.table:not(.table-bordered).table-row-dashed tr {
    border-bottom-width: 1px;
    border-bottom-style: dashed;
    border-bottom-color: var(--bs-border-color);
}
.table:not(.table-bordered) td:last-child, .table:not(.table-bordered) th:last-child, .table:not(.table-bordered) tr:last-child {
    padding-right: 0;
}
.table:not(.table-bordered) td:first-child, .table:not(.table-bordered) th:first-child, .table:not(.table-bordered) tr:first-child {
    padding-left: 0;
}
.table:not(.table-bordered) td, .table:not(.table-bordered) th, .table:not(.table-bordered) tr {
    border-color: inherit;
    border-width: inherit;
    border-style: inherit;
    text-transform: inherit;
    font-weight: inherit;
    font-size: inherit;
    color: inherit;
    height: inherit;
    min-height: inherit;
}
.text-gray-500 {
    color: var(--bs-text-gray-500) !important;
}
.text-gray-600 {
    color: var(--bs-text-gray-600) !important;
}
.text-gray-700 {
    color: var(--bs-text-gray-700) !important;
}
.text-gray-800 {
    color: var(--bs-text-gray-800) !important;
}
.border-bottom-0,
tr.border-bottom-0 > * {
    border-bottom: 0 !important;
}
.text-right,
.text-end {
    text-align: right !important;
}
.text-left,
.text-start {
    text-align: left !important;
}
.text-center {
	text-align : center !important ;
}
.fw-bold {
    font-weight: 600 !important;
}
.pe-0 {
    padding-right: 0 !important;
}



/** Flex **/
.d-flex,
.flex { 
	display : flex 
}
.d-flex.row,
.flex.row { 
	flex-direction: column ; 
	width : 100% 
}
.d-flex.flex-bottom, 
.flex.flex-bottom { 
	flex-direction : column ; 
	justify-content: end 
}
.flex-wrap {
	display : flex ;
	flex-flow : wrap
}
.flex-wrap > .icon-shortcut {
	margin : .125rem 
}
.flex-between { 
	display : flex ; 
	justify-content: space-between; 
	align-items: center; 
}
.flex-end {
  justify-content: end;
}
.place-center {
	place-content : center 
}


/** preset : Blend **/
.blend-exclusion {
	mix-blend-mode: exclusion;
}


/** preset : profile **/
.profile-infobox { 
	display : flex 
}
.symbol-square,
.symbol-circle { 
	display : block ; 
  min-width: 50px ; 
	width: 50px ;
	height : 50px ; 
	border-radius : 50% ; 
	line-height : 50px ; 
	text-align : center ; 
	font-weight : 500 ; 
	background-color : var(--bs-gray-300 ) ; 
	background-size : cover ; 
	background-position : 50% 50% ;
  background-repeat : no-repeat ;
	color : var(--bs-gray-800) ; 
	font-size : 20px ;
}
.symbol-square { 
	border-radius : .75rem ; 
}
big.symbol-square,
big.symbol-circle {
	width : 65px ;
	height : 65px ;
	font-size : 25px ;
	line-height : 65px ; 
}
.symbol-square.contain,
.symbol-circle.contain { 
  background-size: contain
}
.profile-infobox .symbol-square,
.profile-infobox .symbol-circle { 
    margin-right : 10px 
}
.profile-infobox span:not(.sticker) { 
    color : var(--bs-text-gray-500) 
}
.profile-infobox span ~ span:not(.sticker):before { 
    content : ", " ; 
    margin-left : -.3rem 
}
/*
.profile-infobox .info { 
    line-height : 25px 
}
*/
.profile-infobox-center .symbol-circle {
	display : inline-block ;
	margin : 10px 0 
}

/** preset : dash **/
hr { 
	display: block; 
	height: 0; 
	border-bottom: 1px solid var(--bs-border-dashed-color); 
	margin-top: 1.5rem !important; 
	margin-bottom: 1.5rem !important 
}
hr.dashed { 
	border-bottom-style: dashed 
}

/** preset : button **/
.btn {
    --bs-btn-padding-x: 1.5rem;
    --bs-btn-padding-y: 0.775rem;
    --bs-btn-font-size: .9rem;
    --bs-btn-font-weight: 500;
    --bs-btn-line-height: 1.25;
    --bs-btn-color: var(--bs-body-color);
    --bs-btn-bg: transparent;
    --bs-btn-border-width: 1px;
    --bs-btn-border-color: transparent;
    --bs-btn-border-radius: 0.475rem;
    --bs-btn-hover-border-color: transparent;
    --bs-btn-box-shadow: none;
    --bs-btn-disabled-opacity: 0.65;
    --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
    display: inline-block;
    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
    font-family: var(--bs-btn-font-family);
    font-size: var(--bs-btn-font-size);
    font-weight: var(--bs-btn-font-weight);
    line-height: var(--bs-btn-line-height);
    color: var(--bs-btn-color);
    text-align: center;
	text-decoration : none ; 
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
    border-radius: var(--bs-btn-border-radius);
    background-color: var(--bs-btn-bg);
    box-shadow: var(--bs-btn-box-shadow);
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
button > i, 
.btn > i {
	display : inline-block ;
	margin : -.3rem .2rem -.2rem -.2rem ;
	vertical-align : middle ;
	line-height : 1.4rem ;
	font-size : 1.4rem 
}
button > i.no-margin,
.btn > i.no-margin {
	margin : -.3rem -.2rem -.2rem -.2rem ;
}
.btn-primary {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #7239EA;
    --bs-btn-border-color: #7239EA;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #6130c7;
    --bs-btn-hover-border-color: #5b2ebb;
    --bs-btn-focus-shadow-rgb: 135, 87, 237;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #5b2ebb;
    --bs-btn-active-border-color: #562bb0;
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: #ffffff;
    --bs-btn-disabled-bg: #7239EA;
    --bs-btn-disabled-border-color: #7239EA;
}
.btn-check:active+.btn.btn-primary, .btn-check:checked+.btn.btn-primary, .btn.btn-primary.active, .btn.btn-primary.show, .btn.btn-primary:active:not(.btn-active), .btn.btn-primary:focus:not(.btn-active), .btn.btn-primary:hover:not(.btn-active), .show>.btn.btn-primary {
    color: var(--bs-primary-inverse);
    border-color: var(--bs-primary-active);
    background-color: var(--bs-primary-active) !important;
}

.btn-danger {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #F1416C;
    --bs-btn-border-color: #F1416C;
    --bs-btn-hover-color: #000000;
    --bs-btn-hover-bg: #f35e82;
    --bs-btn-hover-border-color: #f2547b;
    --bs-btn-focus-shadow-rgb: 205, 55, 92;
    --bs-btn-active-color: #000000;
    --bs-btn-active-bg: #f46789;
    --bs-btn-active-border-color: #f2547b;
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: #000000;
    --bs-btn-disabled-bg: #F1416C;
    --bs-btn-disabled-border-color: #F1416C;
}
.btn-light {
    --bs-btn-color: #000000;
    --bs-btn-bg: #F9F9F9;
    --bs-btn-border-color: #F9F9F9;
    --bs-btn-hover-color: #000000;
    --bs-btn-hover-bg: #d4d4d4;
    --bs-btn-hover-border-color: #c7c7c7;
    --bs-btn-focus-shadow-rgb: 212, 212, 212;
    --bs-btn-active-color: #000000;
    --bs-btn-active-bg: #c7c7c7;
    --bs-btn-active-border-color: #bbbbbb;
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: #000000;
    --bs-btn-disabled-bg: #F9F9F9;
    --bs-btn-disabled-border-color: #F9F9F9;
}
.btn.btn-color-gray-500 {
    color: var(--bs-text-gray-500);
}
.btn.btn-icon:not(.btn-outline):not(.btn-dashed):not(.border-hover):not(.border-active):not(.btn-flush) {
    border: 0;
}
.btn:not(.btn-shadow):not(.shadow):not(.shadow-sm):not(.shadow-lg):not(.shadow-xs) {
    box-shadow: none;
}

.btn.btn-color-gray-500 {
    color: var(--bs-text-gray-500);
}
.btn.btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
}

.btn-check:active+.btn.btn-active-light-primary, .btn-check:checked+.btn.btn-active-light-primary, .btn.btn-active-light-primary.active, .btn.btn-active-light-primary.show, .btn.btn-active-light-primary:active:not(.btn-active), .btn.btn-active-light-primary:focus:not(.btn-active), .btn.btn-active-light-primary:hover:not(.btn-active), .show>.btn.btn-active-light-primary {
    color: var(--bs-primary);
    border-color: var(--bs-primary-light);
    background-color: var(--bs-primary-light) !important;
}

.btn-check:active+.btn.btn-danger, .btn-check:checked+.btn.btn-danger, .btn.btn-danger.active, .btn.btn-danger.show, .btn.btn-danger:active:not(.btn-active), .btn.btn-danger:focus:not(.btn-active), .btn.btn-danger:hover:not(.btn-active), .show>.btn.btn-danger {
    color: var(--bs-danger-inverse);
    border-color: var(--bs-danger-active);
    background-color: var(--bs-danger-active) !important;
}
.btn:not(.btn-outline):not(.btn-dashed):not(.btn-bordered):not(.border-hover):not(.border-active):not(.btn-flush):not(.btn-icon):not(.btn-hover-outline) {
    border: 0;
    padding: calc(.775rem + 1px) calc(1.5rem + 1px);
}
.btn:not(.btn-shadow):not(.shadow):not(.shadow-sm):not(.shadow-lg):not(.shadow-xs) {
    box-shadow: none;
}
.btn-group-sm>.btn:not(.btn-outline):not(.btn-dashed):not(.btn-bordered):not(.border-hover):not(.border-active):not(.btn-flush):not(.btn-icon):not(.btn-hover-outline), .btn:not(.btn-outline):not(.btn-dashed):not(.btn-bordered):not(.border-hover):not(.border-active):not(.btn-flush):not(.btn-icon):not(.btn-hover-outline).btn-sm {
    padding: calc(.5rem + 1px) calc(.85rem + 1px) ; font-size : .825rem ;
}
.btn.btn-light-primary {
    color: var(--bs-primary);
    border-color: var(--bs-primary-light);
    background-color: var(--bs-primary-light);
}
.btn-check:active+.btn.btn-light-primary, 
.btn-check:checked+.btn.btn-light-primary, 
.btn.btn-light-primary.active, 
.btn.btn-light-primary.show, 
.btn.btn-light-primary:active:not(.btn-active), 
.btn.btn-light-primary:focus:not(.btn-active), 
.btn.btn-light-primary:hover:not(.btn-active), 
.show>.btn.btn-light-primary {
    color: var(--bs-primary-inverse);
    border-color: var(--bs-primary);
    background-color: var(--bs-primary) !important;
}


.btn .ki-duotone {
}



.btn:hover {
  color: #181C32;
  text-decoration: none;
}
.btn-check:focus + .btn, .btn:focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(114, 57, 234, 0.25);
}
.btn-check:checked + .btn, .btn-check:active + .btn, .btn:active, .btn.active {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-check:checked + .btn:focus, .btn-check:active + .btn:focus, .btn:active:focus, .btn.active:focus {
  box-shadow: 0 0 0 0.25rem rgba(114, 57, 234, 0.25), inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
  pointer-events: none;
  opacity: 0.6;
  box-shadow: none;
}

.btn-white {
  color: #000000;
  background-color: #ffffff;
  border-color: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
}
.btn-white:hover {
  color: #000000;
  background-color: white;
  border-color: white;
}
.btn-check:focus + .btn-white, .btn-white:focus {
  color: #000000;
  background-color: white;
  border-color: white;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(217, 217, 217, 0.5);
}
.btn-check:checked + .btn-white, .btn-check:active + .btn-white, .btn-white:active, .btn-white.active, .show > .btn-white.dropdown-toggle {
  color: #000000;
  background-color: white;
  border-color: white;
}
.btn-check:checked + .btn-white:focus, .btn-check:active + .btn-white:focus, .btn-white:active:focus, .btn-white.active:focus, .show > .btn-white.dropdown-toggle:focus {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(217, 217, 217, 0.5);
}
.btn-white:disabled, .btn-white.disabled {
  color: #000000;
  background-color: #ffffff;
  border-color: #ffffff;
}

.btn-light {
  color: #000000;
  background-color: #F5F8FA;
  border-color: #F5F8FA;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
}
.btn-light:hover {
  color: #000000;
  background-color: #f7f9fb;
  border-color: #f6f9fb;
}
.btn-check:focus + .btn-light, .btn-light:focus {
  color: #000000;
  background-color: #f7f9fb;
  border-color: #f6f9fb;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(208, 211, 213, 0.5);
}
.btn-check:checked + .btn-light, .btn-check:active + .btn-light, .btn-light:active, .btn-light.active, .show > .btn-light.dropdown-toggle {
  color: #000000;
  background-color: #f7f9fb;
  border-color: #f6f9fb;
}
.btn-check:checked + .btn-light:focus, .btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus, .show > .btn-light.dropdown-toggle:focus {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(208, 211, 213, 0.5);
}
.btn-light:disabled, .btn-light.disabled {
  color: #000000;
  background-color: #F5F8FA;
  border-color: #F5F8FA;
}

.btn-primary {
  color: #ffffff;
  background-color: #7239EA;
  border-color: #7239EA;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
}
.btn-primary:hover {
  color: #ffffff;
  background-color: #6130c7;
  border-color: #5b2ebb;
}
.btn-check:focus + .btn-primary, .btn-primary:focus {
  color: #ffffff;
  background-color: #6130c7;
  border-color: #5b2ebb;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(135, 87, 237, 0.5);
}
.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle {
  color: #ffffff;
  background-color: #5b2ebb;
  border-color: #562bb0;
}
.btn-check:checked + .btn-primary:focus, .btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus, .show > .btn-primary.dropdown-toggle:focus {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(135, 87, 237, 0.5);
}
.btn-primary:disabled, .btn-primary.disabled {
  color: #ffffff;
  background-color: #7239EA;
  border-color: #7239EA;
}

.btn-secondary {
  color: #000000;
  background-color: #E4E6EF;
  border-color: #E4E6EF;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
}
.btn-secondary:hover {
  color: #000000;
  background-color: #e8eaf1;
  border-color: #e7e9f1;
}
.btn-check:focus + .btn-secondary, .btn-secondary:focus {
  color: #000000;
  background-color: #e8eaf1;
  border-color: #e7e9f1;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(194, 196, 203, 0.5);
}
.btn-check:checked + .btn-secondary, .btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active, .show > .btn-secondary.dropdown-toggle {
  color: #000000;
  background-color: #e9ebf2;
  border-color: #e7e9f1;
}
.btn-check:checked + .btn-secondary:focus, .btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus, .show > .btn-secondary.dropdown-toggle:focus {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(194, 196, 203, 0.5);
}
.btn-secondary:disabled, .btn-secondary.disabled {
  color: #000000;
  background-color: #E4E6EF;
  border-color: #E4E6EF;
}

.btn-success {
  color: var(--bs-white);
  background-color: #50CD89;
  border-color: #50CD89;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
}
.btn-success:hover {
  color: #000000;
  background-color: #6ad59b;
  border-color: #62d295;
}
.btn-check:focus + .btn-success, .btn-success:focus {
  color: #000000;
  background-color: #6ad59b;
  border-color: #62d295;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(68, 174, 116, 0.5);
}
.btn-check:checked + .btn-success, .btn-check:active + .btn-success, .btn-success:active, .btn-success.active, .show > .btn-success.dropdown-toggle {
  color: #000000;
  background-color: #73d7a1;
  border-color: #62d295;
}
.btn-check:checked + .btn-success:focus, .btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus, .show > .btn-success.dropdown-toggle:focus {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(68, 174, 116, 0.5);
}
.btn-success:disabled, .btn-success.disabled {
  color: #000000;
  background-color: #50CD89;
  border-color: #50CD89;
}

.btn-info {
  color: var(--bs-white) ;
  background-color: #009EF7;
  border-color: #009EF7;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
}
.btn-info:hover {
  color: var(--bs-white)  ;
  background-color: #26adf8;
  border-color: #1aa8f8;
}
.btn-check:focus + .btn-info, .btn-info:focus {
  color: var(--bs-white) ;
  background-color: #26adf8;
  border-color: #1aa8f8;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(0, 134, 210, 0.5);
}
.btn-check:checked + .btn-info, .btn-check:active + .btn-info, .btn-info:active, .btn-info.active, .show > .btn-info.dropdown-toggle {
  color: #000000;
  background-color: #33b1f9;
  border-color: #1aa8f8;
}
.btn-check:checked + .btn-info:focus, .btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus, .show > .btn-info.dropdown-toggle:focus {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(0, 134, 210, 0.5);
}
.btn-info:disabled, .btn-info.disabled {
  color: #000000;
  background-color: #009EF7;
  border-color: #009EF7;
}

.btn-warning {
  color: #000000;
  background-color: #FFC700;
  border-color: #FFC700;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
}
.btn-warning:hover {
  color: #000000;
  background-color: #ffcf26;
  border-color: #ffcd1a;
}
.btn-check:focus + .btn-warning, .btn-warning:focus {
  color: #000000;
  background-color: #ffcf26;
  border-color: #ffcd1a;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(217, 169, 0, 0.5);
}
.btn-check:checked + .btn-warning, .btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active, .show > .btn-warning.dropdown-toggle {
  color: #000000;
  background-color: #ffd233;
  border-color: #ffcd1a;
}
.btn-check:checked + .btn-warning:focus, .btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus, .show > .btn-warning.dropdown-toggle:focus {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(217, 169, 0, 0.5);
}
.btn-warning:disabled, .btn-warning.disabled {
  color: #000000;
  background-color: #FFC700;
  border-color: #FFC700;
}

.btn-danger {
  color: var(--bs-btn-color) ;
  background-color: #F1416C;
  border-color: #F1416C;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
}
.btn-danger:hover {
  color: var(--bs-btn-color);
  background-color: #f35e82;
  border-color: #f2547b;
}
.btn-check:focus + .btn-danger, .btn-danger:focus {
  color: #000000;
  background-color: #f35e82;
  border-color: #f2547b;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(205, 55, 92, 0.5);
}
.btn-check:checked + .btn-danger, .btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active, .show > .btn-danger.dropdown-toggle {
  color: #000000;
  background-color: #f46789;
  border-color: #f2547b;
}
.btn-check:checked + .btn-danger:focus, .btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus, .show > .btn-danger.dropdown-toggle:focus {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(205, 55, 92, 0.5);
}
.btn-danger:disabled, .btn-danger.disabled {
  color: #000000;
  background-color: #F1416C;
  border-color: #F1416C;
}

.btn-dark {
  color: #ffffff;
  background-color: #181C32;
  border-color: #181C32;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
}
.btn-dark:hover {
  color: #ffffff;
  background-color: #14182b;
  border-color: #131628;
}
.btn-check:focus + .btn-dark, .btn-dark:focus {
  color: #ffffff;
  background-color: #14182b;
  border-color: #131628;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(59, 62, 81, 0.5);
}
.btn-check:checked + .btn-dark, .btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active, .show > .btn-dark.dropdown-toggle {
  color: #ffffff;
  background-color: #131628;
  border-color: #121526;
}
.btn-check:checked + .btn-dark:focus, .btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus, .show > .btn-dark.dropdown-toggle:focus {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(59, 62, 81, 0.5);
}
.btn-dark:disabled, .btn-dark.disabled {
  color: #ffffff;
  background-color: #181C32;
  border-color: #181C32;
}

.btn-outline-white {
  color: #ffffff;
  border-color: #ffffff;
}
.btn-outline-white:hover {
  color: #000000;
  background-color: #ffffff;
  border-color: #ffffff;
}
.btn-check:focus + .btn-outline-white, .btn-outline-white:focus {
  box-shadow: 0 0 0 0.25rem rgba(255, 255, 255, 0.5);
}
.btn-check:checked + .btn-outline-white, .btn-check:active + .btn-outline-white, .btn-outline-white:active, .btn-outline-white.active, .btn-outline-white.dropdown-toggle.show {
  color: #000000;
  background-color: #ffffff;
  border-color: #ffffff;
}
.btn-check:checked + .btn-outline-white:focus, .btn-check:active + .btn-outline-white:focus, .btn-outline-white:active:focus, .btn-outline-white.active:focus, .btn-outline-white.dropdown-toggle.show:focus {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(255, 255, 255, 0.5);
}
.btn-outline-white:disabled, .btn-outline-white.disabled {
  color: #ffffff;
  background-color: transparent;
}

.btn-outline-light {
  color: #F5F8FA;
  border-color: #F5F8FA;
}
.btn-outline-light:hover {
  color: #000000;
  background-color: #F5F8FA;
  border-color: #F5F8FA;
}
.btn-check:focus + .btn-outline-light, .btn-outline-light:focus {
  box-shadow: 0 0 0 0.25rem rgba(245, 248, 250, 0.5);
}
.btn-check:checked + .btn-outline-light, .btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {
  color: #000000;
  background-color: #F5F8FA;
  border-color: #F5F8FA;
}
.btn-check:checked + .btn-outline-light:focus, .btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(245, 248, 250, 0.5);
}
.btn-outline-light:disabled, .btn-outline-light.disabled {
  color: #F5F8FA;
  background-color: transparent;
}

.btn-outline-primary {
  color: #7239EA;
  border-color: #7239EA;
}
.btn-outline-primary:hover {
  color: #ffffff;
  background-color: #7239EA;
  border-color: #7239EA;
}
.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus {
  box-shadow: 0 0 0 0.25rem rgba(114, 57, 234, 0.5);
}
.btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {
  color: #ffffff;
  background-color: #7239EA;
  border-color: #7239EA;
}
.btn-check:checked + .btn-outline-primary:focus, .btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(114, 57, 234, 0.5);
}
.btn-outline-primary:disabled, .btn-outline-primary.disabled {
  color: #7239EA;
  background-color: transparent;
}

.btn-outline-secondary {
  color: #E4E6EF;
  border-color: #E4E6EF;
}
.btn-outline-secondary:hover {
  color: #000000;
  background-color: #E4E6EF;
  border-color: #E4E6EF;
}
.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus {
  box-shadow: 0 0 0 0.25rem rgba(228, 230, 239, 0.5);
}
.btn-check:checked + .btn-outline-secondary, .btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {
  color: #000000;
  background-color: #E4E6EF;
  border-color: #E4E6EF;
}
.btn-check:checked + .btn-outline-secondary:focus, .btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(228, 230, 239, 0.5);
}
.btn-outline-secondary:disabled, .btn-outline-secondary.disabled {
  color: #E4E6EF;
  background-color: transparent;
}

.btn-outline-success {
  color: #50CD89;
  border-color: #50CD89;
}
.btn-outline-success:hover {
  color: #000000;
  background-color: #50CD89;
  border-color: #50CD89;
}
.btn-check:focus + .btn-outline-success, .btn-outline-success:focus {
  box-shadow: 0 0 0 0.25rem rgba(80, 205, 137, 0.5);
}
.btn-check:checked + .btn-outline-success, .btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {
  color: #000000;
  background-color: #50CD89;
  border-color: #50CD89;
}
.btn-check:checked + .btn-outline-success:focus, .btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(80, 205, 137, 0.5);
}
.btn-outline-success:disabled, .btn-outline-success.disabled {
  color: #50CD89;
  background-color: transparent;
}

.btn-outline-info {
  color: #009EF7;
  border-color: #009EF7;
}
.btn-outline-info:hover {
  color: #000000;
  background-color: #009EF7;
  border-color: #009EF7;
}
.btn-check:focus + .btn-outline-info, .btn-outline-info:focus {
  box-shadow: 0 0 0 0.25rem rgba(0, 158, 247, 0.5);
}
.btn-check:checked + .btn-outline-info, .btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {
  color: #000000;
  background-color: #009EF7;
  border-color: #009EF7;
}
.btn-check:checked + .btn-outline-info:focus, .btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(0, 158, 247, 0.5);
}
.btn-outline-info:disabled, .btn-outline-info.disabled {
  color: #009EF7;
  background-color: transparent;
}

.btn-outline-warning {
  color: #FFC700;
  border-color: #FFC700;
}
.btn-outline-warning:hover {
  color: #000000;
  background-color: #FFC700;
  border-color: #FFC700;
}
.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus {
  box-shadow: 0 0 0 0.25rem rgba(255, 199, 0, 0.5);
}
.btn-check:checked + .btn-outline-warning, .btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {
  color: #000000;
  background-color: #FFC700;
  border-color: #FFC700;
}
.btn-check:checked + .btn-outline-warning:focus, .btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(255, 199, 0, 0.5);
}
.btn-outline-warning:disabled, .btn-outline-warning.disabled {
  color: #FFC700;
  background-color: transparent;
}

.btn-outline-danger {
  color: #F1416C;
  border-color: #F1416C;
}
.btn-outline-danger:hover {
  color: #000000;
  background-color: #F1416C;
  border-color: #F1416C;
}
.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus {
  box-shadow: 0 0 0 0.25rem rgba(241, 65, 108, 0.5);
}
.btn-check:checked + .btn-outline-danger, .btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show {
  color: #000000;
  background-color: #F1416C;
  border-color: #F1416C;
}
.btn-check:checked + .btn-outline-danger:focus, .btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(241, 65, 108, 0.5);
}
.btn-outline-danger:disabled, .btn-outline-danger.disabled {
  color: #F1416C;
  background-color: transparent;
}

.btn-outline-dark {
  color: #181C32;
  border-color: #181C32;
}
.btn-outline-dark:hover {
  color: #ffffff;
  background-color: #181C32;
  border-color: #181C32;
}
.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus {
  box-shadow: 0 0 0 0.25rem rgba(24, 28, 50, 0.5);
}
.btn-check:checked + .btn-outline-dark, .btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show {
  color: #ffffff;
  background-color: #181C32;
  border-color: #181C32;
}
.btn-check:checked + .btn-outline-dark:focus, .btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(24, 28, 50, 0.5);
}
.btn-outline-dark:disabled, .btn-outline-dark.disabled {
  color: #181C32;
  background-color: transparent;
}

.btn-link {
  font-weight: 400;
  color: #7239EA;
  text-decoration: none;
}
.btn-link:hover {
  color: #4c15c2;
  text-decoration: underline;
}
.btn-link:focus {
  text-decoration: underline;
}
.btn-link:disabled, .btn-link.disabled {
  color: #7E8299;
}











.btn > * + * { display : none }

.btns { 
	display : flex 
}
.btns > .btn + .btn {
	margin-left : 15px
}
.btns.center {
    place-content: center;
}

/** preset : form checkbox,radio **/
.form-inline input[type='checkbox'],
.form-inline input[type='radio'],
.form-check {
  --bs-form-check-bg: transparent;
  flex-shrink: 0;
  vertical-align: sub;
  appearance: none;
  height: 1.25rem;
  width: 1.25rem;
  border-radius: .25em;
  background-color: var(--bs-gray-200);
  background-image: var(--bs-form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 60% 60%;
  border: none;
  cursor : pointer ; 
  print-color-adjust: exact;
}
.form-inline input[type='checkbox']:checked,
.form-inline input[type='radio']:checked,
.form-check:checked {
    background-color: #7239ea;
    border-color: #7239ea;
}

.form-inline input[type='checkbox'].switch,
.form-check.form-switch {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-3 -3 6 6'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e");
  width: 3.25rem;
  height: 1.7rem;
  vertical-align : middle ; 
  background-image: var(--bs-form-switch-bg);
  background-position: left center;
  border-radius: 3.25rem;
  transition: background-position .15s ease-in-out;
}
.form-inline input[type='checkbox'].switch:checked,
.form-check.form-switch:checked {
  background-position: right center;
}


/** preset : form select **/
/*@media (prefers-reduced-motion: reduce)*/
.form-inline select,
.form-select {
    transition: none;
    appearance: none;
    display: block;
    width: 100%;
    padding: 0 3rem 0 1rem;
    font-weight: 500;
	/*
    font-size: 1rem;
    line-height: 1.5;
	*/
    color: var(--bs-gray-700);
    appearance: none;
    background-color: var(--bs-body-bg);
    background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 16px 12px;
    border: 1px solid var(--bs-gray-300);
    border-radius: .475rem;
    box-shadow: unset ;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.form-select {
	height : 2.35rem ; 
}
.form-inline select,
.form-select.form-select-solid {
    background-color: var(--bs-gray-100);
    border-color: var(--bs-gray-100);
    color: var(--bs-gray-700);
    transition: color .2s ease;
}
.form-select-sm {
	/*
    padding-top: .55rem;
    padding-bottom: .55rem;
    padding-left: .75rem;
	*/
    font-size: .95rem;
    border-radius: .425rem;
}



/** preset : form input **/
.form-control {
    display: block;
    width: 100%;
    padding: .65rem 1rem;
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.25;
    color: var(--bs-gray-700);
    appearance: none;
    background-color: var(--bs-gray-100);
    background-clip: padding-box;
    border: 1px solid var(--bs-gray-100);
    border-radius: .475rem;
    box-shadow: false;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.form-control i { 
	vertical-align: middle; 
}
.form-control input {
	font-size : .9rem ; 
	background : none ; 
    color: var(--bs-gray-700);
    transition: color .2s ease;
}
@media (prefers-reduced-motion: reduce)
.form-control {
    transition: none;
}


.form-inline { 
	position : relative ; 
	padding-left : min(26.5% , 260px) ; 
	min-height : calc( var(--bs-body-font-size) + 1.65rem + 2px ) 
}
.form-inline ~ .form-inline {
	margin-top : 1.25rem ;
}

.form-inline select,
.form-inline textarea,
.form-inline .textarea,
.form-inline .value,
.form-inline input:not([type='radio']):not([type='checkbox']),
.form-inline .tagify,
.form-inline .select2-container--default .select2-selection--single,
input.form-input:not([type='radio']):not([type='checkbox']) { 
	color: var(--bs-gray-700); 
	transition: color .2s ease; 
	min-height : calc( 1.2em + 1rem + 2px ) ; 
	padding : .825rem 1.1rem; 
	border-radius: var(--bs-radius) ; 
	width : 100% ; 
	font-weight : 500 ; 
	appearance: none ;
	background-color: var(--bs-gray-100);
	background-clip: padding-box ;
	border: 1px solid var(--bs-gray-100);
}
.form-inline .btn:not(.btn-sm) {
  min-height : 3.25rem ; 
}
.form-inline .textarea:not(.line) {
	min-height : 6rem ;
}
.form-inline input[type='color'] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: transparent;
	border: none;
	height : 3.25rem ; 
	padding : 0 !important ;
}
.form-inline input[type='color']::-webkit-color-swatch {
  border-radius: var(--bs-radius) ;
  border: none !important ;

}
.form-inline .value:after {
	content : "" ;
}
.form-inline select:focus,
.form-inline .textarea:focus,
.form-inline input:not([type='radio']):not([type='checkbox']):focus { 
	background-color : var(--bs-gray-200) 
}
.form-inline .control-label { 
	position : absolute ; 
	top : 0 ; 
	left : 0 ; 
  white-space: nowrap;
	font-weight : 500 ;
	line-height : 3.25rem ; 
	width: calc( 26.5% - 40px );
  max-width : 220px ; 
	text-align : right ;
}
.form-inline .inline { 
	line-height : 3.25rem ;
  white-space: nowrap ;
}
.form-inline.t2 { 
	padding-left : 0 ; 
	padding-top : 1.8rem 
}
.form-inline.t2 .control-label { 
	line-height : 1 ;
	top : 0 ;
  text-align: left;
  width: auto;
}
.form-inline .links { 
	position : absolute ; 
	right : 0 ; 
	top : 0 ; 
	line-height : 1 
}
.form-inline .links a,
.form-inline .links button { 
	line-height : 1 ; 
	display : inline-block ; 
	font-weight : 500 ; 
	color : var(--bs-primary) 
}
.form-inline.required .control-label:after,
.form-inline *[required] ~ .control-label:after { 
	content : "";
	width : 5px ;
	height : 5px ;
	display : inline-block ;
  /*
	margin-left : 3px ;
	vertical-align : text-top ;
  */
  position : absolute ;
  top : 13px ;
  right : -10px ;
	border-radius : 50% ;
	background-color : var(--bs-red)
}
.form-inline.t2.required .control-label:after,
.form-inline.t2 *[required] ~ .control-label:after { 
  top : 0;
}
.form-inline.address {
  display : grid ;
  grid-template-columns: auto minmax(100px,30%);
  gap : .5rem ; 
  row-gap : .75rem 
}
.form-inline.address input[readonly] {
  cursor : pointer 
}
.form-inline.address input.zipcode[readonly] {
  background-image : url('imgs/magnifier.svg') ;
  background-position : calc( 100% - .5rem ) center ;
  background-repeat : no-repeat ;
  background-size : 1.25rem 
}
.form-inline.address input.address-detail {
  grid-column: auto / span 2 ;
}

.form-inline .value {
	display : block ; 
	line-height : 1.375 ;
}
.form-inline .value input {
	background : transparent ;
	border : none !important ;
	border-radius : 0 !important ;
	padding-left : 0 !important ;
	padding-right : 0 !important ;
}
.form-inline .value input:first-child {
	border-radius : var(--bs-radius) 0 0 var(--bs-radius) !important ;
}
.form-inline .value input:last-child {
	border-radius : 0 var(--bs-radius) var(--bs-radius) 0 !important ;
}
.form-inline .value.grid {
	grid-gap : 0 
}


/** Tagify **/
.form-inline .tagify:not(.form-control-sm):not(.form-control-lg) {
	padding : .1rem .9rem ; 
}
.form-inline .tagify .tagify__input {
	align-self : center ;
}
.form-inline .tagify:not(.form-control-sm):not(.form-control-lg) .tagify__tag {
	margin : .2rem ;
}
.form-inline .tagify__tag:focus div::before, .tagify__tag:hover:not([readonly]) div::before {
	--tag-hover : var(--bs-gray-600) ; 
	--tag-bg-inset : 0 !important ;
}
.form-inline .tagify:not(.form-control-sm):not(.form-control-lg) .tagify__tag .tagify__tag-text {
	font-size : unset !important ;
}
.form-inline .tagify:not(.form-control-sm):not(.form-control-lg) .tagify__tag:hover .tagify__tag-text {
	color : var(--bs-white) ;
}



.image-input {
    background-position: center;
    position: relative;
    display: inline-block;
    border-radius: .475rem;
	box-shadow : var(--bs-box-shadow) ; 
    background-repeat: no-repeat;
    background-size: cover;
	background-image : url('/img/blank.svg') 
}
.image-input.blank-image {
	background-image : url('/img/blank-image.svg') 
}
.image-input ~ .image-input {
  margin-left : .95rem ; 
}
.image-input .preview { 
	border-radius: .475rem ; 
	min-width : 125px ; 
	min-height : 125px ; 
	border : solid 3px var(--bs-body-bg) ;
	background-size : cover ;
	background-position : center ; 
}
.image-input .preview img {
  display : none
}
.image-input .preview img[src] { 
  display : block ; 
  min-width : 125px ;
  min-height : 125px ;
  max-width : 100% ;
}
.image-input input { 
	position : absolute ; 
	top : 0 ; 
	left : 0 ; 
	width : 100% ; 
	height : 100% ; 
	opacity: 0 
}
.form-inline .btn-circle { 
	display : block ; 
	width : 25px ; 
	height : 25px ; 
	border-radius : 50% ; 
	background-color : var(--bs-body-bg) ; 
	box-shadow : var(--bs-box-shadow) ; 
	position : absolute ; 
	cursor : pointer ; 
	top : 0 ; 
	right : 0 ; 
	transform : translate(50%,-50%) ; 
	display: grid; place-items: center; 
}
.form-inline .btn-circle,
.form-inline .btn-circle * { 
	cursor : pointer 
}
.form-inline .btn-circle.bottom { 
	top : 100% 
}
.form-inline .preview:not([style]):not(.has-image) ~ .btn-circle.bottom { 
  display : none ; 
}
.form-inline .btn-circle *[class*='ki-'] {
  opacity : .5 ;
  transition : var(--bs-transition)
}
.form-inline .btn-circle:hover *[class*='ki-'] {
  opacity : 1
}

.form-inline .d-flex > * {
	color: var(--bs-gray-700); 
	transition: color .2s ease; 
	min-height : calc( 1.2em + 1rem + 2px ) ; 
	font-weight : 500 ; 
	background-color: var(--bs-gray-100);
	background-clip: padding-box ;
	border-radius : 0 !important ;
}
.form-inline .d-flex > *:not(input):not(select):not(textarea):not(.textarea):not(.value) {
	line-height : 3.25rem ; 
  white-space: nowrap ;
}
.form-inline .d-flex > *:first-child {
	border-top-left-radius: var(--bs-radius) !important ;
	border-bottom-left-radius: var(--bs-radius) !important ; 
}
.form-inline .d-flex > *:first-child:not(input):not(select) {
  padding-left : 1.1rem !important ; 
}
.form-inline .d-flex > *:last-child {
	border-top-right-radius: var(--bs-radius) !important ;
	border-bottom-right-radius: var(--bs-radius) !important ; 
}
.form-inline .d-flex > *:last-child:not(input):not(select) {
    padding-right : 1.1rem !important ; 
}

.form-inline .check-toggle {
  padding-left : 10px ;
}
.form-inline .grid.check-toggle {
  display : inline-grid ;
}


.form-inline .dropzone {
    min-height: auto;
    padding: 1.5rem 1.75rem;
    text-align: left;
    border: 1px dashed var(--bs-primary);
    background-color: var(--bs-primary-light);
    border-radius: .475rem !important;
	position : relative ;
}
.form-inline .dropzone,
.form-inline .dropzone * {
    cursor: pointer;
}	
.form-inline .dropzone input {
	position : absolute ;
	top : 0 ;
	left : 0 ;
	width : 100% ;
	height : 100% ;
	z-index : 2 ;
	opacity : 0 ;
}
.ms-4 {
    margin-left: 1rem !important;
}
.fs-3x {
	font-size: 3rem !important;
}

.text-white {
    color: var(--bs-text-white)!important
}

.text-hover-white {
    transition: color .2s ease
}

.text-hover-white i {
    transition: color .2s ease
}

.text-hover-white:hover {
    transition: color .2s ease;
    color: var(--bs-text-white)!important
}

.text-hover-white:hover i {
    transition: color .2s ease;
    color: var(--bs-text-white)!important
}

.text-hover-white:hover .svg-icon {
    color: var(--bs-text-white)!important
}

.text-active-white {
    transition: color .2s ease
}

.text-active-white i {
    transition: color .2s ease
}

.text-active-white.active {
    transition: color .2s ease;
    color: var(--bs-text-white)!important
}

.text-active-white.active i {
    transition: color .2s ease;
    color: var(--bs-text-white)!important
}

.text-active-white.active .svg-icon {
    color: var(--bs-text-white)!important
}

.text-primary {
    color: var(--bs-text-primary)!important
}

.text-inverse-primary {
    color: var(--bs-primary-inverse)!important
}

.text-light-primary {
    color: var(--bs-primary-light)!important
}

.text-hover-primary {
    transition: color .2s ease
}

.text-hover-primary i {
    transition: color .2s ease
}

.text-hover-primary:hover {
    transition: color .2s ease;
    color: var(--bs-text-primary)!important
}

.text-hover-primary:hover i {
    transition: color .2s ease;
    color: var(--bs-text-primary)!important
}

.text-hover-primary:hover .svg-icon {
    color: var(--bs-text-primary)!important
}

.text-active-primary {
    transition: color .2s ease
}

.text-active-primary i {
    transition: color .2s ease
}

.text-active-primary.active {
    transition: color .2s ease;
    color: var(--bs-text-primary)!important
}

.text-active-primary.active i {
    transition: color .2s ease;
    color: var(--bs-text-primary)!important
}

.text-active-primary.active .svg-icon {
    color: var(--bs-text-primary)!important
}

.text-secondary {
    color: var(--bs-text-secondary)!important
}

.text-inverse-secondary {
    color: var(--bs-secondary-inverse)!important
}

.text-light-secondary {
    color: var(--bs-secondary-light)!important
}

.text-hover-secondary {
    transition: color .2s ease
}

.text-hover-secondary i {
    transition: color .2s ease
}

.text-hover-secondary:hover {
    transition: color .2s ease;
    color: var(--bs-text-secondary)!important
}

.text-hover-secondary:hover i {
    transition: color .2s ease;
    color: var(--bs-text-secondary)!important
}

.text-hover-secondary:hover .svg-icon {
    color: var(--bs-text-secondary)!important
}

.text-active-secondary {
    transition: color .2s ease
}

.text-active-secondary i {
    transition: color .2s ease
}

.text-active-secondary.active {
    transition: color .2s ease;
    color: var(--bs-text-secondary)!important
}

.text-active-secondary.active i {
    transition: color .2s ease;
    color: var(--bs-text-secondary)!important
}

.text-active-secondary.active .svg-icon {
    color: var(--bs-text-secondary)!important
}

.text-light {
    color: var(--bs-text-light)!important
}

.text-inverse-light {
    color: var(--bs-light-inverse)!important
}

.text-light-light {
    color: var(--bs-light-light)!important
}

.text-hover-light {
    transition: color .2s ease
}

.text-hover-light i {
    transition: color .2s ease
}

.text-hover-light:hover {
    transition: color .2s ease;
    color: var(--bs-text-light)!important
}

.text-hover-light:hover i {
    transition: color .2s ease;
    color: var(--bs-text-light)!important
}

.text-hover-light:hover .svg-icon {
    color: var(--bs-text-light)!important
}

.text-active-light {
    transition: color .2s ease
}

.text-active-light i {
    transition: color .2s ease
}

.text-active-light.active {
    transition: color .2s ease;
    color: var(--bs-text-light)!important
}

.text-active-light.active i {
    transition: color .2s ease;
    color: var(--bs-text-light)!important
}

.text-active-light.active .svg-icon {
    color: var(--bs-text-light)!important
}

.text-success {
    color: var(--bs-text-success)!important
}

.text-inverse-success {
    color: var(--bs-success-inverse)!important
}

.text-light-success {
    color: var(--bs-success-light)!important
}

.text-hover-success {
    transition: color .2s ease
}

.text-hover-success i {
    transition: color .2s ease
}

.text-hover-success:hover {
    transition: color .2s ease;
    color: var(--bs-text-success)!important
}

.text-hover-success:hover i {
    transition: color .2s ease;
    color: var(--bs-text-success)!important
}

.text-hover-success:hover .svg-icon {
    color: var(--bs-text-success)!important
}

.text-active-success {
    transition: color .2s ease
}

.text-active-success i {
    transition: color .2s ease
}

.text-active-success.active {
    transition: color .2s ease;
    color: var(--bs-text-success)!important
}

.text-active-success.active i {
    transition: color .2s ease;
    color: var(--bs-text-success)!important
}

.text-active-success.active .svg-icon {
    color: var(--bs-text-success)!important
}

.text-info {
    color: var(--bs-text-info)!important
}

.text-inverse-info {
    color: var(--bs-info-inverse)!important
}

.text-light-info {
    color: var(--bs-info-light)!important
}

.text-hover-info {
    transition: color .2s ease
}

.text-hover-info i {
    transition: color .2s ease
}

.text-hover-info:hover {
    transition: color .2s ease;
    color: var(--bs-text-info)!important
}

.text-hover-info:hover i {
    transition: color .2s ease;
    color: var(--bs-text-info)!important
}

.text-hover-info:hover .svg-icon {
    color: var(--bs-text-info)!important
}

.text-active-info {
    transition: color .2s ease
}

.text-active-info i {
    transition: color .2s ease
}

.text-active-info.active {
    transition: color .2s ease;
    color: var(--bs-text-info)!important
}

.text-active-info.active i {
    transition: color .2s ease;
    color: var(--bs-text-info)!important
}

.text-active-info.active .svg-icon {
    color: var(--bs-text-info)!important
}

.text-warning {
    color: var(--bs-text-warning)!important
}

.text-inverse-warning {
    color: var(--bs-warning-inverse)!important
}

.text-light-warning {
    color: var(--bs-warning-light)!important
}

.text-hover-warning {
    transition: color .2s ease
}

.text-hover-warning i {
    transition: color .2s ease
}

.text-hover-warning:hover {
    transition: color .2s ease;
    color: var(--bs-text-warning)!important
}

.text-hover-warning:hover i {
    transition: color .2s ease;
    color: var(--bs-text-warning)!important
}

.text-hover-warning:hover .svg-icon {
    color: var(--bs-text-warning)!important
}

.text-active-warning {
    transition: color .2s ease
}

.text-active-warning i {
    transition: color .2s ease
}

.text-active-warning.active {
    transition: color .2s ease;
    color: var(--bs-text-warning)!important
}

.text-active-warning.active i {
    transition: color .2s ease;
    color: var(--bs-text-warning)!important
}

.text-active-warning.active .svg-icon {
    color: var(--bs-text-warning)!important
}

.text-danger {
    color: var(--bs-text-danger)!important
}

.text-inverse-danger {
    color: var(--bs-danger-inverse)!important
}

.text-light-danger {
    color: var(--bs-danger-light)!important
}

.text-hover-danger {
    transition: color .2s ease
}

.text-hover-danger i {
    transition: color .2s ease
}

.text-hover-danger:hover {
    transition: color .2s ease;
    color: var(--bs-text-danger)!important
}

.text-hover-danger:hover i {
    transition: color .2s ease;
    color: var(--bs-text-danger)!important
}

.text-hover-danger:hover .svg-icon {
    color: var(--bs-text-danger)!important
}

.text-active-danger {
    transition: color .2s ease
}

.text-active-danger i {
    transition: color .2s ease
}

.text-active-danger.active {
    transition: color .2s ease;
    color: var(--bs-text-danger)!important
}

.text-active-danger.active i {
    transition: color .2s ease;
    color: var(--bs-text-danger)!important
}

.text-active-danger.active .svg-icon {
    color: var(--bs-text-danger)!important
}

.text-dark {
    color: var(--bs-text-dark)!important
}

.text-inverse-dark {
    color: var(--bs-dark-inverse)!important
}

.text-light-dark {
    color: var(--bs-dark-light)!important
}

.text-hover-dark {
    transition: color .2s ease
}

.text-hover-dark i {
    transition: color .2s ease
}

.text-hover-dark:hover {
    transition: color .2s ease;
    color: var(--bs-text-dark)!important
}

.text-hover-dark:hover i {
    transition: color .2s ease;
    color: var(--bs-text-dark)!important
}

.text-hover-dark:hover .svg-icon {
    color: var(--bs-text-dark)!important
}

.text-active-dark {
    transition: color .2s ease
}

.text-active-dark i {
    transition: color .2s ease
}

.text-active-dark.active {
    transition: color .2s ease;
    color: var(--bs-text-dark)!important
}

.text-active-dark.active i {
    transition: color .2s ease;
    color: var(--bs-text-dark)!important
}

.text-active-dark.active .svg-icon {
    color: var(--bs-text-dark)!important
}

.text-muted {
    color: var(--bs-text-muted)!important
}

.text-hover-muted {
    transition: color .2s ease
}

.text-hover-muted i {
    transition: color .2s ease
}

.text-hover-muted:hover {
    transition: color .2s ease;
    color: var(--bs-text-muted)!important
}

.text-hover-muted:hover i {
    transition: color .2s ease;
    color: var(--bs-text-muted)!important
}

.text-hover-muted:hover .svg-icon {
    color: var(--bs-text-muted)!important
}

.text-active-muted {
    transition: color .2s ease
}

.text-active-muted i {
    transition: color .2s ease
}

.text-active-muted.active {
    transition: color .2s ease;
    color: var(--bs-text-muted)!important
}

.text-active-muted.active i {
    transition: color .2s ease;
    color: var(--bs-text-muted)!important
}

.text-active-muted.active .svg-icon {
    color: var(--bs-text-muted)!important
}

.text-gray-100 {
    color: var(--bs-text-gray-100)!important
}

.text-hover-gray-100 {
    transition: color .2s ease
}

.text-hover-gray-100 i {
    transition: color .2s ease
}

.text-hover-gray-100:hover {
    transition: color .2s ease;
    color: var(--bs-text-gray-100)!important
}

.text-hover-gray-100:hover i {
    transition: color .2s ease;
    color: var(--bs-text-gray-100)!important
}

.text-hover-gray-100:hover .svg-icon {
    color: var(--bs-text-gray-100)!important
}

.text-active-gray-100 {
    transition: color .2s ease
}

.text-active-gray-100 i {
    transition: color .2s ease
}

.text-active-gray-100.active {
    transition: color .2s ease;
    color: var(--bs-text-gray-100)!important
}

.text-active-gray-100.active i {
    transition: color .2s ease;
    color: var(--bs-text-gray-100)!important
}

.text-active-gray-100.active .svg-icon {
    color: var(--bs-text-gray-100)!important
}

.text-gray-200 {
    color: var(--bs-text-gray-200)!important
}

.text-hover-gray-200 {
    transition: color .2s ease
}

.text-hover-gray-200 i {
    transition: color .2s ease
}

.text-hover-gray-200:hover {
    transition: color .2s ease;
    color: var(--bs-text-gray-200)!important
}

.text-hover-gray-200:hover i {
    transition: color .2s ease;
    color: var(--bs-text-gray-200)!important
}

.text-hover-gray-200:hover .svg-icon {
    color: var(--bs-text-gray-200)!important
}

.text-active-gray-200 {
    transition: color .2s ease
}

.text-active-gray-200 i {
    transition: color .2s ease
}

.text-active-gray-200.active {
    transition: color .2s ease;
    color: var(--bs-text-gray-200)!important
}

.text-active-gray-200.active i {
    transition: color .2s ease;
    color: var(--bs-text-gray-200)!important
}

.text-active-gray-200.active .svg-icon {
    color: var(--bs-text-gray-200)!important
}

.text-gray-300 {
    color: var(--bs-text-gray-300)!important
}

.text-hover-gray-300 {
    transition: color .2s ease
}

.text-hover-gray-300 i {
    transition: color .2s ease
}

.text-hover-gray-300:hover {
    transition: color .2s ease;
    color: var(--bs-text-gray-300)!important
}

.text-hover-gray-300:hover i {
    transition: color .2s ease;
    color: var(--bs-text-gray-300)!important
}

.text-hover-gray-300:hover .svg-icon {
    color: var(--bs-text-gray-300)!important
}

.text-active-gray-300 {
    transition: color .2s ease
}

.text-active-gray-300 i {
    transition: color .2s ease
}

.text-active-gray-300.active {
    transition: color .2s ease;
    color: var(--bs-text-gray-300)!important
}

.text-active-gray-300.active i {
    transition: color .2s ease;
    color: var(--bs-text-gray-300)!important
}

.text-active-gray-300.active .svg-icon {
    color: var(--bs-text-gray-300)!important
}

.text-gray-400 {
    color: var(--bs-text-gray-400)!important
}

.text-hover-gray-400 {
    transition: color .2s ease
}

.text-hover-gray-400 i {
    transition: color .2s ease
}

.text-hover-gray-400:hover {
    transition: color .2s ease;
    color: var(--bs-text-gray-400)!important
}

.text-hover-gray-400:hover i {
    transition: color .2s ease;
    color: var(--bs-text-gray-400)!important
}

.text-hover-gray-400:hover .svg-icon {
    color: var(--bs-text-gray-400)!important
}

.text-active-gray-400 {
    transition: color .2s ease
}

.text-active-gray-400 i {
    transition: color .2s ease
}

.text-active-gray-400.active {
    transition: color .2s ease;
    color: var(--bs-text-gray-400)!important
}

.text-active-gray-400.active i {
    transition: color .2s ease;
    color: var(--bs-text-gray-400)!important
}

.text-active-gray-400.active .svg-icon {
    color: var(--bs-text-gray-400)!important
}

.text-gray-500 {
    color: var(--bs-text-gray-500)!important
}

.text-hover-gray-500 {
    transition: color .2s ease
}

.text-hover-gray-500 i {
    transition: color .2s ease
}

.text-hover-gray-500:hover {
    transition: color .2s ease;
    color: var(--bs-text-gray-500)!important
}

.text-hover-gray-500:hover i {
    transition: color .2s ease;
    color: var(--bs-text-gray-500)!important
}

.text-hover-gray-500:hover .svg-icon {
    color: var(--bs-text-gray-500)!important
}

.text-active-gray-500 {
    transition: color .2s ease
}

.text-active-gray-500 i {
    transition: color .2s ease
}

.text-active-gray-500.active {
    transition: color .2s ease;
    color: var(--bs-text-gray-500)!important
}

.text-active-gray-500.active i {
    transition: color .2s ease;
    color: var(--bs-text-gray-500)!important
}

.text-active-gray-500.active .svg-icon {
    color: var(--bs-text-gray-500)!important
}

.text-gray-600 {
    color: var(--bs-text-gray-600)!important
}

.text-hover-gray-600 {
    transition: color .2s ease
}

.text-hover-gray-600 i {
    transition: color .2s ease
}

.text-hover-gray-600:hover {
    transition: color .2s ease;
    color: var(--bs-text-gray-600)!important
}

.text-hover-gray-600:hover i {
    transition: color .2s ease;
    color: var(--bs-text-gray-600)!important
}

.text-hover-gray-600:hover .svg-icon {
    color: var(--bs-text-gray-600)!important
}

.text-active-gray-600 {
    transition: color .2s ease
}

.text-active-gray-600 i {
    transition: color .2s ease
}

.text-active-gray-600.active {
    transition: color .2s ease;
    color: var(--bs-text-gray-600)!important
}

.text-active-gray-600.active i {
    transition: color .2s ease;
    color: var(--bs-text-gray-600)!important
}

.text-active-gray-600.active .svg-icon {
    color: var(--bs-text-gray-600)!important
}

.text-gray-700 {
    color: var(--bs-text-gray-700)!important
}

.text-hover-gray-700 {
    transition: color .2s ease
}

.text-hover-gray-700 i {
    transition: color .2s ease
}

.text-hover-gray-700:hover {
    transition: color .2s ease;
    color: var(--bs-text-gray-700)!important
}

.text-hover-gray-700:hover i {
    transition: color .2s ease;
    color: var(--bs-text-gray-700)!important
}

.text-hover-gray-700:hover .svg-icon {
    color: var(--bs-text-gray-700)!important
}

.text-active-gray-700 {
    transition: color .2s ease
}

.text-active-gray-700 i {
    transition: color .2s ease
}

.text-active-gray-700.active {
    transition: color .2s ease;
    color: var(--bs-text-gray-700)!important
}

.text-active-gray-700.active i {
    transition: color .2s ease;
    color: var(--bs-text-gray-700)!important
}

.text-active-gray-700.active .svg-icon {
    color: var(--bs-text-gray-700)!important
}

.text-gray-800 {
    color: var(--bs-text-gray-800)!important
}

.text-hover-gray-800 {
    transition: color .2s ease
}

.text-hover-gray-800 i {
    transition: color .2s ease
}

.text-hover-gray-800:hover {
    transition: color .2s ease;
    color: var(--bs-text-gray-800)!important
}

.text-hover-gray-800:hover i {
    transition: color .2s ease;
    color: var(--bs-text-gray-800)!important
}

.text-hover-gray-800:hover .svg-icon {
    color: var(--bs-text-gray-800)!important
}

.text-active-gray-800 {
    transition: color .2s ease
}

.text-active-gray-800 i {
    transition: color .2s ease
}

.text-active-gray-800.active {
    transition: color .2s ease;
    color: var(--bs-text-gray-800)!important
}

.text-active-gray-800.active i {
    transition: color .2s ease;
    color: var(--bs-text-gray-800)!important
}

.text-active-gray-800.active .svg-icon {
    color: var(--bs-text-gray-800)!important
}

.text-gray-900 {
    color: var(--bs-text-gray-900)!important
}

.text-hover-gray-900 {
    transition: color .2s ease
}

.text-hover-gray-900 i {
    transition: color .2s ease
}

.text-hover-gray-900:hover {
    transition: color .2s ease;
    color: var(--bs-text-gray-900)!important
}

.text-hover-gray-900:hover i {
    transition: color .2s ease;
    color: var(--bs-text-gray-900)!important
}

.text-hover-gray-900:hover .svg-icon {
    color: var(--bs-text-gray-900)!important
}

.text-active-gray-900 {
    transition: color .2s ease
}

.text-active-gray-900 i {
    transition: color .2s ease
}

.text-active-gray-900.active {
    transition: color .2s ease;
    color: var(--bs-text-gray-900)!important
}

.text-active-gray-900.active i {
    transition: color .2s ease;
    color: var(--bs-text-gray-900)!important
}

.text-active-gray-900.active .svg-icon {
    color: var(--bs-text-gray-900)!important
}

.fw-semibold {
    font-weight: 500 !important;
}
.fs-7 {
    font-size: .95rem !important;
}
.opacity-75 {
    opacity: .75 !important;
}
.gallery.grid {
	grid-gap : .5rem ;
}
.gallery > * {
	position : relative 
}
.gallery > * input {
	position : absolute ;
	opacity : 0 ;
	width : 0 ;
	height : 0 ;
}
.gallery > * img {
	width : 100% 
}
.gallery .thumbnail,
.gallery .placeholder {
	border-radius : 1rem ;
	border : dashed 2px transparent ;
	width : 100% ;
	aspect-ratio : 1 / 1 ;
	background-position : center ;
	background-size : cover ;
	background-repeat: space;
	cursor : move ; 
}
.gallery .thumbnail:hover {
	border-color : var(--bs-primary) 
}
.gallery .thumbnail .btns {
	display : flex ;
	position : absolute ;
	bottom : calc( 100% - 20px ) ;
	left : 50% ;
	opacity : 0 ; 
	transform : translateX(-50%) ;
	background-color : var(--bs-white) ;
	border-radius : .5rem ;
	box-shadow : var(--bs-box-shadow) ; 
	background-color : var(--bs-primary) ;
	transition : var(--bs-transition) ;
}
.gallery .thumbnail:hover .btns {
	opacity : 1 ; 
}
.gallery .thumbnail .btns button {
	width : 30px ;
	height : 30px ; 
	cursor : pointer ; 
	border-radius : .5rem ; 
	line-height : 1 ; 
	color : var(--bs-white) ;
	transition : var(--bs-transition) ;
}
.gallery .thumbnail .btns button i {
	margin: 0 ; 
	font-size : 1rem ; 
	opacity : .8 ; 
	cursor : pointer ; 
	transition : var(--bs-transition) ;
}
.gallery .thumbnail .btns button:hover {
	background-color : var(--bs-white) ;
}
.gallery .thumbnail .btns button:hover i {
	opacity : 1 ; 
	color : var(--bs-black) ;
}
.gallery .placeholder {
	background-color : var(--bs-gray-200) ;
}



.hint { 
	margin-top: .5rem; 
	font-size: .725rem; 
	color: var(--bs-text-muted); 
	font-weight : 400 
}


.form-inline label,
.form-inline label * {
	cursor : pointer ;
	line-height : 1 ;
}

table .input .form-inline,
.form-inline.no-label {
  padding-left : 0
}
table .input .form-inline .control-label,
.form-inline.no-label .control-label {
  display : none 
}

.form-list {
	margin-bottom : 2.5rem ;
}
.form-list h2,
.form-list h3 {
	font-size : 1.1rem ; 
	padding : 1.25rem 0 ;
}
.form-list .form-inline {
	padding-top : 1.25rem ; 
	padding-bottom : 1.25rem ;
	margin-top : 0 ;
	border-bottom : solid 1px var(--bs-gray-200) 
}
.form-list .form-inline .control-label { 
	top : 1.25rem ; 
	line-height : 1.25rem ; 
}


/** preset : ul list **/
ul.dot > li {
	position : relative ;
	padding-left : 14px ; 
}
ul.dot > li ~ li {
	margin-top : .5rem ;
}
ul.dot > li:before {
	content : "" ;
	width : 4px ;
	height : 4px ;
	border-radius : 50% ; 
	left : 0 ;
	top : calc( .75rem - 2px ) ;
	display : block ;
	position : absolute ;
	background-color : var(--bs-gray-400) ;
	transition : var(--bs-transition) ;
}
ul.dot > li:hover:before {
	background-color : var(--bs-primary) ;
}
small ul.dot > li:before {
  top : calc( .6rem - 2px )
}

/** preset : notice **/
.notice {
    --bs-alert-bg: var(--bs-highlight-bg);
    --bs-alert-padding-x: 1rem;
    --bs-alert-padding-y: .5rem;
    --bs-alert-margin-bottom: 0 ;
    --bs-alert-color: inherit;
    --bs-alert-border-color: transparent;
    --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
    --bs-alert-border-radius: var(--bs-border-radius);
    --bs-alert-link-color: inherit;
	flex-direction: row ;
    padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x) ;
    width: 100% ;
    display: flex ;
    position: relative;
    color: var(--bs-alert-color);
    background-color: var(--bs-alert-bg);
    border: var(--bs-alert-border);
    border-radius: var(--bs-alert-border-radius);
}

/** preset : object switch **/
.item-switch-row > .org { 
	display : flex ; 
	justify-content:space-between 
}
.item-switch-row > .org strong { 
	font-size : .85rem ; 
	margin-bottom : .65rem ; 
	display : block 
}
.item-switch-row > .org strong ~ * { 
	color : var(--bs-gray-600) ; 
	font-weight : 500 
}
.item-switch-row > .act .btns { 
	margin-top : 1.5rem 
}
.item-switch-row > .org:not(.hidden) ~ .act { 
	display : none 
}

/** grid **/
.grid { 
	display : grid ; 
	grid-template-columns : repeat(2,1fr) ; 
}
.grid:not(.gap-0) {
	gap : 1rem 
}
.grid.col-3 { 
	grid-template-columns : repeat(3,1fr) 
}
.grid.col-4 { 
	grid-template-columns : repeat(4,1fr) 
}
.grid.col-5 { 
	grid-template-columns : repeat(5,1fr) 
}
.grid.col-6 { 
	grid-template-columns : repeat(6,1fr) 
}
.grid.col-7 { 
	grid-template-columns : repeat(7,1fr) 
}
.grid.col-8 { 
	grid-template-columns : repeat(8,1fr) 
}
.grid > .form-inline { 
	margin-top : 0 
}
.grid > .col-2:not(.grid) {
	grid-column : span 2 
}
.grid > .col-3:not(.grid) {
	grid-column : span 3 
}
.grid > .col-4:not(.grid) {
	grid-column : span 4 
}
.grid > .col-5:not(.grid) {
	grid-column : span 5 
}
.grid > .col-6:not(.grid) {
	grid-column : span 6 
}

/** preset : paging **/
.paging ul { 
	display : flex 
}
.paging ul > li { 
	display : inline-block ; 
	border-radius : var(--bs-radius) ; 
	width : 2.35rem ; 
	height : 2.35rem ; 
	text-align : center ; 
	line-height : 2.35rem ; 
	cursor : pointer ; 
	font-weight : 500 
}
.paging ul > li:hover { 
	background-color : var(--bs-gray-100) 
}
.paging ul > li.now { 
	background-color : var(--bs-primary) ; 
	color : var(--bs-white) 
}
.paging ul > li ~ li { 
	margin-left : .2rem 
}
.paging ul > li.prev,
.paging ul > li.next { 
	display : none 
}
.paging ul > li.first:before,
.paging ul > li.last:before { 
	content : "" ; mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    background-color: var(--bs-gray-700);
    -webkit-mask-image: var(--bs-paging-arrow) ;
    mask-image: var(--bs-paging-arrow) ;
    display: inline-block;
    height: .7rem;
    width: .7rem;
}
.paging ul > li.last:before { 
	transform : rotate(180deg) 
}

/** preset : toolbar shortcut **/
.card-toolbar { 
	width : 1.5rem ; 
	height : 1.5rem ; 
	padding : .75rem ; 
	overflow : hidden ;
  position : relative ;
}
.card-toolbar > button { 
	position : absolute ; 
	overflow : hidden ; 
	top : 0 ; 
	right : 0 ; 
	font-size : 1.5rem ; 
	z-index : 2 
}
.card-toolbar > button + .popup-box { 
	margin-top : 2rem 
}
.card-toolbar.on { 
	overflow : visible 
}
.card-toolbar.on:not(.off) > button { 
	background-color : var(--bs-primary-light) ; 
	color : var(--bs-primary) ; 
	overflow : auto 
}

/** preset : cards **/
.cards {
	padding : 1.5rem ;
}
.cards .card {
	box-shadow : var(--bs-box-shadow) ;
	border-radius : var(--bs-radius) ;
	position : relative ; 
}


/** preset : table **/
table.list { 
	width : 100% ; 
	border-collapse: separate !important; 
	border-spacing: 0 ; 
	margin-bottom : .75rem 
}
table.list .thumbnail {
	width : 60px
}
table.list .thumbnail.t-large {
	width : 150px
}
table.list .thumbnail img {
	max-width : 100% ;
	max-height : 45px 
}
table.list .thumbnail:not(img) {
	border-radius : var(--bs-radius) ;
	aspect-ratio : 1 ;
	background-position : center ; 
	background-size : cover ;
	background-color : var(--bs-gray-200) ; 
}
table.list .card-toolbar { 
	position : relative ;
	float : right 
}
table.list .card-toolbar > button {
	font-size : 1.5rem
}
table.list .vertical-top {
  vertical-align: top ;
}
table.list > thead,
table.list > tbody th { 
	position : sticky ; 
	top : 0 ; 
	left : 0 ;
	z-index : 3 ; 
	font-size : .8rem ; 
	color : var(--bs-gray-600) ; 
	backdrop-filter : blur(8px) ; 
	-webkit-backdrop-filter : blur(8px) ; 
	background : var(--bs-table-head-bg)
}
table.list > tbody th { 
	z-index : 2
}
header.fix ~ main table.list > thead,
header.fix ~ main table.list > tbody th { 
	top : 80px ; 
}
header.fix ~ main table.list > tbody th { 
	top : 135px ; 
	vertical-align : top ; 
}
table.list > thead > tr > *:nth-child(2) { 
	text-align : left 
}
table.list > thead > tr > th { 
	font-weight : 500 ; 
	text-align : left ;
	white-space: nowrap ; 
}
table.list th,
table.list td { 
	padding : 1.25rem .75rem ; 
	border-top : solid 1px var(--bs-gray-200) ; 
	position : relative ;
	font-weight : 400 ;
}
table.list th.pt-0,
table.list td.pt-0,
table.list tr.pt-0 > th,
table.list tr.pt-0 > td,
header:not(.fix) ~ main table.list thead.pt-0 th {
	padding-top : 0 ;
}
table.list > thead.pt-0,
table.list > tbody.pt-0 th { 
	top : 1.25rem ; 
}
table.list > thead:after {
	position : absolute ;
	left : 0 ;
	bottom : 0 ;
	width : 100% ; 
	height : 1px ; 
	display : block ;
	content : "" ;
	background-color : var(--bs-gray-200) ; 
}
table.list > thead > tr:first-child > * {
	border-top : none 
}
table.list > tbody > tr:first-child > * { 
	border-top : none 
}
table.list > tbody > tr:last-child > * { 
	border-bottom : none 
}
table.list > tbody > tr.nodata > td { 
	padding : 2rem ; 
	font-size : .9rem ; 
	color : var(--bs-gray-600) ; 
	text-align : center 
}
table.list tr > *:last-child {
	padding-right : 0 ;
	text-align : right 
}

table.list.has-checkbox tr > *:first-child {
	width : 2.75rem 
}
table.list.border-dashed th,
table.list.border-dashed td { 
	border-bottom-style : dashed
}
/*
table.list tr.input > th,
table.list tr.input > td {
  border-bottom-style : dashed 
}
*/

table.list tr.sm > * {
	padding-top : .625rem ;
	padding-bottom : .625rem ;
	font-size : .7rem ;
}
table.list tr.alert {
	color : var(--bs-white) ;
	background-color : var(--bs-red) ;
}
table.list tr.gray {
	background-color : var(--bs-gray-100) ;
}

table.list.datainput tbody > tr > th {
	padding-top : 0 !important ; 
	padding-bottom : 0 !important ; 
}
table.list.datainput tbody > tr > td {
	padding : 0 !important 
}
table.list.datainput tbody > tr .form-inline input:not([type='checkbox']):not([type='radio']) {
	background-color: transparent ; 
	border-radius : 0 !important ;
	border-top : none ;
	border-bottom : none ;
	border-left-style : dashed ;
	border-right-style : dashed ;
}
table.list.datainput tbody > tr .form-inline input:not([type='checkbox']):not([type='radio']):hover {
	background-color : var(--bs-gray-100) ; 
}
table.list.datainput tbody > tr .form-inline input:not([type='checkbox']):not([type='radio']):focus {
	background-color : var(--bs-gray-200) ; 
}
table.list.datainput .focus,
table.list.datainput tr.focus > * {
	background-color : var(--bs-gray-100) ;
}



ul.list > li {
	padding : 1.25rem .75rem ; 
}
ul.list > li ~ li {
	border-top : solid 1px var(--bs-gray-200) ; 
}
ul.list > li.pt-0,
ul.list.pt-0 > li,
ul.list.first-pt-0 > li:first-child {
	padding-top : 0 ;
}



/** preset : tab **/
.tab { 
	padding : 0 !important ; 
	position : relative 
}
.tab ul { 
	display : flex 
}
.tab ul > li a { 
	text-decoration : none ; 
	position : relative ; 
	display : block ; 
	padding : 1rem 0 ; 
	margin : 0 1rem ; 
	border-bottom : solid 2px transparent ; 
	overflow : hidden ; 
	color : var(--bs-gray-500) ; 
	font-weight : 600 
}
.tab ul > li.on a { 
	color : var(--bs-primary) ; 
	border-bottom-color : var(--bs-primary) 
}
[data-tab]:not(.on) { 
	display : none 
}
.tab + .tab-container > section { 
}
.tab + .tab-container > section:not(.on) { 
	display : none 
}
.tab.border:before { 
	content : "";
	width : 100% ;
	height : 2px ; 
	background-color : var(--bs-gray-200) ;
	display : block ;
	position : absolute ;
	bottom : 0 ;
	left : 0 ;
}
.tab.border ul { margin-bottom : -2px }

ul.icon-check { 
	/*
	display : flex ; 
	overflow-x : auto ; 
	display : grid ;
	gap : 1rem ; 
	grid-template-columns : repeat(6,80px) ; 
	grid-auto-columns : 80px ; 
	*/
	display : inline-block ;
	margin-top : -.5rem;
}
ul.icon-check > li { 
	font-size : .825rem ;
	display : inline-block ; 
	margin : .5rem .5rem 0 0 ;
	float : left ;
}
ul.icon-check > li a,
ul.icon-check > li label .cont { 
	width : 80px ; 
	height : 85px ; 
	border-radius : .625rem ; 
	/* margin : 0 .5rem ; */ 
	padding : .75rem 0 ;
	border : dashed 1px var(--bs-gray-500) ; 
	font-weight : 600 ; 
	justify-content: space-between; 
	text-align : center ; 
	display: flex ; 
	flex-direction: column ;
	position : relative ;
	overflow : hidden
}
ul.icon-check > li:first-child a,
ul.icon-check > li:first-child label .cont {
	margin-left : 0
}
ul.icon-check > li label { 
	position : relative 	
}
ul.icon-check > li label input {
	position : absolute ;
	top : 0 ;
	left : 0 ;
	width : 100% ;
	height : 100% ;
	opacity : 0
}
ul.icon-check > li a img {
	height : 35px ; 
	margin-bottom : 5px 
}
ul.icon-check > li .icon { 
	font-size : 35px 
}
ul.icon-check > li.on a,
ul.icon-check > li input:checked ~ .cont { 
	border-style : solid ; 
	color : var(--bs-gray-900) 
}
ul.icon-check > li input:checked ~ .cont .icon {
	color : var(--bs-primary)
}
ul.icon-check > li.on a:after,
ul.icon-check > li input:checked ~ .cont:after { 
	content : "" ; 
	width : 100% ; 
	height : 5px ; 
	display : block ; 
	position : absolute ; 
	bottom : -1px ; 
	left : 0 ; 
	background-color : var(--bs-primary) 
}

/** preset : Data table **/
dl.tb { 
	display : grid ; 
	grid-template-columns : calc( 30% - 2rem ) 70% ; 
	gap : 2rem ;
	line-height : calc( var(--bs-body-font-size) * var(--bs-body-line-height) )
}
dl.tb > dt { 
	font-weight : 600 ; 
	color : var(--bs-gray-500) ; 
	font-size : .825rem ;
	text-align : right 
}

/** preset : Sticker **/
.sticker { 
	display : inline-block ; 
	vertical-align : text-bottom ; 
	color : var(--bs-white) ; 
	background-color : var(--bs-gray-500) ; 
	border-radius : .35rem ; 
	line-height : 1.2rem ; 
	font-size : .7rem ; 
	padding : 0 .325rem ;
  word-break: keep-all;
}
big.sticker {
	line-height : calc( var(--bs-body-font-size) + .75rem ) ; 
	font-size : var(--bs-body-font-size) ; 
}
.sticker.success { 
	background-color : var(--bs-success) 
}
.sticker.warning { 
	background-color : var(--bs-warning) ;
	color : var(--bs-black) ;
}
.sticker.info { 
	background-color : var(--bs-info) 
}
.sticker.error,
.sticker.danger { 
	background-color : var(--bs-danger) 
}
.sticker.black { 
	background-color : var(--bs-black) 
}

/** Badge **/
.badge {
    --bs-badge-padding-x: 0.5rem;
    --bs-badge-padding-y: 0.325rem;
    --bs-badge-font-size: 0.8rem;
    --bs-badge-font-weight: 600;
    --bs-badge-color: var(--bs-body-color);
    --bs-badge-border-radius: 0.425rem;
    display: inline-block;
    padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
    font-size: var(--bs-badge-font-size);
    font-weight: var(--bs-badge-font-weight);
    line-height: 1;
    color: var(--bs-badge-color);
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: var(--bs-badge-border-radius);
}
small.badge {
    --bs-badge-padding-x: 0.3rem;
    --bs-badge-padding-y: 0.225rem;
    --bs-badge-font-size: 0.7rem;
    --bs-badge-border-radius: 0.325rem;
}

.badge-light-success {
    background-color: var(--bs-success-light);
    color: var(--bs-success);
}
.badge-light-danger {
    background-color: var(--bs-danger-light);
    color: var(--bs-danger);
}

.badge {
    display: inline-flex;
    align-items: center
}

.badge.badge-circle,.badge.badge-square {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 1.75rem;
    min-width: 1.75rem;
    padding: 0 .1rem;
    line-height: 0
}

.badge.badge-circle {
    border-radius: 50%;
    padding: 0;
    min-width: unset;
    width: 1.75rem
}

.badge.badge-sm {
    min-width: 1.5rem;
    font-size: .8rem
}

.badge.badge-sm.badge-square {
    height: 1.5rem
}

.badge.badge-sm.badge-circle {
    width: 1.5rem;
    height: 1.5rem
}

.badge.badge-lg {
    min-width: 2rem;
    font-size: 1rem
}

.badge.badge-lg.badge-square {
    height: 2rem
}

.badge.badge-lg.badge-circle {
    width: 2rem;
    height: 2rem
}

.badge-light {
    color: var(--bs-light-inverse);
    background-color: var(--bs-light)
}

.badge-light.badge-outline {
    border: 1px solid var(--bs-light);
    background-color: transparent;
    color: var(--bs-light)
}

.badge-light-light {
    background-color: var(--bs-light-light);
    color: var(--bs-light)
}

.badge-primary {
    color: var(--bs-primary-inverse);
    background-color: var(--bs-primary)
}

.badge-primary.badge-outline {
    border: 1px solid var(--bs-primary);
    background-color: transparent;
    color: var(--bs-primary)
}

.badge-light-primary {
    background-color: var(--bs-primary-light);
    color: var(--bs-primary)
}

.badge-secondary {
    color: var(--bs-secondary-inverse);
    background-color: var(--bs-secondary)
}

.badge-secondary.badge-outline {
    border: 1px solid var(--bs-secondary);
    background-color: transparent;
    color: var(--bs-secondary-inverse)
}

.badge-light-secondary {
    background-color: var(--bs-secondary-light);
    color: var(--bs-secondary-inverse)
}

.badge-success {
    color: var(--bs-success-inverse);
    background-color: var(--bs-success)
}

.badge-success.badge-outline {
    border: 1px solid var(--bs-success);
    background-color: transparent;
    color: var(--bs-success)
}

.badge-light-success {
    background-color: var(--bs-success-light);
    color: var(--bs-success)
}

.badge-info {
    color: var(--bs-info-inverse);
    background-color: var(--bs-info)
}

.badge-info.badge-outline {
    border: 1px solid var(--bs-info);
    background-color: transparent;
    color: var(--bs-info)
}

.badge-light-info {
    background-color: var(--bs-info-light);
    color: var(--bs-info)
}

.badge-warning {
    color: var(--bs-warning-inverse);
    background-color: var(--bs-warning)
}

.badge-warning.badge-outline {
    border: 1px solid var(--bs-warning);
    background-color: transparent;
    color: var(--bs-warning)
}

.badge-light-warning {
    background-color: var(--bs-warning-light);
    color: var(--bs-warning)
}

.badge-danger {
    color: var(--bs-danger-inverse);
    background-color: var(--bs-danger)
}

.badge-danger.badge-outline {
    border: 1px solid var(--bs-danger);
    background-color: transparent;
    color: var(--bs-danger)
}

.badge-light-danger {
    background-color: var(--bs-danger-light);
    color: var(--bs-danger)
}

.badge-dark {
    color: var(--bs-dark-inverse);
    background-color: var(--bs-dark)
}

.badge-dark.badge-outline {
    border: 1px solid var(--bs-dark);
    background-color: transparent;
    color: var(--bs-dark)
}

.badge-light-dark {
    background-color: var(--bs-dark-light);
    color: var(--bs-dark)
}

/** preset : Message Box **/
body > .swiper button.close,
body > section.message button.close { 
	display : inline-block ; 
	width : 30px ; 
	height : 30px ; 
	background : none ; 
	position : absolute ; 
	top : 2rem ; 
	right : 2rem ; 
	cursor : pointer ; 
	transition : var(--bs-transition) ; 
	opacity : .75 
}
body > .swiper button.close:after,
body > .swiper button.close:before,
body > section.message button.close:after,
body > section.message button.close:before { 
	content : "" ; 
	display : inline-block ; 
	position : absolute ; 
	top : calc( 50% - 1px ) ; 
	left : 5px ; 
	width : 22px ; 
	height : 2px 
}
body > .swiper button.close:after,
body > section.message button.close:after { 
	transform : rotate(45deg) ; 
	background-color : var(--bs-gray-500) 
}
body > .swiper button.close:before,
body > section.message button.close:before { 
	transform : rotate(-45deg) ; 
	background-color : var(--bs-gray-300) 
}
body > .swiper button.close:hover,
body > section.message button.close:hover { 
	opacity : 1 ; 
	transform : rotate(180deg) 
}

body > section.message { 
	position : fixed ; 
	top : 0 ; 
	left : 0 ; 
	z-index : 10000 ; 
	width: 100% ; 
	height : 100% ; 
	backdrop-filter : blur(5px) ; 
	display : grid ; 
	place-items : center ; 
	background-color : rgba(0,0,0,.25) ; 
	animation: message-bg .2s ; 
	padding : 2rem ;
	overflow-y : auto 
}
body > section.message ~ section.message { 
	background : none 
}
body > section.message > article { 
	background-color : var(--bs-body-bg) ; 
	border-radius : var(--bs-radius) ; 
	box-shadow : var(--bs-box-shadow) ; 
	padding : 2rem ; 
	max-width : 100% ; 
	min-width : 32em ; 
	animation: message-show .3s ; 
	text-align : center ; 
	position : relative ; 
	/* max-height : calc( 100vh - 4rem ) */
}
body > section.message > article .body { 
	padding : 2rem 0 ; 
	word-break : keep-all ; 
}
body > section.message .flex .body { 
	overflow-y : auto 
}
body > section.message > article footer { 
	display: flex;
	place-content: center;
}
body > section.message > article footer button { 
	margin : .325rem .325rem 
}
body > section.message > article > .max-content { 
	max-height : calc( 100vh - 8rem ) 
}
body > section.message.remove { 
	transition : ease-out .15s ; 
	background-color : rgba(0,0,0,0) 
}
body > section.message.remove > article { 
	transition : ease-out .15s ; 
	transform : scale(0) 
}

@keyframes message-bg {
	0% { background-color : rgba(0,0,0,0) }
	100% { background-color : rgba(0,0,0,.35) }
}
@keyframes message-show {
	0% { transform: scale(.7); }
	45% { transform: scale(1.05); }
	80% { transform: scale(.95); }
	100% { transform: scale(1); }
}

@media only screen and (max-width: 480px) {
	body > section.message > article { 
    width : 100% ;
    min-width : 60% ;
  }
	body > section.message > article .body { padding : 1.5rem 0 }
    body > section.message > article > .max-content { max-height : calc( 100vh - 7rem ) }
}


/** preset : Message Box // Modal **/
body > section.message.modal { 
  z-index : 790 ; 
}
body > section.message.modal > article { 
	min-width : 50vw ; 
	animation: modal-show .3s ; 
	text-align : left 
}
body > section.message.modal > article header { 
	width : calc( 100% + 4rem ) ; 
	padding : 0 5rem 0 2rem ;
	margin : -2rem 0 0 -2rem ;
	border-bottom : solid 1px var(--bs-gray-200) ;
	display : flex 
}
body > section.message.modal > article header h1 { 
	padding : 2rem 0 ;
	font-size: 1.2rem ;
    line-height: 1.65rem ;
}
body > section.message.modal > article header h1 + .tab { 
	margin-left : 1rem 
}
body > section.message.modal > article header h1 + .tab ul,
body > section.message.modal > article header h1 + .tab ul a { 
	height : 100% 
}
body > section.message.modal > article header h1 + .tab ul a { 
	line-height : calc( 5.65rem - 4px ) ;
	padding : 2px 0 0 0 ;
}
body > section.message.modal > article header h1 + .tab ul a .ki-verify > span {
  color : var(--bs-success)
}
body > section.message.modal > article header h1 + .tab ul a small {
  font-weight : 400 ;
}
body > section.message.modal > article .body { 
}
body > section.message.modal > article .body table.list > thead,
body > section.message.modal > article .body table.list > tbody th { 
	top : -2rem ; 
}
body > section.message.modal > article footer { 
	padding-top : 2rem 
}
body > section.message.modal.remove > article { 
	transition : ease-out .15s ; 
	transform : scale(1) translateY(30px) ; 
	opacity : 0 
}
body > section.message.modal h2 {
	font-size : 1.05rem ;
	padding-bottom : 1.5rem ;
}
body > section.message.modal *:first-child ~ h2 {
	padding-top : 1.5rem ; 
	margin-top : 2rem ; 
	border-top : dashed 1px var(--bs-gray-300) ;
}
body > section.message.modal *:first-child ~ hr + h2 {
  padding-top : 0 ;
  margin-top : 0 ;
  border-top : none ; 
}
body > section.message.modal h2 + .form-inline {
  margin-top : -.5rem ;
}
body > section.message.modal h2 .btns {
  float : right ;
  display : inline-flex ;
}
body > section.message.modal .cards { 
	width : calc( 100% + 4rem ) ;
	margin-left : -2rem ; 
	padding : 0 2rem ;
}
body > section.message.modal .card {
	padding : 1.5rem ; 
	display: flex;
    flex-direction: column;
}
body > section.message.modal .card header {
	width : 100% ; 
	margin : 0 ;
	border-bottom : none ; 
	padding : 0 ;
}
body > section.message.modal .card footer {
	text-align : left 
}

@keyframes modal-show {
	0% { transform: translateY(-30px); }
	100% { transform: translateY(0); }
}
@media only screen and (max-width: 480px) {
	body > section.message.modal {
		padding : 0 ;
		display : block ;
	}
	body > section.message.modal > article { 
		width : 100vw ;
		min-height : 100vh ; 
		border-radius : 0 
	}
	body > section.message.modal > article header {
		flex-direction: column;	
	}
	body > section.message.modal > article header h1 + .tab {
		margin-left: 0 ;
		margin-top : -1rem ; 
	}
	body > section.message.modal > article header .tab {
		overflow-x : auto 
	}
	body > section.message.modal > article header .tab ul {
		display : table 
	}
	body > section.message.modal > article header .tab ul > li {
		display : table-cell ;
		word-break: keep-all;
	}
	body > section.message.modal > article header .tab ul > li a {
		margin : 0 ;
		line-height : calc( var(--bs-body-line-height) * 2 )
	}
	body > section.message.modal > article header .tab ul > li + li a {
		margin-left : 1.5rem 
	}
}


/** preset animation : swal icon **/
[class^=swal2] {
    -webkit-tap-highlight-color: transparent;
}
.swal2-icon {
    position: relative;
    box-sizing: content-box;
    justify-content: center;
    width: 5em;
    height: 5em;
    margin: 2.5em auto .6em;
    border: .25em solid transparent;
    border-radius: 50%;
    border-color: #000;
    font-family: inherit;
    line-height: 5em;
    cursor: default;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    display: flex;
}
.swal2-icon .swal2-icon-content {
    display: flex;
    align-items: center;
    font-size: 3.75em;
}

/** preset : swal2 icon / warning **/
.swal2-icon.swal2-warning {
    border-color: var(--bs-warning);
    color: var(--bs-warning);
}
.swal2-icon.swal2-warning.swal2-icon-show {
    -webkit-animation: swal2-animate-error-icon .5s;
    animation: swal2-animate-error-icon .5s;
}
.swal2-icon.swal2-warning.swal2-icon-show .swal2-icon-content {
    -webkit-animation: swal2-animate-i-mark .5s;
    animation: swal2-animate-i-mark .5s;
}

/** preset : swal2 icon / error **/
.swal2-icon.swal2-error {
    border-color: var(--bs-danger);
    color: var(--bs-danger);
}
.swal2-icon.swal2-error .swal2-x-mark {
    position: relative;
    flex-grow: 1;
}
.swal2-icon.swal2-error.swal2-icon-show {
    -webkit-animation: swal2-animate-error-icon .5s;
    animation: swal2-animate-error-icon .5s;
}
.swal2-icon.swal2-error.swal2-icon-show .swal2-x-mark {
    -webkit-animation: swal2-animate-error-x-mark .5s;
    animation: swal2-animate-error-x-mark .5s;
}
.swal2-icon.swal2-error [class^=swal2-x-mark-line] {
    display: block;
    position: absolute;
    top: 2.3125em;
    width: 2.9375em;
    height: .3125em;
    border-radius: .125em;
    background-color: rgba(var(--bs-danger-rgb), .75);
}
.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left] {
    left: 1.0625em;
    transform: rotate(45deg);
}
.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right] {
    right: 1em;
    transform: rotate(-45deg);
}
@keyframes swal2-animate-error-icon {
    0% {
        transform: rotateX(100deg);
        opacity: 0;
    }
    100% {
        transform: rotateX(0);
        opacity: 1;
    }
}
@keyframes swal2-animate-error-x-mark {
    0% {
        margin-top: 1.625em;
        transform: scale(.4);
        opacity: 0;
    }
    50% {
        margin-top: 1.625em;
        transform: scale(.4);
        opacity: 0;
    }
    80% {
        margin-top: -.375em;
        transform: scale(1.15);
    }
    100% {
        margin-top: 0;
        transform: scale(1);
        opacity: 1;
    }
}


/** preset : swal2 icon / success **/
.swal2-icon.swal2-success {
    border-color: var(--bs-success);
    color: var(--bs-success);
}
.swal2-icon.swal2-success [class^=swal2-success-circular-line] {
    position: absolute;
    width: 3.75em;
    height: 7.5em;
    transform: rotate(45deg);
    border-radius: 50%;
}
.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left] {
    top: -.4375em;
    left: -2.0635em;
    transform: rotate(-45deg);
    transform-origin: 3.75em 3.75em;
    border-radius: 7.5em 0 0 7.5em;
}
.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right] {
    top: -.6875em;
    left: 1.875em;
    transform: rotate(-45deg);
    transform-origin: 0 3.75em;
    border-radius: 0 7.5em 7.5em 0;
}
.swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-tip {
    -webkit-animation: swal2-animate-success-line-tip .75s;
    animation: swal2-animate-success-line-tip .75s;
}
.swal2-icon.swal2-success [class^=swal2-success-line] {
    display: block;
    position: absolute;
    z-index: 2;
    height: .3125em;
    border-radius: .125em;
    background-color: var(--bs-success);
}
.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip] {
    top: 2.875em;
    left: .8125em;
    width: 1.5625em;
    transform: rotate(45deg);
}
.swal2-icon.swal2-success [class^=swal2-success-line][class$=long] {
    top: 2.375em;
    right: .5em;
    width: 2.9375em;
    transform: rotate(-45deg);
}
.swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-long {
    -webkit-animation: swal2-animate-success-line-long .75s;
    animation: swal2-animate-success-line-long .75s;
}
.swal2-icon.swal2-success .swal2-success-ring {
    position: absolute;
    z-index: 2;
    top: -.25em;
    left: -.25em;
    box-sizing: content-box;
    width: 100%;
    height: 100%;
    border: .25em solid rgba(var(--bs-success-rgb), .3);
    border-radius: 50%;
}
.swal2-icon.swal2-success.swal2-icon-show .swal2-success-circular-line-right {
    -webkit-animation: swal2-rotate-success-circular-line 4.25s ease-in;
    animation: swal2-rotate-success-circular-line 4.25s ease-in;
}
.swal2-icon.swal2-success .swal2-success-fix {
    position: absolute;
    z-index: 1;
    top: .5em;
    left: 1.625em;
    width: .4375em;
    height: 5.625em;
    transform: rotate(-45deg);
}

@keyframes swal2-animate-success-line-tip {
	0% {
		top: 1.1875em;
		left: .0625em;
		width: 0;
	}
	54% {
		top: 1.0625em;
		left: .125em;
		width: 0;
	}
	70% {
		top: 2.1875em;
		left: -.375em;
		width: 3.125em;
	}
	84% {
		top: 3em;
		left: 1.3125em;
		width: 1.0625em;
	}
	100% {
		top: 2.8125em;
		left: .8125em;
		width: 1.5625em;
	}
}

@keyframes swal2-rotate-success-circular-line {
	0% {
		transform: rotate(-45deg);
	}
	5% {
		transform: rotate(-45deg);
	}
	12% {
		transform: rotate(-405deg);
	}
	100% {
		transform: rotate(-405deg);
	}
}

/** preset : swal2 icon / question **/
.swal2-icon.swal2-question {
    border-color: var(--bs-primary);
    color: var(--bs-primary);
}
.swal2-icon.swal2-question.swal2-icon-show {
    -webkit-animation: swal2-animate-error-icon .5s;
    animation: swal2-animate-error-icon .5s;
}
.swal2-icon.swal2-question.swal2-icon-show .swal2-icon-content {
    -webkit-animation: swal2-animate-question-mark .8s;
    animation: swal2-animate-question-mark .8s;
}
@keyframes swal2-animate-question-mark {
    0% {
        transform: rotateY(-360deg)
    }

    100% {
        transform: rotateY(0)
    }
}

/** preset : Toast **/



/** preset : Syntax Viewer **/
code {
	outline: 1px solid #ccc ; 
	padding: 5px ;
	margin: 5px ;
}
code .string { 
	color: green ; 
}
code .number { 
	color: darkorange ; 
}
code .boolean { 
	color: blue; 
}
code .null { 
	color: magenta; 
}
code .key { 
	color: red; 
}


/** preset : Loading **/
*:not(body).loading-wrap {
	position : relative ;
}
.loading {
	display : grid ; 
	place-items : center ;
	width : 100% ;
	height : 100% ;
	position : absolute ;
	top : 0 ;
	left : 0 ;
	background : var(--bs-loading-bg) ;
	backdrop-filter : blur(8px) ;
	z-index : 900 ;
}
.loading ~ .loading { 
  display : none 
}
body > .loading { 
	position : fixed 
}

.lds-circle,
.lds-circle div {
  box-sizing: border-box;
}
.lds-circle {
  display: inline-block;
  transform: translateZ(1px);
}
.lds-circle > div {
  display: inline-block;
  width: 64px;
  height: 64px;
  margin: 8px;
  background: currentColor;
  border-radius: 50%;
  animation: lds-circle 2.4s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}
@keyframes lds-circle {
  0%, 100% {
    animation-timing-function: cubic-bezier(0.5, 0, 1, 0.5);
  }
  0% {
    transform: rotateY(0deg);
  }
  50% {
    transform: rotateY(1800deg);
    animation-timing-function: cubic-bezier(0, 0.5, 0.5, 1);
  }
  100% {
    transform: rotateY(3600deg);
  }
}



.lds-ring,
.lds-ring div {
  box-sizing: border-box;
}
.lds-ring {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
.lds-ring div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 64px;
  height: 64px;
  margin: 8px;
  border: 8px solid currentColor;
  border-radius: 50%;
  animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: currentColor transparent transparent transparent;
}
.lds-ring div:nth-child(1) {
  animation-delay: -0.45s;
}
.lds-ring div:nth-child(2) {
  animation-delay: -0.3s;
}
.lds-ring div:nth-child(3) {
  animation-delay: -0.15s;
}
@keyframes lds-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}



.lds-roller,
.lds-roller div,
.lds-roller div:after {
  box-sizing: border-box;
}
.lds-roller {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
.lds-roller div {
  animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  transform-origin: 40px 40px;
}
.lds-roller div:after {
  content: " ";
  display: block;
  position: absolute;
  width: 7.2px;
  height: 7.2px;
  border-radius: 50%;
  background: currentColor;
  margin: -3.6px 0 0 -3.6px;
}
.lds-roller div:nth-child(1) {
  animation-delay: -0.036s;
}
.lds-roller div:nth-child(1):after {
  top: 62.62742px;
  left: 62.62742px;
}
.lds-roller div:nth-child(2) {
  animation-delay: -0.072s;
}
.lds-roller div:nth-child(2):after {
  top: 67.71281px;
  left: 56px;
}
.lds-roller div:nth-child(3) {
  animation-delay: -0.108s;
}
.lds-roller div:nth-child(3):after {
  top: 70.90963px;
  left: 48.28221px;
}
.lds-roller div:nth-child(4) {
  animation-delay: -0.144s;
}
.lds-roller div:nth-child(4):after {
  top: 72px;
  left: 40px;
}
.lds-roller div:nth-child(5) {
  animation-delay: -0.18s;
}
.lds-roller div:nth-child(5):after {
  top: 70.90963px;
  left: 31.71779px;
}
.lds-roller div:nth-child(6) {
  animation-delay: -0.216s;
}
.lds-roller div:nth-child(6):after {
  top: 67.71281px;
  left: 24px;
}
.lds-roller div:nth-child(7) {
  animation-delay: -0.252s;
}
.lds-roller div:nth-child(7):after {
  top: 62.62742px;
  left: 17.37258px;
}
.lds-roller div:nth-child(8) {
  animation-delay: -0.288s;
}
.lds-roller div:nth-child(8):after {
  top: 56px;
  left: 12.28719px;
}
@keyframes lds-roller {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}



.lds-grid,
.lds-grid div {
  box-sizing: border-box;
}
.lds-grid {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
.lds-grid div {
  position: absolute;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: currentColor;
  animation: lds-grid 1.2s linear infinite;
}
.lds-grid div:nth-child(1) {
  top: 8px;
  left: 8px;
  animation-delay: 0s;
}
.lds-grid div:nth-child(2) {
  top: 8px;
  left: 32px;
  animation-delay: -0.4s;
}
.lds-grid div:nth-child(3) {
  top: 8px;
  left: 56px;
  animation-delay: -0.8s;
}
.lds-grid div:nth-child(4) {
  top: 32px;
  left: 8px;
  animation-delay: -0.4s;
}
.lds-grid div:nth-child(5) {
  top: 32px;
  left: 32px;
  animation-delay: -0.8s;
}
.lds-grid div:nth-child(6) {
  top: 32px;
  left: 56px;
  animation-delay: -1.2s;
}
.lds-grid div:nth-child(7) {
  top: 56px;
  left: 8px;
  animation-delay: -0.8s;
}
.lds-grid div:nth-child(8) {
  top: 56px;
  left: 32px;
  animation-delay: -1.2s;
}
.lds-grid div:nth-child(9) {
  top: 56px;
  left: 56px;
  animation-delay: -1.6s;
}
@keyframes lds-grid {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}



.lds-ripple,
.lds-ripple div {
  box-sizing: border-box;
}
.lds-ripple {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
.lds-ripple div {
  position: absolute;
  border: 4px solid currentColor;
  opacity: 1;
  border-radius: 50%;
  animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}
.lds-ripple div:nth-child(2) {
  animation-delay: -0.5s;
}
@keyframes lds-ripple {
  0% {
    top: 36px;
    left: 36px;
    width: 8px;
    height: 8px;
    opacity: 0;
  }
  4.9% {
    top: 36px;
    left: 36px;
    width: 8px;
    height: 8px;
    opacity: 0;
  }
  5% {
    top: 36px;
    left: 36px;
    width: 8px;
    height: 8px;
    opacity: 1;
  }
  100% {
    top: 0;
    left: 0;
    width: 80px;
    height: 80px;
    opacity: 0;
  }
}




.lds-ellipsis,
.lds-ellipsis div {
  box-sizing: border-box;
}
.lds-ellipsis {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
.lds-ellipsis div {
  position: absolute;
  top: 33.33333px;
  width: 13.33333px;
  height: 13.33333px;
  border-radius: 50%;
  background: var(--bs-primary);
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.lds-ellipsis div:nth-child(1) {
  left: 8px;
  animation: lds-ellipsis1 0.6s infinite;
}
.lds-ellipsis div:nth-child(2) {
  left: 8px;
  animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(3) {
  left: 32px;
  animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(4) {
  left: 56px;
  animation: lds-ellipsis3 0.6s infinite;
}
@keyframes lds-ellipsis1 {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes lds-ellipsis3 {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}
@keyframes lds-ellipsis2 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(24px, 0);
  }
}




.lds-spinner,
.lds-spinner div,
.lds-spinner div:after {
  box-sizing: border-box;
}
.lds-spinner {
  color: currentColor;
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
.lds-spinner div {
  transform-origin: 40px 40px;
  animation: lds-spinner 1.2s linear infinite;
}
.lds-spinner div:after {
  content: " ";
  display: block;
  position: absolute;
  top: 3.2px;
  left: 36.8px;
  width: 6.4px;
  height: 17.6px;
  border-radius: 20%;
  background: currentColor;
}
.lds-spinner div:nth-child(1) {
  transform: rotate(0deg);
  animation-delay: -1.1s;
}
.lds-spinner div:nth-child(2) {
  transform: rotate(30deg);
  animation-delay: -1s;
}
.lds-spinner div:nth-child(3) {
  transform: rotate(60deg);
  animation-delay: -0.9s;
}
.lds-spinner div:nth-child(4) {
  transform: rotate(90deg);
  animation-delay: -0.8s;
}
.lds-spinner div:nth-child(5) {
  transform: rotate(120deg);
  animation-delay: -0.7s;
}
.lds-spinner div:nth-child(6) {
  transform: rotate(150deg);
  animation-delay: -0.6s;
}
.lds-spinner div:nth-child(7) {
  transform: rotate(180deg);
  animation-delay: -0.5s;
}
.lds-spinner div:nth-child(8) {
  transform: rotate(210deg);
  animation-delay: -0.4s;
}
.lds-spinner div:nth-child(9) {
  transform: rotate(240deg);
  animation-delay: -0.3s;
}
.lds-spinner div:nth-child(10) {
  transform: rotate(270deg);
  animation-delay: -0.2s;
}
.lds-spinner div:nth-child(11) {
  transform: rotate(300deg);
  animation-delay: -0.1s;
}
.lds-spinner div:nth-child(12) {
  transform: rotate(330deg);
  animation-delay: 0s;
}
@keyframes lds-spinner {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}


.lds-hourglass,
.lds-hourglass:after {
  box-sizing: border-box;
}
.lds-hourglass {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
.lds-hourglass:after {
  content: " ";
  display: block;
  border-radius: 50%;
  width: 0;
  height: 0;
  margin: 8px;
  box-sizing: border-box;
  border: 32px solid currentColor;
  border-color: currentColor transparent currentColor transparent;
  animation: lds-hourglass 1.2s infinite;
}
@keyframes lds-hourglass {
  0% {
    transform: rotate(0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  50% {
    transform: rotate(900deg);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  100% {
    transform: rotate(1800deg);
  }
}


.lds-default,
.lds-default div {
  box-sizing: border-box;
}
.lds-default {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
.lds-default div {
  position: absolute;
  width: 6.4px;
  height: 6.4px;
  background: currentColor;
  border-radius: 50%;
  animation: lds-default 1.2s linear infinite;
}
.lds-default div:nth-child(1) {
  animation-delay: 0s;
  top: 36.8px;
  left: 66.24px;
}
.lds-default div:nth-child(2) {
  animation-delay: -0.1s;
  top: 22.08px;
  left: 62.29579px;
}
.lds-default div:nth-child(3) {
  animation-delay: -0.2s;
  top: 11.30421px;
  left: 51.52px;
}
.lds-default div:nth-child(4) {
  animation-delay: -0.3s;
  top: 7.36px;
  left: 36.8px;
}
.lds-default div:nth-child(5) {
  animation-delay: -0.4s;
  top: 11.30421px;
  left: 22.08px;
}
.lds-default div:nth-child(6) {
  animation-delay: -0.5s;
  top: 22.08px;
  left: 11.30421px;
}
.lds-default div:nth-child(7) {
  animation-delay: -0.6s;
  top: 36.8px;
  left: 7.36px;
}
.lds-default div:nth-child(8) {
  animation-delay: -0.7s;
  top: 51.52px;
  left: 11.30421px;
}
.lds-default div:nth-child(9) {
  animation-delay: -0.8s;
  top: 62.29579px;
  left: 22.08px;
}
.lds-default div:nth-child(10) {
  animation-delay: -0.9s;
  top: 66.24px;
  left: 36.8px;
}
.lds-default div:nth-child(11) {
  animation-delay: -1s;
  top: 62.29579px;
  left: 51.52px;
}
.lds-default div:nth-child(12) {
  animation-delay: -1.1s;
  top: 51.52px;
  left: 62.29579px;
}
@keyframes lds-default {
	0%, 20%, 80%, 100% {
	transform: scale(1);
	}
	50% {
	transform: scale(1.5);
	}
}



/** preset : **/
.item-property {
	font-size : .75rem ; 
	background-color : var(--bs-gray-200) ;
	padding : .25rem .5rem ;
	border-radius : var(--bs-radius) ;
	position : absolute ; 
	right : .5rem ;
	top : 50% ;
	transform : translateY(-50%) ;
}
.item-property img {
	border-radius : var(--bs-radius) ;
	width : 15px ;
	height : 15px ;
	margin-left : .5rem ;
	vertical-align : middle ;
}

/** preset : Popup Menu **/
.popup-box  { 
	background-color : var(--bs-body-bg) ; 
	box-shadow : var(--bs-box-shadow) ; 
	border-radius : var(--bs-radius) ; 
	position : absolute ; 
	right : 0 ; 
	z-index : 100 ; 
	font-size : .8rem ; 
	text-align : left ; 
	opacity : 0 ; 
	top : 2rem ; 
	transition : var(--bs-transition) ; 
	white-space: nowrap 
}
.popup-box ul > li > .popup-box { 
	min-width : 150px ; 
	position : absolute ; 
	transform : translate(calc( -100% - 1.8rem ), -.25rem) 
}
.popup-box ul > li.has-sub:before {
    content : "" ; 
	display : inline-block ; 
	position : absolute ; 
	right : 1.25rem ; 
	top : calc( 50% - 4px ) ; 
	width : 8px ; 
	height : 8px ; 
	z-index : 2 ; 
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    background-color: var(--bs-gray-800);
    -webkit-mask-image: var(--bs-mask-sub-arrow);
    mask-image: var(--bs-mask-sub-arrow);
}

.on:not(.off) > * + .popup-box,
*:hover > .popup-box { 
	opacity : 1 ; 
	top : 0 
}
.popup-box > header,
.popup-box > footer,
.popup-box > section > article { 
	border-color : var(--bs-border-color) !important ; 
	padding : .825rem 1.3rem !important
}
.popup-box > header { 
	border-bottom-style : solid ;
  border-bottom-width : 1px !important; 
	font-weight : 600 !important ; 
	font-size : .9rem !important
}
.popup-box > footer { 
	border-top : solid 1px
}
.popup-box ul { 
	padding : .4rem 0 
}
.popup-box ul > li { 
	display : block ; 
	position : relative ; 
	padding : .125rem .65rem ; 
	/* overflow : hidden */
}
.flag-icon,
.popup-box ul > li .icon {
	overflow : hidden ;
	border-radius : 5px ; 
	width : 1.25rem ; 
	height : 1.25rem ;
	display : inline-grid ;
	place-items : center ;
	vertical-align : text-bottom ;
	margin-right : 5px 
}
.flag-icon img,
.popup-box ul > li .icon img {
	max-width : 100% ;
	display : inline-block 
}
big.flag-icon {
	border-radius : 8px ;
	width : 3rem ; 
	height : 3rem ; 
	margin : 0 ;
}
.popup-box ul > li > a { 
	display : block ; 
	position : relative ; 
	width : 100% ; 
	border-radius : var(--bs-radius) ; 
	padding : .525rem .65rem ; 
	font-weight: 400 ;
	color : var(--bs-body-color) ;
}
.popup-box ul > li:hover { 
	overflow : visible 
}
.popup-box ul > li:hover > a { 
	background-color : var(--bs-primary-light) ; 
	color : var(--bs-primary) 
}



/** timeline **/
.timeline { position : relative ; width : 100% }
.timeline:before { content : "" ; background-color : #000 ; width : 1px ; height : calc( 100% - 15px ) ; position : absolute ; left : 50% ; display : inline-block ; z-index : 0 }
.timeline dl.time-year { position : relative ; z-index : 2 }
.timeline dl.time-year > dt { text-align : center }
.timeline dl.time-year > dt h1 { padding : 0 30px ; font-size : 34px ; font-weight : 600 ; line-height : 60px ; border-radius : 30px ; background-color : #000 ; color : #fff ; display : inline-block ; cursor : pointer }
.timeline dl.time-year ~ dl.time-year { margin-top : 30px }
.timeline .time-month { text-align : center ; margin-top : 20px }
.timeline .time-month h2 { width : auto ; border : none ; margin-bottom : 20px ; padding : 0 20px ; font-size : 20px ; font-weight : 400 ; line-height : 40px ; border-radius : 20px ; background-color : #ddd ; color : #000 ; display : inline-block ; cursor : pointer }
.timeline .time-month > ul { width : 100% }
.timeline .time-month > ul > li { position : relative ; padding : 0 0 0 80px ; min-height : 20px ; margin-left : 50% }
.timeline .time-month > ul > li ~ li { margin-top : 30px }
.timeline .time-month > ul > li .cont { text-align : left ; line-height : 30px }
.timeline .time-month > ul > li h3 { background-color : #000 ; color : #fff ; width : 32px ; line-height : 20px ; font-size : 14px ; font-weight : 400 ; position : absolute ; left : 0 ; top : 0 ; margin : 0 0 0 40px }
.timeline .time-month > ul > li h3:before { content : "" ; width : 7px ; height : 7px ; border-radius : 50% ; display : inline-block ; background-color : #000 ; position : absolute ; left : -43px ; top : 12px }
.timeline .time-month > ul > li h3:after { content : "" ; width : 40px ; height : 1px ; display : inline-block ; background-color : #000 ; position : absolute ; left : -40px ; top : 15px }

.timeline .time-month > ul > li.sc { margin-left : 0 ; margin-right : 50% ; padding : 0 80px 0 0 }
.timeline .time-month > ul > li.sc .cont { text-align : right }
.timeline .time-month > ul > li.sc h3 { margin : 0 40px 0 0 ; left : initial ; right : 0 }
.timeline .time-month > ul > li.sc h3:before { left : initial ; right : -43px }
.timeline .time-month > ul > li.sc h3:after { left : initial ; right : -40px }
.timeline .time-month > ul > li.sc h3,
.timeline .time-month > ul > li.sc h3:before,
.timeline .time-month > ul > li.sc h3:after { background-color : #4B77BE }

.timeline .time-month > ul > li.wn h3,
.timeline .time-month > ul > li.wn h3:before,
.timeline .time-month > ul > li.wn h3:after { background-color : #EF3F3F }
.timeline .time-month > ul > li.wn .cont.wn { color : #EF3F3F }


/** Tree **/
.tree {
	padding : 2rem ;
	overflow : auto 
}
.tree i.ki-solid.ki-folder {
	color : var(--bs-gray-400) ;
}
.tree a.jstree-clicked i.ki-solid.ki-folder,
.tree a.jstree-clicked + ul.jstree-children i.ki-solid.ki-folder {
	color : var(--bs-gray-600) ;
}


/** Select2 **/
.select2-container {
	z-index : 800 ;
}
.form-inline .select2.select2-container {
  width: 100% !important ;
}
.form-inline .select2-container--open .select2-selection--single {
	background-color : var(--bs-gray-200) 
}
.form-inline .select2-container--default .select2-selection--single {
	height : 100% ;
	place-content : center ; 
}
.form-inline .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height : 1.2rem ;
	padding : 0 ;
}
.form-inline .select2-container--default .select2-selection--single .select2-selection__arrow {
	width : 16px ;
	height : 16px ; 
	right : 17px ;
	top : 50% ; 
	transform : translateY(-50%) ; 
	background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
	background-repeat : no-repeat ;
	background-position : center ; 
	background-size : 16px 12px ; 
	transition : var(--bs-transition) ; 
}
.form-inline .select2-container--default .select2-selection--single .select2-selection__arrow b {
	display : none ; 
}
.form-inline .select2-container--open .select2-selection--single .select2-selection__arrow {
	transform : translateY(-50%) rotate(180deg) ;
}
.select2-dropdown {
	border : none !important ; 
	border-radius : var(--bs-radius) ;
	background-color : var(--bs-gray-200) ; 
	box-shadow : var(--bs-dropdown-box-shadow) ; 
}
.select2-container--default .select2-search--dropdown .select2-search__field {
	border : none !important ;
	border-radius : var(--bs-radius) !important ;
	background-color : var(--bs-gray-200) ; 
	padding : .5rem ; 
    font-size: calc( var(--bs-body-font-size) * 0.85 ) ;
}








