/* Global Declaration */
div.checker span,
div.radio span { -webkit-font-smoothing: antialiased; }

div.selector, div.selector *, 
div.radio, div.radio *,
div.checker, div.checker *,
div.uploader, div.uploader * { margin: 0; padding: 0; }

/*Select*/
div.selector { border: 1px solid var(--gray-800); font-family: var(--font-display); background: var(--white); font-size: 15px; border-radius: 5px; width: 100%; display: flex; position: relative; overflow: hidden; cursor: pointer; transition: var(--transition); }
div.selector:hover{ border-color: var(--gray-600); }
div.selector:after{ content: '\f107'; font-family: var(--font-awesome); width: 18px; height: 18px; font-size: 18px; display: block; font-weight: 600; position: absolute; right: 15px; top: 11px; opacity: .5; transition: var(--transition); display: flex; align-items: center; justify-content: center; }
div.selector:hover:after{ rotate: 180deg; }
div.selector span { cursor: pointer; display: flex; width: 100%; padding: 12px 25px 12px 20px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;  }
div.selector select { top: 0; left: 15px; width: calc(100% - 30px); position: absolute; opacity: 0; border: none; cursor: pointer; height: 41px; }
div.selector.disabled { opacity: .5; }


/*Checkbox*/
div.checker { width:30px; height:26px; margin-right:5px; float:left; }
div.checker input { width:30px; height:26px; -moz-appearance: none; -webkit-appearance: none; -ms-appearance: none;}
div.checker span { width:30px; height:26px; }
div.checker span.checked { background-position:0 -30px; }
div.checker.disabled span {	background-position:0 0; opacity:0.5; }
div.checker.disabled span.checked {	background-position:0 -30px; opacity:0.5; }

/*Radio*/
div.radio { width:25px; height:25px; }
div.radio input { width:25px; height:25px; cursor:pointer; }
div.radio span { height:25px; width:25px; }
div.radio span.checked { background-position:0 -32px; }
div.radio.disabled span { background-position:0 0; opacity:0.5; }
div.radio.disabled span.checked { background-position:0 0; opacity:0.5; }

/*CORE FUNCTIONALITY */
div.selector, 
div.checker, 
div.radio, 
div.uploader { display: -moz-inline-box; display: inline-block; vertical-align: middle; zoom: 1; *display: inline; }

div.selector select:focus, 
div.radio input:focus, 
div.checker input:focus, 
div.uploader input:focus { outline: 0; }

/* Checker */
div.checker { position: relative; top:-5px; }
div.checker span { display: -moz-inline-box; display: block; text-align: center;	}
div.checker input {	opacity: 0;	display: inline-block; background: none; }

/* Radio */
div.radio { position: relative; top:-2px; }
div.radio span { /*display:-moz-inline-box;*/ display:block; text-align:center; }
div.radio input { opacity: 0; text-align: center;	display: inline-block; background: none; }	
