.lightbox { position: relative; top: 0px; left: 0px; width: 100%; height: 100%; z-index: 2000; backface-visibility: hidden; @include respond-to(desktop) { margin: 0 auto; width: $lightbox-width; max-width: $lightbox-max-width; height: auto; text-align: left; } .lightbox-body { position: relative; height: 100%; padding: $lightbox-padding; background: #fff; backface-visibility: hidden; @include respond-to(desktop) { max-height: $lightbox-min-height; } header { text-align: center; position: relative; button.close { font-family: $font-family-icons; position: absolute; top: 0px; right: 0px; display: block; border: none; background: none; padding: 0; margin: 0; color: $color-grey-dark; outline: none; } h2 { margin: 0; padding: 0; font-size: $font-size-bigger; font-weight: normal; line-height: 1em; color: $color-grey-dark; } } .content { overflow: hidden; } } } .lightbox-overlay { position: absolute; width: 100%; height: 100%; display: none; top: 0; left: 0; z-index: 1000; background: $color-grey-dark-alpha; overflow: auto; @include respond-to(desktop) { @include scut-vcenter-ib(".lightbox"); text-align: center; } &.show { display: block; } /* ngAnimate */ &.show-add { display: block; opacity: 0; transition: opacity 0.3s; .lightbox-body { transform: scale(0.7); transition: transform 0.3s; } } &.show-add-active { opacity: 1; .lightbox-body { transform: scale(1); } } &.show-remove { display: block; opacity: 1; transition: opacity 0.3s; .lightbox-body { transform: scale(1); transition: transform 0.3s; } } &.show-remove-active { opacity: 0; .lightbox-body { transform: scale(0.7); } } }