Files
2026-03-05 13:07:40 +01:00

798 lines
26 KiB
SCSS

@import 'variables', 'mixin';
/**
* Table of Contents:
* 1.0 - before-header
* 2.0 - site-header
* 3.0 - navbar
* 3.1 - navbar-brand
* 3.2 - navbar-nav
* 3.2.1 - navbar-nav__menu
* 3.2.2 - nav-item lvl 1
* 3.2.3 - dropdown-menu
* 3.2.4 - nav-item lvl 2
* 3.2.5 - nav-item lvl n
* 3.3 - navbar-btns
* 3.4 - navbar-btn
* 3.4.1 - navbar-btn__wrap
* 3.4.2 - navbar-btn__content
* 3.4.3 - navbar-btn__menu
* 3.5 - navbar-overlay
* 4.0 - navbar-nav-mobile
* 4.1 - navbar-nav__menu
* 4.2 - nav-item lvl 1
* 4.3 - dropdown-menu
* 4.4 - nav-item lvl n
*/
/* 1.0 - before-header */
.before-header {}
#nav-item-942903{
a{
width: 100%;
}
}
/* 2.0 - site-header */
.site-header {
position: $header-position;
background: $header-background;
z-index: 50;
right: 0;
left: 0;
border-bottom: 1px solid rgba(#000, 20%);
margin-bottom: 20px;
@include media-max(1200px) {
margin-bottom: 0;
}
ul {
padding: 0;
margin: 0;
list-style: none;
}
.sticky-area {
background: $header-background;
&.sticky {
position: fixed;
z-index: 999;
width: 100%;
margin: 0 auto;
top: -$header-height;
@include css3(transition, (top .6s $transition-timing-function, box-shadow $transition));
&.pinned {
top: 0;
@include css3(box-shadow, 0 2px 4px 0 rgba(50, 50, 50, .15));
}
}
&.no-transition {
@include css3(transition, 0s);
}
}
}
/* navbar */
.navbar {
flex-wrap: nowrap;
padding: 0;
height: $header-height;
@include media-max($navbar-mobile-on) {
height: $header-mobile-height;
}
/* 3.1 - navbar-brand */
&-brand {
font-size: 0;
display: inline-block;
margin: 0;
padding: $logo-padding;
transition: $transition;
width: 70px;
&:hover {
transform: scale(0.95);
}
@include media-max($navbar-mobile-on) {
height: $header-mobile-height;
padding: $logo-mobile-padding;
}
&__image {
width: auto;
object-fit: contain;
@include media-max($navbar-mobile-on) {
height: 100%;
}
}
}
/* 3.2 - navbar-nav */
&-nav {
flex-direction: row;
justify-content: $navbar-justify-content;
flex-grow: 1;
margin-left: 20px;
@include media-max(1200px) {
margin-left: 0;
}
@include media-max($navbar-mobile-on) {
flex-grow: 0;
}
/* 3.2.1 - navbar-nav__menu */
&__menu {
display: flex;
/* 3.2.2 - nav-item lvl 1 */
.nav-item {
margin: $nav-link-margin;
.nav-link {
font-family: $nav-link-font-family;
font-size: $nav-link-font-size;
font-weight: $nav-link-font-weight;
line-height: $nav-link-line-height;
margin: $nav-link-padding;
letter-spacing: $nav-link-letter-spacing;
text-transform: $nav-link-text-transform;
color: $nav-link-color;
border-radius: $nav-link-border-radius;
background: $nav-link-background;
@include css3(transition, (color $transition, background $transition));
@include media-max(1200px) {
margin: 15px 15px;
font-size: 15px;
}
@include media-min(1200px) {
position: relative;
&:before {
content: "";
position: absolute;
bottom: -28px;
left: 0%;
right: 100%;
background: #000;
height: 2px;
transition: $transition;
}
}
.svg-icon {
display: inline-block;
width: 14px;
height: 14px;
margin-left: 2px;
text-align: center;
&__path {
@include css3(transition, (transform $transition, fill $transition));
transform-origin: center;
}
}
}
&.show,
&.active,
&.current-nav-item,
&.current-menu-item,
&.current-menu-parent,
&.current-menu-ancestor,
&.current_page_parent,
&.current-page-ancestor,
&:hover:not(.active) {
>.nav-link {
color: $nav-link-color;
background: $nav-link-background;
position: relative;
opacity: 1;
@include media-min(lg) {
&:before {
right: 0%;
}
}
}
}
&.hide-on-desktop {
@include media-min($navbar-mobile-on) {
display: none;
}
}
/* 3.2.3 - dropdown-menu */
.dropdown-menu {
position: absolute;
top: 100%;
left: -1000px;
display: block;
visibility: hidden;
min-width: 250px;
margin: 0;
padding: 20px;
transition-delay: .2s;
transform: translateY(25px);
opacity: 0;
border: 1px solid $dropdown-menu-border-color;
border-radius: 0;
background: $dropdown-menu-background;
border: 1px solid rgba(0, 0, 0, 0.2);
@include media-min(1200px) {
box-shadow: 0 0 15px rgba(#000, 15%);
}
@media only screen and (min-width: 1200px) and (max-width: 1366px) {
columns: 4 !important;
}
@media only screen and (min-width: 1367px) and (max-width: 1600px) {
columns: 5 !important;
}
@media only screen and (min-width: 1601px) {
columns: 7;
}
/* 3.2.4 - nav-item lvl 2 */
.nav-item {
margin: 0;
&:first-of-type {
margin-top: -20px;
}
&:hover {
.nav-link {
font-weight: bold;
}
}
.nav-link {
padding: 0;
text-transform: none;
margin: 20px;
padding: 0;
background-image: unset;
&:before {
display: none;
}
.svg-icon {
position: absolute;
top: 50%;
right: 15px;
margin-top: -7px;
}
}
}
}
&:hover {
>.nav-link .svg-icon__path {
transform: rotate(180deg);
}
>.dropdown-menu {
left: $dropdown-menu-position-left;
visibility: visible;
transform: translateY(0);
opacity: 1;
@include css3(transition, (opacity $transition $transition-time, transform $transition $transition-time));
}
}
&.click {
>.dropdown-menu {
display: none;
visibility: visible;
transform: none;
opacity: 1;
}
&:hover>.nav-link .svg-icon__path {
transform: none;
}
&.show {
>.nav-link .svg-icon__path {
transform: rotate(180deg);
}
>.dropdown-menu {
left: 0;
display: block;
}
}
}
&:not(.click) {
.nav-link[href="#"] {
pointer-events: none;
.svg-icon {
pointer-events: auto;
}
}
}
/* 3.2.5 - nav-item lvl n */
.nav-item {
margin: 0;
.dropdown-menu {
top: -21px;
transform: translateX(25px);
}
&:hover>.dropdown-menu {
left: 100%;
transform: translateX(0);
}
}
}
}
}
/* 3.3 - navbar-btns */
&-btns {
display: flex;
justify-content: flex-end;
order: 1;
margin: $nav-link-margin;
@include media-max($navbar-mobile-on) {
order: 0;
flex-grow: 1;
margin-left: 20px;
}
.navbar-btn__menu {
@include media-min($navbar-mobile-on) {
display: none;
}
}
}
/* 3.4 - navbar-btn */
&-btn {
display: block;
min-width: 40px;
height: 40px;
margin: $header-btn-margin;
background: $header-btn-background;
padding: 5px 10px;
cursor: pointer;
text-align: center;
color: $header-btn-color;
@include media-max($navbar-mobile-on) {
margin: 0;
}
&:after {
content: '';
@include absolute(100%, 0, auto, 0);
}
>span {
position: relative;
top: -1px;
font-family: $nav-link-font-family;
font-size: $nav-link-font-size;
font-weight: $nav-link-font-weight;
line-height: $nav-link-line-height;
letter-spacing: $nav-link-letter-spacing;
text-transform: uppercase;
@include css3(transition, $transition);
img {
max-height: 100%;
}
}
.svg-icon {
width: 20px;
@include css3(transition, $transition);
}
.count {
font-size: 12px;
font-weight: 400;
width: 18px;
line-height: 16px;
color: #000 !important;
background: #c7bdb3;
border: 1px solid #c7bdb3;
border-radius: 50%;
position: absolute;
top: 3px;
right: -3px;
bottom: auto;
left: auto;
&[data-count="0"] {
display: none;
}
}
/* 3.4.1 - navbar-btn__wrap */
&__wrap {
position: relative;
&:hover {
.navbar-btn {
background: $header-btn-background-hover;
color: $header-btn-color-hover;
&:hover:after {
height: #{(($header-height - 40px) / 2)};
@include media-max($navbar-mobile-on) {
height: #{(($header-mobile-height - 40px) / 2)};
}
}
&__content {
visibility: visible;
transform: translateY(0);
opacity: 1;
@include css3(transition, (opacity $transition $transition-time, transform $transition $transition-time));
}
}
}
}
/* 3.4.2 - navbar-btn__content */
&__content {
position: absolute;
top: calc(100% + #{(($header-height - 40px) / 2)});
right: 0;
display: block;
visibility: hidden;
min-width: 350px;
transition-delay: .2s;
transform: translateY(25px);
opacity: 0;
border-width: $btn-content-border-width;
border-style: solid;
border-color: $btn-content-border-color;
background: $btn-content-background;
color: $btn-content-color;
@include media-max($navbar-mobile-on) {
top: calc(100% + #{(($header-mobile-height - 40px) / 2)});
}
input[type='search'] {
border-color: transparent;
background: $btn-content-background;
color: $btn-content-color;
@include placeholder-color($btn-content-color);
}
&.mini-cart {
border: 1px solid #d7d7d7;
box-shadow: 0 0 15px rgba(#000, 15%);
.variation {
display: none;
}
}
&.search-products {
box-shadow: 0 0 15px rgba(#000, 15%);
position: absolute;
top: 0;
right: 50px;
display: block;
visibility: hidden;
min-width: 400px;
transition-delay: 0.2s;
transform: translateY(25px);
opacity: 0;
border-width: 0px;
border-style: solid;
border: 1px solid #d7d7d7;
background: #FFF;
color: #888888;
z-index: 1;
}
/* 3.4.2.1 - languages */
&.languages {
padding: 20px 0;
min-width: auto;
.lang {
&.current {
opacity: .5;
cursor: default;
}
&__box {
padding: 10px 40px 10px 25px;
display: flex;
align-items: center;
font-family: $nav-link-font-family;
font-size: $nav-link-font-size;
font-weight: $nav-link-font-weight;
line-height: $nav-link-line-height;
letter-spacing: $nav-link-letter-spacing;
color: $nav-link-color;
@include css3(transition, (color $transition, background $transition));
&[href]:hover {
color: $nav-link-color-hover;
}
}
img {
min-width: 32px;
width: 32px;
margin-right: 10px;
border: 1px solid $btn-content-border-color;
}
}
}
}
/* 3.4.3 - navbar-btn__menu */
&__menu {
position: relative;
span {
height: 2px;
border-radius: 1px;
background: $header-btn-color;
@include absolute(48%, 7px, auto, 7px);
@include css3(transition, $transition);
@include css3(transform, rotate(-45deg));
&:nth-child(1) {
@include css3(transform, rotate(45deg));
}
}
&.collapsed {
span {
@include css3(transform, rotate(0));
&:nth-child(1) {
top: 10px;
}
&:nth-child(2) {
top: 19px;
}
&:nth-child(3) {
top: 28px;
}
}
}
&:hover {
>span {
background: $header-btn-color-hover;
}
}
}
}
/* 3.5 - navbar-overlay */
&-overlay {
position: fixed;
z-index: 98;
top: 0;
left: 0;
display: flex;
visibility: hidden;
justify-content: flex-end;
width: 100%;
height: 100%;
padding: 100px;
content: '';
opacity: 0;
background: rgba(54, 54, 54, .6);
@include css3(transition, $transition);
@include media-max($navbar-mobile-on) {
padding: 50px 15px;
}
.navbar-btn {
@include css3(transition, $transition);
span {
background: #fff;
}
&:hover {
opacity: .75;
}
}
}
&-btn:not(.collapsed) {
+.navbar-overlay {
visibility: visible;
opacity: 1;
&[data-target*="__primary"] {
@include media-min($navbar-mobile-on) {
visibility: hidden;
opacity: 0;
}
}
}
}
}
/* 4.0 - navbar-nav-mobile */
@mixin navbar-nav-mobile {
position: fixed;
z-index: 99;
top: 0;
bottom: 0;
left: -315px;
display: block;
overflow-y: auto;
width: 315px;
height: auto;
background: $header-background;
@include css3(transition, $transition);
@include media-max(sm) {
left: calc(-100% - 80px);
width: calc(100% - 80px);
}
&.active {
left: 0 !important;
}
/* 4.1 - navbar-nav__menu */
.navbar-nav__menu {
display: block;
width: 100%;
padding: 100px 20px 60px;
@include media-max(sm) {
padding: 60px 20px;
}
/* 4.2 - nav-item lvl 1 */
.nav-item {
margin: 0;
border-width: 1px 0 0;
border-style: solid;
border-color: $add-nav-link-border-color;
&:last-child {
border-width: 1px 0;
}
.nav-link {
position: relative;
padding: 15px 40px 15px 0 !important;
text-transform: none;
word-wrap: break-word;
.svg-icon {
display: flex;
align-items: center;
justify-content: center;
width: 50px;
height: 50px;
margin: 0;
padding: 18px;
@include absolute(0, 0);
}
}
&:hover>.nav-link .svg-icon__path {
transform: none;
}
&.active>.nav-link .svg-icon__path {
transform: rotate(180deg);
}
}
/* 4.3 - dropdown-menu */
.dropdown-menu {
position: static;
display: none;
visibility: visible;
min-width: auto;
transform: none !important;
opacity: 1;
padding: 0;
border-width: 0 0 0 1px;
border-style: dashed;
border-color: $add-nav-link-border-color;
@include css3(transition, 0s);
li {
a {
padding: 0;
}
}
/* 4.4 - nav-item lvl n */
.nav-item {
padding-left: 20px;
&:last-child {
border-width: 1px 0 0;
}
.nav-link {
.svg-icon {
margin: 0;
top: 0;
right: 0;
&__path {
transform: rotate(90deg);
}
}
}
&.active>.nav-link .svg-icon__path {
transform: rotate(270deg);
}
}
}
}
}
.navbar-nav {
@include media-max($navbar-mobile-on) {
@include navbar-nav-mobile;
}
&__additional {
@include navbar-nav-mobile;
.navbar-btn__menu {
display: block;
}
}
}