html {

	.select2-container {
		@choice-height: 35px;
		@choice-dropdown-icon-width: @choice-height;
		
		width: 100%;
		
		.select2-choice {
			background: #fff  !important;
			border-color: @input-border !important;
			padding: 0;
			height: @choice-height;
			.border-radius(@border-radius-base)  !important;
			.box-shadow(none);
			
			.select2-chosen,
			.select2-search-choice-close, 
			.select2-arrow {
				padding: 0;
				line-height: @choice-height;
			}
			
			.select2-chosen {
				margin: 0;
				padding-left: @base-padding + 5;
				padding-right: @base-padding;
				margin-right: @choice-dropdown-icon-width;
			}
			
			.select2-search-choice-close {
				margin-right: @choice-dropdown-icon-width - @default-padding/2;
				top: @base-padding + 1;
			}
			
			.select2-arrow {
				background: #f5f5f5;
				border-left-color: @input-border;
				text-align: center;
				color: darken(@main-text-color, 15%);
				width: @choice-dropdown-icon-width;
				.border-radius(@border-radius-base);
				
				b {
					background: none !important;
					.transform(~"rotate(0deg)");
					.transition(~"all 150ms ease-in-out");
				
					&:before {
						position: relative;
						display: block;
						font-family: 'FontAwesome';
						content: '\f107';
					}
				}
			}
		}
		
		&.select2-dropdown-open {
			border-color: @input-border !important;
			.border-radius(@border-radius-base) !important;
			
			.select2-arrow {
				border-left: 1px solid @input-border !important;
				
				b {
					.transform(~"rotate(180deg)");
				}
			}
		}
		
		&.select2-container-multi {
			
			.select2-choices {
				border: 1px solid @input-border;
				background: #fff;
				.box-shadow(none);
				
				.select2-search-choice {
					background: #f5f5f5;
					border: 1px solid @input-border;
					.box-shadow(none) !important;
					.border-radius(@border-radius-base);
					
					div {
						color: darken(@main-text-color, 10%);
					}
				}
			}
		}
	}
	
	.select2-drop {
		border-top: 1px solid lighten(@input-border, 25%);
		.border-radius(@border-radius-base) !important;
		
		&.select2-drop-above {
			border: 1px solid @input-border !important;
			border-top: 1px solid @input-border !important;
			
			.select2-search input {
				margin-top: 0;
			}
		}
		
		&.select2-drop-active {
			border-color: @input-border;
			.box-shadow(none);
		}
		
		.select2-search {
			padding: 0;
			position: relative;
			
			&:after {
				position: absolute;
				content: '\e801';
				font-family: 'linecons';
				color: @main-text-color;
				right: 0;
				top: 0;
				bottom: 0;
				padding: @base-padding @default-padding/2;
				z-index: 2;
			}
		}
		
		.select2-input {
			.input-unstyled;
			padding: @base-padding @default-padding/2;
			padding-right: 45px;
			background-image: none !important;
			border-bottom: 1px solid darken(#f5f5f5, 5%);
			position: relative;
			z-index: 1;
			background: #f5f5f5;
		}
		
		.select2-results {
			padding: 0;
			margin: 0;
			max-height: 250px;
			
			&.overflow-hidden {
				overflow: hidden;
				position: relative;
			}
			
			li {
				
				&.select2-result-selectable .select2-result-label {
					color: darken(@main-text-color, 10%);
					padding-left: @default-padding/2;
				}
				
				&.select2-result-unselectable {
					
					.select2-result-label {
						padding: 8px @default-padding/2;
						color: darken(@main-text-color, 10%);
					}
				}
				
				&.select2-no-results,
				&.select2-searching {
					padding: @base-padding @default-padding/2;
					color: @main-text-color;
					background: #fff;
				}
				
				
				ul .select2-result-label {
					padding-left: @default-padding !important;
				}
				
				.select2-result-unselectable {
					
					&.select2-disabled {
						border: 0 !important;
						background: #f9f9f9;
						
						.select2-result-label {
							cursor: not-allowed;
							color: lighten(@main-text-color, 5%);
						}
					}
				}
				
				.select2-result-selectable {
					
					.select2-result-label {
						padding: 5px;
					}
					
					&.select2-highlighted {
						
						.select2-result-label {
							color: #fff;
						}
					}
				}
				
				&.select2-highlighted {
					background-color: @secondary-color;
					
					.select2-result-label {
						color: #fff;
					}
				}
			}
		}
	}
}