.choosebumps {
  font-family: 'Raleway';
  font-size: 18px;
  line-height: 1.58;
  border: 1px solid #eaeaea;
  width: 100%;
  outline: none;
  position: relative;
  box-sizing: border-box; }
  .choosebumps.cb--active, .choosebumps:focus {
    border-color: #ccc;
    outline: none; }
  .choosebumps *,
  .choosebumps *:before,
  .choosebumps *:after {
    box-sizing: border-box; }

.cb-main-item {
  padding: 1em 3em 1em 1em;
  cursor: default; }
  .cb-main-item.cb-placeholder:before {
    content: attr(placeholder);
    opacity: .4; }

.cb-caret {
  height: 1em;
  width: 1em;
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1; }
  .cb-caret path {
    stroke: #333;
    stroke-width: 20px; }

.cb-items {
  display: none;
  position: absolute;
  width: calc(100% + 2px);
  max-height: 300px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  top: calc(100% + 1px);
  left: -1px;
  z-index: 2;
  background: white;
  box-shadow: 0 15px 35px -10px rgba(0, 0, 0, 0.3);
  border: 1px solid #eaeaea;
  border-top: none; }
  .cb-items:empty:not([no-results-text]) {
    display: none !important; }
  .cb-items[no-results-text]:after {
    content: attr(no-results-text);
    padding: 1em;
    display: block; }
  .cb-items > div {
    padding: 1em;
    cursor: default; }
    .cb-items > div:not(:first-child) {
      border-top: 1px solid white; }
    .cb-items > div[category] {
      border-top: none; }
      .cb-items > div[category]:before {
        content: attr(category);
        display: block;
        margin: -1em -1em 1em -1em;
        padding: 0.5em 1em;
        background: #eaeaea;
        color: #919191; }
    .cb-items > div:hover {
      background-color: #30323F;
      color: #ffffff; }

.cb-selected-item {
  display: inline; }

.cb-selected {
  background-color: #30323F;
  color: #ffffff; }

.cb-tag {
  display: inline-block;
  background-color: #eaeaea;
  padding: 0 .5em;
  border-radius: .25em;
  margin: .25em; }
  .cb-tag svg {
    cursor: pointer;
    width: 10px;
    height: 10px;
    margin-left: 10px;
    stroke-width: 50px;
    stroke: #000;
    position: relative;
    top: -2px; }

.cb-active.cb-search-enabled .cb-placeholder:before {
  display: none; }

.cb-active.cb-search-enabled .cb-selected-item {
  position: absolute;
  opacity: .1; }

.cb-active .cb-items {
  display: block; }

.cb-active .cb-search {
  display: inline; }

.cb-search {
  display: none;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
  z-index: 1;
  outline: none;
  border: none;
  background-color: transparent; }

.cb-loader {
  position: absolute;
  top: 50%;
  margin-top: -0.5em;
  right: 1em;
  width: 1em;
  height: 1em;
  border: 2px solid;
  border-top-color: transparent;
  border-radius: 50%;
  animation: cb--spin 0.5s infinite linear;
  display: none; }

@keyframes cb--spin {
  100% {
    transform: rotate(1turn); } }
