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

313 lines
5.5 KiB
SCSS

@charset "utf-8";
@import "../initial";
.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;
}
}
}