blob: a190197f8b5a0dc3f4f6754b2e1ce77922a4ae6b [file] [edit]
@use "../config" as *;
@use "breakpoints" as *;
// Container widths
//
// Set the container width, and override it for fixed navbars in media queries.
// Container mixins
@mixin make-container($gutter: $container-padding-x) {
--gutter-x: #{$gutter};
--gutter-y: 0;
width: 100%;
padding-inline: calc(var(--gutter-x) * .5);
margin-inline: auto;
}
@layer layout {
@if $enable-container-classes {
// Single container class with breakpoint max-widths
.container,
// 100% wide container at all breakpoints
.container-fluid {
@include make-container();
}
// Responsive containers that are 100% wide until a breakpoint
@each $breakpoint, $container-max-width in $container-max-widths {
.#{breakpoint-prefix($breakpoint, $breakpoints)}container {
@extend .container-fluid;
}
@include media-breakpoint-up($breakpoint, $breakpoints) {
// Extend each breakpoint which is smaller or equal to the current breakpoint
$extend-breakpoint: true;
%responsive-container-#{$breakpoint} {
max-width: $container-max-width;
}
@each $name, $width in $breakpoints {
@if ($extend-breakpoint) {
.#{breakpoint-prefix($name, $breakpoints)}container {
@extend %responsive-container-#{$breakpoint};
}
// Once the current breakpoint is reached, stop extending
@if ($breakpoint == $name) {
$extend-breakpoint: false;
}
}
}
}
}
}
}