.custom-select-container {
  min-width: 300px;
  position: relative;
  box-sizing: border-box;
  color: #515050;
  font-size: 20px;
  font-weight: 400;
  text-transform: uppercase;
}

@media all and (max-width: 640px) {
  .custom-select-container {
    min-width: 100%;
  }
}
.custom-select-container * {
  box-sizing: border-box;
}
.custom-select-container.is-disabled {
  opacity: .333;
}
.custom-select-opener {
  background-color: #fff;
  padding: 0.5em;
  display: block;
  cursor: pointer;
  width: 100%;
  height: 50px;
  line-height: 36px;
  border-top-right-radius: 25px;
  border-bottom-right-radius: 25px;
  outline: none;
  border: none;
  border-bottom: 1px solid #f1ecf6;
  position: relative;
}
.custom-select-opener:after {
  position: absolute;
  right: 29px;
  top: 50%;
}

.custom-select-container .custom-select-opener:after {
  content: url(../img/select-open.png);
  transform: translateY(-50%) rotate(180deg);
}
.custom-select-container.is-open .custom-select-opener:after {
  content: url(../img/select-open.png);
  transform: translateY(-50%);
}
.custom-select-container select {
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
}
.custom-select-panel {
  max-height: 0;
  transition: max-height .5s ease-out, overflow-y 0.1s 0.5s;
  overflow: hidden;
  background-color: #fff;
  position: absolute;
  top: 100%;
  z-index: 100;
  width: 100%;
}
.custom-select-container.is-open .custom-select-panel {
  max-height: 305px;
  overflow-y: auto;
  background: #fff;
}
.custom-select-option {
  padding: 0.5em;
  cursor: pointer;
}
.custom-select-option.has-focus {
  background-color: #f1ecf6;
}
.custom-select-optgroup > .custom-select-option {
  padding-left: 2em;
}
.custom-select-optgroup::before {
  content: attr(data-label);
  display: block;
  padding: 0.5em;
  color: #888;
}
