File: /var/www/quadcode-jobs/resources/sass/common/_app-header.scss
@import "../base/mixins";
.app-header {
position: fixed;
top: 0;
z-index: 20;
width: 100%;
background-color: var(--header-background, transparent);
box-shadow: none;
transition: background-color .3s, box-shadow .3s;
.hide-on-desktop {
display: none !important;
@include breakpoint-down('sm') {
display: flex !important;
}
}
&--back-link {
.app-header__back-link {
display: none;
}
@include breakpoint-down('sm') {
.app-header__inner {
grid-template-columns: auto 1fr;
}
.app-header__menu-trigger {
color: var(--color-highlight);
}
.app-header__logo {
display: none;
}
.app-header__back-link {
display: inline-flex;
}
}
}
.container {
@include breakpoint-up('lg') {
max-width: 1440px;
}
}
// Class modification for light header style
&.is-light {
--brand-logo-color-text: var(--color-text-primary);
--text-color: var(--color-text-primary);
--header-background: var(--color-app-background);
--hamburger-color: var(--text-color);
//Search jobs
.letters {
fill: black !important;
}
.brand-logo {
&__white {
display: none;
}
&__black {
display: flex;
}
}
}
// when scrolling
&.is-sticked {
--brand-logo-color-text: var(--color-text-primary);
--text-color: var(--color-text-primary);
--header-background: var(--color-app-background);
--hamburger-color: var(--text-color);
box-shadow: var(--shadow-1);
.letters {
fill: black !important;
}
.brand-logo {
&__white {
display: none;
}
&__black {
display: flex;
}
}
}
// Add to current link equal ur current page or lang
.is-active,
.is-current-page {
--text-color: var(--color-highlight);
}
&__inner {
min-height: 120px;
display: grid;
align-items: center;
grid-template-columns: 170px auto 20%;
grid-template-areas: "logo menu menu";
padding-left: 52px;
padding-right: 150px;
@include breakpoint-down('lg') {
display: flex;
justify-content: space-between;
grid-template-columns: none;
padding: 2rem 0;
padding-right: 10px;
min-height: 88px;
}
@include breakpoint-down('sm') {
min-height: 77px;
grid-template-columns: 149px auto;
//grid-template-columns: 1fr 1fr;
grid-template-areas: 'logo menu';
padding: 11px 0 11px;
}
}
&__back-link {
display: inline-flex;
justify-content: center;
align-items: center;
transition: opacity 0.3s ease;
&:hover {
opacity: 0.5;
}
}
&__menu {
grid-area: menu;
@include breakpoint-down('sm') {
justify-self: end;
width: 24px;
height: 24px;
}
}
&__menu-trigger {
color: var(--hamburger-color, var(--color-text-light));
display: none;
@include breakpoint-down('sm') {
display: inline-flex;
}
svg {
width: 24px;
height: 24px;
}
}
&__nav-post-wrap {
display: grid;
grid-template-columns: 96% 1fr;
@include breakpoint-down('lg') {
display: flex;
grid-template-columns: none;
}
@include breakpoint-down('sm') {
grid-template-columns: 1fr;
}
}
&__nav {
display: flex;
align-items: center;
justify-content: center;
padding-left: 97px;
@include breakpoint-down('lg') {
padding-left: 0;
padding-right: 55px;
}
@include breakpoint-down('sm') {
display: none;
padding-left: 0;
padding-right: 0;
}
&-link {
display: inline-flex;
padding: 1rem 0;
color: var(--text-color, var(--color-text-light));
font-weight: 600;
font-size: 16px;
transition: color .25s, opacity .2s;
&:not(:last-child) {
margin-right: 40px;
@include breakpoint-down('lg') {
margin-right: 20px;
}
}
&:hover {
color: #0E161F;
}
@include breakpoint-down('lg') {
font-size: 14px;
}
@include breakpoint-down('sm') {
font-size: 24px;
&:not(:last-child) {
margin-right: 0;
}
}
}
}
&__lang {
display: grid;
grid-auto-columns: max-content;
grid-auto-flow: column;
gap: 1rem;
justify-self: center;
@include breakpoint-down('sm') {
margin-bottom: 40px;
}
&-item {
padding: 1rem 0;
color: var(--text-color, var(--color-text-light));
font-weight: 600;
opacity: .8;
font-size: 16px;
@include breakpoint-down('lg') {
font-size: 14px;
}
@include breakpoint-down('sm') {
font-size: 24px;
}
&:hover {
text-decoration: none;
opacity: 1;
}
}
}
&__social {
display: grid;
grid-auto-flow: column;
grid-auto-columns: min-content;
gap: 2rem;
@include breakpoint-down('lg') {
align-self: start;
justify-self: end;
gap: 2em;
}
@include breakpoint-down('sm') {
gap: 1em;
}
.app-footer__social-link {
display: flex;
align-items: baseline;
justify-content: center;
color: var(--color-text-primary);
width: 20px;
height: 20px;
&:hover {
color: var(--color-highlight);
}
svg, img {
display: flex;
height: 20px;
}
}
}
}
// Mobile menu logic via oldschool checkbox
.app {
#menu-switcher {
display: none;
}
}
@include breakpoint-down('sm') {
.app-inner {
--menu-padding-x: 3rem;
--menu-padding-y: 5rem;
--text-color: var(--color-text-primary);
}
.app-header__menu-trigger {
&.action-marker {
position: absolute;
}
right: 0;
top: 0;
justify-self: end;
}
.app-header__nav-wrap {
position: fixed;
top: 0;
right: 0;
bottom: 0;
z-index: 2;
display: flex;
flex-direction: column;
min-height: calc(100 * var(--vh, 1vh));
width: 30vw;
min-width: 23rem;
max-width: 30rem;
transform: translateX(100%);
background: var(--color-app-background);
overscroll-behavior: contain;
transition: transform .3s;
@include breakpoint-down('sm') {
min-width: 18.5rem;
}
}
.app-header__nav-post-wrap {
display: flex;
flex-direction: column;
align-content: flex-start;
justify-content: flex-start;
width: 100%;
min-height: 100%;
overflow-y: auto;
padding: var(--menu-padding-y) var(--menu-padding-x);
@include breakpoint-down('sm') {
padding: 50px 28px;
}
.app-lang {
justify-self: start;
margin-top: auto;
}
}
.app-header__nav {
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: flex-start;
margin-bottom: 50px;
@include breakpoint-down('sm') {
margin: auto 0;
}
}
#menu-switcher {
& ~ .app-inner {
&::before {
content: '';
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
opacity: 0;
visibility: hidden;
z-index: -1;
background: rgba(255, 255, 255, .01);
backdrop-filter: blur(3px);
transition: opacity 0.3s ease;
}
}
}
#menu-switcher:checked {
& ~ .app-inner {
&::before {
opacity: 1;
visibility: visible;
z-index: 5;
}
.app-header__nav-wrap {
--text-color: var(--color-text-primary);
z-index: 25;
box-shadow: var(--shadow-1);
transform: translateX(0%);
}
}
}
}