@import '../constants/dimensions'; @import '../constants/colors'; .modal { display: none; position: absolute; z-index: 1000; top: 0; left: 0; right: 0; bottom: 0; padding: $padding-lg; grid-template-columns: 1fr; grid-template-rows: 1fr; &.modal--fixed-height .modal__content { height: 100%; } &.modal--open { display: grid; } .modal__backdrop { background: $bg-backdrop; position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: -1; } .modal__content { display: grid; grid-template-columns: 1fr; grid-template-rows: auto 1fr auto; margin: auto; color: $font-super-light-bg; border-radius: $radius-md; box-sizing: border-box; box-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.5); width: $modal-width; max-width: 100%; max-height: 100%; } &.modal--fixed-top .modal__content { margin: 0 auto auto auto; } .modal__header { border-bottom: 1px solid $hl-md; height: $line-height-md; font-size: $font-size-lg; line-height: $line-height-md; padding: 0 $padding-md; position: relative; background-color: $bg-light; .modal__close-btn { position: absolute; height: 100%; right: 0; } } .modal__body { overflow: auto; background-color: $bg-super-light; } .modal__footer { border-top: 1px solid $hl-md; background-color: $bg-super-light; } .modal__content > *:not(.modal__backdrop):last-child { border-bottom-left-radius: $radius-md; border-bottom-right-radius: $radius-md; } // 2nd child because the backdrop is the first .modal__content > *:nth-child(2) { border-top-left-radius: $radius-md; border-top-right-radius: $radius-md; } }