.page-wrapper { width: 100%; margin: 0 auto; } main { scroll-snap-type: y mandatory; height: 100vh; overflow-y: scroll; @media screen and (min-width: 768px) { padding-left: 175px; } @media screen and (min-width: 920px) { padding-left: 280px; } } section { width: 100%; scroll-snap-align: start; scroll-snap-stop: always; height: 100vh; @media screen and (max-width: 767px) { padding-top: 80px; } .content { width: 100%; height: 100%; padding: var(--gap); overflow-x: hidden; overflow-y: auto; .wrapper { .title { position: relative; line-height: 1; padding-bottom: var(--gap-s); &:after { content: ''; position: absolute; bottom: 0; left: 0; width: 100px; height: 2px; background: var(--green); } } } } }