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

405 lines
7.9 KiB
SCSS

@charset "utf-8";
@import "../initial";
.navbar-collapse.in {
overflow-y: unset;
}
.modules-menu {
font-family: $sub-font;
max-height: none;
z-index: 1020;
@media(min-width: 769px){
width: 80%;
}
li {
white-space: nowrap;
}
.menu-drop.opened {
transform: rotateX(180deg);
}
.modules-menu-level-0 {
@media (min-width: 769px) {
justify-content: flex-end!important;
margin: 0;
-webkit-flex-flow: row wrap;
list-style: none;
width:100%;
padding: 0;
display: flex;
justify-content: space-around;
}
.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: 0.5em;
// right: 0.3em;
// width: 2.5em;
// height: 2.5em;
// cursor: pointer;
// line-height: 2.5em;
// font-size: 1em;
// text-align: center;
// border-radius: 0.13em;
// }
.menu-drop {
position: absolute;
right: 0.3em;
width: 2.5em;
height: 2.5em;
cursor: pointer;
line-height: 2.5em;
font-size: 0.5em;
text-align: center;
border-radius: 0.13em;
top: 2em;
}
// .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;
padding: 0.5em;
border-bottom: 0.0625em solid lighten($theme-gray, 5%);
& > a {
display: block;
padding: 1.1rem 0.8rem 1.1rem 0.8rem;
margin: 0em 0.1em 0 0;
font-family: $main-font;
}
&:hover {
background: #035FCE;
& > a {
color: #fff;
}
@media (min-width: $screen-sm) {
// background-color: $theme-color-second;
// border-radius: 0.5em;
}
}
@media (min-width: $screen-sm) {
position: static;
margin: 0;
padding: 0;
border-bottom: none;
&:first-child {
margin-left: 0;
}
&:last-child {
margin-right: 0;
.modules-menu-level-1 {
left: auto;
&:before {
right: 0.625em;
left: auto;
}
& > li {
padding-right: 1em;
padding-left: 1em;
& > a {
padding-left: 0;
}
}
.modules-menu-level-2 {
right: 100%;
left: auto;
}
}
}
& > a {
font-size: 14px;
color: $theme-color-main;
font-weight: 900;
color: #767676;
}
&:hover {
.modules-menu-level-1 {
// display: block;
visibility: visible;
opacity: 1;
transition-duration: opacity 0.3s cubic-bezier(0.48, 0.01, 0.5, 0.99),visibility 0.1s linear;
}
}
}
}
}
.modules-menu-level-1 {
background-color:#f3f3f5;
list-style: none;
z-index: 1;
padding:1em;
@media(min-width:769px){
flex-wrap: wrap;
justify-content: flex-start;
left:0!important;
display: flex;
visibility: hidden;
opacity: 0;
width: 100vw;
box-shadow: 2px 2px 5px #00000033;
margin:0;
padding:1em 20% 3em;
transition-duration: 0.5s;
}
& > li {
position: relative;
// & + li {
// border-top: 0.0625em solid lighten($theme-gray, 5%);
// }
& > a {
display: block;
padding: 1em 1.5em;
font-family: $main-font;
font-size: 14px;
font-weight: 600;
color: #333;
}
// &:hover {
// background-color: $theme-color-second;
// & > a {
// color: $theme-color-main;
// }
// }
}
@media (min-width: $screen-sm) {
position: absolute;
& > li {
width: 25%;
& > a {
padding-left: 1em;
padding: 5px 0;
}
&:hover {
.modules-menu-level-2 {
display: block;
}
}
}
}
}
.modules-menu-level-2 {
margin: 0;
padding: 0;
background-color:#f3f3f5;
list-style: none;
& > li {
& + li {
// border-top: 0.0625em solid lighten($theme-gray, 5%);
}
& > a {
display: block;
padding: 0.8em 3em;
font-family: $main-font;
color: #333;
font-size: 14px;
font-weight: 500;
}
// &:hover {
// background-color: $theme-color-second;
// }
}
@media (min-width: $screen-sm) {
top: 0;
left: 100%;
& > li > a {
padding-left:0;
&:hover{
transition: all 0.3s ease-in-out;
color: $theme-color-hover;
margin-left: 0.5rem;
}
}
}
}
}
.has-mobile-dropdown {
.modules-menu {
.dropdown-toggle-icon {
display: block;
}
}
}
@media (max-width: 767px) {
.modules-menu .modules-menu-level-0 {
flex-direction: column;
width: 100%;
padding: 0;
}
}
@media (max-width: 769px) {
.modules-menu .modules-menu-level-0 {
width: 100%;
padding: 0;
}
}
//mobile
.mobile-menu {
z-index: 1051;
width: 100vw;
position: fixed;
top: 0;
right: 0;
bottom: 0;
display: none;
&.active {
display: block;
}
.modules-menu {
width: 80%;
position: absolute;
right: 0;
background:#3f3f3f;
height: 100%;
top: 0;
padding-top: 40px;
}
.modules-menu .modules-menu-level-0 > li > a, .modules-menu .modules-menu-level-0 ,.modules-menu .modules-menu-level-0 > li {color: #fff;
font-size: 18px ;
font-weight: 500; }
.menu-drop{
font-size: 10px ;
}
.navbar-toggle {
position: absolute;
left: 0;
background: transparent;
top: 40px;
z-index: 1;
height: 100vh;
margin: 0;
width: 20%;
border: 0;
}
.cover {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: rgba(0,0,0,0.8);
z-index: 0;
}
}
//覆蓋bootstrap nav設定
.mobile-menu .modules-menu.collapsing {
overflow:unset !important;
transform: translateX(100%);
-webkit-transition-timing-function:ease;
-o-transition-timing-function:ease;
transition-timing-function:ease;
-webkit-transition-duration:.35s;
-o-transition-duration:.35s;
transition-duration:.35s;
-webkit-transition-property:transform;
-o-transition-property:transform;
transition-property:transform;
}
.mobile-menu .modules-menu.collapse.in {
transform: translateX(100%);
-webkit-transition-timing-function:ease;
-o-transition-timing-function:ease;
transition-timing-function:ease;
-webkit-transition-duration:.35s;
-o-transition-duration:.35s;
transition-duration:.35s;
-webkit-transition-property:transform;
-o-transition-property:transform;
transition-property:transform;
}
.mobile-menu .collapse.navbar-collapse.modules-menu {
overflow-y: scroll;
transform: translateX(0%);
}
.display-on{
display:block!important;
transition-duration: 0.9s;
}
.drop-down > a:after{
content:"\f103";
color:#fff;
font-family: FontAwesome;
font-style: normal;
margin-left: 5px;
}
.dropdown-arrow{
align-self: center;
margin-left: 10px;
z-index: 999;
@media(max-width: 768px){
position: absolute;
right: 0.3em;
width: 2.5em;
height: 2.5em;
cursor: pointer;
line-height: 2.5em;
font-size: 1em;
text-align: center;
border-radius: 0.13em;
display: none!important;
}
}
.fa-chevron-right{
align-self: center;
margin-left: 10px;
font-size: 3px;
font-weight: 100!important;
}