asiaH5/assets/stylesheets/template/modules/menu.scss

345 lines
6.0 KiB
SCSS

@charset "utf-8";
@import "../initial";
.modules-menu{
position: relative;
#move{
position: absolute;
height: 100%;
background: $theme-color-second;
left: 0;
z-index: 0;
opacity: 0;
transition:.3s;
display: none;
@media (min-width: 992px) {
display: block;
}
}
}
.modules-menu {
font-family: $sub-font;
max-height: none;
li {
white-space: nowrap;
& > a,
& > .fa {
color: $theme-white;
}
&:hover {
& > a,
& > .fa {
color: $theme-white;
text-decoration: none;
}
}
}
.modules-menu-level-0 {
margin: 0;
padding: 0;
list-style: none;
.has-dropdown.level-1.active {
.modules-menu-level-1 {
display: block;
}
}
.has-dropdown.level-2.active {
.modules-menu-level-2 {
display: block;
}
}
.dropdown-toggle-icon {
position: absolute;
top: 8px;
right: 5px;
width: 40px;
height: 40px;
cursor: pointer;
line-height: 40px;
font-size: 1em;
text-align: center;
border-radius: 2px;
}
.dropdown-toggle-icon.level-1 {
background-color: lighten($theme-gray, 10%);
}
.dropdown-toggle-icon.level-2 {
background-color: lighten($theme-gray, 10%);
}
& > li {
position: relative;
margin: 0 -15px;
padding: 0 15px;
border-bottom: 1px solid lighten($theme-gray, 50%);
& > a {
display: block;
padding: 18px 0;
font-family: $main-font;
}
&:hover {
background-color: $theme-color-main;
& > a {
background-color: transparent;
}
@media (min-width: $screen-sm) {
background-color: transparent;
}
}
@media (min-width: $screen-sm) {
position: relative;
margin: 0 10px;
padding: 0;
border-bottom: none;
&:first-child {
margin-left: 0;
}
&:last-child {
margin-right: 0;
.modules-menu-level-1 {
right: 15px;
left: auto;
&:before {
right: 10px;
left: auto;
}
& > li {
padding-right: 15px;
padding-left: 15px;
& > a {
padding-left: 0;
}
}
.modules-menu-level-2 {
right: 100%;
left: auto;
&:before {
right: -6px;
left: auto;
@include arrow("left", 6px, 6px, $theme-gray-darker);
}
}
}
}
& > a {
padding: .2rem 0;
border-bottom: 0.5rem solid transparent;
}
& > .fa {
position: static;
@include size(auto, auto);
padding: 0;
line-height: 1;
font-size: 1em;
cursor: default;
}
&:hover {
& > a {
padding: .2rem 0;
border-bottom-color: $brand-primary;
}
.modules-menu-level-1 {
display: block;
}
}
}
}
}
.modules-menu-level-1 {
display: none;
min-width: 100%;
margin: 0 -15px;
padding: 0;
background-color: $theme-gray-dark;
list-style: none;
z-index: 1;
& > li {
position: relative;
& + li {
border-top: 1px solid lighten($theme-gray-dark, 5%);
}
& > a {
display: block;
padding: 17px 25px;
font-family: $main-font;
font-size: 15px;
}
&:hover {
background-color: darken($brand-primary, 10%);
& > a,
& > .fa {
color: #FFF;
}
}
}
@media (min-width: $screen-sm) {
position: absolute;
left: 15px;
margin-top: -0.5rem;
border-top: 0.5rem solid $brand-primary;
&:before {
content: "";
display: block;
position: absolute;
top: -16px;
left: 10px;
@include arrow("bottom", 10px, 8px, $brand-primary);
}
& > li {
padding-right: 30px;
& > a {
padding-left: 15px;
}
& > .fa {
position: static;
@include size(auto, auto);
padding: 0;
margin-right: 0;
line-height: 1;
float: none;
font-size: 1em;
cursor: default;
}
&:hover {
.modules-menu-level-2 {
display: block;
}
}
}
.fa {
&:before {
content: "\f105";
}
}
}
}
.modules-menu-level-2 {
display: none;
margin: 0;
padding: 0;
background-color: $theme-gray-darker;
list-style: none;
& > li {
& + li {
border-top: 1px solid lighten($theme-gray-darker, 5%);
}
& > a {
display: block;
padding: 15px 50px;
font-family: $main-font;
}
&:hover {
background-color: darken($brand-primary, 20%);
& > a {
color: #FFF;
}
}
}
@media (min-width: $screen-sm) {
position: absolute;
top: 0;
left: 100%;
&:before {
content: "";
display: block;
position: absolute;
top: 13px;
left: -6px;
@include arrow("right", 6px, 6px, $theme-gray-darker);
}
& > li {
padding-right: 15px;
& > a {
padding-left: 15px;
padding: 0.7em 0 0.7em 15px;
}
}
.fa {
&:before {
content: "\f105";
}
}
}
}
}
.has-mobile-dropdown {
.modules-menu {
.dropdown-toggle-icon {
display: block;
}
}
}
@media all and (min-width:768px) {
#main-nav {
float: none!important;
width: 100%;
}
#layout-navigation>ul {
display: flex;
justify-content: space-between;
}
#layout-navigation {
clear: both;
display: flex;
}
}