.site-header { display: grid; @include justify-content(); padding: 0 20px; text-align: center; .site-header-wrapper { position: relative; overflow: hidden; background: var(--main-color); padding: 10px 25px 20px 25px; border-radius: 0 0 5px 5px; text-decoration: none; @include transition(background .2s ease); &:before { position: absolute; top: 0; left: -150%; content: ""; width: 50%; height: 100%; background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%); background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%); @include skew(-45deg, 0); } &:hover { background: var(--main-color-hover); &:before { animation: headerShine .35s; } } .site-logo { display: block; margin: 0 0 10px; img { display: block; } } .site-subtitle { display: block; font-family: 'Bebas Neue', sans-serif; font-size: 11px; line-height: 14px; color: var(--grey-fc); } .site-title { display: block; font-family: 'Bebas Neue', sans-serif; font-size: 26px; line-height: 28px; color: var(--grey-fc); } } } .site-navigation { @include flexbox(); @include justify-content(); @include align-items(); @include flex-flow(row wrap); gap: 10px 40px; max-width: 800px; margin: 30px auto 0; padding: 0 20px; text-align: center; a, span { position: relative; text-decoration: none; color: var(--grey-555); padding: 0 0 2px; @include transition(color .2s ease); cursor: pointer; &:before { position: absolute; opacity: 0; left: 0; bottom: 0; width: 0%; border-bottom: 2px solid var(--grey-222); @include transition(width .18s ease, opacity .18s ease); content: ""; } &:hover, &.active { color: var(--grey-222); &:before { width: 100%; opacity: 1; } } } } @media screen and (max-width: 800px) { .site-header { position: fixed; left: 0; top: 0; width: 100%; z-index: 9; background: var(--body-bg); box-shadow: 0 2px 5px rgba(0, 0, 0, .1); .site-header-wrapper { @include flexbox(); @include align-items(); @include justify-content(); @include flex-flow(row wrap); gap: 0 15px; border-radius: 0; padding: 20px; background: transparent; &:hover { background: transparent; } .site-logo, .site-subtitle { display: none; } .site-title { font-size: 32px; line-height: 36px; color: var(--main-color); } } } .site-navigation { position: fixed; bottom: 0; left: 0; width: 100%; height: 100%; @include justify-content(flex-start); @include flex-flow(column nowrap); gap: 20px 0; @include translate(0, -100%); @include transition(transform .25s ease-in-out); padding: 100px 20px 0; background: rgba(255, 255, 255, .9); z-index: 10; a, span { color: var(--grey-222); font-size: 30px; line-height: 40px; } } } .wrapper { max-width: 600px; margin: 0 auto; padding: 0 20px 35px; border-bottom: 1px solid var(--grey-eee); &.long { max-width: 800px; } } .site-footer { max-width: 800px; margin: 0 auto; padding: 40px 20px; font-size: 14px; line-height: 22px; color: var(--grey-ccc); text-align: center; }