@oslokommune/punkt-css
Version:
CSS-rammeverket til Punkt, et designsystem laget av Oslo Origo
273 lines (272 loc) • 5.98 kB
CSS
/*
* Header component
*/
.pkt-header {
background-color: var(--pkt-color-background-default);
border-bottom: 1px solid var(--pkt-color-border-subtle);
color: var(--pkt-color-text-body-default);
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 1rem;
height: 4.5rem;
z-index: 10;
}
@media screen and (min-width: 48rem) {
.pkt-header {
height: 5.5rem;
}
}
@media screen and (min-width: 80rem) {
.pkt-header {
height: 6.5rem;
padding: 0 2rem;
}
}
.pkt-header--fixed {
width: 100vw;
position: fixed;
top: 0;
left: 0;
}
.pkt-header--scroll-to-hide {
transform: translate3d(0, 0, 0);
transition: 0.5s transform ease-in-out;
}
.pkt-header--hidden {
transform: translate3d(0, -100%, 0);
}
.pkt-header__logo {
flex: 0 1 auto;
display: flex;
align-items: center;
gap: 1rem;
margin: 0;
padding: 0.375rem 0 0;
}
@media screen and (min-width: 80rem) {
.pkt-header__logo {
padding: 0.25rem 0 0;
gap: 1.5rem;
}
}
.pkt-header__logo-link, .pkt-header__logo-service {
display: inline-block;
margin: 0;
padding: 0;
}
.pkt-header__logo svg {
--fg-color: var(--pkt-color-text-body-default);
}
.pkt-header__logo-service {
padding-top: 0.3rem;
display: none;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
letter-spacing: -0.2px;
font-weight: 300;
font-size: 1.375rem;
line-height: 2.125rem;
}
@media screen and (min-width: 48rem) {
.pkt-header__logo-service {
display: inline-block;
}
}
@media screen and (min-width: 80rem) {
.pkt-header__logo-service {
padding-top: 0.6rem;
letter-spacing: -0.2px;
font-weight: 300;
font-size: 1.5rem;
line-height: 2.25rem;
}
}
.pkt-header__logo-svg {
height: 3.25rem;
width: 6.2903225806rem;
}
@media screen and (min-width: 80rem) {
.pkt-header__logo-svg {
height: 4rem;
width: 7.7419354839rem;
}
}
.pkt-header--narrow {
padding: 0 1rem;
height: 4.5rem;
}
.pkt-header--narrow .pkt-header__logo {
gap: 1rem;
}
.pkt-header--narrow .pkt-header__logo-service {
padding-top: 0.28rem;
letter-spacing: -0.2px;
font-weight: 300;
font-size: 1.125rem;
line-height: 1.75rem;
}
.pkt-header--narrow .pkt-header__logo-svg {
height: 3rem;
width: 5.8064516129rem;
}
@media screen and (min-width: 0) and (max-width: 64rem) {
.pkt-header__menu-btn {
border: 0;
}
.pkt-header__menu-btn .pkt-btn__text {
display: none;
}
}
.pkt-header__user-btn {
border-color: var(--pkt-color-brand-yellow-1000);
}
.pkt-header__actions {
flex: 1 0 auto;
display: flex;
justify-content: flex-end;
align-items: stretch;
}
.pkt-header__actions-row {
list-style: none;
padding-left: 0;
margin: 0;
display: flex;
align-items: center;
gap: 2rem;
}
.pkt-header__actions-row > li {
padding: 0;
}
.pkt-header__dropdown {
z-index: 2;
position: absolute;
margin: 0;
margin-top: 0.75rem;
right: 0;
left: 0;
padding-left: 0;
list-style: none;
visibility: hidden;
max-height: calc(100vh - 4.5rem);
overflow-x: hidden;
overflow-y: auto;
color: var(--pkt-color-text-body-dark);
}
@media screen and (min-width: 48rem) {
.pkt-header__dropdown {
margin-top: 1rem;
left: auto;
right: 0;
min-width: 23rem;
width: auto;
}
}
.pkt-header__dropdown > li {
padding: 2rem;
background-color: var(--pkt-color-surface-subtle-white);
}
.pkt-header__dropdown > li.footer {
padding-top: 1rem;
padding-bottom: 1rem;
}
.pkt-header__dropdown > li:nth-child(odd) {
background-color: var(--pkt-color-surface-default-gray);
}
.pkt-header__user-fullname {
display: none;
}
@media screen and (min-width: 80rem) {
.pkt-header__user-fullname {
display: inline;
}
}
.pkt-header__user-shortname {
display: inline;
}
@media screen and (min-width: 80rem) {
.pkt-header__user-shortname {
display: none;
}
}
@media screen and (min-width: 48rem) {
.pkt-header--has-dropdown {
position: relative;
}
}
.pkt-header--has-dropdown > .pkt-btn:hover .pkt-btn--closed {
--fg-color: var(--pkt-color-surface-subtle-white);
}
.pkt-header--has-dropdown .pkt-btn--open {
display: none;
}
.pkt-header--has-dropdown .pkt-btn--closed {
display: none;
}
@media screen and (min-width: 80rem) {
.pkt-header--has-dropdown .pkt-btn--closed {
display: inline-block;
}
}
.pkt-header--has-dropdown.pkt-header--open-dropdown > .pkt-btn {
background-color: var(--pkt-color-border-states-active);
border-color: var(--pkt-color-border-states-active);
color: var(--pkt-color-surface-subtle-white);
}
.pkt-header--has-dropdown.pkt-header--open-dropdown > .pkt-btn .pkt-btn--open {
--fg-color: var(--pkt-color-surface-subtle-white);
}
@media screen and (min-width: 80rem) {
.pkt-header--has-dropdown.pkt-header--open-dropdown > .pkt-btn .pkt-btn--open {
display: inline-block;
}
}
.pkt-header--has-dropdown.pkt-header--open-dropdown > .pkt-btn .pkt-btn--closed {
display: none;
}
.pkt-header--has-dropdown.pkt-header--open-dropdown .pkt-header__dropdown {
visibility: visible;
}
.pkt-user-menu p {
margin: 0;
}
.pkt-user-menu__label {
color: var(--pkt-color-grays-gray-600);
letter-spacing: -0.2px;
font-weight: 500;
font-size: 0.875rem;
line-height: 1.375rem;
}
.pkt-user-menu__name {
letter-spacing: -0.2px;
font-weight: 500;
font-size: 1.125rem;
line-height: 1.75rem;
}
.pkt-user-menu__last-logged-in, .pkt-user-menu__org_number {
letter-spacing: -0.2px;
font-weight: 300;
font-size: 1rem;
line-height: 1.5rem;
}
.pkt-user-menu .pkt-list {
margin: 0;
}
.pkt-user-menu .pkt-list .pkt-link {
color: var(--pkt-color-text-body-dark);
text-decoration: none;
}
.pkt-user-menu .pkt-list .pkt-link:hover {
text-decoration: underline;
}
.pkt-user-menu .pkt-list > li > a {
grid-template-columns: 1.5rem auto;
gap: 0.5rem;
}
.pkt-user-menu .pkt-list-horizontal {
margin: 0;
}
.pkt-user-menu .pkt-list-horizontal .pkt-link {
color: var(--pkt-color-text-body-dark);
}