// Container widths
//
// Set the container width, and override it for fixed navbars in media queries.

@if $enable-container-classes {
  // OUDS mod: `.container` selector is conditionally handle whenever `$enable-bootstrap-compatibility` is true
  // 100% wide container at all breakpoints
  .container-fluid {
    @include make-container();
  }

  @if $enable-bootstrap-compatibility { // OUDS mod
    // OUDS mod
    // Single container class with breakpoint max-widths
    .container {
      @include make-container();
    }
    // End mod

    // Responsive containers that are 100% wide until a breakpoint
    @each $breakpoint, $container-max-width in $container-max-widths {
      // OUDS mod: link 2xl breakpoint to xxl
      @if $breakpoint == 2xl {
        .container-xxl {
          @extend .container-fluid;
        }
      }
      // End mod

      .container-#{$breakpoint} {
        @extend .container-fluid;
      }

      @include media-breakpoint-up($breakpoint, $grid-breakpoints) {
        %responsive-container-#{$breakpoint} {
          max-width: $container-max-width;
        }

        // Extend each breakpoint which is smaller or equal to the current breakpoint
        $extend-breakpoint: true;

        @each $name, $width in $grid-breakpoints {
          @if ($extend-breakpoint) {
            .container#{breakpoint-infix($name, $grid-breakpoints)} {
              @extend %responsive-container-#{$breakpoint};
            }

            // Once the current breakpoint is reached, stop extending
            @if ($breakpoint == $name) {
              $extend-breakpoint: false;
            }
          }
        }
      }
    }
  }

  // OUDS mod
  // scss-docs-start containers-max
  .container-max-width {
    @include media-breakpoint-up(get-breakpoint-from-width()) {
      --#{$prefix}container-margin-x: #{map-get($container-fluid-margin, get-breakpoint-from-width())};
      max-width: $ouds-grid-2xl-max-width-alt;

      .row {
        --#{$prefix}gutter-x: #{map-get($grid-gutter-widths, get-breakpoint-from-width())};
      }
    }
  }
  // scss-docs-end containers-max
  // End mod
}
