.layout__container { display: flex; height: 100%; flex-direction: column; } .layout__header { --item-size: 2.75rem; position: relative; z-index: 501; display: flex; justify-content: space-between; padding: var(--s-4); background-color: var(--bg); } .layout__page-heading { display: flex; align-items: center; font-size: var(--fonts-md); font-weight: var(--bold); gap: var(--s-2-5); letter-spacing: 0.02rem; } .layout__icon { background-color: var(--bg-lighter); background-image: url("/svg/background-pattern.svg"); border-radius: var(--rounded); } .layout__header__right-container { display: flex; gap: var(--s-4); justify-self: flex-end; } .main { width: 100%; max-width: 48rem; margin: 0 auto; padding-inline: var(--s-3); } .layout__main { padding-block-end: var(--s-32); } .layout__burger { display: flex; width: var(--item-size); height: var(--item-size); flex-direction: column; align-items: center; justify-content: center; padding: 0.25rem; border: 2px solid; border-color: var(--theme-transparent-vibrant); background-color: transparent; border-radius: 50%; color: inherit; cursor: pointer; gap: 2px; } .layout__burger__top-line { transform: none; transform-origin: 16px 10px; transition-duration: 150ms; transition-property: transform; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } .layout__burger__top-line.expanded { transform: translateY(7px) rotate(45deg); } .layout__burger__middle-line { opacity: 1; transition-duration: 150ms; transition-property: opacity; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } .layout__burger__middle-line.expanded { opacity: 0; } .layout__burger__bottom-line { transform: none; transform-origin: 16px 22px; transition-duration: 150ms; transition-property: transform; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } .layout__burger__bottom-line.expanded { transform: translateY(-5px) rotate(-45deg); } .layout__menu { position: absolute; z-index: 500; top: 0; right: 0; width: max-content; height: max-content; margin-top: 10rem; margin-right: -12rem; backdrop-filter: blur(10px) brightness(75%); background-color: var(--bg-lighter); background-image: url("/svg/background-pattern.svg"); border-end-start-radius: var(--rounded); border-start-start-radius: var(--rounded); overflow-y: auto; transition: margin-right 0.5s; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } .layout__menu.expanded { margin-right: 0; } .layout__menu__link__icon { width: 2rem; height: 2rem; background-color: var(--bg-lighter); background-image: url("/svg/background-pattern.svg"); border-radius: var(--rounded); } .layout__menu__links { display: grid; justify-content: center; grid-auto-columns: 1fr; grid-auto-rows: 4rem; padding-block: var(--s-4); } .layout__menu__link { display: flex; align-items: center; padding: 0 var(--s-4); border-top: 3px solid var(--bg-lighter); margin: 0 var(--s-4); background-color: var(--bg); color: var(--text); font-size: var(--fonts-sm); font-weight: var(--bold); gap: var(--s-2); text-decoration: none; text-transform: capitalize; } .layout__menu__link.first { border-radius: var(--rounded) var(--rounded) 0 0; } .layout__menu__link.last { border-radius: 0 0 var(--rounded) var(--rounded); } .layout__log-in-button { display: flex; height: var(--item-size); align-items: center; justify-content: center; padding: 0.5rem; border: 2px solid; border-color: var(--bg-lighter); background-color: transparent; border-radius: var(--rounded); color: inherit; cursor: pointer; font-size: var(--fonts-xs); font-weight: var(--bold); gap: var(--s-2); text-decoration: none; } .layout__log-in-button > svg { width: 1rem; } .layout__log-in-button:active { transform: translateY(1px); } .layout__user-popover { display: flex; flex-direction: column; gap: var(--s-2); } .layout__footer { display: flex; flex-direction: column; padding: var(--s-2-5); background-color: var(--bg-darker); gap: var(--s-6); margin-block-start: auto; } .layout__footer__link-list { display: flex; justify-content: space-between; font-size: var(--fonts-xxs); } .layout__footer__link-list > a { flex: 1 1 0; text-align: center; } .layout__footer__socials { display: flex; justify-content: center; gap: var(--s-2); } .layout__footer__social-link { display: flex; max-width: 10rem; height: 12rem; flex: 1 1 0; flex-direction: column; align-items: center; justify-content: space-between; padding: var(--s-4); background-color: var(--theme-transparent-vibrant); border-radius: var(--rounded); cursor: pointer; font-size: var(--fonts-lg); } .layout__footer__social-icon { height: 2.25rem; transition: transform 0.25s ease-in-out; } .layout__footer__social-link:hover { background-color: var(--theme-semi-transparent-vibrant); } .layout__footer__social-link:hover > .layout__footer__social-icon { transform: translateY(-0.3rem); } .layout__footer__social-header { text-align: center; } .layout__footer__social-header > p { font-size: var(--fonts-xxs); } .layout__footer__patron-title { display: flex; align-items: flex-end; justify-content: center; font-size: var(--fonts-sm); font-weight: var(--semi-bold); gap: var(--s-2); } .layout__footer__patron-list { display: flex; flex-wrap: wrap; justify-content: center; padding: 0; font-size: var(--fonts-xs); gap: var(--s-1); list-style: none; margin-block-start: var(--s-2); } @media screen and (max-width: 640px) { .layout__footer__socials { flex-direction: column; } .layout__footer__social-link { max-width: initial; flex-direction: row; } .layout__footer__social-header { display: flex; align-items: center; gap: var(--s-2); text-align: initial; } .layout__footer__social-header > p { margin-block-start: var(--s-1); } .layout__footer__social-icon { height: 1.75rem; } .layout__footer__social-link:hover > .layout__footer__social-icon { transform: translateX(-0.3rem); } }