////////////////////////////////////////////////
|
|
//
|
|
// Mixins
|
|
//
|
|
////////////////////////////////////////////////
|
|
@mixin znav-color($color, $background){
|
|
background-color: $background;
|
|
hr{ border-top-color: rgba($color, 0.05);}
|
|
button{ color: $color; }
|
|
a:not(.btn){
|
|
color: rgba($color, 0.6);
|
|
@include hover-focus { color: $color }
|
|
}
|
|
a.navbar-brand{ color: $color; }
|
|
[class*='has-']:after{ color: $color; }
|
|
.megamenu, .dropdown{
|
|
color: $color;
|
|
background-color: $background;
|
|
@include mq($from: desktop) { box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.4); }
|
|
}
|
|
}
|
|
|
|
@mixin indicator{
|
|
position: relative;
|
|
&:after{
|
|
content: '\f107';
|
|
font-family: 'FontAwesome';
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
display: block;
|
|
padding: 0;
|
|
height: 9px;
|
|
width: 9px;
|
|
pointer-events: none;
|
|
z-index: 2000;
|
|
transition: transform 0.2s ease-in-out;
|
|
transform: translateX(-2px) translateY(1px);
|
|
@include mq($from: desktop) {transform: translateX(-8px); }
|
|
}
|
|
}
|
|
// End of Mixins
|
|
|
|
|
|
////////////////////////////////////
|
|
//
|
|
// Basic Navbar
|
|
//
|
|
////////////////////////////////////
|
|
.znav-container{
|
|
// box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.04);
|
|
&:not([class*="sticky-"]){
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
position: relative;
|
|
z-index: 1030;
|
|
}
|
|
|
|
@include mq($until: desktop) {
|
|
max-height: 100vh;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
hr{ margin: 2px 0; }
|
|
|
|
.navbar {
|
|
font-family: $font-1;
|
|
font-weight: 600;
|
|
font-size: modular-scale(-1);
|
|
letter-spacing: 0.01em;
|
|
border-radius: $radius-primary;
|
|
transition: all 0.2s ease-in-out;
|
|
padding-left: 0;
|
|
padding-right: 0;
|
|
line-height: 1.5;
|
|
a.navbar-brand {
|
|
font-size: modular-scale(1);
|
|
text-transform: uppercase;
|
|
align-self: flex-start;
|
|
transition: color;
|
|
}
|
|
.navbar-toggler{ padding: 0; }
|
|
}
|
|
|
|
ul{
|
|
list-style-type: none;
|
|
padding-left: 0;
|
|
@include mq($from: desktop) { margin-left: -$el-padding-4; }
|
|
li{
|
|
padding: 0;
|
|
position: relative;
|
|
a:not(.btn){
|
|
// border: 1px solid transparent;
|
|
display: block;
|
|
padding: $el-padding-2 $el-padding-4;
|
|
transition: color 0.2s ease-in-out;
|
|
@include hover-focus { text-decoration: none; }
|
|
@include mq($until: desktop) { margin-left: -$el-padding-4; }
|
|
}
|
|
}
|
|
}
|
|
|
|
//////////////////
|
|
// Dropdown
|
|
//////////////////
|
|
.dropdown, .megamenu{
|
|
border-radius: $radius-primary;
|
|
@include mq($until: desktop) { display: none; }
|
|
@include mq($from: desktop) {
|
|
transition: all 0.2s ease-in-out;
|
|
pointer-events: none;
|
|
opacity: 0;
|
|
display: none;
|
|
}
|
|
}
|
|
.megamenu{
|
|
ul{
|
|
li{
|
|
a{
|
|
font-weight: 400;
|
|
padding: $el-padding-1 $el-padding-4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.has-dropdown{
|
|
> a {
|
|
@include indicator;
|
|
&:after{
|
|
top: 6px;
|
|
@include mq($until: desktop) { right: 10px; }
|
|
}
|
|
}
|
|
.dropdown{
|
|
left: 0;
|
|
min-width: 160px;
|
|
padding: $el-padding-2 0;
|
|
}
|
|
}
|
|
.has-megamenu{ > a {
|
|
@include indicator;
|
|
&:after{
|
|
top: 6px;
|
|
@include mq($until: desktop) { right: 10px; }
|
|
}
|
|
}
|
|
}
|
|
//////////////////
|
|
//
|
|
// Navabar
|
|
//
|
|
//////////////////
|
|
ul.navbar-nav{
|
|
@include mq($until: desktop) { padding: $el-padding-4 0;}
|
|
> li {
|
|
.btn{
|
|
// margin: 0 5px;
|
|
@include mq($from: desktop) {
|
|
// &:first-child{ margin-left: $el-padding-4;}
|
|
// &:last-child{ margin-right: 0; }
|
|
}
|
|
@include mq($until: desktop) {
|
|
width: 100%;
|
|
margin: 5px 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
//////////////////
|
|
// Until Desktop
|
|
//////////////////
|
|
@include mq($until: desktop) {
|
|
> li.has-dropdown{ ul.dropdown{
|
|
padding-left: $el-padding-5;
|
|
.has-dropdown >a:after{ top: 0; }
|
|
}
|
|
}
|
|
.z-active { > .megamenu, > .dropdown{ display: block; } }
|
|
> li.has-megamenu{ .megamenu{ padding-left: $el-padding-5; } }
|
|
.mt-sm-down-1{ margin-top: $el-padding-4 !important; }
|
|
}
|
|
|
|
//////////////////
|
|
// From Desktop
|
|
//////////////////
|
|
@include mq($from: desktop) {
|
|
//////////////////
|
|
// Dropdown
|
|
//////////////////
|
|
|
|
li.has-dropdown{
|
|
.has-dropdown{
|
|
> a:after{ content: '\f105' }
|
|
@include hover-focus { > a:after{ transform: translateX(-2px); } }
|
|
}
|
|
ul.dropdown{
|
|
display: block;
|
|
position: absolute;
|
|
margin-left: 0;
|
|
padding: $el-padding-4 0;
|
|
}
|
|
> ul.dropdown{
|
|
ul.dropdown{
|
|
left: 100%;
|
|
top: -$el-padding-1;
|
|
&.dropdown-push-left{
|
|
left: auto;
|
|
right: 100%;
|
|
}
|
|
}
|
|
&.dropdown-align-right{
|
|
left: auto;
|
|
right: 0;
|
|
}
|
|
}
|
|
@include hover-focus {
|
|
> ul.dropdown{
|
|
pointer-events: all;
|
|
opacity: 1;
|
|
}
|
|
}
|
|
//trigged by menu aim
|
|
ul.dropdown.opened {
|
|
opacity: 1;
|
|
pointer-events: all;
|
|
}
|
|
}// End of .has-dropdown
|
|
//////////////////
|
|
// Megamenu
|
|
//////////////////
|
|
> li.has-megamenu{
|
|
position: static;
|
|
.megamenu{
|
|
display: block;
|
|
border-radius: $radius-primary;
|
|
left: 0;
|
|
position: absolute;
|
|
.gutter-0{ padding: 0; }
|
|
}
|
|
@include hover-focus {
|
|
.megamenu{
|
|
pointer-events: all;
|
|
opacity: 1;
|
|
}
|
|
}
|
|
}// End of .has-megamenu
|
|
} // End of mq[From Desktop]
|
|
}// End of ul.navbar-nav
|
|
}// End of .znav-container
|
|
|
|
|
|
////////////////////////////////////
|
|
//
|
|
// Navbar Color Schemes
|
|
//
|
|
////////////////////////////////////
|
|
.znav-container{ @include znav-color(map-get($colors, 11), map-get($colors, 1)); }
|
|
.znav-primary{ @include znav-color(map-get($colors, 11), map-get($colors, primary)); }
|
|
.znav-success{ @include znav-color(map-get($colors, 11), map-get($colors, success)); }
|
|
.znav-info{ @include znav-color(map-get($colors, 11), map-get($colors, info)); }
|
|
.znav-warning{ @include znav-color(map-get($colors, 1), map-get($colors, warning)); }
|
|
.znav-danger{ @include znav-color(map-get($colors, 11), map-get($colors, danger)); }
|
|
.znav-dark{ @include znav-color(map-get($colors, 11), map-get($colors, 1)); }
|
|
|
|
.znav-white{
|
|
@include znav-color(map-get($colors, 1), map-get($colors, white));
|
|
.dropdown, .megamenu{ @include mq($from: desktop) { box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.08); } }
|
|
}
|
|
|
|
|
|
//////////////////////////////////////////
|
|
// Transparent Background Style
|
|
//////////////////////////////////////////
|
|
.znav-semi-transparent{
|
|
&.znav-white{ background: linear-gradient(to bottom, rgba(255,255,255,0.95) 0%,rgba(255,255,255,1) 100%); }
|
|
&.znav-dark{ background: linear-gradient(to bottom, rgba(map-get($colors, 1), 0.9) 0%,rgba(map-get($colors, 1), 1) 100%); }
|
|
@include mq($until: desktop) { .dropdown, .megamenu{ background-color: transparent; } }
|
|
}
|
|
.znav-transparent{;
|
|
position: absolute !important;
|
|
&.znav-container{
|
|
background-color: transparent;
|
|
.navbar-nav > li > a:not(.btn){
|
|
color: rgba(map-get($colors, white), 0.8);
|
|
}
|
|
}
|
|
}
|
|
|
|
////////////////////////////////////
|
|
//
|
|
// Hamburger Styles
|
|
//
|
|
////////////////////////////////////
|
|
.hamburger{
|
|
padding: 8px;
|
|
transform: translateY(-5px);
|
|
.hamburger-box{
|
|
height: 0;
|
|
width: 30px;
|
|
.hamburger-inner{
|
|
&, &::after, &::before{
|
|
width: 100%;
|
|
height: 1px;
|
|
border-radius: $radius-primary;
|
|
background-color: currentColor;
|
|
}
|
|
}
|
|
}
|
|
&.is-active { .hamburger-inner{ background-color: transparent; } }
|
|
}
|
|
.hamburger-inner::before{ top: -7px; }
|
|
.hamburger--emphatic .hamburger-inner::after{ top: 7px; }
|
|
|
|
////////////////////////////////////
|
|
//
|
|
// Navbar Helper Classes
|
|
//
|
|
////////////////////////////////////
|
|
.znav-fixed { position: fixed !important; }
|
|
.znav-revealed { position: fixed; }
|