@mixin hu-responsive-classes($property, $modules, $types: null) {
  $content-exists: content-exists();

  @if (index($modules, responsive)) {
    $class-name-property: hu-get-class-name($property);
    $property: hu-get-property-name($property);

    @each $mq-scale, $mq-value in $hu-media-queries {
      @include hu-media-query($mq-value) {
        @if ($types) {
          @each $type, $value in $types {
            $class-name: hu-class-name("#{$class-name-property}:#{$type}");
            $value: if($value, $value, $type);

            @include hu-responsive($class-name, $modules, $mq-scale) {
              #{$property}: $value #{hu-important()};
            }
          }
        }
        @else if ($content-exists) {
          $class-name: hu-class-name($class-name-property);

          @include hu-responsive($class-name, $modules, $mq-scale) {
            @content;
          }
        }
      }
    }
  }
}
