/*
    Based on great Codrops article
    http://tympanus.net/Development/SelectInspiration/index4.html
    with changes..
*/
.cs-select {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  text-align: left;
  background: #fff;
  z-index: 1000;
  width: 100%;
  height: 2.5rem;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  margin-top: -0.3125rem; }
  .cs-select:focus {
    outline: none; }
  .cs-select select {
    display: none; }
  .cs-select span {
    display: block;
    position: relative;
    cursor: pointer;
    padding: 0 1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
  .cs-select > span {
    padding-left: 1.875rem; }
    .cs-select > span::after {
      speak: none;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      content: '\25BE';
      left: 0; }
  .cs-select .cs-selected span::after {
    speak: none;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: '\2713';
    margin-left: 1rem; }
  .cs-select.cs-active {
    z-index: 2000; }
    .cs-select.cs-active > span::after {
      -webkit-transform: translateY(-50%) rotate(180deg);
      -ms-transform: translateY(-50%) rotate(180deg);
      transform: translateY(-50%) rotate(180deg); }
    .cs-select.cs-active .cs-options {
      visibility: visible; }
  .cs-select .cs-options {
    position: absolute;
    overflow: hidden;
    width: 100%;
    background: white;
    visibility: hidden; }
  .cs-select ul {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%; }
    .cs-select ul span {
      padding: 1rem; }
    .cs-select ul li.cs-focus span {
      background-color: #23222d; }
    .cs-select ul li.cs-optgroup ul {
      padding-left: 1rem; }
    .cs-select ul li.cs-optgroup > span {
      cursor: default; }

.cs-skin-slide {
  color: #23222d;
  font-size: 1.5rem; }
  .cs-skin-slide.cs-active {
    border: 0; }
    .cs-skin-slide.cs-active > span {
      text-indent: -18.125rem;
      opacity: 0; }
      .cs-skin-slide.cs-active > span::after {
        font-family: 'FontAwesome';
        content: '\f0c9';
        color: #ff4d4d;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-transform: translate3d(0, -50%, 0);
        -ms-transform: translate(0, -50%);
        transform: translate3d(0, -50%, 0); }
    .cs-skin-slide.cs-active .cs-options li {
      opacity: 1; }
  .cs-skin-slide > span {
    height: 2.5rem;
    line-height: 2.5rem;
    -webkit-transition: text-indent 0.3s, opacity 0.3s;
    transition: text-indent 0.3s, opacity 0.3s;
    font-size: 1rem;
    font-weight: 400;
    text-transform: uppercase; }
    .cs-skin-slide > span::after {
      font-family: 'FontAwesome';
      content: '\f0c9';
      color: #ff4d4d;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      font-size: 1.625rem; }
  .cs-skin-slide .cs-options {
    height: auto;
    max-height: 650%;
    overflow-y: auto;
    top: 50%;
    left: 50%;
    bottom: auto;
    right: auto;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    -webkit-transform: translate3d(-50%, -50%, 0);
    -ms-transform: translate(-50%, -50%);
    transform: translate3d(-50%, -50%, 0);
    box-shadow: 0 0 0.9375rem rgba(35, 34, 45, 0.15);
    background: white; }
    .cs-skin-slide .cs-options::-webkit-scrollbar {
      width: 0.375rem; }
    .cs-skin-slide .cs-options::-webkit-scrollbar-track {
      background-color: transparent;
      background-color: white; }
    .cs-skin-slide .cs-options::-webkit-scrollbar-thumb {
      background-color: #ff4d4d; }
    .cs-skin-slide .cs-options li {
      opacity: 0;
      -webkit-transition: opacity 1s;
      transition: opacity 1s; }
      .cs-skin-slide .cs-options li span {
        text-transform: uppercase;
        font-weight: 400;
        letter-spacing: 0.125rem;
        font-size: 85%;
        padding: 0.3125rem 1.25rem; }
        .cs-skin-slide .cs-options li span:hover {
          color: #ff4d4d;
          background: transparent; }
      .cs-skin-slide .cs-options li.cs-focus span {
        color: #ff4d4d;
        background: transparent; }
      .cs-skin-slide .cs-options li.cs-selected span {
        color: #ff4d4d;
        background: transparent; }
  .cs-skin-slide .cs-selected span::after {
    content: ''; }
