:root {
  --c-select-bg: var(--c-input-bg);
  --c-select-border: var(--c-input-border);
  --c-select-radius: var(--c-control-border-radius);
  --c-select-shadow: var(--c-input-shadow-inset);

  --c-select-font-size: var(--c-input-font-size);
  --c-select-height: var(--c-input-height);
  --c-select-padding-y: 11px;
  --c-select-padding-left: 11px;
  --c-select-padding-right: 2.85em;
  --c-select-arrow-repeat: no-repeat;
  --c-select-arrow-position: right 0.75em center;
	--c-select-arrow-color: #666;
  --c-select-arrow-size: 6px;
  --c-select-arrow-gap: 14px;
  --c-select-right-padding: 44px;
  --c-select-end-addon-space: 0px;
  --c-select-padding-y: 11px;
  --c-select-padding-x: 11px;
  --c-select-padding-right: calc(var(--c-select-padding-x) + 22px + var(--c-select-end-addon-space));
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-radius: 0;
  width: 100%;
  font-size: var(--c-control-font-size);
  line-height: var(--c-control-line-height);
  opacity: 1 !important;
}

select:not([multiple]):not([size]) {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: var(--c-input-height, 44px);
  font-size: var(--c-input-font-size, 14px);
  line-height: var(--c-control-line-height, 18px);
  background-color: var(--c-input-bg, #eee);
  border: var(--c-control-border-width, 1px) var(--c-control-border-style, solid) var(--c-input-border, #ddd);
  border-radius: var(--c-control-border-radius, 4px);
  box-shadow: var(--c-input-shadow-inset, inset 0 2px 1px 0 rgba(0,0,0,0.2));
  color: var(--c-input-color, #555);
  padding: var(--c-select-padding-y) var(--c-select-padding-right) var(--c-select-padding-y) var(--c-select-padding-x);
  background-image:
    linear-gradient(45deg, transparent 50%, var(--c-select-arrow-color) 50%),
    linear-gradient(135deg, var(--c-select-arrow-color) 50%, transparent 50%);
  background-repeat: no-repeat;
  background-size:
    var(--c-select-arrow-size) var(--c-select-arrow-size),
    var(--c-select-arrow-size) var(--c-select-arrow-size);
  background-position:
    calc(100% - var(--c-select-end-addon-space) - var(--c-select-arrow-gap)) 50%,
    calc(100% - var(--c-select-end-addon-space) - var(--c-select-arrow-gap) + var(--c-select-arrow-size)) 50%;
  background-clip: padding-box;
}

select:not([multiple]):not([size]):hover {
  background-color: var(--c-input-hover-bg, var(--c-input-bg, #eee));
  border-color: var(--c-input-hover-border, #333);
}

select:not([multiple]):not([size]):focus {
  outline: 0 none;
  background: var(--c-input-focus-bg, #fefefe);
  border-color: var(--c-input-focus-border, #333);
  color: var(--c-input-focus-color, #333);
  box-shadow:
    var(--c-input-shadow-inset, inset 0 2px 1px 0 rgba(0,0,0,0.2)),
    0 0 0 var(--c-focus-ring-width, 3px) var(--c-input-focus-ring, rgba(1,156,222,.35));
}

select:disabled {
  background: var(--c-input-disabled-bg, #f2f2f2);
  border-color: var(--c-input-disabled-border, #e2e2e2);
  color: var(--c-input-disabled-color, #888);
  cursor: not-allowed;
  opacity: var(--c-input-disabled-opacity, 0.8);
}

select option{
  padding: 10px 12px;
  border-bottom: 1px solid #ddd;
}
select option:last-child{
  border-bottom: 0;
}

select::-ms-expand { display:none; }

@media (forced-colors: active) {
  select:not([multiple]):not([size]) {
    background-image: none !important;
    forced-color-adjust: auto;
  }
}

.lt-ie10 select {
  background-image: none;
}

select:focus {
  outline: 0 none;

  background: var(--c-input-focus-bg);
  border: var(--c-control-border-width) var(--c-control-border-style) var(--c-input-focus-border);
  color: var(--c-input-focus-color);

  box-shadow:
    var(--c-input-shadow-inset),
    0 0 0 var(--c-focus-ring-width) var(--c-input-focus-ring);
}

select:hover {
  background: var(--c-input-hover-bg);
  border: var(--c-control-border-width) var(--c-control-border-style) var(--c-input-hover-border);
  color: var(--c-input-color);
}

select:disabled {
  background: var(--c-input-disabled-bg);
  border-color: var(--c-input-disabled-border);
  color: var(--c-input-disabled-color);
  cursor: not-allowed;
  opacity: var(--c-input-disabled-opacity);
}
