// Logo .logo { height: 3.25rem; margin-left: 2rem; } // Search .search { display: flex; align-items: center; justify-content: center; flex: 0 0 40%; &__input { font-family: inherit; font-size: inherit; color: inherit; border: none; background-color: var(--color-grey-light-2); padding: 0.7rem 2rem; border-radius: 100px; width: 90%; transition: all 0.2s; margin-right: -3.25rem; &:focus { outline: none; width: 100%; background-color: var(--color-grey-light-3); } &::placeholder, &::-webkit-input-placeholder { font-weight: 100; color: var(--color-grey-light-4); } } &__input:focus + &__button { background-color: var(--color-grey-light-3); } &__button { border: none; background-color: var(--color-grey-light-2); &:focus { outline: none; } &:active { transform: translateY(2px); } } &__icon { height: 2rem; width: 2rem; fill: var(--color-grey-dark-3); } } // User nav .user-nav { display: flex; align-items: center; align-self: stretch; //NOTE: make it cover the entire height & > * { height: 100%; padding: 0 2rem; cursor: pointer; display: flex; align-items: center; } & > *:hover { background-color: var(--color-grey-light-2); } &__icon-box { position: relative; } &__icon { height: 2.25rem; width: 2.25rem; fill: var(--color-grey-dark-3); } &__notification { font-size: 0.8rem; height: 1.75rem; width: 1.75rem; border-radius: 50%; background-color: var(--color-primary); color: white; position: absolute; top: 1.5rem; right: 1.1rem; display: flex; justify-content: center; align-items: center; } &__user-photo { height: 3.75rem; border-radius: 50%; margin-right: 1rem; } } // Side navigation .side-nav { font-size: 1.4rem; list-style: none; margin-top: 3.5rem; &__item { position: relative; &:not(:last-child) { margin-bottom: 0.5rem; } } &__item::before { content: ""; position: absolute; top: 0; left: 0; height: 100%; width: 3px; background-color: var(--color-primary); transform: scaleY(0); transform-origin: center; //NOTE: cool transition: transform 0.2s, width 0.4s cubic-bezier(1, 0, 0, 1) 0.2s, //NOTE: duration timing delay background-color 0.1s; } &__item:hover::before, &__item--active::before { transform: scaleY(1); width: 100%; } &__item:active::before { background-color: var(--color-primary-light); } &__link:link, &__link:visited { color: var(--color-grey-light-1); text-decoration: none; text-transform: uppercase; display: flex; align-items: center; padding: 1.5rem 3rem; position: relative; z-index: 10; } &__icon { width: 1.75rem; height: 1.75rem; margin-right: 2rem; fill: currentColor; //NOTE: color of current or parent element } } // Legal .legal { font-size: 1.2rem; color: var(--color-grey-light-4); text-align: center; padding: 2.5rem; }