@mixin expand-modal-fullscreen($hasModalHeader: true, $hasModalFooter: true, $margin: 1rem) { // full-screen modal width: auto; max-width: unset !important; height: calc(100vh - $margin * 2); margin: $margin !important; .modal-content { height: calc(100vh - $margin * 2); } .modal-body { padding: $margin; } // expand .modal-body (with calculating height) .modal-body { $modal-header: 54px; $modal-footer: 46px; $margin-body: 0; @if $hasModalHeader { $margin-body: $margin-body + $modal-header; } @if $hasModalFooter { $margin-body: $margin-body + $modal-footer; } height: calc(100% - #{$margin-body}); } } // expanded window layout .modal-dialog.grw-modal-expanded { @include expand-modal-fullscreen(true, true); } // expanded window layout without modal-header & modal-footer .modal-dialog.grw-body-only-modal-expanded { @include expand-modal-fullscreen(false, false); }