goiintra/public_html/assets/scss/_nav.scss

255 lines
4.6 KiB
SCSS

/*--------------------------------------------------------------
# Desktop Navigation
--------------------------------------------------------------*/
@media (min-width: 1280px) {
.navbar {
padding: 0;
ul {
margin: 0;
padding: 0;
display: flex;
list-style: none;
align-items: center;
}
li {
position: relative;
}
> ul > li {
white-space: nowrap;
padding: 10px 0 10px 28px;
}
a, a:focus {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 3px;
font-family: var(--font-secondary);
font-size: 16px;
font-weight: 600;
color: lighten($secondary, 30);
white-space: nowrap;
position: relative;
i {
font-size: 12px;
line-height: 0;
margin-left: 5px;
}
}
> ul > li > a:before {
content: "";
position: absolute;
width: 100%;
height: 2px;
bottom: -6px;
left: 0;
background-color: var(--color-primary);
visibility: hidden;
width: 0px;
}
a:hover:before, li:hover > a:before, .active:before {
visibility: visible;
width: 100%;
}
a:hover, .active, .active:focus, li:hover > a {
color: #000;
}
.dropdown {
ul {
display: block;
position: absolute;
left: 28px;
top: calc(100% + 30px);
margin: 0;
padding: 10px 0;
z-index: 99;
opacity: 0;
visibility: hidden;
background: #fff;
box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
border-radius: 4px;
li {
min-width: 200px;
}
a {
padding: 10px 20px;
font-size: 15px;
text-transform: none;
font-weight: 600;
i {
font-size: 12px;
}
}
a:hover, .active:hover, li:hover > a {
color: var(--color-primary);
}
}
&:hover > ul {
opacity: 1;
top: 100%;
visibility: visible;
}
}
.dropdown .dropdown {
ul {
top: 0;
left: calc(100% - 30px);
visibility: hidden;
}
&:hover > ul {
opacity: 1;
top: 0;
left: 100%;
visibility: visible;
}
@media (max-width: 1366px) {
ul {
left: -90%;
}
&:hover > ul {
left: -100%;
}
}
}
}
.mobile-nav-show, .mobile-nav-hide {
display: none;
transition: 0.2s;
}
}
/*--------------------------------------------------------------
# Mobile Navigation
--------------------------------------------------------------*/
@media (max-width: 1279px) {
.navbar {
position: fixed;
top: 0;
right: -100%;
width: 100%;
max-width: 400px;
border-left: 1px solid #666;
bottom: 0;
z-index:9997;
ul {
position: absolute;
inset: 0;
padding: 50px 0 10px 0;
margin: 0;
background: rgba(#fff, 0.9);
overflow-y: auto;
z-index:9998;
}
a, a:focus {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px 20px;
font-family: var(--font-secondary);
border-bottom: 2px solid rgba(#fff, 0.8);
font-size: 16px;
font-weight: 600;
color: lighten($secondary, 30);
white-space: nowrap;
i {
font-size: 12px;
line-height: 0;
margin-left: 5px;
}
}
a:hover, li:hover > a {
color: #000;
}
.active, .active:focus {
color: #000;
border-color: var(--color-primary);
}
.dropdown, .dropdown .dropdown {
ul {
position: static;
display: none;
padding: 10px 0;
margin: 10px 20px;
border: 1px solid #eee;
}
> .dropdown-active {
display: block;
}
}
}
.mobile-nav-show {
color: var(--color-secondary);
font-size: 28px;
cursor: pointer;
line-height: 0;
z-index:9999;
margin: 0 10px 0 20px;
}
.mobile-nav-hide {
color: var(--color-secondary);
font-size: 32px;
cursor: pointer;
line-height: 0;
position: fixed;
right: 20px;
top: 20px;
z-index:9999;
}
.mobile-nav-active {
overflow: hidden;
.navbar {
right: 0;
&:before {
content: "";
position:fixed;
inset: 0;
background: rgba(#fff, 0.8);
z-index:9996;
}
}
}
}