/* !HTML5 DateTime-Local polyfill | Jonathan Stipe | https://github.com/jonstipe/datetime-local-polyfill */

@mixin transition($data...) {
  -moz-transition: $data;
  -webkit-transition: $data;
  -o-transition: $data;
  -ms-transition: $data;
  transition: $data;
}

@mixin box-sizing($data) {
  -moz-box-sizing: $data;
  -webkit-box-sizing: $data;
  box-sizing: $data;
}

@mixin border-radius($data...) {
  -moz-border-radius: $data;
  -webkit-border-radius: $data;
  border-radius: $data;
}

button.datetime-local-datepicker-button:after {
  display: inline-block;
  content: "";
  width: 0;
  height: 0;
  border: {
    style: solid;
    width: 0.4em 0.4em 0em 0.4em;
    color: black transparent transparent transparent;
  }
  margin: 0em 0em 0.2em 0.7em;
  vertical-align: middle;
}

.csstransitions {
  div.datetime-local-calendar-dialog.datetime-local-closed {
    @include transition(opacity 0.4s linear);
    opacity: 0;
  }
  
  div.datetime-local-calendar-dialog.datetime-local-open {
    @include transition(opacity 0.4s linear);
    opacity: 1;
  }
}

div.datetime-local-spin-btn-container {
  display: inline-block;
  position: relative;
  vertical-align: bottom;
  margin: 0;
  padding: 0;
}

div.datetime-local-spin-btn {
  @include box-sizing(border-box);
  border: 2px outset #CCCCCC;
  background-color: #CCCCCC;
  width: 1.2em;
}

div.datetime-local-spin-btn-up {
  @include border-radius(3px 3px 0px 0px);
  border-bottom-width: 1px;
}

div.datetime-local-spin-btn-down {
  @include border-radius(0px 0px 3px 3px);
  border-top-width: 1px;
}

div.datetime-local-spin-btn-up:before,
div.datetime-local-spin-btn-down:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  position: absolute;
  left: 50%;
  margin: -0.15em 0 0 -0.3em;
  padding: 0;
}

div.datetime-local-spin-btn-up:before {
  border: {
    width: 0 0.3em 0.3em 0.3em;
    color: transparent transparent black transparent;
  }
  top: 25%;
}

div.datetime-local-spin-btn-down:before {
  border: {
    width: 0.3em 0.3em 0 0.3em;
    color: black transparent transparent transparent;
  }
  top: 75%;
}

div.datetime-local-spin-btn:hover {
  cursor: pointer;
}

div.datetime-local-spin-btn:active {
  border: 2px inset #999999;
  background-color: #999999;
}

div.datetime-local-spin-btn-up:active:before {
  border-color: transparent transparent white transparent;
  top: 26%;
  left: 51%;
}

div.datetime-local-spin-btn-down:active:before {
  border-color: white transparent transparent transparent;
  top: 76%;
  left: 51%;
}

div.datetime-local-calendar-dialog {
  z-index: 100;
}
