/**** Default text fields, without wrapper ****/
input[type="text"],
input[type="password"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="date"],
textarea:not(.monaco-editor .inputarea){
	background: #fff;
	border: var(--input-border);
	border-radius: var(--input-radius);
	color: var(--grey-0);
	transition: all 200ms ease-in-out;
	padding: 8px 8px;
	font-size: 15px;
	font-weight: 400;
	line-height: 22px;
	outline: none;
}
input[type="text"]:not(:disabled):hover,
input[type="password"]:not(:disabled):hover,
input[type="number"]:not(:disabled):hover,
input[type="email"]:not(:disabled):hover,
input[type="tel"]:not(:disabled):hover,
input[type="date"]:not(:disabled):hover,
textarea:not(:disabled):hover:not(.monaco-editor .inputarea){
	border: var(--input-border-hover);
}
input[type="text"]:not(:disabled):focus,
input[type="password"]:not(:disabled):focus,
input[type="number"]:not(:disabled):focus,
input[type="email"]:not(:disabled):focus,
input[type="tel"]:not(:disabled):focus,
input[type="date"]:not(:disabled):focus,
textarea:not(:disabled):focus:not(.monaco-editor .inputarea){
	border: var(--input-border-focus);
	box-shadow: inset 0 0 0 1px var(--turquoise), 0 0 0 3px var(--turquoise-light);
	background-color: #fff;
}




/**** CUSTOM INPUT ****/

/* Wrapper */
.custom_input{
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
	background: var(--input-bg);
	border: var(--input-border);
	border-radius: var(--input-radius);
	transition: all 200ms ease-in-out;
	width: 200px;
	max-width: 100%;
	margin: 0;
	font-size: 14px;
	font-weight: inherit;
	line-height: 20px;
	color: var(--grey-0);
	outline: none;
	padding: 0;
	text-align: left;
}
.custom_input,
.custom_input input:-webkit-autofill {
	transition: all 200ms ease-in-out;
}
.custom_input.bg_white{
	--input-bg: #fff;
}
.custom_input.w_full{
	width: 100%;
}
.custom_input.h_full,
.custom_input.h_full textarea{
	height: 100%;
}
.custom_input.w_auto{
	width: auto;
}
.custom_input.w_xxs{
	width: 70px;
}
.custom_input.w_xs{
	width: 100px;
}
.custom_input.w_s{
	width: 130px;
}
.custom_input.w_m{
	width: 200px;
}
.custom_input.w_l{
	width: 260px;
}
.custom_input.w_xl{
	width: 320px;
}
.custom_input.is_autogrow input{
	width: 80px;
	flex: none;
}

/* Cursor */
.custom_input:not(.disabled){
	cursor: text;
}
.custom_input:not(.disabled).clickable {
	cursor: pointer;
}
.custom_input.disabled{
	cursor: default;
}
.custom_input.disabled *{
	cursor: inherit;
}

/* Hover */
.custom_input:not(.disabled):not(.no_effect):hover{
	border: var(--input-border-hover);
}

/* Focus */
.custom_input:not(.disabled):not(.no_effect):focus,
.custom_input:not(.disabled):not(.no_effect):focus-within{
	border: var(--input-border-focus);
	box-shadow: 0 0 0 1px var(--turquoise), 0 0 0 3px var(--turquoise-light);
	background-color: #fff;
}

/* Error */
.custom_input:not(.disabled):not(.no_effect).error{
	border: var(--input-border-error);
	box-shadow: 0 0 0 1px var(--red);
	background-color: #fff;
}
.custom_input:not(.disabled):not(.no_effect).error:focus,
.custom_input:not(.disabled):not(.no_effect).error:focus-within{
	box-shadow: 0 0 0 1px var(--red), 0 0 0 3px var(--red-light);
}

/* Focus and Error */
.custom_input:not(.disabled):not(.no_effect):focus,
.custom_input:not(.disabled):not(.no_effect):focus-within,
.custom_input:not(.disabled):not(.no_effect).error{
	background-color: #fff;
}

/* Highlighted */
.custom_input.highlighted {
	background-color: var(--turquoise) !important;
	border-color: var(--turquoise) !important;
	color: var(--white) !important;
}

/* Disabled */
.custom_input.disabled{
	color: var(--grey-3);
}
.custom_input.disabled .custom_input_arrow {
	opacity: .6;
}

/* No pointer event */
.custom_input.no_pointer_event {
	pointer-events: none;
}


/* INPUT */
.custom_input input[type="text"],
.custom_input input[type="password"],
.custom_input input[type="number"],
.custom_input input[type="email"],
.custom_input input[type="tel"],
.custom_input input[type="date"],
.custom_input textarea:not(.monaco-editor .inputarea),
.custom_input .custom_input_value{
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;

	flex: 1 1 auto;
	padding: 0;
	border-radius: var(--input-radius);
	color: inherit;
	line-height: inherit;
	outline: none;
	min-width: 0;
	padding: 8px 10px;
	font-size: inherit;
	width: 100%;
}

.custom_input input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 50px var(--input-bg) inset !important;
}

.custom_input.w_auto .custom_input_value{
	width: auto;
}

.custom_input input,
.custom_input input:hover,
.custom_input input:focus,
.custom_input textarea,
.custom_input textarea:hover,
.custom_input textarea:focus{
	border: none;
}
.custom_input textarea{
	resize: none;
}

.custom_input.do_btn_hug {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

/* Remove webkit blue background */
.custom_input:not(.disabled):focus input:-webkit-autofill,
.custom_input:not(.disabled):focus-within input:-webkit-autofill,
.custom_input:not(.disabled).error input:-webkit-autofill{
	-webkit-box-shadow: 0 0 0 50px #fff inset !important;
}


/* Size */
.custom_input.l{
	font-size: 15px;
}
.custom_input.xl,
.custom_input.xxl {
	font-size: 16px;
}

.custom_input.xs input,
.custom_input.xs textarea:not(.monaco-editor .inputarea),
.custom_input.xs .custom_input_value{
	padding: 3px 8px;
}
.custom_input.s input,
.custom_input.s textarea:not(.monaco-editor .inputarea),
.custom_input.s .custom_input_value{
	padding: 6px 8px;
}
.custom_input.m input,
.custom_input.m textarea:not(.monaco-editor .inputarea),
.custom_input.m .custom_input_value{
	padding: 8px 8px;
}
.custom_input.l input,
.custom_input.l textarea:not(.monaco-editor .inputarea),
.custom_input.l .custom_input_value{
	padding: 12px 14px;
}
.custom_input.xl input,
.custom_input.xl textarea:not(.monaco-editor .inputarea),
.custom_input.xl .custom_input_value{
	padding: 16px 20px;
}
.custom_input.xxl input,
.custom_input.xxl textarea:not(.monaco-editor .inputarea),
.custom_input.xxl .custom_input_value{
	padding: 18px 28px;
}

.custom_input.xs .custom_input_value.has_label{
	padding: 0px 8px;
}
.custom_input.s .custom_input_value.has_label{
	padding: 2px 8px;
}
.custom_input.m .custom_input_value.has_label{
	padding: 5px 12px;
}
.custom_input.l .custom_input_value.has_label{
	padding: 12px 14px;
}
.custom_input.xl .custom_input_value.has_label{
	padding: 16px 20px;
}
.custom_input.xxl .custom_input_value.has_label{
	padding: 18px 28px;
}

/* Horizontal padding */
.custom_input.hp_s input,
.custom_input.hp_s textarea:not(.monaco-editor .inputarea),
.custom_input.hp_s .custom_input_value{
	padding-left: 4px;
	padding-right: 4px;
}

/* Horizontal align */
.custom_input.al_center input,
.custom_input.al_center textarea:not(.monaco-editor .inputarea),
.custom_input.al_center .custom_input_value{
	text-align: center;
}


.custom_input.ghost{
	background: none;
	border-color: transparent;
	color: inherit;
	font-size: inherit;
}
.custom_input.ghost.disabled {
	opacity: .4;
}
.custom_input.ghost.has_clue{
	position: relative;
}
.custom_input.ghost.has_clue::after{
	content: "";
	position: absolute;
	bottom: 2px;
	left: 8px;
	right: 8px;
	border-top: dashed 1px var(--grey-5);
	pointer-events: none;
	transition: opacity 200ms;
}
.custom_input.ghost.has_clue:hover::after,
.custom_input.ghost.has_clue:focus::after,
.custom_input.ghost.has_clue:focus-within::after{
	opacity: 0;
}

.custom_input_copy_wrapper{
	position: relative;
}
.custom_input_copy_wrapper .custom_input_copy{
	position: absolute;
    top: 13px;
    right: 13px;
}

.custom_select{
	position: relative;
	font-weight: inherit;
	margin-bottom: 0;
}
.custom_select:not(.disabled){
	cursor: pointer;
}
.custom_select::after{
	content: "";
	position: absolute;
	right: 6px;
	top: 50%;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	background: url(../Assets/common.svg) no-repeat;
	pointer-events: none;
}
.custom_select.disabled::after{
	display: none;
}
.custom_select select{
	appearance: none;
	padding-right: 26px !important;
}

::-webkit-input-placeholder {
	color: #979FB4;
}
::-moz-placeholder {
	color: #979FB4;
}
:-ms-input-placeholder {
	color: #979FB4;
}
:-moz-placeholder {
	color: #979FB4;
}

/* Icon */
.custom_input_icon{
	color: var(--grey-3);
	font-size: 14px;
	margin-right: 8px;
}
.custom_input_icon_before{
	flex: 0 0 auto;
	color: var(--grey-3);
	font-size: 13px;
	margin-left: 10px;
}
.custom_input.l .custom_input_icon_before {
	margin-left: 12px;
	margin-right: -4px;
}
.custom_input_icon_after{
	flex: 0 0 auto;
	color: var(--grey-3);
	font-size: 13px;
	margin-right: 10px;
}
.custom_input.l .custom_input_icon_after {
	margin-right: 12px;
	margin-left: -4px;
}

/* Unit */
.custom_input_unit{
	flex: 0 0 auto;
	margin-right: 8px;
	font-size: 12px;
}

/* Prepend */
.custom_input_prepend_text{
	flex: 0 0 auto;
	padding-left: 8px;
	user-select: none;
}
.custom_input_prepend_text + input {
	padding-left: 0px !important;
}
.custom_input.l .custom_input_prepend_text{
	padding-left: 14px;
}
.custom_input.xl .custom_input_prepend_text{
	padding-left: 20px;
}
.custom_input.xxl .custom_input_prepend_text{
	padding-left: 28px;
}

/* Up Down */
.custom_input_updown{
	flex: 0 0 auto;
	width: 30px;
	height: 34px;
	margin: -10px 0;
	color: var(--grey-4);
	font-size: 13px;
	display: flex;
	align-items: center;
	cursor: pointer;
	transition: color 200ms;
}
.custom_input_updown:hover,
.custom_input_updown:focus{
	color: var(--grey-2);
}
.custom_input_updown:first-child{
	margin-left: -1px;
	margin-right: -2px;
	justify-content: start;
	padding-left: 8px;
}
.custom_input_updown:last-child{
	margin-right: -1px;
	margin-left: -2px;
	justify-content: end;
	padding-right: 8px;
}

/* Inner label */
.custom_input.has_ellips .custom_input_value {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.custom_input_value.has_label {
	font-weight: 500;
	line-height: 20px;
}
.custom_input_value_label {
	display: block;
	font-size: 10px;
	font-weight: 400;
	line-height: 14px;
	color: var(--grey-2);
	text-transform: uppercase;
}
.custom_input.highlighted .custom_input_value_label {
	color: inherit;
}
.custom_input.s .custom_input_value_label {
	line-height: 10px;
	margin-top: 2px;
}

/* Value icon */
.custom_input_value_icon {
	margin-right: 6px;
	color: var(--grey-3);
}

/* Arrow */
.custom_input_arrow {
	width: 16px;
	height: 16px;
	background: url(../Assets/common.svg) no-repeat;
	cursor: pointer;
	margin-left: 4px;
	margin-right: 4px;
	flex: 0 0 auto;
}
.custom_input.highlighted .custom_input_arrow {
	background-position: -48px 0;
}
.custom_input.ghost.has_clue .custom_input_arrow {
	margin-left: -2px;
}

/* Reset */
.custom_input_reset {
	width: 30px;
	height: 30px;
	margin: -10px 2px -10px 0;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.custom_input_reset i {
	font-size: 15px;
	color: #8a8ea5;
}
.custom_input.highlighted .custom_input_reset i {
	color: inherit;
}

/* Datepicker */
.custom_input .react-datepicker-wrapper{
	flex: 1 1 auto;
}
.custom_input .react-datepicker__input-container{
	width: 100%;
}
.custom_input_no_date_picker input[type="date"]{
	cursor: text;
}
.custom_input_no_date_picker input[type="date"]::-webkit-inner-spin-button,
.custom_input_no_date_picker input[type="date"]::-webkit-calendar-picker-indicator{
	display: none;
    -webkit-appearance: none;
}

/* Color */
.custom_input .input_color{
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	margin-left: 5px;
	border-radius: 3px;
	cursor: pointer;
	box-shadow: inset 0 0 0 1px rgba(0,0,0,.1);
	transition: background 200ms;
}

/* Error */
.custom_input_sub_error{
	font-size: 13px;
	color: var(--red);
	margin-top: 4px;
}

/* Desc */
.custom_input_sub_desc{
	font-size: 13px;
	color: var(--grey-2);
	margin-top: 4px;
}

/* Date arrow */
.field_arrow{
	height: 38px;
	margin-left: 10px;
	margin-right: 10px;
	font-size: 13px;
	color: var(--grey-3);
}

/* Value */
.field_value{
	position: relative;
	background: #8890A0;
	color: #fff;
	line-height: 16px;
	padding: 5px 26px 5px 6px;
	margin: 5px 0 5px 5px;
	border-radius: 3px;
	align-self: flex-start;
}
.field_value_remove{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 26px;
	line-height: 26px;
	font-size: 12px;
	cursor: pointer;
	opacity: .5;
	text-align: center;
}
.field_value_remove:hover,
.field_value_remove:focus{
	opacity: 1;
}
.field_value .field_value_remove,
.field_value .field_value_remove i {
	color: inherit ;
}
