// varibles
$inputBorder: 1px solid rgba(0,0,0,0.1);


// on all elements with input class
.input{
	position: relative;
	font-weight: 400;
	font-style: normal;
	color: rgba(0,0,0,0.9);
	width: 100%;
	border-radius: 0.25rem;

	@include flexbox;
	@include flex-wrap(wrap);
}
.rtl .input.fix{
	@include flex-direction(row-reverse);
}

span.input{
	display: inline-flex;
	width: auto;
}

.input input{
	font-weight: 400;
	display: inline-flex;
	color: rgba(0,0,0,0.9);
	position: relative;
	line-height: 1;
	height:36px;
	padding: 8px 1em;
	background-color: #fff;
	border: $inputBorder;
	transition-duration:0.3s;
	transition-property:opacity, background-color, color, border;
	border-radius: 0.25rem;
	outline:none;
	-ms-flex:1 1 auto;
	flex:1 1 auto;
	width: 1%;
	display: -ms-flexbox;
	display:flex;
	-ms-flex-align:center;
	align-items:center;
}
.input input:hover{
	border-color:rgba(0,0,0,0.15);
}
.input input:focus, .input.focus input{
	border-color:rgba(128,192,208,0.9);
}
.input.active input{
	border-color:rgba(0,0,0,0.4);
}
// all type of errors
.input.error input{
	border-color:rgba(255,0,0,0.5);
}
.input.requirement input{
	border-color:rgba(255,0,0,0.3);
}
.input.warning input{
	border-color:rgba(255,145,0,0.5);
}
.input.ok input{
	border-color:rgba(39,128,39,0.5);
}
.input input.error{
	border-color:rgba(255,0,0,0.5);
}
.input input.requirement{
	border-color:rgba(255,0,0,0.3);
}
.input input.warning{
	border-color:rgba(255,145,0,0.5);
}
.input input.ok{
	border-color:rgba(39,128,39,0.5);
}

// for preview
.input.preview.error label{
	border-color:rgba(255,0,0,0.5);
}
.input.preview.requirement label{
	border-color:rgba(255,145,0,0.3);
}
.input.preview.warning label{
	border-color:rgba(255,145,0,0.5);
}
.input.preview.ok label{
	border-color:rgba(39,128,39,0.5);
}




.input .addon{
	padding: 5px 1em;
	line-height: 24px;
	text-align: center;
	border-radius: 0.25rem;
	white-space: nowrap;
	vertical-align: middle;
	margin: 0;
	font-style: normal;
	border:$inputBorder;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align:center;
	align-items:center;
	width: auto;
}
.input .addon.small{
	font-size:70%;
	padding-right:0.5em;
	padding-left:0.5em;
}
.input .addon:not(.btn)
{
	color: #444;
	background-color: rgba(0,0,0,0.05);
}
.input .addon.basic{
	background-color: #fff;
	border:$inputBorder;
}

.input .addon:empty{
	padding:5px;
}
// for radius
.ltr .input > :first-child{
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
.ltr .input > :not(div):last-child{
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}
.rtl .input:not(.fix) > :first-child{
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}
.rtl .input:not(.fix) > :not(div):last-child{
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

// for border
.ltr .input > .addon:first-child{
	border-right-width: 0;
}
.ltr .input > .addon:last-child{
	border-left-width: 0;
}
.ltr .input > .addon:not(:first-child):not(:last-child){
	border-left-width: 0;
}
// rtl
.rtl .input:not(.fix) > .addon:first-child{
	border-left-width: 0;
}
.rtl .input:not(.fix) > .addon:last-child{
	border-right-width: 0;
}
.rtl .input:not(.fix) > .addon:not(:first-child):not(:last-child){
	border-right-width: 0;
}

// for all inputs
.ltr .input > :not(:first-child):not(:last-child){
	border-radius: 0;
	border-right-width:0;
}
.rtl .input:not(.fix) > :not(:first-child):not(:last-child){
	border-radius: 0;
	border-left-width:0;
}


// error coloring for addons
.input.error .addon{
	color:rgba(255,0,0,1);
}
.input.warning .addon{
	color:rgba(255,145,0,1);
}
.input.ok .addon{
	color:rgba(39,128,39,1);
}


// only on input elements
input.input{
	font-weight: 400;
	display: inline-flex;
	color: rgba(0,0,0,0.9);
	position: relative;
	height:36px;
	line-height: 1;
	padding: 5px 1em;
	background-color: #fff;
	border: $inputBorder;
	transition: 0.3s;
	border-radius: 0.25rem;
	outline:none;
	width: auto;
}
input.input:hover{
	border-color:rgba(0,0,0,0.15);
}
input.input:focus, input.input.focus{
	border-color:rgba(128,192,208,0.9);
}
input.input.active{
	border-color:rgba(0,0,0,0.4);
}
// all type of errors
input.input.error{
	border-color:rgba(255,0,0,0.5);
}
input.input.requirement{
	border-color:rgba(255,0,0,0.3);
}
input.input.warning{
	border-color:rgba(255,145,0,0.5);
}
input.input.ok{
	border-color:rgba(39,128,39,0.5);
}




/* handle all type of files*/
// hide default file selctor
.input.preview input[type='file']{padding:0;margin:0;position:absolute;z-index:-1;width:0;height:0;opacity:0}
.input.preview input:focus+label:after{color:rgba(128, 192, 208, 0.9)}
// add some style on label
.input.preview label{position:relative;display:block;height:110px;width:110px;text-align:center;margin:0 auto;padding:0;-webkit-transition:.3s;transition:.3s;border-radius:3px;background-color:rgba(0,0,0,.05);border:1px solid transparent;}
.input.preview label:after{font-family:"siftal";content:"3";color:#bbb;display:inline-block;text-align:center;line-height:110px;font-size:50px;vertical-align:middle;}
.input.preview label[for^='avatar']:after{content:""}
.input.preview label[for^='logo']:after{content:"$"}
.input.preview label:hover{background-color:rgba(0,0,0,.07)}
.input.preview label span{display:inline-block;width:auto;}
.input.preview label img{position:absolute;top:0;bottom:0;right:0;left:0;margin:0 auto;max-width:108px;max-height:108px;width:auto;height:auto; padding:0;background-color:#eee;opacity:0;transition:0.3s}
.input.preview label img[src]{opacity:1;}


label{
	font-weight: bold;
	padding:5px 0;
	line-height:10px;
	display: inline-block;
	vertical-align: middle;
	font-size: 80%;
}
label+.input{
	margin-bottom: 10px;
}

.input label{
	width: 100%;
	margin-top:10px;
}



input[type="tel"],
input[type="email"],
input[type="date"],
input[type="url"],
input[name="email"],
input[name="website"]{
 direction: ltr;
}

input[type="number"] {
  direction: ltr;
  -moz-appearance: textfield;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}




