// Media breakpoints
// @todo Fix the indents here
@mixin breakpoint($which...) {
    $breaks: "";

    @each $breakpoint in $which {
        @if map-has-key($site-breakpoints, $breakpoint) {
            @if $breaks != "" {
                $breaks: "#{$breaks}, ";
            }

            $breakpoint-terms: map-get($site-breakpoints, $breakpoint);
            $list-len: length($breakpoint-terms);
            $next-break: "";

            @while $list-len > 1 {
                @if $next-break != "" {
                    $next-break: "#{$next-break} and ";
                }

                $next-break: "#{$next-break} (#{nth($breakpoint-terms, $list-len - 1)} : #{nth($breakpoint-terms, $list-len)})";
                $list-len: $list-len - 2;
            }

            $breaks: "#{$breaks} #{$next-break}";
        }
    }

    @media #{$breaks} {
        @content;
    }
}
