Files
SAE-BUT2/src/components/Header/Header.module.css
T
2025-11-09 19:55:35 +01:00

272 lines
4.3 KiB
CSS

.headerContainer {
position: relative;
height: fit-content;
overflow: visible;
}
.header{
display: flex;
align-items: center;
padding: 0.8rem;
height: fit-content;
z-index: 2;
position: relative;
justify-content: space-between;
}
.activeHeaderContent {
display: flex;
justify-content: space-between;
width: 100%;
opacity: 1;
transition: opacity 0.3s ease;
pointer-events: auto;
}
.inactiveHeaderContent{
opacity: 0;
pointer-events: none;
transition: opacity 0.3s ease;
position: absolute;
top: 0.8rem;
left: 0.8rem;
}
.inactiveMobileMenu{
max-height: 0;
position: absolute;
top: 100%;
left: 0;
}
.activeMobileMenu{
transition: max-height 3s ease;
max-height: 500px;
display: flex;
flex-direction: column;
align-items: start;
gap: 0.5rem;
}
.headerLeftContent {
display: flex;
width: fit-content;
align-items: center;
gap: 1.5rem;
font-size: 1.2rem;
}
.headerRightContent {
width: fit-content;
display: flex;
align-items: center;
}
.logo {
height: 4rem;
width: auto;
flex-shrink: 0;
}
.logoLink {
display: inline-flex;
align-items: center;
justify-content: center;
width: fit-content;
height: fit-content;
flex-shrink: 0;
}
.link {
color: #000000;
width: fit-content;
text-align: center;
font-weight: bold;
border-bottom: 2px solid transparent;
}
.link:hover{
border-bottom: 2px solid #019AFF;
}
.activeLink {
width: fit-content;
text-align: center;
font-weight: bold;
color: #019AFF;
border-bottom: 2px solid #019AFF;
}
svg {
width: fit-content;
}
.bellBtn, .profileLink {
display: flex;
align-items: center;
justify-content: center;
border: none;
cursor: pointer;
transition: transform 0.5s ease;
background: none;
padding: 7px;
border-radius: 50%;
width: 55px;
height: 55px;
position: relative;
}
.bellBtn svg {
stroke: black;
stroke-width: 3.5;
stroke-linecap: round;
stroke-linejoin: round;
}
.bellBtn:focus {
outline: none;
}
.bellBtn:focus-visible {
outline: 2px solid black;
}
.activeBellBtn {
transform: translateY(-4px);
background: rgba(191, 191, 191, 0.5);
svg {
stroke: #019AFF;
}
}
.bellBtn:hover {
transform: translateY(-4px);
background: rgba(191, 191, 191, 0.5);
svg {
stroke: #019AFF;
}
}
.profileLink:hover {
transform: translateY(-4px);
background: rgba(191, 191, 191, 0.5);
svg {
fill: #019AFF;
}
}
.bellBtn svg {
height: 28px;
}
.profileLink svg {
height: 40px;
}
.notificationDiv {
position: absolute;
width: 250px;
top: 105%;
right: 2rem;
opacity: 0;
transform: translateY(-10px);
transition: opacity 0.3s ease, transform 0.3s ease;
z-index: 0;
}
.activeNotificationDiv {
opacity: 1;
transform: translateY(0);
z-index: 3;
}
.notification{
margin-bottom: 7%;
display: flex;
justify-content: space-between;
align-items: center;
}
.notificationBadge {
position: absolute;
top: 6px;
right: 9px;
width: 15px;
height: 15px;
background-color: red;
border-radius: 50%;
}
.closeBtn {
display: flex;
align-items: center;
justify-content: center;
border: none;
cursor: pointer;
background: none;
margin: 0;
width: fit-content;
}
.closeBtn:focus {
outline: none;
}
.closeBtn:focus-visible {
outline: 2px solid black;
}
.burgerBtn {
flex-direction: column;
justify-content: space-between;
width: 30px;
height: 22px;
border: none;
cursor: pointer;
display: none;
z-index: 10;
}
.burgerBar {
width: 100%;
height: 3px;
background-color: #000000;
border-radius: 2px;
transition: all 0.3s ease;
}
.activeBurgerBtn .burgerBar:nth-child(1) {
transform: translateY(10px) rotate(45deg);
}
.activeBurgerBtn .burgerBar:nth-child(2) {
opacity: 0;
}
.activeBurgerBtn .burgerBar:nth-child(3) {
transform: translateY(-9px) rotate(-45deg);
}
.navLinks{
display: flex;
align-items: center;
justify-content: center;
gap: 1rem;
}
@media screen and (max-width: 768px) {
.navLinks {
display: none;
}
.burgerBtn {
display: flex;
}
}