$grid_max: $grid_max_width + $grid_max_unit; $grid_main_main: $grid_main_main_width + $grid_main_main_unit; $grid_main_side: $grid_main_side_width + $grid_main_side_unit; $grid_column_gap: $grid_column_gap_width + $grid_column_gap_unit; .wrapper { display: grid; width: 100%; min-height: 100vh; max-width: $grid_max; grid-template-columns: minmax(350px, $grid_main_main) minmax(250px, $grid_main_side); grid-template-rows: $grid_navbar_height auto 1fr auto; grid-column-gap: $grid_column_gap; grid-row-gap: $grid_row_gap; } .header-main { grid-area: 2 / 1 / 3 / 2; } .header-side { grid-area: 2 / 2 / 3 / 3; } .header { grid-area: 2 / 1 / 3 / 3; } .main-main { grid-area: 3 / 1 / 4 / 2; } .main-side { grid-area: 3 / 2 / 4 / 3; } .main { grid-area: 3 / 1 / 4 / 3; } .footer-main { grid-area: 4 / 1 / 5 / 2; } .footer-side { grid-area: 4 / 2 / 5 / 3; } .footer { grid-area: 4 / 1 / 5 / 3; } .navbar-main { grid-area: 1 / 1 / 2 / 2; } .navbar-side { grid-area: 1 / 2 / 2 / 3; } .navbar { grid-area: 1 / 1 / 2 / 3; } .inner { display: grid; grid-template-columns: 266px 1fr 1fr; grid-template-rows: 1fr; grid-column-gap: 16px; grid-row-gap: 0px; &[data-sidebar-position="left"] { grid-template-columns: 266px 1fr 1fr; } &[data-sidebar-position="right"] { grid-template-columns: 1fr 1fr 266px; } } .l { grid-area: 1 / 1 / 2 / 2; } // left .m { grid-area: 1 / 2 / 2 / 3; } // middle .r { grid-area: 1 / 3 / 2 / 4; } // right .lm { grid-area: 1 / 1 / 2 / 3; } // left + middle .mr { grid-area: 1 / 2 / 2 / 4; } // middle + right .lmr { grid-area: 1 / 1 / 2 / 4; } // left + middle + right