.modal { .mask { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 1000; background-color: rgba(0, 0, 0, 0.5); animation: 1s fadeIn ease both; } .window { position: fixed; top: 50%; left: 50%; z-index: 1001; transform: translate(-50%, -50%); width: calc(100% - #{rem(40px)}); max-width: rem(800px); background-color: #fff; border-radius: rem(10px); padding: rem(5px) 0; box-shadow: 2px 2px 5px 2px rgba(0, 0, 0, 0.3); animation: 0.3s fadeIn 0.5s ease both; @include media(">=sm") { min-width: rem(400px); } .close { position: absolute; right: rem(-10px); top: rem(-10px); width: rem(30px); height: rem(30px); fill: #fff; background-color: $primaryDark; border-radius: 50%; border: 2px solid #fff; padding: rem(5px); cursor: pointer; } .header { text-align: center; border-bottom: 1px solid $lightGray; padding: rem(15px); h2, p { margin: 0; font-size: rem(13px); } } .content { max-height: 90vh; overflow: auto; padding: rem(10px); ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; @include media(">=sm") { flex-direction: row; } li { flex: 1; margin: rem(15px); figure { position: relative; margin: 0; &:after { content: "Read now"; text-transform: uppercase; display: inline-block; background: $themeColor; color: #fff; font-size: rem(13px); font-weight: 700; line-height: rem(24px); padding: 0 rem(8px); position: absolute; bottom: 10%; left: -5px; transition: background 0.2s; } } img { display: block; max-width: 100%; height: auto; transition: all 0.2s ease-in-out; position: relative; } a { font-weight: normal; color: $primaryDark; text-decoration: none; transition: all 0.3s; &:hover { color: rgba(0, 0, 0, 0.5); img { -webkit-filter: grayscale(100%); filter: grayscale(100%); } figure { &:after { background: $primaryDark; } } } } h3 { font-size: rem(20px); margin-bottom: 0; } p { display: none; @include media(">=sm") { display: block; font-size: rem(15px); line-height: rem(20px); } } } } } } &.closed { display: none; } &.exit { .window { animation: 0.5s fadeIn 0.5s both, 0.5s zoomIn 0.5s both; } } }