@mixin shadow-start($color) {
  @include dir-ltr {
    @include shadow($color)
  }

  @include dir-rtl {
    @include shadow-right($color)
  }
}

@mixin shadow-end($color) {
  @include dir-ltr {
    @include shadow-right($color)
  }

  @include dir-rtl {
    @include shadow($color)
  }
}

@mixin shadow($color) {
  /* Generated with http://www.colorzilla.com/gradient-editor */
  background: -moz-linear-gradient(left, rgba($color,1) 0%, rgba($color,0) 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba($color,1)), color-stop(100%,rgba($color,0))); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(left, rgba($color,1) 0%,rgba($color,0) 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(left, rgba($color,1) 0%,rgba($color,0) 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(left, rgba($color,1) 0%,rgba($color,0) 100%); /* IE10+ */
  background: linear-gradient(to right, rgba($color,1) 0%,rgba($color,0) 100%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#{ie_hex_str(rgba($color, 1))}', endColorstr='#{ie_hex_str(rgba($color, 0))}',GradientType=1 ); /* IE6-9 */

  @include mobile {
    /* IE9 SVG, needs conditional override of 'filter' to 'none' */
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjgiLz4KICAgIDxzdG9wIG9mZnNldD0iNjYlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAuNCIvPgogICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZ3JhZC11Y2dnLWdlbmVyYXRlZCkiIC8+Cjwvc3ZnPg==);
    background: -moz-linear-gradient(left, rgba($color,0.8) 0%, rgba($color,0.4) 66%, rgba($color,0) 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba($color,0.8)), color-stop(66%,rgba($color,0.4)), color-stop(100%,rgba($color,0))); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(left, rgba($color,0.8) 0%,rgba($color,0.4) 66%,rgba($color,0) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(left, rgba($color,0.8) 0%,rgba($color,0.4) 66%,rgba($color,0) 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(left, rgba($color,0.8) 0%,rgba($color,0.4) 66%,rgba($color,0) 100%); /* IE10+ */
    background: linear-gradient(to right, rgba($color,0.8) 0%,rgba($color,0.4) 66%,rgba($color,0) 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#{ie_hex_str(rgba($color, 1))}', endColorstr='#{ie_hex_str(rgba($color, 0))}',GradientType=1 ); /* IE6-8 */
  }
}

@mixin shadow-right($color) {
  /* Generated with http://www.colorzilla.com/gradient-editor */
  background: -moz-linear-gradient(left, rgba($color,0) 0%, rgba($color,1) 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba($color,0)), color-stop(100%,rgba($color,1))); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(left, rgba($color,0) 0%,rgba($color,1) 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(left, rgba($color,0) 0%,rgba($color,1) 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(left, rgba($color,0) 0%,rgba($color,1) 100%); /* IE10+ */
  background: linear-gradient(to right, rgba($color,0) 0%,rgba($color,1) 100%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#{ie_hex_str(rgba($color, 0))}', endColorstr='#{ie_hex_str(rgba($color, 1))}',GradientType=1 ); /* IE6-9 */

  @include pad_portrait {
    /* IE9 SVG, needs conditional override of 'filter' to 'none' */
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjgiLz4KICAgIDxzdG9wIG9mZnNldD0iNjYlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAuNCIvPgogICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZ3JhZC11Y2dnLWdlbmVyYXRlZCkiIC8+Cjwvc3ZnPg==);
    background: -moz-linear-gradient(left, rgba($color,0) 0%, rgba($color,0.4) 33%, rgba($color,0.8) 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba($color,0)), color-stop(33%,rgba($color,0.4)), color-stop(100%,rgba($color,0.8))); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(left, rgba($color,0) 0%,rgba($color,0.4) 33%,rgba($color,0.8) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(left, rgba($color,0) 0%,rgba($color,0.4) 33%,rgba($color,0.8) 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(left, rgba($color,0) 0%,rgba($color,0.4) 33%,rgba($color,0.8) 100%); /* IE10+ */
    background: linear-gradient(to right, rgba($color,0) 0%,rgba($color,0.4) 33%,rgba($color,0.8) 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#{ie_hex_str(rgba($color, 0))}', endColorstr='#{ie_hex_str(rgba($color, 1))}',GradientType=1 ); /* IE6-8 */
  }
  @include phone {
    /* IE9 SVG, needs conditional override of 'filter' to 'none' */
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjgiLz4KICAgIDxzdG9wIG9mZnNldD0iNjYlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAuNCIvPgogICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZ3JhZC11Y2dnLWdlbmVyYXRlZCkiIC8+Cjwvc3ZnPg==);
    background: -moz-linear-gradient(left, rgba($color,0.8) 0%, rgba($color,0.4) 66%, rgba($color,0) 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba($color,0.8)), color-stop(66%,rgba($color,0.4)), color-stop(100%,rgba($color,0))); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(left, rgba($color,0.8) 0%,rgba($color,0.4) 66%,rgba($color,0) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(left, rgba($color,0.8) 0%,rgba($color,0.4) 66%,rgba($color,0) 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(left, rgba($color,0.8) 0%,rgba($color,0.4) 66%,rgba($color,0) 100%); /* IE10+ */
    background: linear-gradient(to right, rgba($color,0.8) 0%,rgba($color,0.4) 66%,rgba($color,0) 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#{ie_hex_str(rgba($color, 1))}', endColorstr='#{ie_hex_str(rgba($color, 0))}',GradientType=1 ); /* IE6-8 */
  }
}

@mixin shadow-bottom {
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjElIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjciLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZ3JhZC11Y2dnLWdlbmVyYXRlZCkiIC8+Cjwvc3ZnPg==);
  @include linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent, $fallback: transparent);
}

@mixin shadow-bottom-inverted {
  @include linear-gradient(to top, rgba(255, 255, 255, 0.7), transparent, $fallback: transparent);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#007db9e8', endColorstr='#ffffff',GradientType=0 )
}
