website/public/assets/css/components/topBar.css
2024-05-06 23:49:15 +03:30

191 lines
4 KiB
CSS

.topBar {
--topBar-text-color: var(--text-color);
--topBar-active-link-color: var(--text-color-deep);
}
.topBar-logo img {
height: 36px;
}
.topBar-wrapper {
display: flex;
align-items: center;
justify-content: space-between;
gap: 35px;
}
.topBar-navigation {
display: flex;
align-items: center;
gap: 30px;
}
.topBar {
padding: 20px 0;
}
.topBar-navigation a {
text-decoration: none;
}
.topBar-navigation a {
font-size: 18px;
color: var(--topBar-text-color);
}
.topBar-navigation a.router-link-exact-active::after {
content: "";
width: 20px;
height: 3px;
display: block;
background: var(--topBar-active-link-color);
margin: 0 auto;
position: absolute;
bottom: -11px;
left: 0;
right: 0;
border-radius: 20px;
}
.topBar-navigation li {
position: relative;
}
.topBar-search {
margin-left: auto;
}
.topBar-hamburger {
display: none;
cursor: pointer;
transition-property: opacity, filter;
transition-duration: 0.15s;
transition-timing-function: linear;
font: inherit;
color: inherit;
text-transform: none;
background-color: transparent;
border: 0;
margin: 0;
z-index: 2;
overflow: visible;
}
.topBar-hamburger:hover {
opacity: 0.7;
}
.topBar-hamburger.is-active:hover {
opacity: 0.7;
}
.topBar-hamburger.is-active .topBar-hamburger-inner,
.topBar-hamburger.is-active .topBar-hamburger-inner::before,
.topBar-hamburger.is-active .topBar-hamburger-inner::after {
background-color: var(--topBar-text-color);
}
.topBar-hamburger-box {
width: 30px;
height: 24px;
display: inline-block;
position: relative;
top: 2px;
}
.topBar-hamburger-inner {
display: block;
top: 50%;
margin-top: -2px;
}
.topBar-hamburger-inner,
.topBar-hamburger-inner::before,
.topBar-hamburger-inner::after {
width: 30px;
height: 4px;
background-color: var(--topBar-text-color);
border-radius: 4px;
position: absolute;
transition-property: transform;
transition-duration: 0.15s;
transition-timing-function: ease;
}
.topBar-hamburger-inner::before,
.topBar-hamburger-inner::after {
content: "";
display: block;
}
.topBar-hamburger-inner::before {
top: -10px;
}
.topBar-hamburger-inner::after {
bottom: -10px;
}
.topBar-hamburger--squeeze .topBar-hamburger-inner {
transition-duration: 0.075s;
transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.topBar-hamburger--squeeze .topBar-hamburger-inner::before {
transition: top 0.075s 0.12s ease, opacity 0.075s ease;
}
.topBar-hamburger--squeeze .topBar-hamburger-inner::after {
transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.topBar-hamburger--squeeze.is-active .topBar-hamburger-inner {
transform: rotate(45deg);
transition-delay: 0.12s;
transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.topBar-hamburger--squeeze.is-active .topBar-hamburger-inner::before {
top: 0;
opacity: 0;
transition: top 0.075s ease, opacity 0.075s 0.12s ease;
}
.topBar-hamburger--squeeze.is-active .topBar-hamburger-inner::after {
bottom: 0;
transform: rotate(-90deg);
transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media screen and (max-width: 1100px) {
.topBar-wrapper {
gap: 10px;
}
.topBar-navigation {
position: absolute;
top: 50px;
left: 0;
right: 0;
margin: 20px;
display: flex;
flex-direction: column;
padding: 30px 10px;
z-index: 999;
border-radius: 12px;
background-color: var(--body-bg-color);
box-shadow: var(--base-shadow);
opacity: 0;
pointer-events: none;
transition: opacity 0.3s ease-in-out;
}
.topBar-navigation.active {
opacity: 1;
pointer-events: all;
}
.topBar-hamburger {
display: inline-block;
}
}