.house { position: relative; @include bp (sm) { --columns: 20; grid-column-start: 3; } a { text-decoration: none; cursor: zoom-in; } // Information &__info { grid-column: 1 / span var(--columns); margin-bottom: 32px; padding: 0 20px; @include bp (mob-lg) { max-width: min(540px, 85vw); } @include bp (sm) { grid-column: 4 / span 14; margin-bottom: 56px; padding: 0; max-width: 800px; } .info { display: block; margin-top: 16px; color: $color-lightgray; line-height: 1.5; @include bp (sm) { margin-top: 24px; } & > * { display: inline-block; } svg { width: 1em; height: 1em; margin-right: 0.4em; margin-bottom: 3px; } .sep { margin: 0 4px; } } } // Photo &__photo { position: relative; display: block; grid-column: 1 / span 17; @include bp (sm) { border-radius: 8px; } picture { position: relative; z-index: 3; } img { display: block; width: 100%; height: auto; object-fit: contain; } } // Photo number &__index { position: absolute; z-index: 1; bottom: -64px; right: 20px; text-align: right; @include bp (sm) { left: 112.5%; width: 400px; top: 50%; bottom: auto; text-align: left; transform: translate3d(-50%, -50%, 0); } } // Even photos &:nth-child(even) { .house { &__photo { @include bp (sm) { grid-column-start: 4; } } &__info { @include bp (sm) { margin-left: auto; text-align: right; } } &__index { left: auto; right: 20px; @include bp (sm) { right: auto; left: -12%; text-align: right; } } } } }